diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.classpath b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.project b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.project new file mode 100644 index 0000000..9528732 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupery.fiacre.instance.edit + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..ffefb39 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupery.fiacre.instance.edit;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: com.irtsaintexupery.fiacre.instance.fiacreinstance.provider.FiacreInstanceEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: com.irtsaintexupery.fiacre.instance.fiacreinstance.provider +Require-Bundle: org.eclipse.core.runtime, + com.irtsaintexupery.fiacre.instance;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport, + fr.irit.fiacre.xtext;visibility:=reexport, + fr.irit.fiacre.xtext.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/build.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/build.properties new file mode 100644 index 0000000..4ffd671 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/build.properties @@ -0,0 +1,20 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ComponentDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ComponentDeclarationInstance.gif new file mode 100644 index 0000000..f8b67b8 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ComponentDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_CompositionInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_CompositionInstance.gif new file mode 100644 index 0000000..d1b1538 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_CompositionInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ProcessDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ProcessDeclarationInstance.gif new file mode 100644 index 0000000..daa2b9d Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateBlockInstance_blockInstances_ProcessDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateDeclarationInstance_variableDeclarationInstances_VariableDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateDeclarationInstance_variableDeclarationInstances_VariableDeclarationInstance.gif new file mode 100644 index 0000000..a208540 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateDeclarationInstance_variableDeclarationInstances_VariableDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ComponentDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ComponentDeclarationInstance.gif new file mode 100644 index 0000000..f5b2b6f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ComponentDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ProcessDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ProcessDeclarationInstance.gif new file mode 100644 index 0000000..a0c6a28 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_instance_ProcessDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_EnabledStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_EnabledStatementBlock.gif new file mode 100644 index 0000000..9ea845b Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_EnabledStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutableStatementBlock.gif new file mode 100644 index 0000000..8278715 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutedStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutedStatementBlock.gif new file mode 100644 index 0000000..cbab8f9 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_ExecutedStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_FireableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_FireableStatementBlock.gif new file mode 100644 index 0000000..263f6e6 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateInstanceModel_statementBlocks_FireableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceEnabledStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceEnabledStatementBlock.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceEnabledStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceExecutedStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceExecutedStatementBlock.gif new file mode 100644 index 0000000..1f765e1 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceExecutedStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceFireableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceFireableStatementBlock.gif new file mode 100644 index 0000000..bbf242d Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateProcessDeclarationInstance_instanceStatementBlocks_InstanceFireableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Addition.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Addition.gif new file mode 100644 index 0000000..aedabe1 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Addition.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AllExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AllExpression.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AllExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AppendExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AppendExpression.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_AppendExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayAccessExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayAccessExpression.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayExpression.gif new file mode 100644 index 0000000..1bcce98 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ArrayExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_BooleanLiteral.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_BooleanLiteral.gif new file mode 100644 index 0000000..66a66ef Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_BooleanLiteral.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonEqual.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonEqual.gif new file mode 100644 index 0000000..59ae8d8 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonEqual.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreater.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreater.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreater.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreaterEqual.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..3b3bc87 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesser.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesser.gif new file mode 100644 index 0000000..a26ec40 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesser.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesserEqual.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesserEqual.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonNotEqual.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonNotEqual.gif new file mode 100644 index 0000000..6102025 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conditional.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conditional.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conditional.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conjunction.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conjunction.gif new file mode 100644 index 0000000..6675426 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Conjunction.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ConstructionExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ConstructionExpression.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ConstructionExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Disjunction.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Disjunction.gif new file mode 100644 index 0000000..6675426 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Disjunction.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Division.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Division.gif new file mode 100644 index 0000000..1852a3f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Division.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_EnqueueExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_EnqueueExpression.gif new file mode 100644 index 0000000..d36652c Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_EnqueueExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExistsExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExistsExpression.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExistsExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExplicitArrayExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExplicitArrayExpression.gif new file mode 100644 index 0000000..e5d4d73 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ExplicitArrayExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Expression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Expression.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Expression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_FalseLiteral.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_FalseLiteral.gif new file mode 100644 index 0000000..8b5cda1 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_FalseLiteral.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_IdentifierExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_IdentifierExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_IdentifierExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Implication.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Implication.gif new file mode 100644 index 0000000..cc1c5db Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Implication.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ImplicitArrayExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ImplicitArrayExpression.gif new file mode 100644 index 0000000..3da85aa Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ImplicitArrayExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_LiteralExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_LiteralExpression.gif new file mode 100644 index 0000000..669fba2 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_LiteralExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Modulo.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Modulo.gif new file mode 100644 index 0000000..1bcce98 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Modulo.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Multiplication.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Multiplication.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Multiplication.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_NaturalLiteral.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_NaturalLiteral.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_NaturalLiteral.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Projection.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Projection.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Projection.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_QueueExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_QueueExpression.gif new file mode 100644 index 0000000..290c503 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_QueueExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordAccessExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordAccessExpression.gif new file mode 100644 index 0000000..b3b0b3f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordExpression.gif new file mode 100644 index 0000000..2945453 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_RecordExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ReferenceExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ReferenceExpression.gif new file mode 100644 index 0000000..79ceed0 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ReferenceExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Substraction.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Substraction.gif new file mode 100644 index 0000000..17508af Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_Substraction.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_TrueLiteral.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_TrueLiteral.gif new file mode 100644 index 0000000..6b90e06 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_TrueLiteral.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryCoerceExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryCoerceExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryDeQueueExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryEmptyExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryEmptyExpression.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFirstExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFirstExpression.gif new file mode 100644 index 0000000..3fd1ce8 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFullExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFullExpression.gif new file mode 100644 index 0000000..00da844 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryLengthExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryLengthExpression.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryMinusExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryMinusExpression.gif new file mode 100644 index 0000000..0dd622c Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryNegationExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryNegationExpression.gif new file mode 100644 index 0000000..4f9a608 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryPlusExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryPlusExpression.gif new file mode 100644 index 0000000..2945453 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ValueExpression.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ValueExpression.gif new file mode 100644 index 0000000..6102025 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/ctool16/CreateVariableDeclarationInstance_currentValue_ValueExpression.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ComponentDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ComponentDeclarationInstance.gif new file mode 100644 index 0000000..b1f8afa Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ComponentDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/CompositionInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/CompositionInstance.gif new file mode 100644 index 0000000..48e3cf2 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/CompositionInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/EnabledStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/EnabledStatementBlock.gif new file mode 100644 index 0000000..cb1755a Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/EnabledStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutableStatementBlock.gif new file mode 100644 index 0000000..134551b Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutedStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutedStatementBlock.gif new file mode 100644 index 0000000..5a9bc75 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ExecutedStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/FireableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/FireableStatementBlock.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/FireableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceEnabledStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceEnabledStatementBlock.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceEnabledStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceExecutedStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceExecutedStatementBlock.gif new file mode 100644 index 0000000..7b7c428 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceExecutedStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceFireableStatementBlock.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceFireableStatementBlock.gif new file mode 100644 index 0000000..5915591 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceFireableStatementBlock.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceModel.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceModel.gif new file mode 100644 index 0000000..cb1755a Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/InstanceModel.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ProcessDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ProcessDeclarationInstance.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/ProcessDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/VariableDeclarationInstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/VariableDeclarationInstance.gif new file mode 100644 index 0000000..30f0c48 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/icons/full/obj16/VariableDeclarationInstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.properties new file mode 100644 index 0000000..0298022 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.properties @@ -0,0 +1,69 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +pluginName = FiacreInstance Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_InstanceModel_type = Instance Model +_UI_StatementBlock_type = Statement Block +_UI_ExecutedStatementBlock_type = Executed Statement Block +_UI_ExecutableStatementBlock_type = Executable Statement Block +_UI_FireableStatementBlock_type = Fireable Statement Block +_UI_EnabledStatementBlock_type = Enabled Statement Block +_UI_BlockInstance_type = Block Instance +_UI_CompositionInstance_type = Composition Instance +_UI_DeclarationInstance_type = Declaration Instance +_UI_ComponentDeclarationInstance_type = Component Declaration Instance +_UI_ProcessDeclarationInstance_type = Process Declaration Instance +_UI_InstanceStatementBlock_type = Instance Statement Block +_UI_InstanceExecutedStatementBlock_type = Instance Executed Statement Block +_UI_InstanceExecutableStatementBlock_type = Instance Executable Statement Block +_UI_InstanceFireableStatementBlock_type = Instance Fireable Statement Block +_UI_InstanceEnabledStatementBlock_type = Instance Enabled Statement Block +_UI_VariableDeclarationInstance_type = Variable Declaration Instance +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_InstanceModel_name_feature = Name +_UI_InstanceModel_model_feature = Model +_UI_InstanceModel_instance_feature = Instance +_UI_InstanceModel_statementBlocks_feature = Statement Blocks +_UI_StatementBlock_instanceStatementBlocks_feature = Instance Statement Blocks +_UI_StatementBlock_name_feature = Name +_UI_ExecutableStatementBlock_date_feature = Date +_UI_BlockInstance_blockInstances_feature = Block Instances +_UI_CompositionInstance_composition_feature = Composition +_UI_DeclarationInstance_variableDeclarationInstances_feature = Variable Declaration Instances +_UI_DeclarationInstance_name_feature = Name +_UI_DeclarationInstance_instance_feature = Instance +_UI_ComponentDeclarationInstance_component_feature = Component +_UI_ProcessDeclarationInstance_currentState_feature = Current State +_UI_ProcessDeclarationInstance_process_feature = Process +_UI_ProcessDeclarationInstance_instanceStatementBlocks_feature = Instance Statement Blocks +_UI_InstanceStatementBlock_transitionSource_feature = Transition Source +_UI_InstanceStatementBlock_statements_feature = Statements +_UI_InstanceStatementBlock_name_feature = Name +_UI_VariableDeclarationInstance_variableDeclaration_feature = Variable Declaration +_UI_VariableDeclarationInstance_currentValue_feature = Current Value +_UI_Unknown_feature = Unspecified + +_UI_DeclarationInstance_flatname_feature = Flatname diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.xml b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.xml new file mode 100644 index 0000000..00c9490 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/plugin.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/BlockInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/BlockInstanceItemProvider.java new file mode 100644 index 0000000..535514c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/BlockInstanceItemProvider.java @@ -0,0 +1,177 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance} object. + * + * + * @generated + */ +public class BlockInstanceItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BlockInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacreinstancePackage.Literals.BLOCK_INSTANCE__BLOCK_INSTANCES); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BlockInstance_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(BlockInstance.class)) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.BLOCK_INSTANCE__BLOCK_INSTANCES, + FiacreinstanceFactory.eINSTANCE.createCompositionInstance())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.BLOCK_INSTANCE__BLOCK_INSTANCES, + FiacreinstanceFactory.eINSTANCE.createComponentDeclarationInstance())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.BLOCK_INSTANCE__BLOCK_INSTANCES, + FiacreinstanceFactory.eINSTANCE.createProcessDeclarationInstance())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreInstanceEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ComponentDeclarationInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ComponentDeclarationInstanceItemProvider.java new file mode 100644 index 0000000..1036bde --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ComponentDeclarationInstanceItemProvider.java @@ -0,0 +1,134 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance} object. + * + * + * @generated + */ +public class ComponentDeclarationInstanceItemProvider extends DeclarationInstanceItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComponentDeclarationInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addComponentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Component feature. + * + * + * @generated + */ + protected void addComponentPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ComponentDeclarationInstance_component_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ComponentDeclarationInstance_component_feature", "_UI_ComponentDeclarationInstance_type"), + FiacreinstancePackage.Literals.COMPONENT_DECLARATION_INSTANCE__COMPONENT, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns ComponentDeclarationInstance.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentDeclarationInstance")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ComponentDeclarationInstance)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ComponentDeclarationInstance_type") : + getString("_UI_ComponentDeclarationInstance_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/CompositionInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/CompositionInstanceItemProvider.java new file mode 100644 index 0000000..b57687e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/CompositionInstanceItemProvider.java @@ -0,0 +1,130 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance} object. + * + * + * @generated + */ +public class CompositionInstanceItemProvider extends BlockInstanceItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public CompositionInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addCompositionPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Composition feature. + * + * + * @generated + */ + protected void addCompositionPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_CompositionInstance_composition_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_CompositionInstance_composition_feature", "_UI_CompositionInstance_type"), + FiacreinstancePackage.Literals.COMPOSITION_INSTANCE__COMPOSITION, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns CompositionInstance.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositionInstance")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_CompositionInstance_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/DeclarationInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/DeclarationInstanceItemProvider.java new file mode 100644 index 0000000..a799c8f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/DeclarationInstanceItemProvider.java @@ -0,0 +1,219 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance} object. + * + * + * @generated + */ +public class DeclarationInstanceItemProvider extends BlockInstanceItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DeclarationInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + addInstancePropertyDescriptor(object); + addFlatnamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeclarationInstance_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DeclarationInstance_name_feature", "_UI_DeclarationInstance_type"), + FiacreinstancePackage.Literals.DECLARATION_INSTANCE__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Instance feature. + * + * + * @generated + */ + protected void addInstancePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeclarationInstance_instance_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DeclarationInstance_instance_feature", "_UI_DeclarationInstance_type"), + FiacreinstancePackage.Literals.DECLARATION_INSTANCE__INSTANCE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Flatname feature. + * + * + * @generated + */ + protected void addFlatnamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DeclarationInstance_flatname_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DeclarationInstance_flatname_feature", "_UI_DeclarationInstance_type"), + FiacreinstancePackage.Literals.DECLARATION_INSTANCE__FLATNAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacreinstancePackage.Literals.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((DeclarationInstance)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_DeclarationInstance_type") : + getString("_UI_DeclarationInstance_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DeclarationInstance.class)) { + case FiacreinstancePackage.DECLARATION_INSTANCE__NAME: + case FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES, + FiacreinstanceFactory.eINSTANCE.createVariableDeclarationInstance())); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/EnabledStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/EnabledStatementBlockItemProvider.java new file mode 100644 index 0000000..aeb212b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/EnabledStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock} object. + * + * + * @generated + */ +public class EnabledStatementBlockItemProvider extends ExecutableStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public EnabledStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns EnabledStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EnabledStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EnabledStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_EnabledStatementBlock_type") : + getString("_UI_EnabledStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutableStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutableStatementBlockItemProvider.java new file mode 100644 index 0000000..146ee0c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutableStatementBlockItemProvider.java @@ -0,0 +1,142 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock} object. + * + * + * @generated + */ +public class ExecutableStatementBlockItemProvider extends StatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExecutableStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Date feature. + * + * + * @generated + */ + protected void addDatePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ExecutableStatementBlock_date_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ExecutableStatementBlock_date_feature", "_UI_ExecutableStatementBlock_type"), + FiacreinstancePackage.Literals.EXECUTABLE_STATEMENT_BLOCK__DATE, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns ExecutableStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExecutableStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ExecutableStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ExecutableStatementBlock_type") : + getString("_UI_ExecutableStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExecutableStatementBlock.class)) { + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutedStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutedStatementBlockItemProvider.java new file mode 100644 index 0000000..7c8262c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ExecutedStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock} object. + * + * + * @generated + */ +public class ExecutedStatementBlockItemProvider extends StatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExecutedStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ExecutedStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExecutedStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ExecutedStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ExecutedStatementBlock_type") : + getString("_UI_ExecutedStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreInstanceEditPlugin.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreInstanceEditPlugin.java new file mode 100644 index 0000000..2ae32e6 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreInstanceEditPlugin.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + +import fr.irit.fiacre.xtext.fiacre.provider.FiacreEditPlugin; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the FiacreInstance edit plugin. + * + * + * @generated + */ +public final class FiacreInstanceEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final FiacreInstanceEditPlugin INSTANCE = new FiacreInstanceEditPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public FiacreInstanceEditPlugin() { + super + (new ResourceLocator [] { + FiacreEditPlugin.INSTANCE, + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreinstanceItemProviderAdapterFactory.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreinstanceItemProviderAdapterFactory.java new file mode 100644 index 0000000..c3ff4ef --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FiacreinstanceItemProviderAdapterFactory.java @@ -0,0 +1,473 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.util.FiacreinstanceAdapterFactory; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * + * + * @generated + */ +public class FiacreinstanceItemProviderAdapterFactory extends FiacreinstanceAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * + * + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * + * + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * + * + * @generated + */ + protected Collection supportedTypes = new ArrayList(); + + /** + * This constructs an instance. + * + * + * @generated + */ + public FiacreinstanceItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel} instances. + * + * + * @generated + */ + protected InstanceModelItemProvider instanceModelItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel}. + * + * + * @generated + */ + @Override + public Adapter createInstanceModelAdapter() { + if (instanceModelItemProvider == null) { + instanceModelItemProvider = new InstanceModelItemProvider(this); + } + + return instanceModelItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock} instances. + * + * + * @generated + */ + protected ExecutedStatementBlockItemProvider executedStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createExecutedStatementBlockAdapter() { + if (executedStatementBlockItemProvider == null) { + executedStatementBlockItemProvider = new ExecutedStatementBlockItemProvider(this); + } + + return executedStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock} instances. + * + * + * @generated + */ + protected ExecutableStatementBlockItemProvider executableStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createExecutableStatementBlockAdapter() { + if (executableStatementBlockItemProvider == null) { + executableStatementBlockItemProvider = new ExecutableStatementBlockItemProvider(this); + } + + return executableStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock} instances. + * + * + * @generated + */ + protected FireableStatementBlockItemProvider fireableStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createFireableStatementBlockAdapter() { + if (fireableStatementBlockItemProvider == null) { + fireableStatementBlockItemProvider = new FireableStatementBlockItemProvider(this); + } + + return fireableStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock} instances. + * + * + * @generated + */ + protected EnabledStatementBlockItemProvider enabledStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createEnabledStatementBlockAdapter() { + if (enabledStatementBlockItemProvider == null) { + enabledStatementBlockItemProvider = new EnabledStatementBlockItemProvider(this); + } + + return enabledStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance} instances. + * + * + * @generated + */ + protected CompositionInstanceItemProvider compositionInstanceItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance}. + * + * + * @generated + */ + @Override + public Adapter createCompositionInstanceAdapter() { + if (compositionInstanceItemProvider == null) { + compositionInstanceItemProvider = new CompositionInstanceItemProvider(this); + } + + return compositionInstanceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance} instances. + * + * + * @generated + */ + protected ComponentDeclarationInstanceItemProvider componentDeclarationInstanceItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance}. + * + * + * @generated + */ + @Override + public Adapter createComponentDeclarationInstanceAdapter() { + if (componentDeclarationInstanceItemProvider == null) { + componentDeclarationInstanceItemProvider = new ComponentDeclarationInstanceItemProvider(this); + } + + return componentDeclarationInstanceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance} instances. + * + * + * @generated + */ + protected ProcessDeclarationInstanceItemProvider processDeclarationInstanceItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance}. + * + * + * @generated + */ + @Override + public Adapter createProcessDeclarationInstanceAdapter() { + if (processDeclarationInstanceItemProvider == null) { + processDeclarationInstanceItemProvider = new ProcessDeclarationInstanceItemProvider(this); + } + + return processDeclarationInstanceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock} instances. + * + * + * @generated + */ + protected InstanceExecutedStatementBlockItemProvider instanceExecutedStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createInstanceExecutedStatementBlockAdapter() { + if (instanceExecutedStatementBlockItemProvider == null) { + instanceExecutedStatementBlockItemProvider = new InstanceExecutedStatementBlockItemProvider(this); + } + + return instanceExecutedStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock} instances. + * + * + * @generated + */ + protected InstanceFireableStatementBlockItemProvider instanceFireableStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createInstanceFireableStatementBlockAdapter() { + if (instanceFireableStatementBlockItemProvider == null) { + instanceFireableStatementBlockItemProvider = new InstanceFireableStatementBlockItemProvider(this); + } + + return instanceFireableStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock} instances. + * + * + * @generated + */ + protected InstanceEnabledStatementBlockItemProvider instanceEnabledStatementBlockItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock}. + * + * + * @generated + */ + @Override + public Adapter createInstanceEnabledStatementBlockAdapter() { + if (instanceEnabledStatementBlockItemProvider == null) { + instanceEnabledStatementBlockItemProvider = new InstanceEnabledStatementBlockItemProvider(this); + } + + return instanceEnabledStatementBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance} instances. + * + * + * @generated + */ + protected VariableDeclarationInstanceItemProvider variableDeclarationInstanceItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance}. + * + * + * @generated + */ + @Override + public Adapter createVariableDeclarationInstanceAdapter() { + if (variableDeclarationInstanceItemProvider == null) { + variableDeclarationInstanceItemProvider = new VariableDeclarationInstanceItemProvider(this); + } + + return variableDeclarationInstanceItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * + * + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * + * + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * + * + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * + * + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * + * + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * + * + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * + * + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * + * + * @generated + */ + public void dispose() { + if (instanceModelItemProvider != null) instanceModelItemProvider.dispose(); + if (executedStatementBlockItemProvider != null) executedStatementBlockItemProvider.dispose(); + if (executableStatementBlockItemProvider != null) executableStatementBlockItemProvider.dispose(); + if (fireableStatementBlockItemProvider != null) fireableStatementBlockItemProvider.dispose(); + if (enabledStatementBlockItemProvider != null) enabledStatementBlockItemProvider.dispose(); + if (compositionInstanceItemProvider != null) compositionInstanceItemProvider.dispose(); + if (componentDeclarationInstanceItemProvider != null) componentDeclarationInstanceItemProvider.dispose(); + if (processDeclarationInstanceItemProvider != null) processDeclarationInstanceItemProvider.dispose(); + if (instanceExecutedStatementBlockItemProvider != null) instanceExecutedStatementBlockItemProvider.dispose(); + if (instanceFireableStatementBlockItemProvider != null) instanceFireableStatementBlockItemProvider.dispose(); + if (instanceEnabledStatementBlockItemProvider != null) instanceEnabledStatementBlockItemProvider.dispose(); + if (variableDeclarationInstanceItemProvider != null) variableDeclarationInstanceItemProvider.dispose(); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FireableStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FireableStatementBlockItemProvider.java new file mode 100644 index 0000000..78d6599 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/FireableStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock} object. + * + * + * @generated + */ +public class FireableStatementBlockItemProvider extends ExecutableStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public FireableStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FireableStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/FireableStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((FireableStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_FireableStatementBlock_type") : + getString("_UI_FireableStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceEnabledStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceEnabledStatementBlockItemProvider.java new file mode 100644 index 0000000..7b2e6c4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceEnabledStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock} object. + * + * + * @generated + */ +public class InstanceEnabledStatementBlockItemProvider extends InstanceExecutableStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceEnabledStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InstanceEnabledStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InstanceEnabledStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceEnabledStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceEnabledStatementBlock_type") : + getString("_UI_InstanceEnabledStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutableStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutableStatementBlockItemProvider.java new file mode 100644 index 0000000..b3543b0 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutableStatementBlockItemProvider.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock} object. + * + * + * @generated + */ +public class InstanceExecutableStatementBlockItemProvider extends InstanceStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceExecutableStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceExecutableStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceExecutableStatementBlock_type") : + getString("_UI_InstanceExecutableStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutedStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutedStatementBlockItemProvider.java new file mode 100644 index 0000000..dfb789b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceExecutedStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock} object. + * + * + * @generated + */ +public class InstanceExecutedStatementBlockItemProvider extends InstanceStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceExecutedStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InstanceExecutedStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InstanceExecutedStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceExecutedStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceExecutedStatementBlock_type") : + getString("_UI_InstanceExecutedStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceFireableStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceFireableStatementBlockItemProvider.java new file mode 100644 index 0000000..44a4f4c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceFireableStatementBlockItemProvider.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock} object. + * + * + * @generated + */ +public class InstanceFireableStatementBlockItemProvider extends InstanceExecutableStatementBlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceFireableStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InstanceFireableStatementBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InstanceFireableStatementBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceFireableStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceFireableStatementBlock_type") : + getString("_UI_InstanceFireableStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceModelItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceModelItemProvider.java new file mode 100644 index 0000000..01473a4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceModelItemProvider.java @@ -0,0 +1,259 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel} object. + * + * + * @generated + */ +public class InstanceModelItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceModelItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + addModelPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceModel_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_InstanceModel_name_feature", "_UI_InstanceModel_type"), + FiacreinstancePackage.Literals.INSTANCE_MODEL__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Model feature. + * + * + * @generated + */ + protected void addModelPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceModel_model_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_InstanceModel_model_feature", "_UI_InstanceModel_type"), + FiacreinstancePackage.Literals.INSTANCE_MODEL__MODEL, + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacreinstancePackage.Literals.INSTANCE_MODEL__INSTANCE); + childrenFeatures.add(FiacreinstancePackage.Literals.INSTANCE_MODEL__STATEMENT_BLOCKS); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InstanceModel.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InstanceModel")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceModel)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceModel_type") : + getString("_UI_InstanceModel_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InstanceModel.class)) { + case FiacreinstancePackage.INSTANCE_MODEL__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__INSTANCE, + FiacreinstanceFactory.eINSTANCE.createComponentDeclarationInstance())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__INSTANCE, + FiacreinstanceFactory.eINSTANCE.createProcessDeclarationInstance())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createExecutedStatementBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createExecutableStatementBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createFireableStatementBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.INSTANCE_MODEL__STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createEnabledStatementBlock())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreInstanceEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceStatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceStatementBlockItemProvider.java new file mode 100644 index 0000000..cc6bb2f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/InstanceStatementBlockItemProvider.java @@ -0,0 +1,203 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock} object. + * + * + * @generated + */ +public class InstanceStatementBlockItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceStatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTransitionSourcePropertyDescriptor(object); + addStatementsPropertyDescriptor(object); + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Transition Source feature. + * + * + * @generated + */ + protected void addTransitionSourcePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceStatementBlock_transitionSource_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_InstanceStatementBlock_transitionSource_feature", "_UI_InstanceStatementBlock_type"), + FiacreinstancePackage.Literals.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Statements feature. + * + * + * @generated + */ + protected void addStatementsPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceStatementBlock_statements_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_InstanceStatementBlock_statements_feature", "_UI_InstanceStatementBlock_type"), + FiacreinstancePackage.Literals.INSTANCE_STATEMENT_BLOCK__STATEMENTS, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_InstanceStatementBlock_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_InstanceStatementBlock_name_feature", "_UI_InstanceStatementBlock_type"), + FiacreinstancePackage.Literals.INSTANCE_STATEMENT_BLOCK__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((InstanceStatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_InstanceStatementBlock_type") : + getString("_UI_InstanceStatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InstanceStatementBlock.class)) { + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreInstanceEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ProcessDeclarationInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ProcessDeclarationInstanceItemProvider.java new file mode 100644 index 0000000..aa9e379 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/ProcessDeclarationInstanceItemProvider.java @@ -0,0 +1,212 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance} object. + * + * + * @generated + */ +public class ProcessDeclarationInstanceItemProvider extends DeclarationInstanceItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ProcessDeclarationInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addCurrentStatePropertyDescriptor(object); + addProcessPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Current State feature. + * + * + * @generated + */ + protected void addCurrentStatePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProcessDeclarationInstance_currentState_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ProcessDeclarationInstance_currentState_feature", "_UI_ProcessDeclarationInstance_type"), + FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Process feature. + * + * + * @generated + */ + protected void addProcessPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ProcessDeclarationInstance_process_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ProcessDeclarationInstance_process_feature", "_UI_ProcessDeclarationInstance_type"), + FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__PROCESS, + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ProcessDeclarationInstance.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ProcessDeclarationInstance")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ProcessDeclarationInstance)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ProcessDeclarationInstance_type") : + getString("_UI_ProcessDeclarationInstance_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ProcessDeclarationInstance.class)) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createInstanceExecutedStatementBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createInstanceFireableStatementBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS, + FiacreinstanceFactory.eINSTANCE.createInstanceEnabledStatementBlock())); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/StatementBlockItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/StatementBlockItemProvider.java new file mode 100644 index 0000000..49fbd1d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/StatementBlockItemProvider.java @@ -0,0 +1,180 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock} object. + * + * + * @generated + */ +public class StatementBlockItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StatementBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addInstanceStatementBlocksPropertyDescriptor(object); + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Instance Statement Blocks feature. + * + * + * @generated + */ + protected void addInstanceStatementBlocksPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StatementBlock_instanceStatementBlocks_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StatementBlock_instanceStatementBlocks_feature", "_UI_StatementBlock_type"), + FiacreinstancePackage.Literals.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StatementBlock_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StatementBlock_name_feature", "_UI_StatementBlock_type"), + FiacreinstancePackage.Literals.STATEMENT_BLOCK__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((StatementBlock)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_StatementBlock_type") : + getString("_UI_StatementBlock_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StatementBlock.class)) { + case FiacreinstancePackage.STATEMENT_BLOCK__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreInstanceEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/VariableDeclarationInstanceItemProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/VariableDeclarationInstanceItemProvider.java new file mode 100644 index 0000000..604b1f9 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.edit/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/provider/VariableDeclarationInstanceItemProvider.java @@ -0,0 +1,263 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance} object. + * + * + * @generated + */ +public class VariableDeclarationInstanceItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public VariableDeclarationInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVariableDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Variable Declaration feature. + * + * + * @generated + */ + protected void addVariableDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableDeclarationInstance_variableDeclaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_VariableDeclarationInstance_variableDeclaration_feature", "_UI_VariableDeclarationInstance_type"), + FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION, + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns VariableDeclarationInstance.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/VariableDeclarationInstance")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_VariableDeclarationInstance_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(VariableDeclarationInstance.class)) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createValueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreInstanceEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.classpath b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.project b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.project new file mode 100644 index 0000000..e3692ee --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupery.fiacre.instance.editor + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c08a651 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupery.fiacre.instance.editor;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation.FiacreInstanceEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + com.irtsaintexupery.fiacre.instance.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport, + fr.irit.fiacre.xtext.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/build.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/build.properties new file mode 100644 index 0000000..897f7c4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/build.properties @@ -0,0 +1,20 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/obj16/FiacreinstanceModelFile.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/obj16/FiacreinstanceModelFile.gif new file mode 100644 index 0000000..366f9ff Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/obj16/FiacreinstanceModelFile.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/wizban/NewFiacreinstance.gif b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/wizban/NewFiacreinstance.gif new file mode 100644 index 0000000..e85f1da Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/icons/full/wizban/NewFiacreinstance.gif differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.properties new file mode 100644 index 0000000..5a57887 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.properties @@ -0,0 +1,63 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +pluginName = FiacreInstance Editor +providerName = www.example.org + +_UI_FiacreinstanceEditor_menu = &Fiacreinstance Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_CreateModelError_message = Problems encountered in file "{0}" + +_UI_FiacreinstanceModelWizard_label = Fiacreinstance Model +_UI_FiacreinstanceModelWizard_description = Create a new Fiacreinstance model + +_UI_FiacreinstanceEditor_label = Fiacreinstance Model Editor + +_UI_FiacreinstanceEditorFilenameDefaultBase = My +_UI_FiacreinstanceEditorFilenameExtensions = fiacreinstance + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ''.{0}'' +_WARN_FilenameExtensions = The file name must have one of the following extensions: {0} + +_UI_ModelObject = &Model Object +_UI_XMLEncoding = &XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.xml b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.xml new file mode 100644 index 0000000..a88b89e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/plugin.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + %_UI_FiacreinstanceModelWizard_description + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreInstanceEditorPlugin.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreInstanceEditorPlugin.java new file mode 100644 index 0000000..1ba6d76 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreInstanceEditorPlugin.java @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation; + +import fr.irit.fiacre.xtext.fiacre.provider.FiacreEditPlugin; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the FiacreInstance editor plugin. + * + * + * @generated + */ +public final class FiacreInstanceEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final FiacreInstanceEditorPlugin INSTANCE = new FiacreInstanceEditorPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public FiacreInstanceEditorPlugin() { + super + (new ResourceLocator [] { + FiacreEditPlugin.INSTANCE, + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceActionBarContributor.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceActionBarContributor.java new file mode 100644 index 0000000..4c9ea53 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceActionBarContributor.java @@ -0,0 +1,433 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Fiacreinstance model editor. + * + * + * @generated + */ +public class FiacreinstanceActionBarContributor + extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * + * + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * + * + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * + * + * @generated + */ + protected IAction showPropertiesViewAction = + new Action(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } + catch (PartInitException exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * + * + * @generated + */ + protected IAction refreshViewerAction = + new Action(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * + * + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * + * + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * + * + * @generated + */ + public FiacreinstanceActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * + * + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + toolBarManager.add(new Separator("fiacreinstance-settings")); + toolBarManager.add(new Separator("fiacreinstance-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * + * + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceEditor_menu"), "com.irtsaintexupery.fiacre.instance.fiacreinstanceMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener + (new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * + * + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } + else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * + * + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection newChildDescriptors = null; + Collection newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) { + Object object = ((IStructuredSelection)selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateChildActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateSiblingActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified manager with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection, + * by inserting them before the specified contribution item contributionID. + * If contributionID is null, they are simply added. + * + * + * @generated + */ + protected void populateManager(IContributionManager manager, Collection actions, String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } + else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified manager all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection. + * + * + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem)contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem)contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * + * + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * + * + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * + * + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceEditor.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceEditor.java new file mode 100644 index 0000000..c36b9e1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceEditor.java @@ -0,0 +1,1832 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation; + + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.provider.FiacreinstanceItemProviderAdapterFactory; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import fr.irit.fiacre.xtext.fiacre.provider.FiacreItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + + +/** + * This is an example of a Fiacreinstance model editor. + * + * + * @generated + */ +public class FiacreinstanceEditor + extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * + * + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * + * + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * + * + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * + * + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * + * + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * + * + * @generated + */ + protected List propertySheetPages = new ArrayList(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * + * + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * + * + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * + * + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * + * + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * + * + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * + * + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * + * + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * + * + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * + * + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * + * + * @generated + */ + protected Collection selectionChangedListeners = new ArrayList(); + + /** + * This keeps track of the selection of the editor as a whole. + * + * + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * + * + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * + * + * @generated + */ + protected IPartListener partListener = + new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(FiacreinstanceEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } + else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(FiacreinstanceEditor.this); + handleActivate(); + } + } + else if (p == FiacreinstanceEditor.this) { + handleActivate(); + } + } + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * + * + * @generated + */ + protected Collection removedResources = new ArrayList(); + + /** + * Resources that have been changed since last activation. + * + * + * @generated + */ + protected Collection changedResources = new ArrayList(); + + /** + * Resources that have been saved. + * + * + * @generated + */ + protected Collection savedResources = new ArrayList(); + + /** + * Map to store the diagnostic associated with a resource. + * + * + * @generated + */ + protected Map resourceToDiagnosticMap = new LinkedHashMap(); + + /** + * Controls whether the problem indication should be updated. + * + * + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * + * + * @generated + */ + protected EContentAdapter problemIndicationAdapter = + new EContentAdapter() { + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource)notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } + else { + resourceToDiagnosticMap.remove(resource); + } + + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + break; + } + } + } + else { + super.notifyChanged(notification); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + } + }; + + /** + * This listens for workspace changes. + * + * + * @generated + */ + protected IResourceChangeListener resourceChangeListener = + new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection changedResources = new ArrayList(); + protected Collection removedResources = new ArrayList(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || + delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } + else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection getChangedResources() { + return changedResources; + } + + public Collection getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(FiacreinstanceEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == FiacreinstanceEditor.this) { + handleActivate(); + } + } + }); + } + } + catch (CoreException exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * + * + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(FiacreinstanceEditor.this, false); + } + else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } + else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * + * + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + if (isDirty()) { + changedResources.addAll(editingDomain.getResourceSet().getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(Collections.EMPTY_MAP); + } + catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * + * + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = + new BasicDiagnostic + (Diagnostic.OK, + "com.irtsaintexupery.fiacre.instance.editor", + 0, + null, + new Object [] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } + else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } + catch (PartInitException exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + markerHelper.deleteMarkers(editingDomain.getResourceSet()); + if (diagnostic.getSeverity() != Diagnostic.OK) { + try { + markerHelper.createMarkers(diagnostic); + } + catch (CoreException exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * + * + * @generated + */ + protected boolean handleDirtyConflict() { + return + MessageDialog.openQuestion + (getSite().getShell(), + getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * + * + * @generated + */ + public FiacreinstanceEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * + * + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new FiacreinstanceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new FiacreItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener + (new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec + (new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator i = propertySheetPages.iterator(); i.hasNext(); ) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl().isDisposed()) { + i.remove(); + } + else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap()); + } + + /** + * This is here for the listener to be able to call it. + * + * + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * + * + * @generated + */ + public void setSelectionToViewer(Collection collection) { + final Collection theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = + new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * + * + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * + * + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * + * + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * + * + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * + * + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * + * + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = + new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * + * + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * + * + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu= contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * + * + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } + catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * + * + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = + new BasicDiagnostic + (hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "com.irtsaintexupery.fiacre.instance.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object [] { exception == null ? (Object)resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } + else if (exception != null) { + return + new BasicDiagnostic + (Diagnostic.ERROR, + "com.irtsaintexupery.fiacre.instance.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception }); + } + else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * + * + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer)viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer)viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer)viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer)viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer)viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String [] {"a", "b"}); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreinstanceEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer)viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"}); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + setActivePage(0); + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener + (new ControlAdapter() { + boolean guard = false; + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * + * + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(1); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y + 6); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * + * + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y - 6); + } + } + } + + /** + * This is used to track the active viewer. + * + * + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * + * + * @generated + */ + @SuppressWarnings("rawtypes") + @Override + public Object getAdapter(Class key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? getContentOutlinePage() : null; + } + else if (key.equals(IPropertySheetPage.class)) { + return getPropertySheetPage(); + } + else if (key.equals(IGotoMarker.class)) { + return this; + } + else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * + * + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener + (new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * + * + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = + new ExtendedPropertySheetPage(editingDomain) { + @Override + public void setSelectionToViewer(List selection) { + FiacreinstanceEditor.this.setSelectionToViewer(selection); + FiacreinstanceEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * + * + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator selectedElements = ((IStructuredSelection)selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList selectionList = new ArrayList(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } + else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * + * + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * + * + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map saveOptions = new HashMap(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + for (Resource resource : editingDomain.getResourceSet().getResources()) { + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } + catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } + catch (Exception exception) { + // Something went wrong that shouldn't. + // + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * + * + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } + catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * + * + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * + * + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * + * + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = + getActionBars().getStatusLineManager() != null ? + getActionBars().getStatusLineManager().getProgressMonitor() : + new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * + * + * @generated + */ + public void gotoMarker(IMarker marker) { + List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * + * + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE); + } + + /** + * + * + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } + else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * + * + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * + * + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * + * + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? + contentOutlineStatusLineManager : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection collection = ((IStructuredSelection)selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } + else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * + * + * @generated + */ + private static String getString(String key) { + return FiacreInstanceEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * + * + * @generated + */ + private static String getString(String key, Object s1) { + return FiacreInstanceEditorPlugin.INSTANCE.getString(key, new Object [] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * + * + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * + * + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor(); + } + + /** + * + * + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * + * + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * + * + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceModelWizard.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceModelWizard.java new file mode 100644 index 0000000..bb0227c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance.editor/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/presentation/FiacreinstanceModelWizard.java @@ -0,0 +1,636 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.presentation; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.CommonPlugin; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.provider.FiacreInstanceEditPlugin; + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + + +/** + * This is a simple wizard for creating a new model file. + * + * + * @generated + */ +public class FiacreinstanceModelWizard extends Wizard implements INewWizard { + /** + * The supported extensions for created files. + * + * + * @generated + */ + public static final List FILE_EXTENSIONS = + Collections.unmodifiableList(Arrays.asList(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceEditorFilenameExtensions").split("\\s*,\\s*"))); + + /** + * A formatted list of supported file extensions, suitable for display. + * + * + * @generated + */ + public static final String FORMATTED_FILE_EXTENSIONS = + FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + + /** + * This caches an instance of the model package. + * + * + * @generated + */ + protected FiacreinstancePackage fiacreinstancePackage = FiacreinstancePackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * + * + * @generated + */ + protected FiacreinstanceFactory fiacreinstanceFactory = fiacreinstancePackage.getFiacreinstanceFactory(); + + /** + * This is the file creation page. + * + * + * @generated + */ + protected FiacreinstanceModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * + * + * @generated + */ + protected FiacreinstanceModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * + * + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * + * + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * + * + * @generated + */ + protected List initialObjectNames; + + /** + * This just records the information. + * + * + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(FiacreInstanceEditorPlugin.INSTANCE.getImage("full/wizban/NewFiacreinstance"))); + } + + /** + * Returns the names of the types that can be created as the root object. + * + * + * @generated + */ + protected Collection getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList(); + for (EClassifier eClassifier : fiacreinstancePackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass)eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * + * + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass)fiacreinstancePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = fiacreinstanceFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * + * + * @generated + */ + @Override + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map options = new HashMap(); + options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); + resource.save(options); + } + catch (Exception exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + } + finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection(modelFile); + getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + ((ISetSelectionTarget)activePart).selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor + (new FileEditorInput(modelFile), + workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); + } + catch (PartInitException exception) { + MessageDialog.openError(workbenchWindow.getShell(), FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); + return false; + } + + return true; + } + catch (Exception exception) { + FiacreInstanceEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * + * + * @generated + */ + public class FiacreinstanceModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + /** + * Pass in the selection. + * + * + * @generated + */ + public FiacreinstanceModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * + * + * @generated + */ + @Override + protected boolean validatePage() { + if (super.validatePage()) { + String extension = new Path(getFileName()).getFileExtension(); + if (extension == null || !FILE_EXTENSIONS.contains(extension)) { + String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; + setErrorMessage(FiacreInstanceEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS })); + return false; + } + return true; + } + return false; + } + + /** + * + * + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * + * + * @generated + */ + public class FiacreinstanceModelWizardInitialObjectCreationPage extends WizardPage { + /** + * + * + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * + * + */ + protected List encodings; + + /** + * + * + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * + * + * @generated + */ + public FiacreinstanceModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * + * + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (String objectName : getInitialObjectNames()) { + initialObjectField.add(getLabel(objectName)); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (String encoding : getEncodings()) { + encodingField.add(encoding); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * + * + * @generated + */ + protected ModifyListener validator = + new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * + * + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null && getEncodings().contains(encodingField.getText()); + } + + /** + * + * + * @generated + */ + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } + else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * + * + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (String name : getInitialObjectNames()) { + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * + * + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * + * + * @generated + */ + protected String getLabel(String typeName) { + try { + return FiacreInstanceEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + } + catch(MissingResourceException mre) { + FiacreInstanceEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * + * + * @generated + */ + protected Collection getEncodings() { + if (encodings == null) { + encodings = new ArrayList(); + for (StringTokenizer stringTokenizer = new StringTokenizer(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * + * + * @generated + */ + @Override + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new FiacreinstanceModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceModelWizard_label")); + newFileCreationPage.setDescription(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceModelWizard_description")); + newFileCreationPage.setFileName(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource)selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource.getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceEditorFilenameDefaultBase"); + String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); + String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; + for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new FiacreinstanceModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage.setTitle(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_FiacreinstanceModelWizard_label")); + initialObjectCreationPage.setDescription(FiacreInstanceEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * + * + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.classpath b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.project b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.project new file mode 100644 index 0000000..d1cc3e9 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupery.fiacre.instance + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c85eb4e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/META-INF/MANIFEST.MF @@ -0,0 +1,17 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupery.fiacre.instance;singleton:=true +Bundle-Version: 0.1.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: com.irtsaintexupery.fiacre.instance.fiacreinstance, + com.irtsaintexupery.fiacre.instance.fiacreinstance.impl, + com.irtsaintexupery.fiacre.instance.fiacreinstance.util +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport, + fr.irit.fiacre.xtext;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/build.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/build.properties new file mode 100644 index 0000000..983ef0a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/build.properties @@ -0,0 +1,20 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.ecore b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.ecore new file mode 100644 index 0000000..b6b600f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.ecore @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.genmodel b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.genmodel new file mode 100644 index 0000000..40237fc --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/model/FiacreInstance.genmodel @@ -0,0 +1,60 @@ + + + FiacreInstance.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.properties new file mode 100644 index 0000000..3cb1e13 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.properties @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# + +pluginName = FiacreInstance Model +providerName = www.example.org diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.xml b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.xml new file mode 100644 index 0000000..0e9208a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/plugin.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/BlockInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/BlockInstance.java new file mode 100644 index 0000000..312fdaa --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/BlockInstance.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Block Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance#getBlockInstances Block Instances}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getBlockInstance() + * @model abstract="true" + * @generated + */ +public interface BlockInstance extends EObject { + /** + * Returns the value of the 'Block Instances' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance}. + * + *

+ * If the meaning of the 'Block Instances' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Block Instances' containment reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getBlockInstance_BlockInstances() + * @model containment="true" + * @generated + */ + EList getBlockInstances(); + +} // BlockInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ComponentDeclarationInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ComponentDeclarationInstance.java new file mode 100644 index 0000000..57aeb8a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ComponentDeclarationInstance.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; + +/** + * + * A representation of the model object 'Component Declaration Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance#getComponent Component}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getComponentDeclarationInstance() + * @model + * @generated + */ +public interface ComponentDeclarationInstance extends DeclarationInstance { + /** + * Returns the value of the 'Component' reference. + * + *

+ * If the meaning of the 'Component' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component' reference. + * @see #setComponent(ComponentDeclaration) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getComponentDeclarationInstance_Component() + * @model required="true" + * @generated + */ + ComponentDeclaration getComponent(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance#getComponent Component}' reference. + * + * + * @param value the new value of the 'Component' reference. + * @see #getComponent() + * @generated + */ + void setComponent(ComponentDeclaration value); + +} // ComponentDeclarationInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/CompositionInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/CompositionInstance.java new file mode 100644 index 0000000..eb3eab5 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/CompositionInstance.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.Composition; + +/** + * + * A representation of the model object 'Composition Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance#getComposition Composition}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getCompositionInstance() + * @model + * @generated + */ +public interface CompositionInstance extends BlockInstance { + /** + * Returns the value of the 'Composition' reference. + * + *

+ * If the meaning of the 'Composition' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Composition' reference. + * @see #setComposition(Composition) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getCompositionInstance_Composition() + * @model + * @generated + */ + Composition getComposition(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance#getComposition Composition}' reference. + * + * + * @param value the new value of the 'Composition' reference. + * @see #getComposition() + * @generated + */ + void setComposition(Composition value); + +} // CompositionInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/DeclarationInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/DeclarationInstance.java new file mode 100644 index 0000000..4b7f15b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/DeclarationInstance.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Declaration Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getVariableDeclarationInstances Variable Declaration Instances}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getInstance Instance}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getFlatname Flatname}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getDeclarationInstance() + * @model abstract="true" + * @generated + */ +public interface DeclarationInstance extends BlockInstance { + /** + * Returns the value of the 'Variable Declaration Instances' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance}. + * + *

+ * If the meaning of the 'Variable Declaration Instances' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable Declaration Instances' containment reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getDeclarationInstance_VariableDeclarationInstances() + * @model containment="true" + * @generated + */ + EList getVariableDeclarationInstances(); + + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getDeclarationInstance_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Instance' reference. + * + *

+ * If the meaning of the 'Instance' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Instance' reference. + * @see #setInstance(ComponentInstance) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getDeclarationInstance_Instance() + * @model + * @generated + */ + ComponentInstance getInstance(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getInstance Instance}' reference. + * + * + * @param value the new value of the 'Instance' reference. + * @see #getInstance() + * @generated + */ + void setInstance(ComponentInstance value); + + /** + * Returns the value of the 'Flatname' attribute. + * + *

+ * If the meaning of the 'Flatname' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Flatname' attribute. + * @see #setFlatname(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getDeclarationInstance_Flatname() + * @model + * @generated + */ + String getFlatname(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getFlatname Flatname}' attribute. + * + * + * @param value the new value of the 'Flatname' attribute. + * @see #getFlatname() + * @generated + */ + void setFlatname(String value); + +} // DeclarationInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/EnabledStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/EnabledStatementBlock.java new file mode 100644 index 0000000..40b7a29 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/EnabledStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Enabled Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getEnabledStatementBlock() + * @model + * @generated + */ +public interface EnabledStatementBlock extends ExecutableStatementBlock { +} // EnabledStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutableStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutableStatementBlock.java new file mode 100644 index 0000000..3643452 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutableStatementBlock.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Executable Statement Block'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock#getDate Date}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getExecutableStatementBlock() + * @model + * @generated + */ +public interface ExecutableStatementBlock extends StatementBlock { + /** + * Returns the value of the 'Date' attribute. + * + *

+ * If the meaning of the 'Date' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Date' attribute. + * @see #setDate(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getExecutableStatementBlock_Date() + * @model + * @generated + */ + String getDate(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock#getDate Date}' attribute. + * + * + * @param value the new value of the 'Date' attribute. + * @see #getDate() + * @generated + */ + void setDate(String value); + +} // ExecutableStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutedStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutedStatementBlock.java new file mode 100644 index 0000000..eae1ef4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ExecutedStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Executed Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getExecutedStatementBlock() + * @model + * @generated + */ +public interface ExecutedStatementBlock extends StatementBlock { +} // ExecutedStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstanceFactory.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstanceFactory.java new file mode 100644 index 0000000..b26ca3f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstanceFactory.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage + * @generated + */ +public interface FiacreinstanceFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + FiacreinstanceFactory eINSTANCE = com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstanceFactoryImpl.init(); + + /** + * Returns a new object of class 'Instance Model'. + * + * + * @return a new object of class 'Instance Model'. + * @generated + */ + InstanceModel createInstanceModel(); + + /** + * Returns a new object of class 'Executed Statement Block'. + * + * + * @return a new object of class 'Executed Statement Block'. + * @generated + */ + ExecutedStatementBlock createExecutedStatementBlock(); + + /** + * Returns a new object of class 'Executable Statement Block'. + * + * + * @return a new object of class 'Executable Statement Block'. + * @generated + */ + ExecutableStatementBlock createExecutableStatementBlock(); + + /** + * Returns a new object of class 'Fireable Statement Block'. + * + * + * @return a new object of class 'Fireable Statement Block'. + * @generated + */ + FireableStatementBlock createFireableStatementBlock(); + + /** + * Returns a new object of class 'Enabled Statement Block'. + * + * + * @return a new object of class 'Enabled Statement Block'. + * @generated + */ + EnabledStatementBlock createEnabledStatementBlock(); + + /** + * Returns a new object of class 'Composition Instance'. + * + * + * @return a new object of class 'Composition Instance'. + * @generated + */ + CompositionInstance createCompositionInstance(); + + /** + * Returns a new object of class 'Component Declaration Instance'. + * + * + * @return a new object of class 'Component Declaration Instance'. + * @generated + */ + ComponentDeclarationInstance createComponentDeclarationInstance(); + + /** + * Returns a new object of class 'Process Declaration Instance'. + * + * + * @return a new object of class 'Process Declaration Instance'. + * @generated + */ + ProcessDeclarationInstance createProcessDeclarationInstance(); + + /** + * Returns a new object of class 'Instance Executed Statement Block'. + * + * + * @return a new object of class 'Instance Executed Statement Block'. + * @generated + */ + InstanceExecutedStatementBlock createInstanceExecutedStatementBlock(); + + /** + * Returns a new object of class 'Instance Fireable Statement Block'. + * + * + * @return a new object of class 'Instance Fireable Statement Block'. + * @generated + */ + InstanceFireableStatementBlock createInstanceFireableStatementBlock(); + + /** + * Returns a new object of class 'Instance Enabled Statement Block'. + * + * + * @return a new object of class 'Instance Enabled Statement Block'. + * @generated + */ + InstanceEnabledStatementBlock createInstanceEnabledStatementBlock(); + + /** + * Returns a new object of class 'Variable Declaration Instance'. + * + * + * @return a new object of class 'Variable Declaration Instance'. + * @generated + */ + VariableDeclarationInstance createVariableDeclarationInstance(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + FiacreinstancePackage getFiacreinstancePackage(); + +} //FiacreinstanceFactory diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstancePackage.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstancePackage.java new file mode 100644 index 0000000..a11f98a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FiacreinstancePackage.java @@ -0,0 +1,1833 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory + * @model kind="package" + * @generated + */ +public interface FiacreinstancePackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "fiacreinstance"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://fiacreinstance/1.0"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "fiacreinstance"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + FiacreinstancePackage eINSTANCE = com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl.init(); + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl Instance Model}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceModel() + * @generated + */ + int INSTANCE_MODEL = 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL__NAME = 0; + + /** + * The feature id for the 'Model' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL__MODEL = 1; + + /** + * The feature id for the 'Instance' containment reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL__INSTANCE = 2; + + /** + * The feature id for the 'Statement Blocks' containment reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL__STATEMENT_BLOCKS = 3; + + /** + * The number of structural features of the 'Instance Model' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL_FEATURE_COUNT = 4; + + /** + * The number of operations of the 'Instance Model' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_MODEL_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getStatementBlock() + * @generated + */ + int STATEMENT_BLOCK = 1; + + /** + * The feature id for the 'Instance Statement Blocks' reference list. + * + * + * @generated + * @ordered + */ + int STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int STATEMENT_BLOCK__NAME = 1; + + /** + * The number of structural features of the 'Statement Block' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_BLOCK_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Statement Block' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_BLOCK_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutedStatementBlockImpl Executed Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutedStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getExecutedStatementBlock() + * @generated + */ + int EXECUTED_STATEMENT_BLOCK = 2; + + /** + * The feature id for the 'Instance Statement Blocks' reference list. + * + * + * @generated + * @ordered + */ + int EXECUTED_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXECUTED_STATEMENT_BLOCK__NAME = STATEMENT_BLOCK__NAME; + + /** + * The number of structural features of the 'Executed Statement Block' class. + * + * + * @generated + * @ordered + */ + int EXECUTED_STATEMENT_BLOCK_FEATURE_COUNT = STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Executed Statement Block' class. + * + * + * @generated + * @ordered + */ + int EXECUTED_STATEMENT_BLOCK_OPERATION_COUNT = STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutableStatementBlockImpl Executable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getExecutableStatementBlock() + * @generated + */ + int EXECUTABLE_STATEMENT_BLOCK = 3; + + /** + * The feature id for the 'Instance Statement Blocks' reference list. + * + * + * @generated + * @ordered + */ + int EXECUTABLE_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int EXECUTABLE_STATEMENT_BLOCK__NAME = STATEMENT_BLOCK__NAME; + + /** + * The feature id for the 'Date' attribute. + * + * + * @generated + * @ordered + */ + int EXECUTABLE_STATEMENT_BLOCK__DATE = STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Executable Statement Block' class. + * + * + * @generated + * @ordered + */ + int EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT = STATEMENT_BLOCK_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Executable Statement Block' class. + * + * + * @generated + * @ordered + */ + int EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT = STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FireableStatementBlockImpl Fireable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FireableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getFireableStatementBlock() + * @generated + */ + int FIREABLE_STATEMENT_BLOCK = 4; + + /** + * The feature id for the 'Instance Statement Blocks' reference list. + * + * + * @generated + * @ordered + */ + int FIREABLE_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = EXECUTABLE_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FIREABLE_STATEMENT_BLOCK__NAME = EXECUTABLE_STATEMENT_BLOCK__NAME; + + /** + * The feature id for the 'Date' attribute. + * + * + * @generated + * @ordered + */ + int FIREABLE_STATEMENT_BLOCK__DATE = EXECUTABLE_STATEMENT_BLOCK__DATE; + + /** + * The number of structural features of the 'Fireable Statement Block' class. + * + * + * @generated + * @ordered + */ + int FIREABLE_STATEMENT_BLOCK_FEATURE_COUNT = EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Fireable Statement Block' class. + * + * + * @generated + * @ordered + */ + int FIREABLE_STATEMENT_BLOCK_OPERATION_COUNT = EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.EnabledStatementBlockImpl Enabled Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.EnabledStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getEnabledStatementBlock() + * @generated + */ + int ENABLED_STATEMENT_BLOCK = 5; + + /** + * The feature id for the 'Instance Statement Blocks' reference list. + * + * + * @generated + * @ordered + */ + int ENABLED_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = EXECUTABLE_STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int ENABLED_STATEMENT_BLOCK__NAME = EXECUTABLE_STATEMENT_BLOCK__NAME; + + /** + * The feature id for the 'Date' attribute. + * + * + * @generated + * @ordered + */ + int ENABLED_STATEMENT_BLOCK__DATE = EXECUTABLE_STATEMENT_BLOCK__DATE; + + /** + * The number of structural features of the 'Enabled Statement Block' class. + * + * + * @generated + * @ordered + */ + int ENABLED_STATEMENT_BLOCK_FEATURE_COUNT = EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Enabled Statement Block' class. + * + * + * @generated + * @ordered + */ + int ENABLED_STATEMENT_BLOCK_OPERATION_COUNT = EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.BlockInstanceImpl Block Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.BlockInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getBlockInstance() + * @generated + */ + int BLOCK_INSTANCE = 6; + + /** + * The feature id for the 'Block Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int BLOCK_INSTANCE__BLOCK_INSTANCES = 0; + + /** + * The number of structural features of the 'Block Instance' class. + * + * + * @generated + * @ordered + */ + int BLOCK_INSTANCE_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Block Instance' class. + * + * + * @generated + * @ordered + */ + int BLOCK_INSTANCE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.CompositionInstanceImpl Composition Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.CompositionInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getCompositionInstance() + * @generated + */ + int COMPOSITION_INSTANCE = 7; + + /** + * The feature id for the 'Block Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPOSITION_INSTANCE__BLOCK_INSTANCES = BLOCK_INSTANCE__BLOCK_INSTANCES; + + /** + * The feature id for the 'Composition' reference. + * + * + * @generated + * @ordered + */ + int COMPOSITION_INSTANCE__COMPOSITION = BLOCK_INSTANCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Composition Instance' class. + * + * + * @generated + * @ordered + */ + int COMPOSITION_INSTANCE_FEATURE_COUNT = BLOCK_INSTANCE_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Composition Instance' class. + * + * + * @generated + * @ordered + */ + int COMPOSITION_INSTANCE_OPERATION_COUNT = BLOCK_INSTANCE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getDeclarationInstance() + * @generated + */ + int DECLARATION_INSTANCE = 8; + + /** + * The feature id for the 'Block Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE__BLOCK_INSTANCES = BLOCK_INSTANCE__BLOCK_INSTANCES; + + /** + * The feature id for the 'Variable Declaration Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES = BLOCK_INSTANCE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE__NAME = BLOCK_INSTANCE_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Instance' reference. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE__INSTANCE = BLOCK_INSTANCE_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Flatname' attribute. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE__FLATNAME = BLOCK_INSTANCE_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE_FEATURE_COUNT = BLOCK_INSTANCE_FEATURE_COUNT + 4; + + /** + * The number of operations of the 'Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int DECLARATION_INSTANCE_OPERATION_COUNT = BLOCK_INSTANCE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ComponentDeclarationInstanceImpl Component Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ComponentDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getComponentDeclarationInstance() + * @generated + */ + int COMPONENT_DECLARATION_INSTANCE = 9; + + /** + * The feature id for the 'Block Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__BLOCK_INSTANCES = DECLARATION_INSTANCE__BLOCK_INSTANCES; + + /** + * The feature id for the 'Variable Declaration Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES = DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__NAME = DECLARATION_INSTANCE__NAME; + + /** + * The feature id for the 'Instance' reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__INSTANCE = DECLARATION_INSTANCE__INSTANCE; + + /** + * The feature id for the 'Flatname' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__FLATNAME = DECLARATION_INSTANCE__FLATNAME; + + /** + * The feature id for the 'Component' reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE__COMPONENT = DECLARATION_INSTANCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Component Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE_FEATURE_COUNT = DECLARATION_INSTANCE_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Component Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_INSTANCE_OPERATION_COUNT = DECLARATION_INSTANCE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl Process Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getProcessDeclarationInstance() + * @generated + */ + int PROCESS_DECLARATION_INSTANCE = 10; + + /** + * The feature id for the 'Block Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__BLOCK_INSTANCES = DECLARATION_INSTANCE__BLOCK_INSTANCES; + + /** + * The feature id for the 'Variable Declaration Instances' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES = DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__NAME = DECLARATION_INSTANCE__NAME; + + /** + * The feature id for the 'Instance' reference. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__INSTANCE = DECLARATION_INSTANCE__INSTANCE; + + /** + * The feature id for the 'Flatname' attribute. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__FLATNAME = DECLARATION_INSTANCE__FLATNAME; + + /** + * The feature id for the 'Current State' reference. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__CURRENT_STATE = DECLARATION_INSTANCE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Process' reference. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__PROCESS = DECLARATION_INSTANCE_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Instance Statement Blocks' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS = DECLARATION_INSTANCE_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Process Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE_FEATURE_COUNT = DECLARATION_INSTANCE_FEATURE_COUNT + 3; + + /** + * The number of operations of the 'Process Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_INSTANCE_OPERATION_COUNT = DECLARATION_INSTANCE_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl Instance Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceStatementBlock() + * @generated + */ + int INSTANCE_STATEMENT_BLOCK = 11; + + /** + * The feature id for the 'Transition Source' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE = 0; + + /** + * The feature id for the 'Statements' reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_STATEMENT_BLOCK__STATEMENTS = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_STATEMENT_BLOCK__NAME = 2; + + /** + * The number of structural features of the 'Instance Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_STATEMENT_BLOCK_FEATURE_COUNT = 3; + + /** + * The number of operations of the 'Instance Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_STATEMENT_BLOCK_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutedStatementBlockImpl Instance Executed Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutedStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceExecutedStatementBlock() + * @generated + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK = 12; + + /** + * The feature id for the 'Transition Source' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK__TRANSITION_SOURCE = INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE; + + /** + * The feature id for the 'Statements' reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK__STATEMENTS = INSTANCE_STATEMENT_BLOCK__STATEMENTS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK__NAME = INSTANCE_STATEMENT_BLOCK__NAME; + + /** + * The number of structural features of the 'Instance Executed Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK_FEATURE_COUNT = INSTANCE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Instance Executed Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTED_STATEMENT_BLOCK_OPERATION_COUNT = INSTANCE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutableStatementBlockImpl Instance Executable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceExecutableStatementBlock() + * @generated + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK = 13; + + /** + * The feature id for the 'Transition Source' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK__TRANSITION_SOURCE = INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE; + + /** + * The feature id for the 'Statements' reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK__STATEMENTS = INSTANCE_STATEMENT_BLOCK__STATEMENTS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK__NAME = INSTANCE_STATEMENT_BLOCK__NAME; + + /** + * The number of structural features of the 'Instance Executable Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT = INSTANCE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Instance Executable Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT = INSTANCE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceFireableStatementBlockImpl Instance Fireable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceFireableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceFireableStatementBlock() + * @generated + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK = 14; + + /** + * The feature id for the 'Transition Source' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK__TRANSITION_SOURCE = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__TRANSITION_SOURCE; + + /** + * The feature id for the 'Statements' reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK__STATEMENTS = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__STATEMENTS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK__NAME = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__NAME; + + /** + * The number of structural features of the 'Instance Fireable Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK_FEATURE_COUNT = INSTANCE_EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Instance Fireable Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_FIREABLE_STATEMENT_BLOCK_OPERATION_COUNT = INSTANCE_EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceEnabledStatementBlockImpl Instance Enabled Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceEnabledStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceEnabledStatementBlock() + * @generated + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK = 15; + + /** + * The feature id for the 'Transition Source' reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK__TRANSITION_SOURCE = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__TRANSITION_SOURCE; + + /** + * The feature id for the 'Statements' reference list. + * + * + * @generated + * @ordered + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK__STATEMENTS = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__STATEMENTS; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK__NAME = INSTANCE_EXECUTABLE_STATEMENT_BLOCK__NAME; + + /** + * The number of structural features of the 'Instance Enabled Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK_FEATURE_COUNT = INSTANCE_EXECUTABLE_STATEMENT_BLOCK_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Instance Enabled Statement Block' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_ENABLED_STATEMENT_BLOCK_OPERATION_COUNT = INSTANCE_EXECUTABLE_STATEMENT_BLOCK_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl Variable Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getVariableDeclarationInstance() + * @generated + */ + int VARIABLE_DECLARATION_INSTANCE = 16; + + /** + * The feature id for the 'Variable Declaration' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION = 0; + + /** + * The feature id for the 'Current Value' containment reference. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE = 1; + + /** + * The number of structural features of the 'Variable Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION_INSTANCE_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Variable Declaration Instance' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION_INSTANCE_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel Instance Model}'. + * + * + * @return the meta object for class 'Instance Model'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel + * @generated + */ + EClass getInstanceModel(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getName() + * @see #getInstanceModel() + * @generated + */ + EAttribute getInstanceModel_Name(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getModel Model}'. + * + * + * @return the meta object for the reference 'Model'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getModel() + * @see #getInstanceModel() + * @generated + */ + EReference getInstanceModel_Model(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getInstance Instance}'. + * + * + * @return the meta object for the containment reference list 'Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getInstance() + * @see #getInstanceModel() + * @generated + */ + EReference getInstanceModel_Instance(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getStatementBlocks Statement Blocks}'. + * + * + * @return the meta object for the containment reference list 'Statement Blocks'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getStatementBlocks() + * @see #getInstanceModel() + * @generated + */ + EReference getInstanceModel_StatementBlocks(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock Statement Block}'. + * + * + * @return the meta object for class 'Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock + * @generated + */ + EClass getStatementBlock(); + + /** + * Returns the meta object for the reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getInstanceStatementBlocks Instance Statement Blocks}'. + * + * + * @return the meta object for the reference list 'Instance Statement Blocks'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getInstanceStatementBlocks() + * @see #getStatementBlock() + * @generated + */ + EReference getStatementBlock_InstanceStatementBlocks(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getName() + * @see #getStatementBlock() + * @generated + */ + EAttribute getStatementBlock_Name(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock Executed Statement Block}'. + * + * + * @return the meta object for class 'Executed Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock + * @generated + */ + EClass getExecutedStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock Executable Statement Block}'. + * + * + * @return the meta object for class 'Executable Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock + * @generated + */ + EClass getExecutableStatementBlock(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock#getDate Date}'. + * + * + * @return the meta object for the attribute 'Date'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock#getDate() + * @see #getExecutableStatementBlock() + * @generated + */ + EAttribute getExecutableStatementBlock_Date(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock Fireable Statement Block}'. + * + * + * @return the meta object for class 'Fireable Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock + * @generated + */ + EClass getFireableStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock Enabled Statement Block}'. + * + * + * @return the meta object for class 'Enabled Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock + * @generated + */ + EClass getEnabledStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance Block Instance}'. + * + * + * @return the meta object for class 'Block Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance + * @generated + */ + EClass getBlockInstance(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance#getBlockInstances Block Instances}'. + * + * + * @return the meta object for the containment reference list 'Block Instances'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance#getBlockInstances() + * @see #getBlockInstance() + * @generated + */ + EReference getBlockInstance_BlockInstances(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance Composition Instance}'. + * + * + * @return the meta object for class 'Composition Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance + * @generated + */ + EClass getCompositionInstance(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance#getComposition Composition}'. + * + * + * @return the meta object for the reference 'Composition'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance#getComposition() + * @see #getCompositionInstance() + * @generated + */ + EReference getCompositionInstance_Composition(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance Declaration Instance}'. + * + * + * @return the meta object for class 'Declaration Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance + * @generated + */ + EClass getDeclarationInstance(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getVariableDeclarationInstances Variable Declaration Instances}'. + * + * + * @return the meta object for the containment reference list 'Variable Declaration Instances'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getVariableDeclarationInstances() + * @see #getDeclarationInstance() + * @generated + */ + EReference getDeclarationInstance_VariableDeclarationInstances(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getName() + * @see #getDeclarationInstance() + * @generated + */ + EAttribute getDeclarationInstance_Name(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getInstance Instance}'. + * + * + * @return the meta object for the reference 'Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getInstance() + * @see #getDeclarationInstance() + * @generated + */ + EReference getDeclarationInstance_Instance(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getFlatname Flatname}'. + * + * + * @return the meta object for the attribute 'Flatname'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance#getFlatname() + * @see #getDeclarationInstance() + * @generated + */ + EAttribute getDeclarationInstance_Flatname(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance Component Declaration Instance}'. + * + * + * @return the meta object for class 'Component Declaration Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance + * @generated + */ + EClass getComponentDeclarationInstance(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance#getComponent Component}'. + * + * + * @return the meta object for the reference 'Component'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance#getComponent() + * @see #getComponentDeclarationInstance() + * @generated + */ + EReference getComponentDeclarationInstance_Component(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance Process Declaration Instance}'. + * + * + * @return the meta object for class 'Process Declaration Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance + * @generated + */ + EClass getProcessDeclarationInstance(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getCurrentState Current State}'. + * + * + * @return the meta object for the reference 'Current State'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getCurrentState() + * @see #getProcessDeclarationInstance() + * @generated + */ + EReference getProcessDeclarationInstance_CurrentState(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getProcess Process}'. + * + * + * @return the meta object for the reference 'Process'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getProcess() + * @see #getProcessDeclarationInstance() + * @generated + */ + EReference getProcessDeclarationInstance_Process(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getInstanceStatementBlocks Instance Statement Blocks}'. + * + * + * @return the meta object for the containment reference list 'Instance Statement Blocks'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getInstanceStatementBlocks() + * @see #getProcessDeclarationInstance() + * @generated + */ + EReference getProcessDeclarationInstance_InstanceStatementBlocks(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock Instance Statement Block}'. + * + * + * @return the meta object for class 'Instance Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock + * @generated + */ + EClass getInstanceStatementBlock(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getTransitionSource Transition Source}'. + * + * + * @return the meta object for the reference 'Transition Source'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getTransitionSource() + * @see #getInstanceStatementBlock() + * @generated + */ + EReference getInstanceStatementBlock_TransitionSource(); + + /** + * Returns the meta object for the reference list '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getStatements Statements}'. + * + * + * @return the meta object for the reference list 'Statements'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getStatements() + * @see #getInstanceStatementBlock() + * @generated + */ + EReference getInstanceStatementBlock_Statements(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getName() + * @see #getInstanceStatementBlock() + * @generated + */ + EAttribute getInstanceStatementBlock_Name(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock Instance Executed Statement Block}'. + * + * + * @return the meta object for class 'Instance Executed Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock + * @generated + */ + EClass getInstanceExecutedStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock Instance Executable Statement Block}'. + * + * + * @return the meta object for class 'Instance Executable Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock + * @generated + */ + EClass getInstanceExecutableStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock Instance Fireable Statement Block}'. + * + * + * @return the meta object for class 'Instance Fireable Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock + * @generated + */ + EClass getInstanceFireableStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock Instance Enabled Statement Block}'. + * + * + * @return the meta object for class 'Instance Enabled Statement Block'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock + * @generated + */ + EClass getInstanceEnabledStatementBlock(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance Variable Declaration Instance}'. + * + * + * @return the meta object for class 'Variable Declaration Instance'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance + * @generated + */ + EClass getVariableDeclarationInstance(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getVariableDeclaration Variable Declaration}'. + * + * + * @return the meta object for the reference 'Variable Declaration'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getVariableDeclaration() + * @see #getVariableDeclarationInstance() + * @generated + */ + EReference getVariableDeclarationInstance_VariableDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getCurrentValue Current Value}'. + * + * + * @return the meta object for the containment reference 'Current Value'. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getCurrentValue() + * @see #getVariableDeclarationInstance() + * @generated + */ + EReference getVariableDeclarationInstance_CurrentValue(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + FiacreinstanceFactory getFiacreinstanceFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl Instance Model}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceModel() + * @generated + */ + EClass INSTANCE_MODEL = eINSTANCE.getInstanceModel(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute INSTANCE_MODEL__NAME = eINSTANCE.getInstanceModel_Name(); + + /** + * The meta object literal for the 'Model' reference feature. + * + * + * @generated + */ + EReference INSTANCE_MODEL__MODEL = eINSTANCE.getInstanceModel_Model(); + + /** + * The meta object literal for the 'Instance' containment reference list feature. + * + * + * @generated + */ + EReference INSTANCE_MODEL__INSTANCE = eINSTANCE.getInstanceModel_Instance(); + + /** + * The meta object literal for the 'Statement Blocks' containment reference list feature. + * + * + * @generated + */ + EReference INSTANCE_MODEL__STATEMENT_BLOCKS = eINSTANCE.getInstanceModel_StatementBlocks(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getStatementBlock() + * @generated + */ + EClass STATEMENT_BLOCK = eINSTANCE.getStatementBlock(); + + /** + * The meta object literal for the 'Instance Statement Blocks' reference list feature. + * + * + * @generated + */ + EReference STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS = eINSTANCE.getStatementBlock_InstanceStatementBlocks(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute STATEMENT_BLOCK__NAME = eINSTANCE.getStatementBlock_Name(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutedStatementBlockImpl Executed Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutedStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getExecutedStatementBlock() + * @generated + */ + EClass EXECUTED_STATEMENT_BLOCK = eINSTANCE.getExecutedStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutableStatementBlockImpl Executable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getExecutableStatementBlock() + * @generated + */ + EClass EXECUTABLE_STATEMENT_BLOCK = eINSTANCE.getExecutableStatementBlock(); + + /** + * The meta object literal for the 'Date' attribute feature. + * + * + * @generated + */ + EAttribute EXECUTABLE_STATEMENT_BLOCK__DATE = eINSTANCE.getExecutableStatementBlock_Date(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FireableStatementBlockImpl Fireable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FireableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getFireableStatementBlock() + * @generated + */ + EClass FIREABLE_STATEMENT_BLOCK = eINSTANCE.getFireableStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.EnabledStatementBlockImpl Enabled Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.EnabledStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getEnabledStatementBlock() + * @generated + */ + EClass ENABLED_STATEMENT_BLOCK = eINSTANCE.getEnabledStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.BlockInstanceImpl Block Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.BlockInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getBlockInstance() + * @generated + */ + EClass BLOCK_INSTANCE = eINSTANCE.getBlockInstance(); + + /** + * The meta object literal for the 'Block Instances' containment reference list feature. + * + * + * @generated + */ + EReference BLOCK_INSTANCE__BLOCK_INSTANCES = eINSTANCE.getBlockInstance_BlockInstances(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.CompositionInstanceImpl Composition Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.CompositionInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getCompositionInstance() + * @generated + */ + EClass COMPOSITION_INSTANCE = eINSTANCE.getCompositionInstance(); + + /** + * The meta object literal for the 'Composition' reference feature. + * + * + * @generated + */ + EReference COMPOSITION_INSTANCE__COMPOSITION = eINSTANCE.getCompositionInstance_Composition(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getDeclarationInstance() + * @generated + */ + EClass DECLARATION_INSTANCE = eINSTANCE.getDeclarationInstance(); + + /** + * The meta object literal for the 'Variable Declaration Instances' containment reference list feature. + * + * + * @generated + */ + EReference DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES = eINSTANCE.getDeclarationInstance_VariableDeclarationInstances(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute DECLARATION_INSTANCE__NAME = eINSTANCE.getDeclarationInstance_Name(); + + /** + * The meta object literal for the 'Instance' reference feature. + * + * + * @generated + */ + EReference DECLARATION_INSTANCE__INSTANCE = eINSTANCE.getDeclarationInstance_Instance(); + + /** + * The meta object literal for the 'Flatname' attribute feature. + * + * + * @generated + */ + EAttribute DECLARATION_INSTANCE__FLATNAME = eINSTANCE.getDeclarationInstance_Flatname(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ComponentDeclarationInstanceImpl Component Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ComponentDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getComponentDeclarationInstance() + * @generated + */ + EClass COMPONENT_DECLARATION_INSTANCE = eINSTANCE.getComponentDeclarationInstance(); + + /** + * The meta object literal for the 'Component' reference feature. + * + * + * @generated + */ + EReference COMPONENT_DECLARATION_INSTANCE__COMPONENT = eINSTANCE.getComponentDeclarationInstance_Component(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl Process Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getProcessDeclarationInstance() + * @generated + */ + EClass PROCESS_DECLARATION_INSTANCE = eINSTANCE.getProcessDeclarationInstance(); + + /** + * The meta object literal for the 'Current State' reference feature. + * + * + * @generated + */ + EReference PROCESS_DECLARATION_INSTANCE__CURRENT_STATE = eINSTANCE.getProcessDeclarationInstance_CurrentState(); + + /** + * The meta object literal for the 'Process' reference feature. + * + * + * @generated + */ + EReference PROCESS_DECLARATION_INSTANCE__PROCESS = eINSTANCE.getProcessDeclarationInstance_Process(); + + /** + * The meta object literal for the 'Instance Statement Blocks' containment reference list feature. + * + * + * @generated + */ + EReference PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS = eINSTANCE.getProcessDeclarationInstance_InstanceStatementBlocks(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl Instance Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceStatementBlock() + * @generated + */ + EClass INSTANCE_STATEMENT_BLOCK = eINSTANCE.getInstanceStatementBlock(); + + /** + * The meta object literal for the 'Transition Source' reference feature. + * + * + * @generated + */ + EReference INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE = eINSTANCE.getInstanceStatementBlock_TransitionSource(); + + /** + * The meta object literal for the 'Statements' reference list feature. + * + * + * @generated + */ + EReference INSTANCE_STATEMENT_BLOCK__STATEMENTS = eINSTANCE.getInstanceStatementBlock_Statements(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute INSTANCE_STATEMENT_BLOCK__NAME = eINSTANCE.getInstanceStatementBlock_Name(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutedStatementBlockImpl Instance Executed Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutedStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceExecutedStatementBlock() + * @generated + */ + EClass INSTANCE_EXECUTED_STATEMENT_BLOCK = eINSTANCE.getInstanceExecutedStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutableStatementBlockImpl Instance Executable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceExecutableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceExecutableStatementBlock() + * @generated + */ + EClass INSTANCE_EXECUTABLE_STATEMENT_BLOCK = eINSTANCE.getInstanceExecutableStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceFireableStatementBlockImpl Instance Fireable Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceFireableStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceFireableStatementBlock() + * @generated + */ + EClass INSTANCE_FIREABLE_STATEMENT_BLOCK = eINSTANCE.getInstanceFireableStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceEnabledStatementBlockImpl Instance Enabled Statement Block}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceEnabledStatementBlockImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getInstanceEnabledStatementBlock() + * @generated + */ + EClass INSTANCE_ENABLED_STATEMENT_BLOCK = eINSTANCE.getInstanceEnabledStatementBlock(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl Variable Declaration Instance}' class. + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.FiacreinstancePackageImpl#getVariableDeclarationInstance() + * @generated + */ + EClass VARIABLE_DECLARATION_INSTANCE = eINSTANCE.getVariableDeclarationInstance(); + + /** + * The meta object literal for the 'Variable Declaration' reference feature. + * + * + * @generated + */ + EReference VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION = eINSTANCE.getVariableDeclarationInstance_VariableDeclaration(); + + /** + * The meta object literal for the 'Current Value' containment reference feature. + * + * + * @generated + */ + EReference VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE = eINSTANCE.getVariableDeclarationInstance_CurrentValue(); + + } + +} //FiacreinstancePackage diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FireableStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FireableStatementBlock.java new file mode 100644 index 0000000..e17e2b2 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/FireableStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Fireable Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getFireableStatementBlock() + * @model + * @generated + */ +public interface FireableStatementBlock extends ExecutableStatementBlock { +} // FireableStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceEnabledStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceEnabledStatementBlock.java new file mode 100644 index 0000000..28e2a57 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceEnabledStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Instance Enabled Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceEnabledStatementBlock() + * @model + * @generated + */ +public interface InstanceEnabledStatementBlock extends InstanceExecutableStatementBlock { +} // InstanceEnabledStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutableStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutableStatementBlock.java new file mode 100644 index 0000000..357b919 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutableStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Instance Executable Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceExecutableStatementBlock() + * @model abstract="true" + * @generated + */ +public interface InstanceExecutableStatementBlock extends InstanceStatementBlock { +} // InstanceExecutableStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutedStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutedStatementBlock.java new file mode 100644 index 0000000..fd89dcc --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceExecutedStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Instance Executed Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceExecutedStatementBlock() + * @model + * @generated + */ +public interface InstanceExecutedStatementBlock extends InstanceStatementBlock { +} // InstanceExecutedStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceFireableStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceFireableStatementBlock.java new file mode 100644 index 0000000..d70e787 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceFireableStatementBlock.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + + +/** + * + * A representation of the model object 'Instance Fireable Statement Block'. + * + * + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceFireableStatementBlock() + * @model + * @generated + */ +public interface InstanceFireableStatementBlock extends InstanceExecutableStatementBlock { +} // InstanceFireableStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceModel.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceModel.java new file mode 100644 index 0000000..76b323c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceModel.java @@ -0,0 +1,125 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.Model; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Instance Model'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getModel Model}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getInstance Instance}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getStatementBlocks Statement Blocks}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceModel() + * @model + * @generated + */ +public interface InstanceModel extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceModel_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Model' reference. + * + *

+ * If the meaning of the 'Model' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Model' reference. + * @see #setModel(Model) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceModel_Model() + * @model required="true" + * @generated + */ + Model getModel(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel#getModel Model}' reference. + * + * + * @param value the new value of the 'Model' reference. + * @see #getModel() + * @generated + */ + void setModel(Model value); + + /** + * Returns the value of the 'Instance' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance}. + * + *

+ * If the meaning of the 'Instance' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Instance' containment reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceModel_Instance() + * @model containment="true" required="true" + * @generated + */ + EList getInstance(); + + /** + * Returns the value of the 'Statement Blocks' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock}. + * + *

+ * If the meaning of the 'Statement Blocks' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Statement Blocks' containment reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceModel_StatementBlocks() + * @model containment="true" + * @generated + */ + EList getStatementBlocks(); + +} // InstanceModel diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceStatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceStatementBlock.java new file mode 100644 index 0000000..2f0f618 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/InstanceStatementBlock.java @@ -0,0 +1,109 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Instance Statement Block'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getTransitionSource Transition Source}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getStatements Statements}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getName Name}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceStatementBlock() + * @model abstract="true" + * @generated + */ +public interface InstanceStatementBlock extends EObject { + /** + * Returns the value of the 'Transition Source' reference. + * + *

+ * If the meaning of the 'Transition Source' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Transition Source' reference. + * @see #setTransitionSource(TransitionSource) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceStatementBlock_TransitionSource() + * @model required="true" + * @generated + */ + TransitionSource getTransitionSource(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getTransitionSource Transition Source}' reference. + * + * + * @param value the new value of the 'Transition Source' reference. + * @see #getTransitionSource() + * @generated + */ + void setTransitionSource(TransitionSource value); + + /** + * Returns the value of the 'Statements' reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + *

+ * If the meaning of the 'Statements' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Statements' reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceStatementBlock_Statements() + * @model + * @generated + */ + EList getStatements(); + + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getInstanceStatementBlock_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // InstanceStatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ProcessDeclarationInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ProcessDeclarationInstance.java new file mode 100644 index 0000000..79f9ebf --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/ProcessDeclarationInstance.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Process Declaration Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getCurrentState Current State}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getProcess Process}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getInstanceStatementBlocks Instance Statement Blocks}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getProcessDeclarationInstance() + * @model + * @generated + */ +public interface ProcessDeclarationInstance extends DeclarationInstance { + /** + * Returns the value of the 'Current State' reference. + * + *

+ * If the meaning of the 'Current State' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Current State' reference. + * @see #setCurrentState(StateDeclaration) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getProcessDeclarationInstance_CurrentState() + * @model + * @generated + */ + StateDeclaration getCurrentState(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getCurrentState Current State}' reference. + * + * + * @param value the new value of the 'Current State' reference. + * @see #getCurrentState() + * @generated + */ + void setCurrentState(StateDeclaration value); + + /** + * Returns the value of the 'Process' reference. + * + *

+ * If the meaning of the 'Process' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Process' reference. + * @see #setProcess(ProcessDeclaration) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getProcessDeclarationInstance_Process() + * @model required="true" + * @generated + */ + ProcessDeclaration getProcess(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance#getProcess Process}' reference. + * + * + * @param value the new value of the 'Process' reference. + * @see #getProcess() + * @generated + */ + void setProcess(ProcessDeclaration value); + + /** + * Returns the value of the 'Instance Statement Blocks' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock}. + * + *

+ * If the meaning of the 'Instance Statement Blocks' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Instance Statement Blocks' containment reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getProcessDeclarationInstance_InstanceStatementBlocks() + * @model containment="true" + * @generated + */ + EList getInstanceStatementBlocks(); + +} // ProcessDeclarationInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/StatementBlock.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/StatementBlock.java new file mode 100644 index 0000000..9fdc471 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/StatementBlock.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Statement Block'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getInstanceStatementBlocks Instance Statement Blocks}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getName Name}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getStatementBlock() + * @model abstract="true" + * @generated + */ +public interface StatementBlock extends EObject { + /** + * Returns the value of the 'Instance Statement Blocks' reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock}. + * + *

+ * If the meaning of the 'Instance Statement Blocks' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Instance Statement Blocks' reference list. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getStatementBlock_InstanceStatementBlocks() + * @model required="true" + * @generated + */ + EList getInstanceStatementBlocks(); + + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getStatementBlock_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // StatementBlock diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/VariableDeclarationInstance.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/VariableDeclarationInstance.java new file mode 100644 index 0000000..437ca49 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/VariableDeclarationInstance.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance; + +import fr.irit.fiacre.xtext.fiacre.ValueExpression; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Variable Declaration Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getVariableDeclaration Variable Declaration}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getCurrentValue Current Value}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getVariableDeclarationInstance() + * @model + * @generated + */ +public interface VariableDeclarationInstance extends EObject { + /** + * Returns the value of the 'Variable Declaration' reference. + * + *

+ * If the meaning of the 'Variable Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable Declaration' reference. + * @see #setVariableDeclaration(VariableDeclaration) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getVariableDeclarationInstance_VariableDeclaration() + * @model required="true" + * @generated + */ + VariableDeclaration getVariableDeclaration(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getVariableDeclaration Variable Declaration}' reference. + * + * + * @param value the new value of the 'Variable Declaration' reference. + * @see #getVariableDeclaration() + * @generated + */ + void setVariableDeclaration(VariableDeclaration value); + + /** + * Returns the value of the 'Current Value' containment reference. + * + *

+ * If the meaning of the 'Current Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Current Value' containment reference. + * @see #setCurrentValue(ValueExpression) + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#getVariableDeclarationInstance_CurrentValue() + * @model containment="true" + * @generated + */ + ValueExpression getCurrentValue(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance#getCurrentValue Current Value}' containment reference. + * + * + * @param value the new value of the 'Current Value' containment reference. + * @see #getCurrentValue() + * @generated + */ + void setCurrentValue(ValueExpression value); + +} // VariableDeclarationInstance diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/BlockInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/BlockInstanceImpl.java new file mode 100644 index 0000000..085ba63 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/BlockInstanceImpl.java @@ -0,0 +1,161 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Block Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.BlockInstanceImpl#getBlockInstances Block Instances}
  • + *
+ * + * @generated + */ +public abstract class BlockInstanceImpl extends MinimalEObjectImpl.Container implements BlockInstance { + /** + * The cached value of the '{@link #getBlockInstances() Block Instances}' containment reference list. + * + * + * @see #getBlockInstances() + * @generated + * @ordered + */ + protected EList blockInstances; + + /** + * + * + * @generated + */ + protected BlockInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.BLOCK_INSTANCE; + } + + /** + * + * + * @generated + */ + public EList getBlockInstances() { + if (blockInstances == null) { + blockInstances = new EObjectContainmentEList(BlockInstance.class, this, FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES); + } + return blockInstances; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + return ((InternalEList)getBlockInstances()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + return getBlockInstances(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + getBlockInstances().clear(); + getBlockInstances().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + getBlockInstances().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.BLOCK_INSTANCE__BLOCK_INSTANCES: + return blockInstances != null && !blockInstances.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //BlockInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ComponentDeclarationInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ComponentDeclarationInstanceImpl.java new file mode 100644 index 0000000..1e746c4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ComponentDeclarationInstanceImpl.java @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Component Declaration Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ComponentDeclarationInstanceImpl#getComponent Component}
  • + *
+ * + * @generated + */ +public class ComponentDeclarationInstanceImpl extends DeclarationInstanceImpl implements ComponentDeclarationInstance { + /** + * The cached value of the '{@link #getComponent() Component}' reference. + * + * + * @see #getComponent() + * @generated + * @ordered + */ + protected ComponentDeclaration component; + + /** + * + * + * @generated + */ + protected ComponentDeclarationInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.COMPONENT_DECLARATION_INSTANCE; + } + + /** + * + * + * @generated + */ + public ComponentDeclaration getComponent() { + if (component != null && component.eIsProxy()) { + InternalEObject oldComponent = (InternalEObject)component; + component = (ComponentDeclaration)eResolveProxy(oldComponent); + if (component != oldComponent) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT, oldComponent, component)); + } + } + return component; + } + + /** + * + * + * @generated + */ + public ComponentDeclaration basicGetComponent() { + return component; + } + + /** + * + * + * @generated + */ + public void setComponent(ComponentDeclaration newComponent) { + ComponentDeclaration oldComponent = component; + component = newComponent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT, oldComponent, component)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT: + if (resolve) return getComponent(); + return basicGetComponent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT: + setComponent((ComponentDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT: + setComponent((ComponentDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE__COMPONENT: + return component != null; + } + return super.eIsSet(featureID); + } + +} //ComponentDeclarationInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/CompositionInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/CompositionInstanceImpl.java new file mode 100644 index 0000000..3e7e527 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/CompositionInstanceImpl.java @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.Composition; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Composition Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.CompositionInstanceImpl#getComposition Composition}
  • + *
+ * + * @generated + */ +public class CompositionInstanceImpl extends BlockInstanceImpl implements CompositionInstance { + /** + * The cached value of the '{@link #getComposition() Composition}' reference. + * + * + * @see #getComposition() + * @generated + * @ordered + */ + protected Composition composition; + + /** + * + * + * @generated + */ + protected CompositionInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.COMPOSITION_INSTANCE; + } + + /** + * + * + * @generated + */ + public Composition getComposition() { + if (composition != null && composition.eIsProxy()) { + InternalEObject oldComposition = (InternalEObject)composition; + composition = (Composition)eResolveProxy(oldComposition); + if (composition != oldComposition) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION, oldComposition, composition)); + } + } + return composition; + } + + /** + * + * + * @generated + */ + public Composition basicGetComposition() { + return composition; + } + + /** + * + * + * @generated + */ + public void setComposition(Composition newComposition) { + Composition oldComposition = composition; + composition = newComposition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION, oldComposition, composition)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION: + if (resolve) return getComposition(); + return basicGetComposition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION: + setComposition((Composition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION: + setComposition((Composition)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.COMPOSITION_INSTANCE__COMPOSITION: + return composition != null; + } + return super.eIsSet(featureID); + } + +} //CompositionInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/DeclarationInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/DeclarationInstanceImpl.java new file mode 100644 index 0000000..99efc26 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/DeclarationInstanceImpl.java @@ -0,0 +1,347 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; + +/** + * + * An implementation of the model object 'Declaration Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl#getVariableDeclarationInstances Variable Declaration Instances}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl#getInstance Instance}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.DeclarationInstanceImpl#getFlatname Flatname}
  • + *
+ * + * @generated + */ +public abstract class DeclarationInstanceImpl extends BlockInstanceImpl implements DeclarationInstance { + /** + * The cached value of the '{@link #getVariableDeclarationInstances() Variable Declaration Instances}' containment reference list. + * + * + * @see #getVariableDeclarationInstances() + * @generated + * @ordered + */ + protected EList variableDeclarationInstances; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getInstance() Instance}' reference. + * + * + * @see #getInstance() + * @generated + * @ordered + */ + protected ComponentInstance instance; + + /** + * The default value of the '{@link #getFlatname() Flatname}' attribute. + * + * + * @see #getFlatname() + * @generated + * @ordered + */ + protected static final String FLATNAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFlatname() Flatname}' attribute. + * + * + * @see #getFlatname() + * @generated + * @ordered + */ + protected String flatname = FLATNAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected DeclarationInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.DECLARATION_INSTANCE; + } + + /** + * + * + * @generated + */ + public EList getVariableDeclarationInstances() { + if (variableDeclarationInstances == null) { + variableDeclarationInstances = new EObjectContainmentEList(VariableDeclarationInstance.class, this, FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES); + } + return variableDeclarationInstances; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.DECLARATION_INSTANCE__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public ComponentInstance getInstance() { + if (instance != null && instance.eIsProxy()) { + InternalEObject oldInstance = (InternalEObject)instance; + instance = (ComponentInstance)eResolveProxy(oldInstance); + if (instance != oldInstance) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE, oldInstance, instance)); + } + } + return instance; + } + + /** + * + * + * @generated + */ + public ComponentInstance basicGetInstance() { + return instance; + } + + /** + * + * + * @generated + */ + public void setInstance(ComponentInstance newInstance) { + ComponentInstance oldInstance = instance; + instance = newInstance; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE, oldInstance, instance)); + } + + /** + * + * + * @generated + */ + public String getFlatname() { + return flatname; + } + + /** + * + * + * @generated + */ + public void setFlatname(String newFlatname) { + String oldFlatname = flatname; + flatname = newFlatname; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME, oldFlatname, flatname)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + return ((InternalEList)getVariableDeclarationInstances()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + return getVariableDeclarationInstances(); + case FiacreinstancePackage.DECLARATION_INSTANCE__NAME: + return getName(); + case FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE: + if (resolve) return getInstance(); + return basicGetInstance(); + case FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME: + return getFlatname(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + getVariableDeclarationInstances().clear(); + getVariableDeclarationInstances().addAll((Collection)newValue); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__NAME: + setName((String)newValue); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE: + setInstance((ComponentInstance)newValue); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME: + setFlatname((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + getVariableDeclarationInstances().clear(); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__NAME: + setName(NAME_EDEFAULT); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE: + setInstance((ComponentInstance)null); + return; + case FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME: + setFlatname(FLATNAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES: + return variableDeclarationInstances != null && !variableDeclarationInstances.isEmpty(); + case FiacreinstancePackage.DECLARATION_INSTANCE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacreinstancePackage.DECLARATION_INSTANCE__INSTANCE: + return instance != null; + case FiacreinstancePackage.DECLARATION_INSTANCE__FLATNAME: + return FLATNAME_EDEFAULT == null ? flatname != null : !FLATNAME_EDEFAULT.equals(flatname); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", flatname: "); + result.append(flatname); + result.append(')'); + return result.toString(); + } + +} //DeclarationInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/EnabledStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/EnabledStatementBlockImpl.java new file mode 100644 index 0000000..c2803b2 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/EnabledStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Enabled Statement Block'. + * + * + * @generated + */ +public class EnabledStatementBlockImpl extends ExecutableStatementBlockImpl implements EnabledStatementBlock { + /** + * + * + * @generated + */ + protected EnabledStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.ENABLED_STATEMENT_BLOCK; + } + +} //EnabledStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutableStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutableStatementBlockImpl.java new file mode 100644 index 0000000..a486467 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutableStatementBlockImpl.java @@ -0,0 +1,172 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Executable Statement Block'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ExecutableStatementBlockImpl#getDate Date}
  • + *
+ * + * @generated + */ +public class ExecutableStatementBlockImpl extends StatementBlockImpl implements ExecutableStatementBlock { + /** + * The default value of the '{@link #getDate() Date}' attribute. + * + * + * @see #getDate() + * @generated + * @ordered + */ + protected static final String DATE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getDate() Date}' attribute. + * + * + * @see #getDate() + * @generated + * @ordered + */ + protected String date = DATE_EDEFAULT; + + /** + * + * + * @generated + */ + protected ExecutableStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.EXECUTABLE_STATEMENT_BLOCK; + } + + /** + * + * + * @generated + */ + public String getDate() { + return date; + } + + /** + * + * + * @generated + */ + public void setDate(String newDate) { + String oldDate = date; + date = newDate; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE, oldDate, date)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE: + return getDate(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE: + setDate((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE: + setDate(DATE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK__DATE: + return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals(date); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (date: "); + result.append(date); + result.append(')'); + return result.toString(); + } + +} //ExecutableStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutedStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutedStatementBlockImpl.java new file mode 100644 index 0000000..e86d715 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ExecutedStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; + +/** + * + * An implementation of the model object 'Executed Statement Block'. + * + * + * @generated + */ +public class ExecutedStatementBlockImpl extends StatementBlockImpl implements ExecutedStatementBlock { + /** + * + * + * @generated + */ + protected ExecutedStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.EXECUTED_STATEMENT_BLOCK; + } + +} //ExecutedStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstanceFactoryImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstanceFactoryImpl.java new file mode 100644 index 0000000..fa41901 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstanceFactoryImpl.java @@ -0,0 +1,226 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class FiacreinstanceFactoryImpl extends EFactoryImpl implements FiacreinstanceFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static FiacreinstanceFactory init() { + try { + FiacreinstanceFactory theFiacreinstanceFactory = (FiacreinstanceFactory)EPackage.Registry.INSTANCE.getEFactory(FiacreinstancePackage.eNS_URI); + if (theFiacreinstanceFactory != null) { + return theFiacreinstanceFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new FiacreinstanceFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public FiacreinstanceFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case FiacreinstancePackage.INSTANCE_MODEL: return createInstanceModel(); + case FiacreinstancePackage.EXECUTED_STATEMENT_BLOCK: return createExecutedStatementBlock(); + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK: return createExecutableStatementBlock(); + case FiacreinstancePackage.FIREABLE_STATEMENT_BLOCK: return createFireableStatementBlock(); + case FiacreinstancePackage.ENABLED_STATEMENT_BLOCK: return createEnabledStatementBlock(); + case FiacreinstancePackage.COMPOSITION_INSTANCE: return createCompositionInstance(); + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE: return createComponentDeclarationInstance(); + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE: return createProcessDeclarationInstance(); + case FiacreinstancePackage.INSTANCE_EXECUTED_STATEMENT_BLOCK: return createInstanceExecutedStatementBlock(); + case FiacreinstancePackage.INSTANCE_FIREABLE_STATEMENT_BLOCK: return createInstanceFireableStatementBlock(); + case FiacreinstancePackage.INSTANCE_ENABLED_STATEMENT_BLOCK: return createInstanceEnabledStatementBlock(); + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE: return createVariableDeclarationInstance(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public InstanceModel createInstanceModel() { + InstanceModelImpl instanceModel = new InstanceModelImpl(); + return instanceModel; + } + + /** + * + * + * @generated + */ + public ExecutedStatementBlock createExecutedStatementBlock() { + ExecutedStatementBlockImpl executedStatementBlock = new ExecutedStatementBlockImpl(); + return executedStatementBlock; + } + + /** + * + * + * @generated + */ + public ExecutableStatementBlock createExecutableStatementBlock() { + ExecutableStatementBlockImpl executableStatementBlock = new ExecutableStatementBlockImpl(); + return executableStatementBlock; + } + + /** + * + * + * @generated + */ + public FireableStatementBlock createFireableStatementBlock() { + FireableStatementBlockImpl fireableStatementBlock = new FireableStatementBlockImpl(); + return fireableStatementBlock; + } + + /** + * + * + * @generated + */ + public EnabledStatementBlock createEnabledStatementBlock() { + EnabledStatementBlockImpl enabledStatementBlock = new EnabledStatementBlockImpl(); + return enabledStatementBlock; + } + + /** + * + * + * @generated + */ + public CompositionInstance createCompositionInstance() { + CompositionInstanceImpl compositionInstance = new CompositionInstanceImpl(); + return compositionInstance; + } + + /** + * + * + * @generated + */ + public ComponentDeclarationInstance createComponentDeclarationInstance() { + ComponentDeclarationInstanceImpl componentDeclarationInstance = new ComponentDeclarationInstanceImpl(); + return componentDeclarationInstance; + } + + /** + * + * + * @generated + */ + public ProcessDeclarationInstance createProcessDeclarationInstance() { + ProcessDeclarationInstanceImpl processDeclarationInstance = new ProcessDeclarationInstanceImpl(); + return processDeclarationInstance; + } + + /** + * + * + * @generated + */ + public InstanceExecutedStatementBlock createInstanceExecutedStatementBlock() { + InstanceExecutedStatementBlockImpl instanceExecutedStatementBlock = new InstanceExecutedStatementBlockImpl(); + return instanceExecutedStatementBlock; + } + + /** + * + * + * @generated + */ + public InstanceFireableStatementBlock createInstanceFireableStatementBlock() { + InstanceFireableStatementBlockImpl instanceFireableStatementBlock = new InstanceFireableStatementBlockImpl(); + return instanceFireableStatementBlock; + } + + /** + * + * + * @generated + */ + public InstanceEnabledStatementBlock createInstanceEnabledStatementBlock() { + InstanceEnabledStatementBlockImpl instanceEnabledStatementBlock = new InstanceEnabledStatementBlockImpl(); + return instanceEnabledStatementBlock; + } + + /** + * + * + * @generated + */ + public VariableDeclarationInstance createVariableDeclarationInstance() { + VariableDeclarationInstanceImpl variableDeclarationInstance = new VariableDeclarationInstanceImpl(); + return variableDeclarationInstance; + } + + /** + * + * + * @generated + */ + public FiacreinstancePackage getFiacreinstancePackage() { + return (FiacreinstancePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static FiacreinstancePackage getPackage() { + return FiacreinstancePackage.eINSTANCE; + } + +} //FiacreinstanceFactoryImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstancePackageImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstancePackageImpl.java new file mode 100644 index 0000000..7abdb16 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FiacreinstancePackageImpl.java @@ -0,0 +1,775 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class FiacreinstancePackageImpl extends EPackageImpl implements FiacreinstancePackage { + /** + * + * + * @generated + */ + private EClass instanceModelEClass = null; + + /** + * + * + * @generated + */ + private EClass statementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass executedStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass executableStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass fireableStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass enabledStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass blockInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass compositionInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass declarationInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass componentDeclarationInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass processDeclarationInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceExecutedStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceExecutableStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceFireableStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceEnabledStatementBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass variableDeclarationInstanceEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

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. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage#eNS_URI + * @see #init() + * @generated + */ + private FiacreinstancePackageImpl() { + super(eNS_URI, FiacreinstanceFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link FiacreinstancePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static FiacreinstancePackage init() { + if (isInited) return (FiacreinstancePackage)EPackage.Registry.INSTANCE.getEPackage(FiacreinstancePackage.eNS_URI); + + // Obtain or create and register package + FiacreinstancePackageImpl theFiacreinstancePackage = (FiacreinstancePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FiacreinstancePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FiacreinstancePackageImpl()); + + isInited = true; + + // Initialize simple dependencies + FiacrePackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theFiacreinstancePackage.createPackageContents(); + + // Initialize created meta-data + theFiacreinstancePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theFiacreinstancePackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(FiacreinstancePackage.eNS_URI, theFiacreinstancePackage); + return theFiacreinstancePackage; + } + + /** + * + * + * @generated + */ + public EClass getInstanceModel() { + return instanceModelEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getInstanceModel_Name() { + return (EAttribute)instanceModelEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getInstanceModel_Model() { + return (EReference)instanceModelEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getInstanceModel_Instance() { + return (EReference)instanceModelEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getInstanceModel_StatementBlocks() { + return (EReference)instanceModelEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getStatementBlock() { + return statementBlockEClass; + } + + /** + * + * + * @generated + */ + public EReference getStatementBlock_InstanceStatementBlocks() { + return (EReference)statementBlockEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getStatementBlock_Name() { + return (EAttribute)statementBlockEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getExecutedStatementBlock() { + return executedStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getExecutableStatementBlock() { + return executableStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getExecutableStatementBlock_Date() { + return (EAttribute)executableStatementBlockEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getFireableStatementBlock() { + return fireableStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getEnabledStatementBlock() { + return enabledStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getBlockInstance() { + return blockInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getBlockInstance_BlockInstances() { + return (EReference)blockInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getCompositionInstance() { + return compositionInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getCompositionInstance_Composition() { + return (EReference)compositionInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDeclarationInstance() { + return declarationInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getDeclarationInstance_VariableDeclarationInstances() { + return (EReference)declarationInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getDeclarationInstance_Name() { + return (EAttribute)declarationInstanceEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getDeclarationInstance_Instance() { + return (EReference)declarationInstanceEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EAttribute getDeclarationInstance_Flatname() { + return (EAttribute)declarationInstanceEClass.getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getComponentDeclarationInstance() { + return componentDeclarationInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclarationInstance_Component() { + return (EReference)componentDeclarationInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getProcessDeclarationInstance() { + return processDeclarationInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclarationInstance_CurrentState() { + return (EReference)processDeclarationInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclarationInstance_Process() { + return (EReference)processDeclarationInstanceEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclarationInstance_InstanceStatementBlocks() { + return (EReference)processDeclarationInstanceEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getInstanceStatementBlock() { + return instanceStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EReference getInstanceStatementBlock_TransitionSource() { + return (EReference)instanceStatementBlockEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getInstanceStatementBlock_Statements() { + return (EReference)instanceStatementBlockEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getInstanceStatementBlock_Name() { + return (EAttribute)instanceStatementBlockEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getInstanceExecutedStatementBlock() { + return instanceExecutedStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getInstanceExecutableStatementBlock() { + return instanceExecutableStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getInstanceFireableStatementBlock() { + return instanceFireableStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getInstanceEnabledStatementBlock() { + return instanceEnabledStatementBlockEClass; + } + + /** + * + * + * @generated + */ + public EClass getVariableDeclarationInstance() { + return variableDeclarationInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getVariableDeclarationInstance_VariableDeclaration() { + return (EReference)variableDeclarationInstanceEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getVariableDeclarationInstance_CurrentValue() { + return (EReference)variableDeclarationInstanceEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public FiacreinstanceFactory getFiacreinstanceFactory() { + return (FiacreinstanceFactory)getEFactoryInstance(); + } + + /** + * + * + * @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. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + instanceModelEClass = createEClass(INSTANCE_MODEL); + createEAttribute(instanceModelEClass, INSTANCE_MODEL__NAME); + createEReference(instanceModelEClass, INSTANCE_MODEL__MODEL); + createEReference(instanceModelEClass, INSTANCE_MODEL__INSTANCE); + createEReference(instanceModelEClass, INSTANCE_MODEL__STATEMENT_BLOCKS); + + statementBlockEClass = createEClass(STATEMENT_BLOCK); + createEReference(statementBlockEClass, STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS); + createEAttribute(statementBlockEClass, STATEMENT_BLOCK__NAME); + + executedStatementBlockEClass = createEClass(EXECUTED_STATEMENT_BLOCK); + + executableStatementBlockEClass = createEClass(EXECUTABLE_STATEMENT_BLOCK); + createEAttribute(executableStatementBlockEClass, EXECUTABLE_STATEMENT_BLOCK__DATE); + + fireableStatementBlockEClass = createEClass(FIREABLE_STATEMENT_BLOCK); + + enabledStatementBlockEClass = createEClass(ENABLED_STATEMENT_BLOCK); + + blockInstanceEClass = createEClass(BLOCK_INSTANCE); + createEReference(blockInstanceEClass, BLOCK_INSTANCE__BLOCK_INSTANCES); + + compositionInstanceEClass = createEClass(COMPOSITION_INSTANCE); + createEReference(compositionInstanceEClass, COMPOSITION_INSTANCE__COMPOSITION); + + declarationInstanceEClass = createEClass(DECLARATION_INSTANCE); + createEReference(declarationInstanceEClass, DECLARATION_INSTANCE__VARIABLE_DECLARATION_INSTANCES); + createEAttribute(declarationInstanceEClass, DECLARATION_INSTANCE__NAME); + createEReference(declarationInstanceEClass, DECLARATION_INSTANCE__INSTANCE); + createEAttribute(declarationInstanceEClass, DECLARATION_INSTANCE__FLATNAME); + + componentDeclarationInstanceEClass = createEClass(COMPONENT_DECLARATION_INSTANCE); + createEReference(componentDeclarationInstanceEClass, COMPONENT_DECLARATION_INSTANCE__COMPONENT); + + processDeclarationInstanceEClass = createEClass(PROCESS_DECLARATION_INSTANCE); + createEReference(processDeclarationInstanceEClass, PROCESS_DECLARATION_INSTANCE__CURRENT_STATE); + createEReference(processDeclarationInstanceEClass, PROCESS_DECLARATION_INSTANCE__PROCESS); + createEReference(processDeclarationInstanceEClass, PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS); + + instanceStatementBlockEClass = createEClass(INSTANCE_STATEMENT_BLOCK); + createEReference(instanceStatementBlockEClass, INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE); + createEReference(instanceStatementBlockEClass, INSTANCE_STATEMENT_BLOCK__STATEMENTS); + createEAttribute(instanceStatementBlockEClass, INSTANCE_STATEMENT_BLOCK__NAME); + + instanceExecutedStatementBlockEClass = createEClass(INSTANCE_EXECUTED_STATEMENT_BLOCK); + + instanceExecutableStatementBlockEClass = createEClass(INSTANCE_EXECUTABLE_STATEMENT_BLOCK); + + instanceFireableStatementBlockEClass = createEClass(INSTANCE_FIREABLE_STATEMENT_BLOCK); + + instanceEnabledStatementBlockEClass = createEClass(INSTANCE_ENABLED_STATEMENT_BLOCK); + + variableDeclarationInstanceEClass = createEClass(VARIABLE_DECLARATION_INSTANCE); + createEReference(variableDeclarationInstanceEClass, VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION); + createEReference(variableDeclarationInstanceEClass, VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE); + } + + /** + * + * + * @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. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + FiacrePackage theFiacrePackage = (FiacrePackage)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + executedStatementBlockEClass.getESuperTypes().add(this.getStatementBlock()); + executableStatementBlockEClass.getESuperTypes().add(this.getStatementBlock()); + fireableStatementBlockEClass.getESuperTypes().add(this.getExecutableStatementBlock()); + enabledStatementBlockEClass.getESuperTypes().add(this.getExecutableStatementBlock()); + compositionInstanceEClass.getESuperTypes().add(this.getBlockInstance()); + declarationInstanceEClass.getESuperTypes().add(this.getBlockInstance()); + componentDeclarationInstanceEClass.getESuperTypes().add(this.getDeclarationInstance()); + processDeclarationInstanceEClass.getESuperTypes().add(this.getDeclarationInstance()); + instanceExecutedStatementBlockEClass.getESuperTypes().add(this.getInstanceStatementBlock()); + instanceExecutableStatementBlockEClass.getESuperTypes().add(this.getInstanceStatementBlock()); + instanceFireableStatementBlockEClass.getESuperTypes().add(this.getInstanceExecutableStatementBlock()); + instanceEnabledStatementBlockEClass.getESuperTypes().add(this.getInstanceExecutableStatementBlock()); + + // Initialize classes, features, and operations; add parameters + initEClass(instanceModelEClass, InstanceModel.class, "InstanceModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getInstanceModel_Name(), ecorePackage.getEString(), "name", null, 0, 1, InstanceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInstanceModel_Model(), theFiacrePackage.getModel(), null, "model", null, 1, 1, InstanceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInstanceModel_Instance(), this.getDeclarationInstance(), null, "instance", null, 1, -1, InstanceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInstanceModel_StatementBlocks(), this.getStatementBlock(), null, "statementBlocks", null, 0, -1, InstanceModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(statementBlockEClass, StatementBlock.class, "StatementBlock", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getStatementBlock_InstanceStatementBlocks(), this.getInstanceStatementBlock(), null, "instanceStatementBlocks", null, 1, -1, StatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getStatementBlock_Name(), ecorePackage.getEString(), "name", null, 0, 1, StatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(executedStatementBlockEClass, ExecutedStatementBlock.class, "ExecutedStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(executableStatementBlockEClass, ExecutableStatementBlock.class, "ExecutableStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getExecutableStatementBlock_Date(), ecorePackage.getEString(), "date", null, 0, 1, ExecutableStatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(fireableStatementBlockEClass, FireableStatementBlock.class, "FireableStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(enabledStatementBlockEClass, EnabledStatementBlock.class, "EnabledStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(blockInstanceEClass, BlockInstance.class, "BlockInstance", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getBlockInstance_BlockInstances(), this.getBlockInstance(), null, "blockInstances", null, 0, -1, BlockInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(compositionInstanceEClass, CompositionInstance.class, "CompositionInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getCompositionInstance_Composition(), theFiacrePackage.getComposition(), null, "composition", null, 0, 1, CompositionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(declarationInstanceEClass, DeclarationInstance.class, "DeclarationInstance", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getDeclarationInstance_VariableDeclarationInstances(), this.getVariableDeclarationInstance(), null, "variableDeclarationInstances", null, 0, -1, DeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getDeclarationInstance_Name(), ecorePackage.getEString(), "name", null, 1, 1, DeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getDeclarationInstance_Instance(), theFiacrePackage.getComponentInstance(), null, "instance", null, 0, 1, DeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getDeclarationInstance_Flatname(), ecorePackage.getEString(), "flatname", null, 0, 1, DeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(componentDeclarationInstanceEClass, ComponentDeclarationInstance.class, "ComponentDeclarationInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getComponentDeclarationInstance_Component(), theFiacrePackage.getComponentDeclaration(), null, "component", null, 1, 1, ComponentDeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(processDeclarationInstanceEClass, ProcessDeclarationInstance.class, "ProcessDeclarationInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getProcessDeclarationInstance_CurrentState(), theFiacrePackage.getStateDeclaration(), null, "currentState", null, 0, 1, ProcessDeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getProcessDeclarationInstance_Process(), theFiacrePackage.getProcessDeclaration(), null, "process", null, 1, 1, ProcessDeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getProcessDeclarationInstance_InstanceStatementBlocks(), this.getInstanceStatementBlock(), null, "instanceStatementBlocks", null, 0, -1, ProcessDeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(instanceStatementBlockEClass, InstanceStatementBlock.class, "InstanceStatementBlock", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getInstanceStatementBlock_TransitionSource(), theFiacrePackage.getTransitionSource(), null, "transitionSource", null, 1, 1, InstanceStatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getInstanceStatementBlock_Statements(), theFiacrePackage.getStatement(), null, "statements", null, 0, -1, InstanceStatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getInstanceStatementBlock_Name(), ecorePackage.getEString(), "name", null, 0, 1, InstanceStatementBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(instanceExecutedStatementBlockEClass, InstanceExecutedStatementBlock.class, "InstanceExecutedStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(instanceExecutableStatementBlockEClass, InstanceExecutableStatementBlock.class, "InstanceExecutableStatementBlock", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(instanceFireableStatementBlockEClass, InstanceFireableStatementBlock.class, "InstanceFireableStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(instanceEnabledStatementBlockEClass, InstanceEnabledStatementBlock.class, "InstanceEnabledStatementBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(variableDeclarationInstanceEClass, VariableDeclarationInstance.class, "VariableDeclarationInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getVariableDeclarationInstance_VariableDeclaration(), theFiacrePackage.getVariableDeclaration(), null, "variableDeclaration", null, 1, 1, VariableDeclarationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getVariableDeclarationInstance_CurrentValue(), theFiacrePackage.getValueExpression(), null, "currentValue", null, 0, 1, VariableDeclarationInstance.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); + } + +} //FiacreinstancePackageImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FireableStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FireableStatementBlockImpl.java new file mode 100644 index 0000000..7bf3f2a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/FireableStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; + +/** + * + * An implementation of the model object 'Fireable Statement Block'. + * + * + * @generated + */ +public class FireableStatementBlockImpl extends ExecutableStatementBlockImpl implements FireableStatementBlock { + /** + * + * + * @generated + */ + protected FireableStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.FIREABLE_STATEMENT_BLOCK; + } + +} //FireableStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceEnabledStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceEnabledStatementBlockImpl.java new file mode 100644 index 0000000..e3192f2 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceEnabledStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock; + +/** + * + * An implementation of the model object 'Instance Enabled Statement Block'. + * + * + * @generated + */ +public class InstanceEnabledStatementBlockImpl extends InstanceExecutableStatementBlockImpl implements InstanceEnabledStatementBlock { + /** + * + * + * @generated + */ + protected InstanceEnabledStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_ENABLED_STATEMENT_BLOCK; + } + +} //InstanceEnabledStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutableStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutableStatementBlockImpl.java new file mode 100644 index 0000000..988a117 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutableStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock; + +/** + * + * An implementation of the model object 'Instance Executable Statement Block'. + * + * + * @generated + */ +public abstract class InstanceExecutableStatementBlockImpl extends InstanceStatementBlockImpl implements InstanceExecutableStatementBlock { + /** + * + * + * @generated + */ + protected InstanceExecutableStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_EXECUTABLE_STATEMENT_BLOCK; + } + +} //InstanceExecutableStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutedStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutedStatementBlockImpl.java new file mode 100644 index 0000000..610b5b7 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceExecutedStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock; + +/** + * + * An implementation of the model object 'Instance Executed Statement Block'. + * + * + * @generated + */ +public class InstanceExecutedStatementBlockImpl extends InstanceStatementBlockImpl implements InstanceExecutedStatementBlock { + /** + * + * + * @generated + */ + protected InstanceExecutedStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_EXECUTED_STATEMENT_BLOCK; + } + +} //InstanceExecutedStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceFireableStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceFireableStatementBlockImpl.java new file mode 100644 index 0000000..87a6c25 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceFireableStatementBlockImpl.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import org.eclipse.emf.ecore.EClass; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock; + +/** + * + * An implementation of the model object 'Instance Fireable Statement Block'. + * + * + * @generated + */ +public class InstanceFireableStatementBlockImpl extends InstanceExecutableStatementBlockImpl implements InstanceFireableStatementBlock { + /** + * + * + * @generated + */ + protected InstanceFireableStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_FIREABLE_STATEMENT_BLOCK; + } + +} //InstanceFireableStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceModelImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceModelImpl.java new file mode 100644 index 0000000..e602533 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceModelImpl.java @@ -0,0 +1,331 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.Model; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; + +/** + * + * An implementation of the model object 'Instance Model'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl#getModel Model}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl#getInstance Instance}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceModelImpl#getStatementBlocks Statement Blocks}
  • + *
+ * + * @generated + */ +public class InstanceModelImpl extends MinimalEObjectImpl.Container implements InstanceModel { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getModel() Model}' reference. + * + * + * @see #getModel() + * @generated + * @ordered + */ + protected Model model; + + /** + * The cached value of the '{@link #getInstance() Instance}' containment reference list. + * + * + * @see #getInstance() + * @generated + * @ordered + */ + protected EList instance; + + /** + * The cached value of the '{@link #getStatementBlocks() Statement Blocks}' containment reference list. + * + * + * @see #getStatementBlocks() + * @generated + * @ordered + */ + protected EList statementBlocks; + + /** + * + * + * @generated + */ + protected InstanceModelImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_MODEL; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.INSTANCE_MODEL__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public Model getModel() { + if (model != null && model.eIsProxy()) { + InternalEObject oldModel = (InternalEObject)model; + model = (Model)eResolveProxy(oldModel); + if (model != oldModel) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.INSTANCE_MODEL__MODEL, oldModel, model)); + } + } + return model; + } + + /** + * + * + * @generated + */ + public Model basicGetModel() { + return model; + } + + /** + * + * + * @generated + */ + public void setModel(Model newModel) { + Model oldModel = model; + model = newModel; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.INSTANCE_MODEL__MODEL, oldModel, model)); + } + + /** + * + * + * @generated + */ + public EList getInstance() { + if (instance == null) { + instance = new EObjectContainmentEList(DeclarationInstance.class, this, FiacreinstancePackage.INSTANCE_MODEL__INSTANCE); + } + return instance; + } + + /** + * + * + * @generated + */ + public EList getStatementBlocks() { + if (statementBlocks == null) { + statementBlocks = new EObjectContainmentEList(StatementBlock.class, this, FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS); + } + return statementBlocks; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + return ((InternalEList)getInstance()).basicRemove(otherEnd, msgs); + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + return ((InternalEList)getStatementBlocks()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_MODEL__NAME: + return getName(); + case FiacreinstancePackage.INSTANCE_MODEL__MODEL: + if (resolve) return getModel(); + return basicGetModel(); + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + return getInstance(); + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + return getStatementBlocks(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_MODEL__NAME: + setName((String)newValue); + return; + case FiacreinstancePackage.INSTANCE_MODEL__MODEL: + setModel((Model)newValue); + return; + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + getInstance().clear(); + getInstance().addAll((Collection)newValue); + return; + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + getStatementBlocks().clear(); + getStatementBlocks().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_MODEL__NAME: + setName(NAME_EDEFAULT); + return; + case FiacreinstancePackage.INSTANCE_MODEL__MODEL: + setModel((Model)null); + return; + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + getInstance().clear(); + return; + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + getStatementBlocks().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_MODEL__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacreinstancePackage.INSTANCE_MODEL__MODEL: + return model != null; + case FiacreinstancePackage.INSTANCE_MODEL__INSTANCE: + return instance != null && !instance.isEmpty(); + case FiacreinstancePackage.INSTANCE_MODEL__STATEMENT_BLOCKS: + return statementBlocks != null && !statementBlocks.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //InstanceModelImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceStatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceStatementBlockImpl.java new file mode 100644 index 0000000..3134411 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/InstanceStatementBlockImpl.java @@ -0,0 +1,278 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; + +/** + * + * An implementation of the model object 'Instance Statement Block'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl#getTransitionSource Transition Source}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl#getStatements Statements}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.InstanceStatementBlockImpl#getName Name}
  • + *
+ * + * @generated + */ +public abstract class InstanceStatementBlockImpl extends MinimalEObjectImpl.Container implements InstanceStatementBlock { + /** + * The cached value of the '{@link #getTransitionSource() Transition Source}' reference. + * + * + * @see #getTransitionSource() + * @generated + * @ordered + */ + protected TransitionSource transitionSource; + + /** + * The cached value of the '{@link #getStatements() Statements}' reference list. + * + * + * @see #getStatements() + * @generated + * @ordered + */ + protected EList statements; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected InstanceStatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.INSTANCE_STATEMENT_BLOCK; + } + + /** + * + * + * @generated + */ + public TransitionSource getTransitionSource() { + if (transitionSource != null && transitionSource.eIsProxy()) { + InternalEObject oldTransitionSource = (InternalEObject)transitionSource; + transitionSource = (TransitionSource)eResolveProxy(oldTransitionSource); + if (transitionSource != oldTransitionSource) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE, oldTransitionSource, transitionSource)); + } + } + return transitionSource; + } + + /** + * + * + * @generated + */ + public TransitionSource basicGetTransitionSource() { + return transitionSource; + } + + /** + * + * + * @generated + */ + public void setTransitionSource(TransitionSource newTransitionSource) { + TransitionSource oldTransitionSource = transitionSource; + transitionSource = newTransitionSource; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE, oldTransitionSource, transitionSource)); + } + + /** + * + * + * @generated + */ + public EList getStatements() { + if (statements == null) { + statements = new EObjectResolvingEList(Statement.class, this, FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__STATEMENTS); + } + return statements; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE: + if (resolve) return getTransitionSource(); + return basicGetTransitionSource(); + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__STATEMENTS: + return getStatements(); + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE: + setTransitionSource((TransitionSource)newValue); + return; + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection)newValue); + return; + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE: + setTransitionSource((TransitionSource)null); + return; + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__STATEMENTS: + getStatements().clear(); + return; + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__TRANSITION_SOURCE: + return transitionSource != null; + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__STATEMENTS: + return statements != null && !statements.isEmpty(); + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //InstanceStatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ProcessDeclarationInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ProcessDeclarationInstanceImpl.java new file mode 100644 index 0000000..a802f38 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/ProcessDeclarationInstanceImpl.java @@ -0,0 +1,286 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance; + +/** + * + * An implementation of the model object 'Process Declaration Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl#getCurrentState Current State}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl#getProcess Process}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.ProcessDeclarationInstanceImpl#getInstanceStatementBlocks Instance Statement Blocks}
  • + *
+ * + * @generated + */ +public class ProcessDeclarationInstanceImpl extends DeclarationInstanceImpl implements ProcessDeclarationInstance { + /** + * The cached value of the '{@link #getCurrentState() Current State}' reference. + * + * + * @see #getCurrentState() + * @generated + * @ordered + */ + protected StateDeclaration currentState; + + /** + * The cached value of the '{@link #getProcess() Process}' reference. + * + * + * @see #getProcess() + * @generated + * @ordered + */ + protected ProcessDeclaration process; + + /** + * The cached value of the '{@link #getInstanceStatementBlocks() Instance Statement Blocks}' containment reference list. + * + * + * @see #getInstanceStatementBlocks() + * @generated + * @ordered + */ + protected EList instanceStatementBlocks; + + /** + * + * + * @generated + */ + protected ProcessDeclarationInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.PROCESS_DECLARATION_INSTANCE; + } + + /** + * + * + * @generated + */ + public StateDeclaration getCurrentState() { + if (currentState != null && currentState.eIsProxy()) { + InternalEObject oldCurrentState = (InternalEObject)currentState; + currentState = (StateDeclaration)eResolveProxy(oldCurrentState); + if (currentState != oldCurrentState) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE, oldCurrentState, currentState)); + } + } + return currentState; + } + + /** + * + * + * @generated + */ + public StateDeclaration basicGetCurrentState() { + return currentState; + } + + /** + * + * + * @generated + */ + public void setCurrentState(StateDeclaration newCurrentState) { + StateDeclaration oldCurrentState = currentState; + currentState = newCurrentState; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE, oldCurrentState, currentState)); + } + + /** + * + * + * @generated + */ + public ProcessDeclaration getProcess() { + if (process != null && process.eIsProxy()) { + InternalEObject oldProcess = (InternalEObject)process; + process = (ProcessDeclaration)eResolveProxy(oldProcess); + if (process != oldProcess) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS, oldProcess, process)); + } + } + return process; + } + + /** + * + * + * @generated + */ + public ProcessDeclaration basicGetProcess() { + return process; + } + + /** + * + * + * @generated + */ + public void setProcess(ProcessDeclaration newProcess) { + ProcessDeclaration oldProcess = process; + process = newProcess; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS, oldProcess, process)); + } + + /** + * + * + * @generated + */ + public EList getInstanceStatementBlocks() { + if (instanceStatementBlocks == null) { + instanceStatementBlocks = new EObjectContainmentEList(InstanceStatementBlock.class, this, FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS); + } + return instanceStatementBlocks; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + return ((InternalEList)getInstanceStatementBlocks()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE: + if (resolve) return getCurrentState(); + return basicGetCurrentState(); + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS: + if (resolve) return getProcess(); + return basicGetProcess(); + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + return getInstanceStatementBlocks(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE: + setCurrentState((StateDeclaration)newValue); + return; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS: + setProcess((ProcessDeclaration)newValue); + return; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + getInstanceStatementBlocks().clear(); + getInstanceStatementBlocks().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE: + setCurrentState((StateDeclaration)null); + return; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS: + setProcess((ProcessDeclaration)null); + return; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + getInstanceStatementBlocks().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__CURRENT_STATE: + return currentState != null; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__PROCESS: + return process != null; + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE__INSTANCE_STATEMENT_BLOCKS: + return instanceStatementBlocks != null && !instanceStatementBlocks.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ProcessDeclarationInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/StatementBlockImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/StatementBlockImpl.java new file mode 100644 index 0000000..2774cb4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/StatementBlockImpl.java @@ -0,0 +1,215 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; + +/** + * + * An implementation of the model object 'Statement Block'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl#getInstanceStatementBlocks Instance Statement Blocks}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.StatementBlockImpl#getName Name}
  • + *
+ * + * @generated + */ +public abstract class StatementBlockImpl extends MinimalEObjectImpl.Container implements StatementBlock { + /** + * The cached value of the '{@link #getInstanceStatementBlocks() Instance Statement Blocks}' reference list. + * + * + * @see #getInstanceStatementBlocks() + * @generated + * @ordered + */ + protected EList instanceStatementBlocks; + + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected StatementBlockImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.STATEMENT_BLOCK; + } + + /** + * + * + * @generated + */ + public EList getInstanceStatementBlocks() { + if (instanceStatementBlocks == null) { + instanceStatementBlocks = new EObjectResolvingEList(InstanceStatementBlock.class, this, FiacreinstancePackage.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS); + } + return instanceStatementBlocks; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.STATEMENT_BLOCK__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS: + return getInstanceStatementBlocks(); + case FiacreinstancePackage.STATEMENT_BLOCK__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS: + getInstanceStatementBlocks().clear(); + getInstanceStatementBlocks().addAll((Collection)newValue); + return; + case FiacreinstancePackage.STATEMENT_BLOCK__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS: + getInstanceStatementBlocks().clear(); + return; + case FiacreinstancePackage.STATEMENT_BLOCK__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.STATEMENT_BLOCK__INSTANCE_STATEMENT_BLOCKS: + return instanceStatementBlocks != null && !instanceStatementBlocks.isEmpty(); + case FiacreinstancePackage.STATEMENT_BLOCK__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //StatementBlockImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/VariableDeclarationInstanceImpl.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/VariableDeclarationInstanceImpl.java new file mode 100644 index 0000000..0e03d61 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/impl/VariableDeclarationInstanceImpl.java @@ -0,0 +1,248 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.impl; + +import fr.irit.fiacre.xtext.fiacre.ValueExpression; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; + +/** + * + * An implementation of the model object 'Variable Declaration Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl#getVariableDeclaration Variable Declaration}
  • + *
  • {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.impl.VariableDeclarationInstanceImpl#getCurrentValue Current Value}
  • + *
+ * + * @generated + */ +public class VariableDeclarationInstanceImpl extends MinimalEObjectImpl.Container implements VariableDeclarationInstance { + /** + * The cached value of the '{@link #getVariableDeclaration() Variable Declaration}' reference. + * + * + * @see #getVariableDeclaration() + * @generated + * @ordered + */ + protected VariableDeclaration variableDeclaration; + + /** + * The cached value of the '{@link #getCurrentValue() Current Value}' containment reference. + * + * + * @see #getCurrentValue() + * @generated + * @ordered + */ + protected ValueExpression currentValue; + + /** + * + * + * @generated + */ + protected VariableDeclarationInstanceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return FiacreinstancePackage.Literals.VARIABLE_DECLARATION_INSTANCE; + } + + /** + * + * + * @generated + */ + public VariableDeclaration getVariableDeclaration() { + if (variableDeclaration != null && variableDeclaration.eIsProxy()) { + InternalEObject oldVariableDeclaration = (InternalEObject)variableDeclaration; + variableDeclaration = (VariableDeclaration)eResolveProxy(oldVariableDeclaration); + if (variableDeclaration != oldVariableDeclaration) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION, oldVariableDeclaration, variableDeclaration)); + } + } + return variableDeclaration; + } + + /** + * + * + * @generated + */ + public VariableDeclaration basicGetVariableDeclaration() { + return variableDeclaration; + } + + /** + * + * + * @generated + */ + public void setVariableDeclaration(VariableDeclaration newVariableDeclaration) { + VariableDeclaration oldVariableDeclaration = variableDeclaration; + variableDeclaration = newVariableDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION, oldVariableDeclaration, variableDeclaration)); + } + + /** + * + * + * @generated + */ + public ValueExpression getCurrentValue() { + return currentValue; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCurrentValue(ValueExpression newCurrentValue, NotificationChain msgs) { + ValueExpression oldCurrentValue = currentValue; + currentValue = newCurrentValue; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, oldCurrentValue, newCurrentValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCurrentValue(ValueExpression newCurrentValue) { + if (newCurrentValue != currentValue) { + NotificationChain msgs = null; + if (currentValue != null) + msgs = ((InternalEObject)currentValue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, null, msgs); + if (newCurrentValue != null) + msgs = ((InternalEObject)newCurrentValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, null, msgs); + msgs = basicSetCurrentValue(newCurrentValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE, newCurrentValue, newCurrentValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + return basicSetCurrentValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION: + if (resolve) return getVariableDeclaration(); + return basicGetVariableDeclaration(); + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + return getCurrentValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION: + setVariableDeclaration((VariableDeclaration)newValue); + return; + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + setCurrentValue((ValueExpression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION: + setVariableDeclaration((VariableDeclaration)null); + return; + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + setCurrentValue((ValueExpression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__VARIABLE_DECLARATION: + return variableDeclaration != null; + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE__CURRENT_VALUE: + return currentValue != null; + } + return super.eIsSet(featureID); + } + +} //VariableDeclarationInstanceImpl diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceAdapterFactory.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceAdapterFactory.java new file mode 100644 index 0000000..4ce12f1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceAdapterFactory.java @@ -0,0 +1,418 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.util; + +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; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage + * @generated + */ +public class FiacreinstanceAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static FiacreinstancePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public FiacreinstanceAdapterFactory() { + if (modelPackage == null) { + modelPackage = FiacreinstancePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @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 createXXX methods. + * + * + * @generated + */ + protected FiacreinstanceSwitch modelSwitch = + new FiacreinstanceSwitch() { + @Override + public Adapter caseInstanceModel(InstanceModel object) { + return createInstanceModelAdapter(); + } + @Override + public Adapter caseStatementBlock(StatementBlock object) { + return createStatementBlockAdapter(); + } + @Override + public Adapter caseExecutedStatementBlock(ExecutedStatementBlock object) { + return createExecutedStatementBlockAdapter(); + } + @Override + public Adapter caseExecutableStatementBlock(ExecutableStatementBlock object) { + return createExecutableStatementBlockAdapter(); + } + @Override + public Adapter caseFireableStatementBlock(FireableStatementBlock object) { + return createFireableStatementBlockAdapter(); + } + @Override + public Adapter caseEnabledStatementBlock(EnabledStatementBlock object) { + return createEnabledStatementBlockAdapter(); + } + @Override + public Adapter caseBlockInstance(BlockInstance object) { + return createBlockInstanceAdapter(); + } + @Override + public Adapter caseCompositionInstance(CompositionInstance object) { + return createCompositionInstanceAdapter(); + } + @Override + public Adapter caseDeclarationInstance(DeclarationInstance object) { + return createDeclarationInstanceAdapter(); + } + @Override + public Adapter caseComponentDeclarationInstance(ComponentDeclarationInstance object) { + return createComponentDeclarationInstanceAdapter(); + } + @Override + public Adapter caseProcessDeclarationInstance(ProcessDeclarationInstance object) { + return createProcessDeclarationInstanceAdapter(); + } + @Override + public Adapter caseInstanceStatementBlock(InstanceStatementBlock object) { + return createInstanceStatementBlockAdapter(); + } + @Override + public Adapter caseInstanceExecutedStatementBlock(InstanceExecutedStatementBlock object) { + return createInstanceExecutedStatementBlockAdapter(); + } + @Override + public Adapter caseInstanceExecutableStatementBlock(InstanceExecutableStatementBlock object) { + return createInstanceExecutableStatementBlockAdapter(); + } + @Override + public Adapter caseInstanceFireableStatementBlock(InstanceFireableStatementBlock object) { + return createInstanceFireableStatementBlockAdapter(); + } + @Override + public Adapter caseInstanceEnabledStatementBlock(InstanceEnabledStatementBlock object) { + return createInstanceEnabledStatementBlockAdapter(); + } + @Override + public Adapter caseVariableDeclarationInstance(VariableDeclarationInstance object) { + return createVariableDeclarationInstanceAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel Instance Model}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel + * @generated + */ + public Adapter createInstanceModelAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock + * @generated + */ + public Adapter createStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock Executed Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock + * @generated + */ + public Adapter createExecutedStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock Executable Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock + * @generated + */ + public Adapter createExecutableStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock Fireable Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock + * @generated + */ + public Adapter createFireableStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock Enabled Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock + * @generated + */ + public Adapter createEnabledStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance Block Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance + * @generated + */ + public Adapter createBlockInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance Composition Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance + * @generated + */ + public Adapter createCompositionInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance Declaration Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance + * @generated + */ + public Adapter createDeclarationInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance Component Declaration Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance + * @generated + */ + public Adapter createComponentDeclarationInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance Process Declaration Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance + * @generated + */ + public Adapter createProcessDeclarationInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock Instance Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock + * @generated + */ + public Adapter createInstanceStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock Instance Executed Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock + * @generated + */ + public Adapter createInstanceExecutedStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock Instance Executable Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock + * @generated + */ + public Adapter createInstanceExecutableStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock Instance Fireable Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock + * @generated + */ + public Adapter createInstanceFireableStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock Instance Enabled Statement Block}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock + * @generated + */ + public Adapter createInstanceEnabledStatementBlockAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance Variable Declaration Instance}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance + * @generated + */ + public Adapter createVariableDeclarationInstanceAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //FiacreinstanceAdapterFactory diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceSwitch.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceSwitch.java new file mode 100644 index 0000000..84d72f7 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/util/FiacreinstanceSwitch.java @@ -0,0 +1,474 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX 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. + * + * @see com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage + * @generated + */ +public class FiacreinstanceSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static FiacreinstancePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public FiacreinstanceSwitch() { + if (modelPackage == null) { + modelPackage = FiacreinstancePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @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 caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case FiacreinstancePackage.INSTANCE_MODEL: { + InstanceModel instanceModel = (InstanceModel)theEObject; + T result = caseInstanceModel(instanceModel); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.STATEMENT_BLOCK: { + StatementBlock statementBlock = (StatementBlock)theEObject; + T result = caseStatementBlock(statementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.EXECUTED_STATEMENT_BLOCK: { + ExecutedStatementBlock executedStatementBlock = (ExecutedStatementBlock)theEObject; + T result = caseExecutedStatementBlock(executedStatementBlock); + if (result == null) result = caseStatementBlock(executedStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.EXECUTABLE_STATEMENT_BLOCK: { + ExecutableStatementBlock executableStatementBlock = (ExecutableStatementBlock)theEObject; + T result = caseExecutableStatementBlock(executableStatementBlock); + if (result == null) result = caseStatementBlock(executableStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.FIREABLE_STATEMENT_BLOCK: { + FireableStatementBlock fireableStatementBlock = (FireableStatementBlock)theEObject; + T result = caseFireableStatementBlock(fireableStatementBlock); + if (result == null) result = caseExecutableStatementBlock(fireableStatementBlock); + if (result == null) result = caseStatementBlock(fireableStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.ENABLED_STATEMENT_BLOCK: { + EnabledStatementBlock enabledStatementBlock = (EnabledStatementBlock)theEObject; + T result = caseEnabledStatementBlock(enabledStatementBlock); + if (result == null) result = caseExecutableStatementBlock(enabledStatementBlock); + if (result == null) result = caseStatementBlock(enabledStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.BLOCK_INSTANCE: { + BlockInstance blockInstance = (BlockInstance)theEObject; + T result = caseBlockInstance(blockInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.COMPOSITION_INSTANCE: { + CompositionInstance compositionInstance = (CompositionInstance)theEObject; + T result = caseCompositionInstance(compositionInstance); + if (result == null) result = caseBlockInstance(compositionInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.DECLARATION_INSTANCE: { + DeclarationInstance declarationInstance = (DeclarationInstance)theEObject; + T result = caseDeclarationInstance(declarationInstance); + if (result == null) result = caseBlockInstance(declarationInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.COMPONENT_DECLARATION_INSTANCE: { + ComponentDeclarationInstance componentDeclarationInstance = (ComponentDeclarationInstance)theEObject; + T result = caseComponentDeclarationInstance(componentDeclarationInstance); + if (result == null) result = caseDeclarationInstance(componentDeclarationInstance); + if (result == null) result = caseBlockInstance(componentDeclarationInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.PROCESS_DECLARATION_INSTANCE: { + ProcessDeclarationInstance processDeclarationInstance = (ProcessDeclarationInstance)theEObject; + T result = caseProcessDeclarationInstance(processDeclarationInstance); + if (result == null) result = caseDeclarationInstance(processDeclarationInstance); + if (result == null) result = caseBlockInstance(processDeclarationInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.INSTANCE_STATEMENT_BLOCK: { + InstanceStatementBlock instanceStatementBlock = (InstanceStatementBlock)theEObject; + T result = caseInstanceStatementBlock(instanceStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.INSTANCE_EXECUTED_STATEMENT_BLOCK: { + InstanceExecutedStatementBlock instanceExecutedStatementBlock = (InstanceExecutedStatementBlock)theEObject; + T result = caseInstanceExecutedStatementBlock(instanceExecutedStatementBlock); + if (result == null) result = caseInstanceStatementBlock(instanceExecutedStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.INSTANCE_EXECUTABLE_STATEMENT_BLOCK: { + InstanceExecutableStatementBlock instanceExecutableStatementBlock = (InstanceExecutableStatementBlock)theEObject; + T result = caseInstanceExecutableStatementBlock(instanceExecutableStatementBlock); + if (result == null) result = caseInstanceStatementBlock(instanceExecutableStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.INSTANCE_FIREABLE_STATEMENT_BLOCK: { + InstanceFireableStatementBlock instanceFireableStatementBlock = (InstanceFireableStatementBlock)theEObject; + T result = caseInstanceFireableStatementBlock(instanceFireableStatementBlock); + if (result == null) result = caseInstanceExecutableStatementBlock(instanceFireableStatementBlock); + if (result == null) result = caseInstanceStatementBlock(instanceFireableStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.INSTANCE_ENABLED_STATEMENT_BLOCK: { + InstanceEnabledStatementBlock instanceEnabledStatementBlock = (InstanceEnabledStatementBlock)theEObject; + T result = caseInstanceEnabledStatementBlock(instanceEnabledStatementBlock); + if (result == null) result = caseInstanceExecutableStatementBlock(instanceEnabledStatementBlock); + if (result == null) result = caseInstanceStatementBlock(instanceEnabledStatementBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacreinstancePackage.VARIABLE_DECLARATION_INSTANCE: { + VariableDeclarationInstance variableDeclarationInstance = (VariableDeclarationInstance)theEObject; + T result = caseVariableDeclarationInstance(variableDeclarationInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Model'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Model'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceModel(InstanceModel object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatementBlock(StatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Executed Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Executed Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExecutedStatementBlock(ExecutedStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Executable Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Executable Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExecutableStatementBlock(ExecutableStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Fireable Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Fireable Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFireableStatementBlock(FireableStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enabled Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Enabled Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnabledStatementBlock(EnabledStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Block Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Block Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBlockInstance(BlockInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Composition Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Composition Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCompositionInstance(CompositionInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Declaration Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Declaration Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDeclarationInstance(DeclarationInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Component Declaration Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Declaration Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentDeclarationInstance(ComponentDeclarationInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Process Declaration Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Process Declaration Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProcessDeclarationInstance(ProcessDeclarationInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceStatementBlock(InstanceStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Executed Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Executed Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceExecutedStatementBlock(InstanceExecutedStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Executable Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Executable Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceExecutableStatementBlock(InstanceExecutableStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Fireable Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Fireable Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceFireableStatementBlock(InstanceFireableStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Enabled Statement Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Enabled Statement Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceEnabledStatementBlock(InstanceEnabledStatementBlock object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable Declaration Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable Declaration Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariableDeclarationInstance(VariableDeclarationInstance object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //FiacreinstanceSwitch diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/BlockInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/BlockInstanceValidator.java new file mode 100644 index 0000000..c2a2870 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/BlockInstanceValidator.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import org.eclipse.emf.common.util.EList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface BlockInstanceValidator { + boolean validate(); + + boolean validateBlockInstances(EList value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ComponentDeclarationInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ComponentDeclarationInstanceValidator.java new file mode 100644 index 0000000..40a6e90 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ComponentDeclarationInstanceValidator.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ComponentDeclarationInstanceValidator { + boolean validate(); + + boolean validateComponent(ComponentDeclaration value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/CompositionInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/CompositionInstanceValidator.java new file mode 100644 index 0000000..3fa3b6f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/CompositionInstanceValidator.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.Composition; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface CompositionInstanceValidator { + boolean validate(); + + boolean validateComposition(Composition value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/DeclarationInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/DeclarationInstanceValidator.java new file mode 100644 index 0000000..fb6cbcc --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/DeclarationInstanceValidator.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; + +import org.eclipse.emf.common.util.EList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface DeclarationInstanceValidator { + boolean validate(); + + boolean validateVariableDeclarationInstances(EList value); + boolean validateName(String value); + boolean validateInstance(ComponentInstance value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/EnabledStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/EnabledStatementBlockValidator.java new file mode 100644 index 0000000..d88c14d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/EnabledStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface EnabledStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutableStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutableStatementBlockValidator.java new file mode 100644 index 0000000..c019848 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutableStatementBlockValidator.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExecutableStatementBlockValidator { + boolean validate(); + + boolean validateDate(String value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutedStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutedStatementBlockValidator.java new file mode 100644 index 0000000..34a948b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ExecutedStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ExecutedStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/FireableStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/FireableStatementBlockValidator.java new file mode 100644 index 0000000..cfd0a36 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/FireableStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface FireableStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceEnabledStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceEnabledStatementBlockValidator.java new file mode 100644 index 0000000..f3167d4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceEnabledStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceEnabledStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutableStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutableStatementBlockValidator.java new file mode 100644 index 0000000..1b16e35 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutableStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceExecutableStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutedStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutedStatementBlockValidator.java new file mode 100644 index 0000000..db56089 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceExecutedStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceExecutedStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceFireableStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceFireableStatementBlockValidator.java new file mode 100644 index 0000000..8a624f1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceFireableStatementBlockValidator.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceFireableStatementBlockValidator { + boolean validate(); + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceModelValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceModelValidator.java new file mode 100644 index 0000000..feb75d3 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceModelValidator.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.Model; + +import org.eclipse.emf.common.util.EList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceModelValidator { + boolean validate(); + + boolean validateName(String value); + boolean validateModel(Model value); + boolean validateInstance(DeclarationInstance value); + boolean validateStatementBlocks(EList value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceStatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceStatementBlockValidator.java new file mode 100644 index 0000000..49f8c3a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/InstanceStatementBlockValidator.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; + +import org.eclipse.emf.common.util.EList; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface InstanceStatementBlockValidator { + boolean validate(); + + boolean validateTransitionSource(TransitionSource value); + boolean validateStatements(EList value); + boolean validateName(String value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ProcessDeclarationInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ProcessDeclarationInstanceValidator.java new file mode 100644 index 0000000..e0c8e81 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/ProcessDeclarationInstanceValidator.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; + +import org.eclipse.emf.common.util.EList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface ProcessDeclarationInstanceValidator { + boolean validate(); + + boolean validateCurrentState(StateDeclaration value); + boolean validateProcess(ProcessDeclaration value); + boolean validateInstanceStatementBlocks(EList value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/StatementBlockValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/StatementBlockValidator.java new file mode 100644 index 0000000..c04f80f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/StatementBlockValidator.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import org.eclipse.emf.common.util.EList; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface StatementBlockValidator { + boolean validate(); + + boolean validateInstanceStatementBlocks(EList value); + boolean validateName(String value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/VariableDeclarationInstanceValidator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/VariableDeclarationInstanceValidator.java new file mode 100644 index 0000000..0890134 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/src/com/irtsaintexupery/fiacre/instance/fiacreinstance/validation/VariableDeclarationInstanceValidator.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * + * $Id$ + */ +package com.irtsaintexupery.fiacre.instance.fiacreinstance.validation; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +/** + * A sample validator interface for {@link com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance}. + * This doesn't really do anything, and it's not a real EMF artifact. + * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended. + * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + */ +public interface VariableDeclarationInstanceValidator { + boolean validate(); + + boolean validateVariableDeclaration(VariableDeclaration value); + boolean validateCurrentValue(Expression value); +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.instance/text/description.txt b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/text/description.txt new file mode 100644 index 0000000..4391da9 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.instance/text/description.txt @@ -0,0 +1,63 @@ +Model FiacreInstance + +This model description is not a real EMF artifact. It was generated by the +org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's +code generator can be extended. +This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false. + +Package fiacreinstance + + Class InstanceModel + Attribute name : EString + Reference model : Model<<1..1>> + Reference instance : DeclarationInstance<<1..1>> + Reference statementBlocks : StatementBlock<<0..*>> + + Class StatementBlock + Reference instanceStatementBlocks : InstanceStatementBlock<<1..*>> + Attribute name : EString + + Class ExecutedStatementBlock -> StatementBlock + + Class ExecutableStatementBlock -> StatementBlock + Attribute date : EString + + Class FireableStatementBlock -> ExecutableStatementBlock + + Class EnabledStatementBlock -> ExecutableStatementBlock + + Class BlockInstance + Reference blockInstances : BlockInstance<<0..*>> + + Class CompositionInstance -> BlockInstance + Reference composition : Composition + + Class DeclarationInstance -> BlockInstance + Reference variableDeclarationInstances : VariableDeclarationInstance<<0..*>> + Attribute name : EString<<1..1>> + Reference instance : ComponentInstance + + Class ComponentDeclarationInstance -> DeclarationInstance + Reference component : ComponentDeclaration<<1..1>> + + Class ProcessDeclarationInstance -> DeclarationInstance + Reference currentState : StateDeclaration + Reference process : ProcessDeclaration<<1..1>> + Reference instanceStatementBlocks : InstanceStatementBlock<<0..*>> + + Class InstanceStatementBlock + Reference transitionSource : TransitionSource<<1..1>> + Reference statements : Statement<<0..*>> + Attribute name : EString + + Class InstanceExecutedStatementBlock -> InstanceStatementBlock + + Class InstanceExecutableStatementBlock -> InstanceStatementBlock + + Class InstanceFireableStatementBlock -> InstanceExecutableStatementBlock + + Class InstanceEnabledStatementBlock -> InstanceExecutableStatementBlock + + Class VariableDeclarationInstance + Reference variableDeclaration : VariableDeclaration<<1..1>> + Reference currentValue : Expression diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.classpath b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.classpath new file mode 100644 index 0000000..428337e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.project b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.project new file mode 100644 index 0000000..b6224fa --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.project @@ -0,0 +1,34 @@ + + + com.irtsaintexupery.fiacre.simulator.msc.generator + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/META-INF/MANIFEST.MF new file mode 100644 index 0000000..d7a1f27 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Generator +Bundle-SymbolicName: com.irtsaintexupery.fiacre.simulator.msc.generator;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: com.irtsaintexupery.fiacre.simulator.msc.generator.Activator +Bundle-Vendor: IRTSAINTEXUPERY +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.emf.ecore, + com.irtsaintexupey.fiacre.simulator.msc, + com.google.guava, + org.eclipse.xtext.xbase.lib, + org.eclipse.xtend.lib, + org.eclipse.xtend.lib.macro +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-ActivationPolicy: lazy + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/build.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/build.properties new file mode 100644 index 0000000..2b0d95b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + META-INF/,\ + . diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/plugin.xml b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/plugin.xml new file mode 100644 index 0000000..9cac8a1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/plugin.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/Activator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/Activator.java new file mode 100644 index 0000000..1b4d538 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/Activator.java @@ -0,0 +1,63 @@ +package com.irtsaintexupery.fiacre.simulator.msc.generator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "com.irtsaintexupery.fiacre.simulator.msc.generator"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + public static String MSCGEN_PATH = ""; + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + MSCGEN_PATH = getPreferenceStore().getString("mscgen"); + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/WorkbenchPreferencePage.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/WorkbenchPreferencePage.java new file mode 100644 index 0000000..8bf1b29 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/WorkbenchPreferencePage.java @@ -0,0 +1,24 @@ +package com.irtsaintexupery.fiacre.simulator.msc.generator; + +import org.eclipse.jface.preference.DirectoryFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.FileFieldEditor; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + + +public class WorkbenchPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{ + + @Override + protected void createFieldEditors() { + // TODO Auto-generated method stub + addField(new FileFieldEditor("mscgen", "MSC generator", getFieldEditorParent())); + } + + @Override + public void init(IWorkbench workbench) { + // TODO Auto-generated method stub + setPreferenceStore(Activator.getDefault().getPreferenceStore()); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/GenerateMSC.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/GenerateMSC.java new file mode 100644 index 0000000..046dede --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/GenerateMSC.java @@ -0,0 +1,105 @@ +package com.irtsaintexupery.fiacre.simulator.msc.generator.popup.actions; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IObjectActionDelegate; +import org.eclipse.ui.IWorkbenchPart; + +import com.irtsaintexupery.fiacre.simulator.msc.generator.Activator; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC; + + +public class GenerateMSC implements IObjectActionDelegate { + + private Shell shell; + private ISelection selection; + /** + * Constructor for Action1. + */ + public GenerateMSC() { + super(); + } + + /** + * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) + */ + public void setActivePart(IAction action, IWorkbenchPart targetPart) { + shell = targetPart.getSite().getShell(); + } + + /** + * @see IActionDelegate#run(IAction) + */ + public void run(IAction action) { + // CrĂ©er un objet resourceSetImpl qui contiendra une ressource EMF (notre modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI(getFile().getLocationURI().toString()); + Resource resource = resSet.getResource(modelURI, true); + + // RĂ©cupĂ©rer le premier Ă©lĂ©ment du modèle (Ă©lĂ©ment racine) + MSC msc = (MSC) resource.getContents().get(0); + //System.out.println("process"+ msc); + MSCGenerator mscgen= new MSCGenerator(msc); + + try{ + PrintWriter writer = new PrintWriter(getFile().getLocation().toString()+".msc", "UTF-8"); + writer.println(mscgen.generate()); + writer.close(); + } catch (IOException e) { + // do something + } + GeneratePng(getFile()); + try { + getFile().getParent().refreshLocal(1, null); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + // added getFile() method + private IFile getFile() { + return (IFile) ((IStructuredSelection) selection).getFirstElement(); + } + + /** + * @see IActionDelegate#selectionChanged(IAction, ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + // Don't forget this line. + // It is the most important line. + this.selection = selection; + } + protected static void GeneratePng(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder(Activator.MSCGEN_PATH,"-T", "png", "-o", file.getLocation().toString()+".png", + file.getLocation().toString()+".msc"); + + + pb_make.directory(new File(file.getParent().getLocation().toString())); + Process p = pb_make.start(); + p.waitFor(); + //System.out.println("Generate MSC chronogram"); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } +} + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/MSCGenerator.xtend b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/MSCGenerator.xtend new file mode 100644 index 0000000..7d8b76b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/src/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/MSCGenerator.xtend @@ -0,0 +1,69 @@ +package com.irtsaintexupery.fiacre.simulator.msc.generator.popup.actions + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep +import com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep + +class MSCGenerator { + var MSC msc + + new(MSC _msc) { + msc = _msc + } + + def String generate() { + var String generated + generated = "msc{" + "\n\n\t" + generated += "# The entities " + "\n" + "\t" + + for (site : msc.sites) { + if(msc.sites.last != site) { + generated += site.name + ", " + } else { + generated += site.name + ";\n\t" + } + } + generated += "# The relations " + "\n" + "\t" + generated += "|||;\n" + + for (step : msc.steps) { + for (micro : step.microSteps) { + if(step.microSteps.last != micro) { + generated += generate(micro) + ", " + } else { + generated += generate(micro) + ";\n\t" + } + } + generated += "|||;\n" + } + generated += "\n}" + generated + } + def generate(MicroStep micro) { + if(micro instanceof EnterStateStep) + generate(micro as EnterStateStep) + else if(micro instanceof SynchronisationStep) + generate(micro as SynchronisationStep) + else + generate(micro as SendStep) + } + + def String generate(EnterStateStep esst) { + esst.site.name+" box "+ esst.site.name +"[label=\"" +esst.stateName+"\"]" + } + + def String generate(SynchronisationStep sst) { + if(sst.sites.size ==1){ + sst.sites.get(0).name+" abox "+ sst.sites.get(0).name +"[label=\"sync\"]" + } + else{ + sst.sites.get(0).name +" :: "+sst.sites.get(1).name + } + } + + def String generate(SendStep sst) { + sst.senderSites.get(0).name+ " => "+ sst.receiverSites.get(0).name + } +} \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/xtend-gen/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/xtend-gen/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/.gitignore new file mode 100644 index 0000000..56ed658 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator.msc.generator/xtend-gen/com/irtsaintexupery/fiacre/simulator/msc/generator/popup/actions/.gitignore @@ -0,0 +1,3 @@ +/.MSCGenerator.java._trace +/.MSCGenerator.xtendbin +/MSCGenerator.java diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.classpath b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.classpath new file mode 100644 index 0000000..a9c66c2 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.classpath @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.project b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.project new file mode 100644 index 0000000..730f4ac --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/.project @@ -0,0 +1,34 @@ + + + com.irtsaintexupery.fiacre.simulator + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.xtext.ui.shared.xtextNature + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/META-INF/MANIFEST.MF new file mode 100644 index 0000000..afca005 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/META-INF/MANIFEST.MF @@ -0,0 +1,47 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Simulator +Bundle-SymbolicName: com.irtsaintexupery.fiacre.simulator;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: com.irtsaintexupery.fiacre.simulator.Activator +Bundle-Vendor: IRT +Bundle-ActivationPolicy: lazy +Require-Bundle: com.irtsaintexupery.fiacre.instance, + org.eclipse.xtend.lib, + fr.irit.fiacre.xtext.ui, + org.eclipse.xtext.ui, + org.eclipse.jface, + org.eclipse.ui.workbench, + org.eclipse.swt, + org.eclipse.emf.edit, + org.eclipse.emf.ecore, + fr.irit.fiacre.xtext, + org.eclipse.core.resources, + fr.laas.libtts;bundle-version="1.0.0", + org.eclipse.emf.common, + org.eclipse.equinox.registry, + org.eclipse.core.jobs, + org.eclipse.jdt.core, + org.eclipse.ui.workbench.texteditor, + org.eclipse.xtext, + com.irtsaintexupey.fiacre.simulator.msc;bundle-version="1.0.0", + com.irtsaintexupey.fiacre.simulator.msc.edit;bundle-version="1.0.0", + com.irtsaintexupey.fiacre.simulator.msc.editor;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-ClassPath: lib/libthrift-0.9.2-javadoc.jar, + lib/libthrift-0.9.2.jar, + ., + lib/httpclient-4.2.5.jar, + lib/httpcore-4.2.4.jar, + lib/json-simple-1.1.jar, + com.irtsaintexupery.fiacre.simulator.perspective, + com.irtsaintexupery.fiacre.simulator.perspective.model, + com.irtsaintexupery.fiacre.simulator.perspective.views +Export-Package: com.irtsaintexupery.fiacre.simulator.core, + com.irtsaintexupery.fiacre.simulator.marking, + com.irtsaintexupery.fiacre.simulator.perspective, + com.irtsaintexupery.fiacre.simulator.perspective.model, + com.irtsaintexupery.fiacre.simulator.perspective.views, + com.irtsaintexupery.fiacre.simulator.staticjson.extractor, + org.apache.thrift + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/build.properties b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/build.properties new file mode 100644 index 0000000..07d1fab --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/build.properties @@ -0,0 +1,21 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +# Jorge Enrique Gutierrez Zuluaga +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + META-INF/,\ + .,\ + lib/libthrift-0.9.2-javadoc.jar,\ + lib/libthrift-0.9.2.jar,\ + lib/httpclient-4.2.5.jar,\ + lib/httpcore-4.2.4.jar,\ + lib/json-simple-1.1.jar diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/fiacre_platform_lingequip_xtext_2.10.target b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/fiacre_platform_lingequip_xtext_2.10.target new file mode 100644 index 0000000..f78b66d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/fiacre_platform_lingequip_xtext_2.10.target @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + +fr_FR + + +-Xms256m -Xmx2048m + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/@eaDir/Thumbs.db@SynoEAStream b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/@eaDir/Thumbs.db@SynoEAStream new file mode 100644 index 0000000..b84c78f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/@eaDir/Thumbs.db@SynoEAStream differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/Thumbs.db b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/Thumbs.db new file mode 100644 index 0000000..ab88efa Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/Thumbs.db differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/arrow_right.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/arrow_right.png new file mode 100644 index 0000000..b1a1819 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/arrow_right.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bomb.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bomb.png new file mode 100644 index 0000000..1be3797 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bomb.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick.png new file mode 100644 index 0000000..7851cf3 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_add.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_add.png new file mode 100644 index 0000000..fac186b Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_add.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_delete.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_delete.png new file mode 100644 index 0000000..3a8c373 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_delete.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_go.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_go.png new file mode 100644 index 0000000..fe0d335 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/brick_go.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bricks.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bricks.png new file mode 100644 index 0000000..0905f93 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bricks.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_disk.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_disk.png new file mode 100644 index 0000000..209c6a7 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_disk.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_pink.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_pink.png new file mode 100644 index 0000000..0c9f73e Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/bullet_pink.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/database_table.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/database_table.png new file mode 100644 index 0000000..693709c Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/database_table.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/lightning.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/lightning.png new file mode 100644 index 0000000..9680afd Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/lightning.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/stop.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/stop.png new file mode 100644 index 0000000..0cfd585 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/stop.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/table_multiple.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/table_multiple.png new file mode 100644 index 0000000..d76448e Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/table_multiple.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/tick.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/tick.png new file mode 100644 index 0000000..a9925a0 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/tick.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/time_add.png b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/time_add.png new file mode 100644 index 0000000..dcc45cb Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/icons/time_add.png differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpclient-4.2.5.jar b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpclient-4.2.5.jar new file mode 100644 index 0000000..84fece4 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpclient-4.2.5.jar differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpcore-4.2.4.jar b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpcore-4.2.4.jar new file mode 100644 index 0000000..9f45bd9 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/httpcore-4.2.4.jar differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/json-simple-1.1.jar b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/json-simple-1.1.jar new file mode 100644 index 0000000..f395f41 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/json-simple-1.1.jar differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2-javadoc.jar b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2-javadoc.jar new file mode 100644 index 0000000..9011c65 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2-javadoc.jar differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2.jar b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2.jar new file mode 100644 index 0000000..a06e276 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/lib/libthrift-0.9.2.jar differ diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/plugin.xml b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/plugin.xml new file mode 100644 index 0000000..86e6831 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/plugin.xml @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/Activator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/Activator.java new file mode 100644 index 0000000..d974881 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/Activator.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +import com.irtsaintexupery.fiacre.simulator.core.FiacreSimulator; +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; + +import fr.laas.libtts.LibTTS; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "com.irtsaintexupery.fiacre.simulator"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + LibTTS libtts = FiacreSimulator.getLibTTS(); + if (libtts != null) { + ViewsController.INSTANCE.deleteMarkers(); + //ViewsController.INSTANCE.clearAllViews();//////////////////////////// + libtts.quit(); + FiacreSimulator.setLibtts(null); + System.out.println("quit simulator"); + } + super.stop(context); + + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/DelayEvent.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/DelayEvent.java new file mode 100644 index 0000000..c492687 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/DelayEvent.java @@ -0,0 +1,76 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import org.apache.thrift.TException; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.window.Window; +import org.eclipse.ui.handlers.HandlerUtil; + +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.DynamicJsonExtractor; + +import fr.laas.libtts.LibTTS; +import tts.Error; +import tts.InvalidDelay; +import tts.StateNotFound; + +public class DelayEvent extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + ReadDelay dialog = new ReadDelay(HandlerUtil.getActiveShell(event)); + dialog.create(); + if (dialog.open() == Window.OK) { + dialog.getValue(); + LibTTS libtts = FiacreSimulator.getLibTTS(); + DynamicJsonExtractor dje = FiacreSimulator.sendDje(); + try { + libtts.getTTSSimulator().delay(dialog.getValue()); + dje.extractExecutableStatements(); + dje.saveInstanceResource(); + + + //Jorge Gutierrez 03/08/2016 + ViewsController.INSTANCE.updateTransitionView(); + ViewsController.INSTANCE.addDelayToAction(dialog.getValue()); + ViewsController.INSTANCE.updateExecutedActionView(); + + + } catch (Error e) { + // TODO Auto-generated catch block + Utils.showException("Error",e); + //e.printStackTrace(); + } catch (StateNotFound e) { + // TODO Auto-generated catch block + Utils.showException("StateNotFound",e); + //e.printStackTrace(); + } catch (InvalidDelay e) { + // TODO Auto-generated catch block + Utils.showException("InvalidDelay",e); + //e.printStackTrace(); + } catch (TException e) { + // TODO Auto-generated catch block + Utils.showException("TException",e); + //e.printStackTrace(); + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + Utils.showException("NumberFormatException: "+dialog.getValue()+" is not numeric value",e); + //e.printStackTrace(); + } + } + return null; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FiacreSimulator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FiacreSimulator.java new file mode 100644 index 0000000..2046244 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FiacreSimulator.java @@ -0,0 +1,316 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import java.lang.reflect.InvocationTargetException; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.PlatformUI; +import org.eclipse.xtext.resource.XtextResource; +import org.json.simple.JSONObject; + +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.DynamicJsonExtractor; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.StaticJsonExtractor; + +import fr.laas.libtts.LibTTS; + +public class FiacreSimulator { + private static LibTTS libtts; + private static XtextResource fiacreResource; + private static JSONObject fiacreStaticJson; + private static Resource instanceResource; + private static Resource mscResource; + private static StaticJsonExtractor sje; + private static DynamicJsonExtractor dje; + + + + public FiacreSimulator(final IFile file){ +// /* +// * If a current libtts exists and the user forgets to kill it, we kill +// * it automatically +// */ +// +// +// if (libtts != null) { +// ViewsController.INSTANCE.clearAllViews(); +// ViewsController.INSTANCE.deleteMarkers(); +// libtts.quit(); +// FiacreSimulator.setLibtts(null); +// } +// +// // Compile Fiacre model +// Utils.compileFiacreModel(file); +// Utils.callPythonCommand(file); +// +// // initialize libtts +// libtts = new LibTTS(Utils.getTTSFilePath(file)); +// /* +// * This condition allows to catch whether an exception was thrown during instantiating +// * LibTTS. We can't do a try catch block because libTTS is a static field. +// */ +// if (libtts.getTTSSimulator() != null) { +// // Get the static json file +// String static_json_file_path = Utils.getStaticJsonFilePath(file); +// fiacreStaticJson = Utils.getStaticJsonObject(static_json_file_path); +// +// // get the fiacre xtext resource +// fiacreResource = Utils.getFiacreXtextResource(file); +// +// // create fiacre instance model +// setInstanceResource(Utils.createInstanceModel(file)); +// sje = new StaticJsonExtractor(fiacreResource, fiacreStaticJson, instanceResource); +// sje.extract(); +// dje = new DynamicJsonExtractor(fiacreResource, instanceResource, libtts.getTTSSimulator(), fiacreStaticJson, sje.getMapping()); +// simulate(); +// } +// else{ +// // It set LibTTS to null in order to check the first condition in this constructor +// // in the next simulation. +// // We do it here because we can't do it in the LibTTS initialize_tts_model method +// FiacreSimulator.setLibtts(null); +// } +// +// //Jorge Gutierrez 05/08/2016 +// ViewsController.INSTANCE.setFile(file); + + + //Progress bar + Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() + .getActivePage().getActivePart().getSite().getShell(); + IRunnableWithProgress runnable = new IRunnableWithProgress() + { + + @Override + public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException + { + monitor.beginTask("Loading", 6); + monitor.subTask("part 1"); + monitor.worked( 2 ); + part1(file); + + monitor.subTask("part 2"); + monitor.worked( 2 ); + part2(file); + + monitor.subTask("part 3"); + monitor.worked( 1 ); + part3(file); + + + monitor.subTask("finished"); + monitor.worked( 1 ); + + + monitor.done(); + } + }; + + + ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); + try + { + dialog.run(true, true, runnable); + } + catch (InvocationTargetException e) + { + e.printStackTrace(); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } + + + + + } + + private static void part1(final IFile file){ + Display.getDefault().asyncExec(new Runnable() + { + @Override + public void run() + { + /* + * If a current libtts exists and the user forgets to kill it, we kill + * it automatically + */ + if (libtts != null) { + ViewsController.INSTANCE.deleteMarkers(); + ViewsController.INSTANCE.clearAllViews(); + libtts.quit(); + FiacreSimulator.setLibtts(null); + } + + // Compile Fiacre model + Utils.compileFiacreModel(file); + Utils.callPythonCommand(file); + + + } + }); + } + + private static void part2(final IFile file){ + Display.getDefault().asyncExec(new Runnable() + { + @Override + public void run() + { + // initialize libtts + libtts = new LibTTS(Utils.getTTSFilePath(file)); + + } + }); + } + + private static void part3(final IFile file){ + Display.getDefault().asyncExec(new Runnable() + { + @Override + public void run() + { + /* + * This condition allows to catch whether an exception was thrown during instantiating + * LibTTS. We can't do a try catch block because libTTS is a static field. + */ + if (libtts.getTTSSimulator() != null) { + // Get the static json file + String static_json_file_path = Utils.getStaticJsonFilePath(file); + fiacreStaticJson = Utils.getStaticJsonObject(static_json_file_path); + + // get the fiacre xtext resource + fiacreResource = Utils.getFiacreXtextResource(file); + + // create fiacre instance model + setInstanceResource(Utils.createInstanceModel(file)); + mscResource= Utils.createMSCModel(file); + + sje = new StaticJsonExtractor(fiacreResource, fiacreStaticJson, instanceResource, mscResource); + sje.extract(); + dje = new DynamicJsonExtractor(fiacreResource, instanceResource, libtts.getTTSSimulator(), fiacreStaticJson, sje.getMapping(), mscResource); + ViewsController.INSTANCE.setFile(file); + simulate(file); + } + else{ + // It set LibTTS to null in order to check the first condition in this constructor + // in the next simulation. + // We do it here because we can't do it in the LibTTS initialize_tts_model method + FiacreSimulator.setLibtts(null); + } + } + }); + } + + public static LibTTS getLibTTS() { + return libtts; + } + + public static DynamicJsonExtractor sendDje() { + return dje; + } + + public static void simulate(IFile file) { + // try { + + dje.extractStates(); + dje.extractExecutableStatements(); + + dje.extractValues(); + dje.saveInstanceResource(); + + try { + file.getParent().refreshLocal(1, null); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + //msc + dje.mscFirstStepExtract(); + //launch perspective + ViewsController.INSTANCE.openPespective(); + + //libtts.getTTSSimulator().printCurrent(); + } + + public LibTTS getLibtts() { + return libtts; + } + + public static void setLibtts(LibTTS _libtts) { + libtts = _libtts; + } + + public XtextResource getXtextResource() { + return fiacreResource; + } + + public void setXtextResource(XtextResource xtextResource) { + FiacreSimulator.fiacreResource = xtextResource; + } + + public JSONObject getStatic_json() { + return fiacreStaticJson; + } + + public void setStatic_json(JSONObject static_json) { + FiacreSimulator.fiacreStaticJson = static_json; + } + + public Resource getInstanceResource() { + return instanceResource; + } + + public static void setInstanceResource(Resource instanceResource) { + FiacreSimulator.instanceResource = instanceResource; + } + + static public EditingDomain getEditingDomainFor(EObject object) { + Resource resource = object.eResource(); + if (resource != null) { + IEditingDomainProvider editingDomainProvider = + + (IEditingDomainProvider) EcoreUtil.getExistingAdapter(resource, IEditingDomainProvider.class); + if (editingDomainProvider != null) { + return editingDomainProvider.getEditingDomain(); + } else { + ResourceSet resourceSet = resource.getResourceSet(); + if (resourceSet instanceof IEditingDomainProvider) { + EditingDomain editingDomain = ((IEditingDomainProvider) resourceSet).getEditingDomain(); + return editingDomain; + } else if (resourceSet != null) { + editingDomainProvider = (IEditingDomainProvider) EcoreUtil.getExistingAdapter(resourceSet, + IEditingDomainProvider.class); + if (editingDomainProvider != null) { + return editingDomainProvider.getEditingDomain(); + } + } + } + } + // todO + return null; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FireEvent.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FireEvent.java new file mode 100644 index 0000000..37eeaa9 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/FireEvent.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import java.util.Map; + +import org.apache.thrift.TException; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.ui.handlers.HandlerUtil; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.DynamicJsonExtractor; + +import fr.laas.libtts.LibTTS; +import tts.Error; +import tts.NotFireable; +import tts.StateNotFound; +import tts.Transition; +import tts.TransitionNotFound; + +public class FireEvent extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getSelection(); + if (selection != null & selection instanceof IStructuredSelection) { + + try { + IStructuredSelection strucSelection = (IStructuredSelection) selection; + String tr_name = ((FireableStatementBlock) strucSelection.toList().get(0)).getName(); + LibTTS libtts = FiacreSimulator.getLibTTS(); + DynamicJsonExtractor dje = FiacreSimulator.sendDje(); + long tr_long = -1; + for (Map.Entry tr : libtts.getTTSSimulator().getAllTransitions().entrySet()) { + if (tr.getValue().getName().equals(tr_name)) { + tr_long = tr.getKey(); + } + } + libtts.getTTSSimulator().fireTransition(tr_long); + dje.extractExecutedStatements(libtts.getTTSSimulator().getAllTransitions().get(tr_long).name); + dje.extractStates(); + dje.extractExecutableStatements(); + dje.extractValues(); + dje.saveInstanceResource(); + } catch (Error e) { + Utils.showException("Error", e); + // e.printStackTrace(); + } catch (StateNotFound e) { + Utils.showException("StateNotFound", e); + // e.printStackTrace(); + } catch (TransitionNotFound e) { + Utils.showException("TransitionNotFound", e); + // e.printStackTrace(); + } catch (NotFireable e) { + Utils.showException("NotFireable", e); + // e.printStackTrace(); + } catch (TException e) { + Utils.showException("TException", e); + // e.printStackTrace(); + } catch (NullPointerException e) { + Utils.showException("NullPointerException", e); + // e.printStackTrace(); + } + + } + return null; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/QuitSimulator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/QuitSimulator.java new file mode 100644 index 0000000..14e7041 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/QuitSimulator.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +import com.irtsaintexupery.fiacre.simulator.marking.MarkingController; +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; + +import fr.laas.libtts.LibTTS; + +public class QuitSimulator extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + + LibTTS libtts = FiacreSimulator.getLibTTS(); + if (libtts != null) { + //resets Marking on current file + ViewsController.INSTANCE.deleteMarkers(); + libtts.quit(); + FiacreSimulator.setLibtts(null); + //clean all content in each view + ViewsController.INSTANCE.clearAllViews(); + System.out.println("quit simulator"); + MarkingController.file = null; + } + + return null; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/ReadDelay.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/ReadDelay.java new file mode 100644 index 0000000..96a834c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/ReadDelay.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.dialogs.TitleAreaDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; + +public class ReadDelay extends TitleAreaDialog { + + private Text textValue; + + private String value; + + private Shell shell; + + public ReadDelay(Shell parentShell) { + super(parentShell); + shell = parentShell; + } + + @Override + public void create() { + super.create(); + setTitle("Delaying Fiacre model"); + final ReadDelay read_delay = this; + setMessage("This is a TitleAreaDialog", IMessageProvider.INFORMATION); + this.getButton(OK).setEnabled(false); + + textValue.addListener(SWT.Modify, new Listener() { + public void handleEvent(Event event) { + try { + value = textValue.getText(); + read_delay.getButton(OK).setEnabled(true); + } catch (Exception e) { + read_delay.getButton(OK).setEnabled(false); + } + } + }); + + shell.addListener(SWT.Traverse, new Listener() { + public void handleEvent(Event event) { + if (event.detail == SWT.TRAVERSE_ESCAPE) + event.doit = false; + } + }); + + } + + @Override + protected Control createDialogArea(Composite parent) { + Composite area = (Composite) super.createDialogArea(parent); + Composite container = new Composite(area, SWT.NONE); + container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + GridLayout layout = new GridLayout(2, false); + container.setLayout(layout); + + createTextValue(container); + + + return area; + } + + private void createTextValue(Composite container) { + Label lbtTextValue = new Label(container, SWT.NONE); + lbtTextValue.setText("enter delay"); + + GridData dataTextValue = new GridData(); + dataTextValue.grabExcessHorizontalSpace = true; + dataTextValue.horizontalAlignment = GridData.FILL; + + textValue = new Text(container, SWT.BORDER); + textValue.setLayoutData(dataTextValue); + } + + @Override + protected boolean isResizable() { + return true; + } + + // save content of the Text fields because they get disposed + // as soon as the Dialog closes + private void saveInput() { + value = textValue.getText(); + } + + @Override + protected void okPressed() { + saveInput(); + super.okPressed(); + } + + public String getValue() { + return value; + } + +} \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/Utils.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/Utils.java new file mode 100644 index 0000000..8fbbd1c --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/core/Utils.java @@ -0,0 +1,455 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.core; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +import org.eclipse.emf.common.CommonPlugin; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.ui.resource.XtextResourceSetProvider; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; + +import com.google.inject.Injector; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstanceFactory; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FiacreinstancePackage; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; +import com.irtsaintexupery.fiacre.simulator.Activator; +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep; + +import fr.irit.fiacre.xtext.fiacre.ArrayExpression; +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression; +import fr.irit.fiacre.xtext.fiacre.FalseLiteral; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral; +import fr.irit.fiacre.xtext.fiacre.QueueExpression; +import fr.irit.fiacre.xtext.fiacre.RecordExpression; +import fr.irit.fiacre.xtext.fiacre.TrueLiteral; +import fr.irit.fiacre.xtext.ui.internal.XtextActivator; +import fr.laas.libtts.Tools; + +public class Utils { + + private static FiacreinstanceFactory fiacre_instance_factory; + private static MscFactory fiacre_msc_factory; + private static FiacreFactory fiacre_factory = FiacreFactory.eINSTANCE; + //private static String FRAC_PATH = "/home/faiez.zalila/.local/bin/frac-2.5.0/"; + + public static VariableDeclarationInstance createVariableDeclarationInstance() { + return fiacre_instance_factory.createVariableDeclarationInstance(); + } + + public static TrueLiteral createTrueLiteral() { + return fiacre_factory.createTrueLiteral(); + } + + public static FalseLiteral createFalseLiteral() { + return fiacre_factory.createFalseLiteral(); + } + + public static NaturalLiteral createNaturalLiteral() { + return fiacre_factory.createNaturalLiteral(); + } + + public static IdentifierExpression createIdentifierExpression() { + return fiacre_factory.createIdentifierExpression(); + } + + public static ComponentDeclarationInstance createComponentDeclarationInstance() { + return fiacre_instance_factory.createComponentDeclarationInstance(); + } + public static CompositionInstance createCompositionInstance() { + return fiacre_instance_factory.createCompositionInstance(); + } + + public static ProcessDeclarationInstance createProcessDeclarationInstance() { + return fiacre_instance_factory.createProcessDeclarationInstance(); + } + + public static InstanceExecutedStatementBlock createInstanceExecutedStatementBlock() { + return fiacre_instance_factory.createInstanceExecutedStatementBlock(); + } + + public static InstanceFireableStatementBlock createInstanceFireableStatementBlock() { + return fiacre_instance_factory.createInstanceFireableStatementBlock(); + } + + public static InstanceEnabledStatementBlock createInstanceEnabledStatementBlock() { + return fiacre_instance_factory.createInstanceEnabledStatementBlock(); + } + + public static ExecutedStatementBlock createExecutedStatementBlock() { + return fiacre_instance_factory.createExecutedStatementBlock(); + } + + public static FireableStatementBlock createFireableStatementBlock() { + return fiacre_instance_factory.createFireableStatementBlock(); + } + + public static EnabledStatementBlock createEnabledStatementBlock() { + return fiacre_instance_factory.createEnabledStatementBlock(); + } + + + public static Site createSite() { + return fiacre_msc_factory.createSite(); + } + public static Step createStep() { + return fiacre_msc_factory.createStep(); + } + public static SynchronisationStep createSynchronisationStep() { + return fiacre_msc_factory.createSynchronisationStep(); + } + public static SendStep createSendStep() { + return fiacre_msc_factory.createSendStep(); + } + public static EnterStateStep createEnterStateStep() { + return fiacre_msc_factory.createEnterStateStep(); + } + protected static Resource createInstanceModel(IFile file) { + // Initialize the model + FiacreinstancePackage.eINSTANCE.eClass(); + + // Retrieve the default factory singleton + fiacre_instance_factory = FiacreinstanceFactory.eINSTANCE; + // create the content of the model via this program + InstanceModel instanceModel = fiacre_instance_factory.createInstanceModel(); + + // As of here we preparing to save the model content + + // Register the XMI resource factory for the .website extension + + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("fiacreinstance", new XMIResourceFactoryImpl()); + + // Obtain a new resource set + ResourceSet resSet = new ResourceSetImpl(); + // create a resource + Resource resource = resSet.createResource(URI.createFileURI(getInstanceFilePath(file))); + // Get the first model element and cast it to the right type, in my + // example everything is hierarchical included in this first node + resource.getContents().add(instanceModel); + + // now save the content. + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return resource; + } + + protected static Resource createMSCModel(IFile file) { + // Initialize the model + MscPackage.eINSTANCE.eClass(); + + // Retrieve the default factory singleton + fiacre_msc_factory = MscFactory.eINSTANCE; + // create the content of the model via this program + MSC mscModel = fiacre_msc_factory.createMSC(); + + // As of here we preparing to save the model content + + // Register the XMI resource factory for the .website extension + + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("mscmodel", new XMIResourceFactoryImpl()); + + // Obtain a new resource set + ResourceSet resSet = new ResourceSetImpl(); + // create a resource + Resource resource = resSet.createResource(URI.createFileURI(getMscFilePath(file))); + // Get the first model element and cast it to the right type, in my + // example everything is hierarchical included in this first node + resource.getContents().add(mscModel); + + // now save the content. + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return resource; + } + protected static String nameWithoutExtension(IFile file) { + String fileName = file.getName(); + int pos = fileName.lastIndexOf("."); + if (pos > 0) { + fileName = fileName.substring(0, pos); + } + return fileName; + } + + protected static String getTTSFilePath(IFile file) { + return file.getParent().getLocation() + "/" + nameWithoutExtension(file) + ".tts"; + } + + protected static String getInstanceFilePath(IFile file) { + return file.getParent().getLocation() + "/" + nameWithoutExtension(file) + ".fiacreinstance"; + } + protected static String getMscFilePath(IFile file) { + return file.getParent().getLocation() + "/" + nameWithoutExtension(file) + ".mscmodel"; + } + + protected static void callFracCommand(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder(Tools.FRAC_PATH+"frac","-g", "-j", file.getLocation().toString(), + getTTSFilePath(file)); + pb_make.directory(new File(file.getParent().getLocation().toString())); + Process p = pb_make.start(); + p.waitFor(); + System.out.println("Compiling Fiacre model ..."); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + protected static void callFrac_G_Command(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder(Tools.FRAC_PATH+"frac", "-G", file.getLocation().toString(), + getTTSFilePath(file)+"/"+file.getName()+".fcriG"); + pb_make.directory(new File(file.getParent().getLocation().toString())); + Process p = pb_make.start(); + p.waitFor(); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + protected static void callFrac_g_G_Command(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder(Tools.FRAC_PATH+"frac","-g","-G", file.getLocation().toString(), + getTTSFilePath(file)+"/"+file.getName()+".fcrigG"); + pb_make.directory(new File(file.getParent().getLocation().toString())); + Process p = pb_make.start(); + p.waitFor(); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + protected static void callPythonCommand(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder("python", "-m", "json.tool", + nameWithoutExtension(file) + ".json", "f_" + nameWithoutExtension(file) + ".json"); + pb_make.directory(new File(getTTSFilePath(file))); + Process p = pb_make.start(); + p.waitFor(); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + protected static void callMakeCommand(IFile file) { + try { + ProcessBuilder pb_make = new ProcessBuilder("make", "-f", Tools.FRAC_PATH+"Makefile", + " NAME=" + nameWithoutExtension(file),"FRACLIB="+Tools.FRAC_PATH+"lib"); + pb_make.directory(new File(file.getParent().getLocation().toString())); + Process p = pb_make.start(); + p.waitFor(); + System.out.println("Compiled Fiacre model"); + } catch (IOException e) { + e.printStackTrace(); + + } catch (InterruptedException e1) { + e1.printStackTrace(); + } + } + + protected static JSONObject getStaticJsonObject(String static_json_file_path) { + JSONParser parser = new JSONParser(); + try { + FileReader fr = new FileReader(static_json_file_path); + Object obj = parser.parse(fr); + // The most important statement + // It is necessary to close the FileReader in order to + // unlock the file locked during its opening + fr.close(); + return (JSONObject) obj; + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + public static JSONObject getJsonObject(String string) { + JSONParser parser = new JSONParser(); + try { + Object obj = parser.parse(string); + return (JSONObject) obj; + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + protected static String getStaticJsonFilePath(IFile file) { + return getTTSFilePath(file) + "/" + nameWithoutExtension(file) + ".json"; + } + + protected static XtextResource getFiacreXtextResource(IFile file) { + Injector injector = XtextActivator.getInstance().getInjector("fr.irit.fiacre.xtext.Fiacre"); + XtextResourceSetProvider provider = injector.getInstance(XtextResourceSetProvider.class); + ResourceSet resourceSet = provider.get(file.getProject()); + + URI xtextURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true); + + return (XtextResource) resourceSet.getResource(xtextURI, true); + + } + + public static void saveResource(Resource resource) { + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + //Added + URI resolvedFile = CommonPlugin.resolve(resource.getURI()); + IResource dfile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(resolvedFile.toFileString())); + try { + dfile.refreshLocal(IResource.DEPTH_INFINITE, null); + } catch (CoreException e) { + e.printStackTrace(); + } + } + + protected static void compileFiacreModel(IFile file) { + try { + Tools.getProperties() ; + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + // Call Frac compiler + callFracCommand(file); + // Call make + callMakeCommand(file); + callFrac_g_G_Command(file); + callFrac_G_Command(file); + } + public static QueueExpression createQueueExpression() { + return fiacre_factory.createQueueExpression(); + } + + public static ArrayExpression createArrayExpression() { + return fiacre_factory.createArrayExpression(); + } + + public static RecordExpression createRecordExpression() { + return fiacre_factory.createRecordExpression(); + } + + public static FieldExpression createFieldExpression() { + return fiacre_factory.createFieldExpression(); + } + + public static ConstructionExpression createConstructionExpression() { + return fiacre_factory.createConstructionExpression(); + } + + public static void showException(String message, final Exception ex) { + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + ex.printStackTrace(pw); + // ex.printStackTrace(); + + final String trace = sw.toString(); // stack trace as a string + + // Temp holder of child statuses + List childStatuses = new ArrayList(); + + String error = null; + // Split output by OS-independend new-line + for (String line : trace.split(System.getProperty("line.separator"))) { + if (error == null) + error = line; + else + childStatuses.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, line)); + } + + MultiStatus multiStatus = new MultiStatus(Activator.PLUGIN_ID, IStatus.ERROR, + childStatuses.toArray(new Status[] {}), // convert to array of + // statuses + error, ex); + + ErrorDialog.openError(null, "Unexpected Error", message, multiStatus); + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFile.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFile.java new file mode 100644 index 0000000..c346a7d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFile.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import java.util.List; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.ui.IEditorActionDelegate; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PlatformUI; + +public class CountMarkersForFile implements IEditorActionDelegate { + + public CountMarkersForFile() { + super(); + } + + @Override + public void setActiveEditor(IAction action, IEditorPart editor) { + } + + /* + * I am using this method to find the markers that are directly related to the specified ifile. + * Then output the number of markers that are returned + * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) + */ + @Override + public void run(IAction action) { + IFile file = (IFile) PlatformUI.getWorkbench().getActiveWorkbenchWindow(). + getActivePage().getActiveEditor().getEditorInput(). + getAdapter(IFile.class); + List markers = MarkerFactory.findMarkers(file); + MessageDialog dialog = new MessageDialog(MarkerPluginActivator.getShell(), "Marker Count", null, markers.size() + " marker(s)", MessageDialog.INFORMATION, new String[] {"OK"}, 0); + dialog.open(); + + } + + @Override + public void selectionChanged(IAction action, ISelection selection) { + // TODO Auto-generated method stub + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFiles.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFiles.java new file mode 100644 index 0000000..1edc10e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CountMarkersForFiles.java @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import java.util.List; + +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.jdt.core.IOpenable; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.TreeSelection; +import org.eclipse.ui.IEditorActionDelegate; +import org.eclipse.ui.IEditorPart; + +public class CountMarkersForFiles implements IEditorActionDelegate { + + public CountMarkersForFiles() { + super(); + } + + @Override + public void setActiveEditor(IAction action, IEditorPart editor) { + } + + /* + * This is used to find all the markers for an IResource and any sub resources. + * Then output the number of markers that are returned + */ + @Override + public void run(IAction action) { + TreeSelection selection = MarkerFactory.getTreeSelection(); + if (selection.getFirstElement() instanceof IOpenable) { + IResource resource = (IResource) ((IAdaptable) selection.getFirstElement()).getAdapter(IResource.class); + List markers = MarkerFactory.findAllMarkers(resource); + + MessageDialog dialog = new MessageDialog(MarkerPluginActivator.getShell(), "Marker Count", null, markers.size() + " marker(s)", MessageDialog.INFORMATION, new String[] {"OK"}, 0); + dialog.open(); + } + } + + @Override + public void selectionChanged(IAction action, ISelection selection) { + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CreateMarkerAction.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CreateMarkerAction.java new file mode 100644 index 0000000..7d57b16 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/CreateMarkerAction.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.text.Position; +import org.eclipse.jface.text.TextSelection; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.ui.IEditorActionDelegate; +import org.eclipse.ui.IEditorPart; + +public class CreateMarkerAction implements IEditorActionDelegate { + + public CreateMarkerAction() { + super(); + } + + @Override + public void setActiveEditor(IAction action, IEditorPart editor) { + } + + /* + * This action creates a new marker for the given IFile + */ + @Override + public void run(IAction action) { + try { + TextSelection selection = MarkerFactory.getTextSelection(); + IFile file = (IFile) MarkerPluginActivator.getEditor().getEditorInput().getAdapter(IFile.class); + IMarker mymarker = MarkerFactory.createMarker(file, new Position(selection.getOffset(), selection.getLength())); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + @Override + public void selectionChanged(IAction action, ISelection selection) { + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/FileDecorator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/FileDecorator.java new file mode 100644 index 0000000..370bce8 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/FileDecorator.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import org.eclipse.core.resources.IResource; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.IDecoration; +import org.eclipse.jface.viewers.ILightweightLabelDecorator; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; + +public class FileDecorator extends LabelProvider implements ILightweightLabelDecorator { + + public static final String ICON = "/icons/sample.gif"; + private static Font font = new Font(null, "Arial", 10, 0); + private static Color color = new Color(null, 0, 0, 255); + + @Override + public void decorate(Object resource, IDecoration decoration) { + int markers = MarkerFactory.findMarkers((IResource) resource).size(); + if (MarkingController.file == resource) { + decoration.addOverlay(ImageDescriptor.createFromFile(FileDecorator.class, ICON), IDecoration.TOP_RIGHT); + decoration.addPrefix(""); + decoration.addSuffix(" - running "); + decoration.setFont(font); + decoration.setForegroundColor(color); + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerFactory.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerFactory.java new file mode 100644 index 0000000..0f63adf --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerFactory.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.text.Position; +import org.eclipse.jface.text.TextSelection; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.TreeSelection; + + +public class MarkerFactory { + + //Marker ID + public static final String MARKER = "com.irtsaintexupery.fiacre.simulator.marking.marker"; + + //Annotation ID + public static final String ANNOTATION = "com.irtsaintexupery.fiacre.simulator.marking.annotation"; + + /* + * Creates a Marker + */ + public static IMarker createMarker(IResource res, Position position) + throws CoreException { + IMarker marker = null; + //note: you use the id that is defined in your plugin.xml + marker = res.createMarker(MARKER); + marker.setAttribute(IMarker.MESSAGE, "My Marker"); + //compute and set char start and char end + int start = position.getOffset(); + int end = position.getOffset() + position.getLength(); + marker.setAttribute(IMarker.CHAR_START, start); + marker.setAttribute(IMarker.CHAR_END, end); + return marker; + } + + /* + * returns a list of a resources markers + */ + public static List findMarkers(IResource resource) { + try { + return Arrays.asList(resource.findMarkers(MARKER, true, IResource.DEPTH_ZERO)); + } catch (CoreException e) { + return new ArrayList(); + } + } + + /* + * Returns a list of markers that are linked to the resource or any sub resource of the resource + */ + public static List findAllMarkers(IResource resource) { + try { + return Arrays.asList(resource.findMarkers(MARKER, true, IResource.DEPTH_INFINITE)); + } catch (CoreException e) { + return new ArrayList(); + } + } + + /* + * Returns the selection of the package explorer + */ + public static TreeSelection getTreeSelection() { + + ISelection selection = MarkerPluginActivator.getActiveWorkbenchWindow().getSelectionService().getSelection(); + if (selection instanceof TreeSelection) { + return (TreeSelection)selection; + } + return null; + } + + /* + * Returns the selection of the package explorer + */ + public static TextSelection getTextSelection() { + + ISelection selection = MarkerPluginActivator.getActiveWorkbenchWindow().getSelectionService().getSelection(); + if (selection instanceof TextSelection) { + return (TextSelection)selection; + } + return null; + } + +// public static void addAnnotation(IMarker marker, ITextSelection selection, ITextEditor editor) { +// //The DocumentProvider enables to get the document currently loaded in the editor +// IDocumentProvider idp = editor.getDocumentProvider(); +// +// //This is the document we want to connect to. This is taken from the current editor input. +// IDocument document = idp.getDocument(editor.getEditorInput()); +// +// //The IannotationModel enables to add/remove/change annoatation to a Document loaded in an Editor +// IAnnotationModel iamf = idp.getAnnotationModel(editor.getEditorInput()); +// +// //Note: The annotation type id specify that you want to create one of your annotations +// SimpleMarkerAnnotation ma = new SimpleMarkerAnnotation(ANNOTATION, marker); +// +// //Finally add the new annotation to the model +// iamf.connect(document); +// iamf.addAnnotation(ma,new Position(selection.getOffset(),selection.getLength())); +// iamf.disconnect(document); +// } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerPluginActivator.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerPluginActivator.java new file mode 100644 index 0000000..dab7036 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerPluginActivator.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.ui.texteditor.ITextEditor; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class MarkerPluginActivator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "MyMarker"; + + // The shared instance + private static MarkerPluginActivator plugin; + + /** + * The constructor + */ + public MarkerPluginActivator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + public static Shell getShell() { + return getActiveWorkbenchWindow().getShell(); + } + + public static IWorkbenchWindow getActiveWorkbenchWindow() { + return PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static MarkerPluginActivator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + /** + * Always good to have this static method as when dealing with IResources + * having a interface to get the editor is very handy + * @return + */ + public static ITextEditor getEditor() { + return (ITextEditor) getActiveWorkbenchWindow().getActivePage().getActiveEditor(); + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerUpdater.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerUpdater.java new file mode 100644 index 0000000..d9fb427 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkerUpdater.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.jface.text.IDocument; +import org.eclipse.jface.text.Position; +import org.eclipse.ui.texteditor.IMarkerUpdater; + +public class MarkerUpdater implements IMarkerUpdater { + /* + *Returns the attributes for which this updater is responsible. + *If the result is null, the updater assumes responsibility for any attributes. + */ + @Override + public String[] getAttribute() { + return null; + } + + @Override + public String getMarkerType() { + //returns the marker type that we are interested in updating + return MarkerFactory.MARKER; + } + + @Override + public boolean updateMarker(IMarker marker, IDocument doc, Position position) { + try { + int start = position.getOffset(); + int end = position.getOffset() + position.getLength(); + marker.setAttribute(IMarker.CHAR_START, start); + marker.setAttribute(IMarker.CHAR_END, end); + return true; + } catch (CoreException e) { + return false; + } + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkingController.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkingController.java new file mode 100644 index 0000000..a4dd43b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/marking/MarkingController.java @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.marking; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.jface.text.Position; +import org.eclipse.xtext.nodemodel.impl.CompositeNode; +import org.eclipse.xtext.nodemodel.util.NodeModelUtils; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.ui.resource.XtextResourceSetProvider; + +import com.google.inject.Injector; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; + +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.ui.internal.XtextActivator; + +public class MarkingController { + // added selection attribute + public static IFile file; + + protected static XtextResource getFiacreXtextResource(IFile file) { + Injector injector = XtextActivator.getInstance().getInjector("fr.irit" + + ".fiacre.xtext.Fiacre"); + XtextResourceSetProvider provider = injector + .getInstance(XtextResourceSetProvider.class); + ResourceSet resourceSet = provider.get(file.getProject()); + + URI xtextURI = URI.createPlatformResourceURI(file + .getFullPath().toString(), true); + + return (XtextResource) resourceSet.getResource(xtextURI, true); + } + + // Jorge Gutierrez 05/08/2016 + public static void highlightCode(StatementBlock statementblock) { + + for (InstanceStatementBlock isb : statementblock + .getInstanceStatementBlocks()) { + CompositeNode tr_source_cn = (CompositeNode) NodeModelUtils + .findActualNodeFor(isb.getTransitionSource()); + try { + IMarker tr_src_marker = MarkerFactory.createMarker(file, + new Position(tr_source_cn.getOffset(), tr_source_cn + .getLength())); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + for (Statement s : isb.getStatements()) { + CompositeNode s_cn = (CompositeNode) NodeModelUtils + .findActualNodeFor(s); + try { + IMarker smarker = MarkerFactory.createMarker(file, + new Position(s_cn.getOffset(), s_cn.getLength())); + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + } + + //Jorge Gutierrez 08/08/2016 + public static void deleteMarkers (IFile file){ + try { +// int markers = MarkerFactory.findMarkers(file).size(); +// System.out.println("#marks before " + markers); +// System.out.println("file " + file); + file.deleteMarkers("com.irtsaintexupery.fiacre.simulator" + + ".marking.marker", true, 0); +// markers = MarkerFactory.findMarkers(file).size(); +// System.out.println("#marks after " + markers); + + } catch (CoreException e) { + //TODO Auto-generated catch block + e.printStackTrace(); + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/PerspectiveSimulatorFactory.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/PerspectiveSimulatorFactory.java new file mode 100644 index 0000000..17d74ab --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/PerspectiveSimulatorFactory.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective; + +import org.eclipse.ui.IFolderLayout; +import org.eclipse.ui.IPageLayout; +import org.eclipse.ui.IPerspectiveFactory; + +public class PerspectiveSimulatorFactory implements IPerspectiveFactory { + + @Override + public void createInitialLayout(IPageLayout layout) { + defineActions(layout); + defineLayout(layout); + + } + + public void defineActions (IPageLayout layout){ + //Add "new wizards" + layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder"); + layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file"); + + //Add "show views" + layout.addShowViewShortcut(IPageLayout.ID_RES_NAV); + layout.addShowViewShortcut(IPageLayout.ID_BOOKMARKS); + layout.addShowViewShortcut(IPageLayout.ID_OUTLINE); + layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET); + layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET); + layout.addShowViewShortcut(IPageLayout.ID_TASK_LIST); + } + + public void defineLayout(IPageLayout layout) { + //Editors are placed for free + String editorArea = layout.getEditorArea(); + + //Place navigator and outiline to left of editor area. + IFolderLayout navigator = layout.createFolder("navigator", + IPageLayout.LEFT, (float) 0.18, editorArea); + IFolderLayout instances = layout.createFolder("instances", + IPageLayout.RIGHT, (float) 0.75, editorArea); + IFolderLayout values = layout.createFolder("values", + IPageLayout.BOTTOM, (float) 0.75, editorArea); + IFolderLayout transitions = layout.createFolder("transitions", + IPageLayout.BOTTOM, (float) 0.25, "instances"); + IFolderLayout executedAction = layout.createFolder("executedAction", + IPageLayout.BOTTOM, (float) 0.5, "transitions"); + IFolderLayout savedStates = layout.createFolder("savedStates", + IPageLayout.BOTTOM, (float) 0.4, "executedAction"); + + navigator.addView("org.eclipse.ui.navigator.ProjectExplorer"); + instances.addView("com.irtsaintexupery.fiacre.simulator.perspective" + + ".instancesView"); + transitions.addView("com.irtsaintexupery.fiacre.simulator.perspective" + + ".transitionsView"); + values.addView("com.irtsaintexupery.fiacre.simulator.perspective" + + ".valuesView"); + executedAction.addView("com.irtsaintexupery.fiacre.simulator.perspective" + + ".executedActionView"); + executedAction.addView("com.irtsaintexupery.fiacre.simulator.perspective" + + ".savedStatesView"); + } + + public interface IPerspectivePlugin { + //*plugin id + public final static String PLUGIN_ID = "com.irtsaintexupery.fiacre" + + ".simulator.perspective"; + + //*perspective id + public final static String TEST_PERSPECTIVE_ID = "com.irtsaintexupery" + + ".fiacre.simulator.perspective.fiacreSimulator"; + + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/ViewsController.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/ViewsController.java new file mode 100644 index 0000000..591c8c6 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/ViewsController.java @@ -0,0 +1,1018 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Stack; + +import org.apache.thrift.TException; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.IWorkspaceDescription; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; +import org.eclipse.core.runtime.Platform; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; +import org.eclipse.jface.operation.IRunnableWithProgress; +import org.eclipse.jface.text.Position; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.WorkbenchException; +import org.eclipse.ui.actions.ImportResourcesAction; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.texteditor.AbstractTextEditor; +import org.eclipse.ui.texteditor.ITextEditor; +import org.eclipse.xtext.nodemodel.ICompositeNode; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.nodemodel.impl.CompositeNode; +import org.eclipse.xtext.nodemodel.impl.LeafNode; +import org.eclipse.xtext.nodemodel.util.NodeModelUtils; + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceStatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.StatementBlock; +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance; +import com.irtsaintexupery.fiacre.simulator.core.FiacreSimulator; +import com.irtsaintexupery.fiacre.simulator.core.Utils; +import com.irtsaintexupery.fiacre.simulator.marking.MarkerFactory; +import com.irtsaintexupery.fiacre.simulator.marking.MarkingController; +import com.irtsaintexupery.fiacre.simulator.perspective.model.ActionState; +import com.irtsaintexupery.fiacre.simulator.perspective.model.TreeObject; +import com.irtsaintexupery.fiacre.simulator.perspective.model.TreeParent; +import com.irtsaintexupery.fiacre.simulator.perspective.model.ValuesData; +import com.irtsaintexupery.fiacre.simulator.perspective.model.ValuesDataProvider; +import com.irtsaintexupery.fiacre.simulator.perspective.views.*; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.DynamicJsonExtractor; +import com.sun.javafx.css.Declaration; +import com.sun.xml.internal.ws.spi.db.FieldSetter; + +import fr.irit.fiacre.xtext.fiacre.ArrayExpression; +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FalseLiteral; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral; +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.QueueExpression; +import fr.irit.fiacre.xtext.fiacre.RecordExpression; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.TrueLiteral; +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration; +import fr.irit.fiacre.xtext.fiacre.ValueExpression; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; +import fr.laas.libtts.LibTTS; +import tts.Error; +import tts.NotFireable; +import tts.StateNotFound; +import tts.TTSState; +import tts.Transition; +import tts.TransitionNotFound; + +/** + * @author jorge.gutierrez + * Class for control the views in the simulator + *

+ * it makes the communication between simulator model and visual interface + */ +/** + * @author jorge.gutierrez + * + */ +/** + * @author jorge.gutierrez + * + */ +/** + * @author jorge.gutierrez + * + */ +public enum ViewsController { + INSTANCE; + + //variables to make instance of active views and to call their functions + private InstancesView instancesView; + private TransitionsView transitionsView; + private ValuesView valuesView; + private ExecutedActionView executedActionView; + private SavedStatesView savedStatesView; + + //variables to take control of Workbench + private IWorkbench wb = PlatformUI.getWorkbench(); + private IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); + private IWorkbenchPage page = win.getActivePage(); + + //variable to store the current simulated file + private static IFile file = null; + + //variable to store the current Json model + private DynamicJsonExtractor djeViews; + + //HashMap to store the instances assigned to a TreeObject key + // and to make mapping with + private HashMap instancesMap; + + //Jorge Gutierrez 05/08/2016 + //to store the transition assigned to a String key + private HashMap transitionExecutableMap; + + //Jorge Gutierrez 10/08/2016 + //Stack to store a copy of each new action. + private Stack actionStack; + + //Jorge Gutierrez 26/08/2016 + //HasMap to store a state model from the simulation + private HashMap stateMap; + + //HasMap to store a action stack linked to saved state tag + private HashMap activitiesStackMap; + + private class StateStructure{ + public Stack interfaceStack; + public Stack modelStack; + + public StateStructure() { + interfaceStack = new Stack(); + modelStack = new Stack(); + } + } + + //Constructor + ViewsController() { + instancesMap = new HashMap(); + transitionExecutableMap = new HashMap(); + stateMap = new HashMap(); + actionStack = new Stack(); + activitiesStackMap = new HashMap(); + page.getActivePart().getSite().getWorkbenchWindow(). + getPartService().addPartListener(partListener); + djeViews = FiacreSimulator.sendDje(); + + } + + private IPartListener partListener = new IPartListener() { + public void partOpened(IWorkbenchPart part) { + } + + @Override + public void partActivated(IWorkbenchPart part) { + + } + + @Override + public void partBroughtToTop(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + @Override + public void partClosed(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + + @Override + public void partDeactivated(IWorkbenchPart part) { + // TODO Auto-generated method stub + + } + }; + + public IFile getFile() { + return file; + } + + // Jorge Gutierrez 20/07/2016 + /** + * displays the Fiacre Simulator perspective + *

+ * displays perspective by its id, calls every view updates and resets the marking + * and data values. + * + * Takes the current simulation model and looks for the InstanceView instance to call an update + * Takes the current simulation model and looks for the transitionView instance to call an update + * Takes the current simulation model and looks for the ExecutedActionView instance to call an update + * Looks for the ExecutedActionView instance to call an update + */ + public void openPespective() { + //displays perspective by its corresponding id + try { + PlatformUI.getWorkbench().showPerspective("com.irtsaintexupery" + + ".fiacre.simulator.perspective.fiacreSimulator", + PlatformUI.getWorkbench().getActiveWorkbenchWindow()); + } catch (WorkbenchException e) { + e.printStackTrace(); + } + + //Takes the simulated model + djeViews = FiacreSimulator.sendDje(); + + //looks for a active ValuesViews instance. + ViewPart valuesPart = (ViewPart) wb.getActiveWorkbenchWindow() + .getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.valuesView"); + if (valuesPart instanceof ValuesView) { + valuesView = (ValuesView) valuesPart; + } + + ////looks for a active InstancesView instance + ViewPart instancesPart = (ViewPart) wb.getActiveWorkbenchWindow() + .getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.instancesView"); + if (instancesPart instanceof InstancesView) { + instancesView = (InstancesView) instancesPart; + } + + //looks for a active TransitionView instance and call update. + ViewPart transitionsPart = (ViewPart) wb.getActiveWorkbenchWindow(). + getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.transitionsView"); + if (transitionsPart instanceof TransitionsView) { + transitionsView = (TransitionsView) transitionsPart; + //calls update by passing a list of transitions names as parameter. + transitionsView.update(returnTransitions()); + } + + //looks for a active ExecutedActionView instance. + ViewPart executedActionPart = (ViewPart) wb.getActiveWorkbenchWindow(). + getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.executedActionView"); + if (executedActionPart instanceof ExecutedActionView) { + executedActionView = (ExecutedActionView) executedActionPart; + //calls update by passing a list of Executed Action as parameter. + executedActionView.update(returnActions()); + } + + //looks for a active SavedStatesView instance. + ViewPart savedStatesPart = (ViewPart) wb.getActiveWorkbenchWindow(). + getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.savedStatesView"); + if (savedStatesPart instanceof SavedStatesView) { + savedStatesView = (SavedStatesView) savedStatesPart; + } + + //resets values and updates views + ValuesDataProvider.removeData(); + reinitializeValuesView(); + updateInstanceView(); + updateTransitionView(); + updateExecutedActionView(); + updateSavedStatesView(); + //resets marking + MarkingController.file = file; + MarkingController.deleteMarkers(file); + //refreshes Project Explorer part + refresh(); + + } + + + /** + * Makes an update to show the currents transitions on transition window (views part). + *

+ * Calls an update by giving the transitions instances names. + */ + public void updateTransitionView() { + //updates current model. + djeViews = FiacreSimulator.sendDje(); + //calls update by passing a list of transitions names as parameter. + transitionsView.update(returnTransitions()); + } + + /** + * Shows the values data from a selected Instance(TreeObject) on the ValuesView. + *

+ * Takes the current simulation model, uses a Instance converted into TreeObject + * to found their values, looks for the ValuesView instance to call an update. + * @param object The object of the Instance-set converted into a TreeObject. + */ + public void showValuesView(TreeObject object) { + //updates current model. + djeViews = FiacreSimulator.sendDje();////////////////////////////////////////////////////////////!!!!!!!!!!!!!! + //search with the TreeObject key the mapped DeclarationInstance and give a list of contained variables. + if(instancesMap.get(object) instanceof DeclarationInstance){ + DeclarationInstance declarationInstance = (DeclarationInstance) instancesMap.get(object); + EList variableList = declarationInstance. + getVariableDeclarationInstances(); + //reinitializes ValuesTable + ValuesDataProvider.removeData(); + //sets ValuesTable with the list of variables + for (VariableDeclarationInstance value : variableList) { + ValuesData v = new ValuesData(); + //set nomenclature value + v.setCurrent(getStringValue(value.getCurrentValue())); + v.setName(value.getVariableDeclaration().getName()); + ValuesDataProvider.addValues(v); + } + //looks for a active ValuesView instance and call update. + ViewPart valuesPart = (ViewPart) wb.getActiveWorkbenchWindow(). + getActivePage().findView("com.irtsaintexupery.fiacre.simulator" + + ".perspective.valuesView"); + if (valuesPart instanceof ValuesView) { + valuesView = (ValuesView) valuesPart; + valuesView.update(); + } + } + } + + //Jorge Gutierrez 25/08/2016 + /** + * Treats variable value and returns the corresponding nomenclature value. + *

+ * Recursive function that returns a character String by following the next rules. + * @param ve the valuesExpression given by Fiacre Model. + * @return the character String according to the embedded type. + */ + public static String getStringValue(ValueExpression ve){ + //returns false when ValueExpression is of type FalseLiteral + if(ve instanceof FalseLiteral){ + return "False"; + } + //returns true when ValueExpression is of type TrueLiteral + else if (ve instanceof TrueLiteral) { + return "True"; + //returns number when ValueExpression is of type NaturaLiteral + }else if (ve instanceof NaturalLiteral) { + return ((NaturalLiteral) ve).getValue()+""; + //returns the ValueExpression * contained by [*] when is of type ArrayExpresion + }else if (ve instanceof ArrayExpression) { + ArrayExpression ae = (ArrayExpression)ve; + String text = "["; + for (int i = 0; i < ae.getValues().size(); i++) { + Expression e = ae.getValues().get(i); + if (i == ae.getValues().size() - 1) { + text = text + getStringValue((ValueExpression)e); + }else { + text = text + getStringValue((ValueExpression)e) + ", "; + } + } + return text + "]"; + //returns the ValueExpression * contained by {*} when is of type RecordExpression + }else if (ve instanceof RecordExpression) { + RecordExpression re = (RecordExpression)ve; + String text = "{"; + for (int i = 0; i < re.getFields().size(); i++) { + FieldExpression fe = re.getFields().get(i); + RecordFieldDeclaration rfd = (RecordFieldDeclaration)fe.getField(); + //if it is the last element, does not add the separator ", " + if (i == re.getFields().size() - 1) { + text = text + rfd.getName() + " = " +getStringValue((ValueExpression)fe.getValue()); + }else { + text = text + rfd.getName() + " = " +getStringValue((ValueExpression)fe.getValue()) + ", "; + } + } + return text + "}"; + //returns the ValueExpression * contained by {|*|} when is of type QueueExpression + }else if (ve instanceof QueueExpression) { + QueueExpression qe = (QueueExpression)ve; + String text = "{|"; + for (int i = 0; i < qe.getValues().size(); i++) { + Expression e = qe.getValues().get(i); + //if it is the last element, does not add the separator ", " + if (i == qe.getValues().size() - 1) { + text = text + getStringValue((ValueExpression)e); + }else { + text = text + getStringValue((ValueExpression)e) + ", "; + } + } + return text + "|}"; + }else if(ve instanceof IdentifierExpression) { + //returns a ValueExpression contained by TagDeclaration name (*) when is of type ConstructionExpression + if (ve instanceof ConstructionExpression) { + ConstructionExpression ce = (ConstructionExpression)ve; + String text = ""; + for (int i = 0; i < ce.getParameters().size(); i++) { + Expression e = ce.getParameters().get(i); + //if it is the last element, does not add the separator ", " + if (i == ce.getParameters().size() - 1) { + text = text + ((UnionTagDeclaration)ce.getDeclaration()).getName() + "(" + getStringValue((ValueExpression)e) + ")"; + }else { + text = text + ((UnionTagDeclaration)ce.getDeclaration()).getName() + "(" + getStringValue((ValueExpression)e) + "), "; + } + } + return text; + //returns the TagDeclaration name when is of type IdentifierExpression + } else { + IdentifierExpression ie = (IdentifierExpression)ve; + ExpressionDeclarationUse edu = ie.getDeclaration(); + UnionTagDeclaration utd = (UnionTagDeclaration)ie.getDeclaration(); + return utd.getName(); + } + } + return ""; + + } + + + /** + * Cleans the Values Table. + *

+ * Removes data from ValuesDataProvider and looks for the ValuesView instance to + * call an update. Show an empty table in the updating + */ + public void reinitializeValuesView() { + ValuesDataProvider.removeData(); + valuesView.update(); + } + + /** + * Makes an update to show the currents instances on instance window (views part). + *

+ * Calls an update by giving the Tree head (TreeObject) which contains the instances name in the root and + * their children from the Fiacre Model. + */ + public void updateInstanceView() { + //updates current model. + djeViews = FiacreSimulator.sendDje(); + //call update by passing a TreeObject. + instancesView.update(returnInstances()); + } + + //Jorge Gutierrez 17/08/2016 + /** + * Adds a delay element (ActionState) in the actionStack when the DelayAction is launched + * @param dl The value about the delay given by the user + */ + public void addDelayToAction (String dl){ + ActionState obj = new ActionState("DELAY: " + dl, true); + actionStack.add(obj); + } + + /** + * Adds a fire element (ActionState) in the actionStack when the FireAction is launched + * @param dl The value about the delay given by the user + */ + public void addFireToAction (String tr_name){ + //Jorge Gutierrez 16/08/2016 + ActionState actionFire = new ActionState(tr_name, false); + actionStack.add(actionFire); + } + + /** + * executes a transition selected by the user in the Fiacre Model + *

+ * Adds the action to the stackAction, search in the Map the StatementBlock + * to get the fireable Transition in the Fiacre Model, fires the transition + * and updates every view. + * @param tr_name the transition name taken from transition table, it will + * be used as key in transitionExecutableMap. + */ + public void fireTransition(String tr_name) { + try { + + //stores the fire action in the stakeAction + addFireToAction(tr_name); + //Maps the StatementBlock by transition name key + StatementBlock transition = transitionExecutableMap.get(tr_name); + LibTTS libtts = FiacreSimulator.getLibTTS(); + long tr_long = -1; + djeViews = FiacreSimulator.sendDje(); + //gets simulated transition + for (Map.Entry tr : libtts.getTTSSimulator() + .getAllTransitions().entrySet()) { + if (tr.getValue().getName().equals(transition.getName())) { + tr_long = tr.getKey(); + } + } + //fires transition + libtts.getTTSSimulator().fireTransition(tr_long); + + updateAll(); + + djeViews.extractExecutedStatements(libtts.getTTSSimulator() + .getAllTransitions().get(tr_long).name);///////////////////////////////////// + //update all views to show a consistent feedback. + //updateAll(); + } catch (Error e) { + Utils.showException("Error", e); + // e.printStackTrace(); + } catch (StateNotFound e) { + Utils.showException("StateNotFound", e); + // e.printStackTrace(); + } catch (TransitionNotFound e) { + Utils.showException("TransitionNotFound", e); + // e.printStackTrace(); + } catch (NotFireable e) { + Utils.showException("NotFireable", e); + // e.printStackTrace(); + } catch (TException e) { + Utils.showException("TException", e); + // e.printStackTrace(); + } catch (NullPointerException e) { + Utils.showException("NullPointerException", e); + // e.printStackTrace(); + } + + } + + + + // Jorge Gutierrez 05/08/2016 + /** + * Returns a list of executable transitions names given by executed model + *

+ * Takes a list of StatementsBlocks from the model and looks for the executable + * StatementsBlocks to put in a transition map and to put its name in a List of String + * @return List of character String according to executable transition name and date. + */ + private ArrayList returnTransitions() { + //Takes all statement blocks by the instance model + EList statementList = djeViews.getInstanceModel() + .getStatementBlocks(); + ArrayList statementListString = new ArrayList(); + transitionExecutableMap.clear(); + //Puts the executable statements in a List + for (StatementBlock s : statementList) { + if (s instanceof ExecutableStatementBlock) { + String statementAndDate = ""; +// if (s instanceof EnabledStatementBlock) { + statementAndDate = s.getName() + " - " + ((ExecutableStatementBlock)s).getDate(); +// }else { +// statementAndDate = s.getName(); +// } + statementListString.add(statementAndDate); + //Maps the statements by the String key. this key is defined by statements name and time needed to execute it + transitionExecutableMap.put(statementAndDate, s); + } + } + return statementListString; + } + + // Jorge Gutierrez 05/08/2016 + /** + * Indicates if statementBlock mapped by the given string key is Fireable + *

+ * Function used by TransitionViews to know if a transition is fireable or not + * @return true if this transition is fireable or false, is not fireable. + */ + public Boolean isFireable(String s) { + if (transitionExecutableMap.get(s) instanceof FireableStatementBlock){ + return true; + }else { + return false; + } + } + + // Jorge Gutierrez 22072016 + /** + * Returns a TreeObject that has the model Instance root and it is connected + * with their children + *

+ * A TreeObject is a Node with a Tree structure performance that contains a instance name. + * When a TreeObject has children it is of type TreeParent that has a Array of TreeObject instances. + * The function takes all instances which are on the root and makes depth iteration for each one. + * @return Root with all instances as children + */ + public TreeObject returnInstances() { + //Takes a Declaration Instance list from the simulated model. + EList instanceListDeclaretion = djeViews + .getInstanceModel().getInstance(); + int i = 0; + TreeParent rootParent = new TreeParent(""); + //clears the map that store instances objects. + instancesMap.clear(); + //iterate each instances content. + while (i < instanceListDeclaretion.size()) { + iterateInstances(instanceListDeclaretion.get(i), rootParent); + i++; + } + return rootParent; + } + + /** + * Build a Tree of block Instances and maps them to instanceMap until there are not + * more embedded Instances + *

+ * Checks if Instance is a Process then adds to Parent else checks if it is Component to + * iterate recursively its instances and in the same way when it is a Composition. + * The instance is mapped by TreeObject key containing its instance name. + * @param blockInstance The BlockInstance given as point reference to read through its children. + * @param instanceTreeParent The TreeParent given as a reference point to add its children. + */ + private void iterateInstances(BlockInstance blockInstance, + TreeParent instanceTreeParent) { + //Checks if instance is a Process then adds to Parent reference and instance map. + if (blockInstance instanceof ProcessDeclarationInstance) { + String nameProcess = ((ProcessDeclarationInstance) + blockInstance).getProcess().getName(); + String currentStateProcess = ((ProcessDeclarationInstance) + blockInstance).getCurrentState().getName(); + TreeObject processNodeObject = new TreeObject(nameProcess + " - " + + currentStateProcess); + instanceTreeParent.addChild(processNodeObject); + // Jorge Gutierrez 01/08/2016 // + instancesMap.put(processNodeObject, blockInstance); + //Checks if instance is a Component then adds to Parent reference and instance map, and iterate its instances contained. + } else if (blockInstance instanceof ComponentDeclarationInstance) { + ComponentDeclarationInstance component = ((ComponentDeclarationInstance) + blockInstance); + String nameComponent = component.getComponent().getName(); + TreeParent componentNodeParent = new TreeParent(nameComponent); + instanceTreeParent.addChild(componentNodeParent); + // Jorge Gutierrez 01/08/2016 + instancesMap.put(componentNodeParent, component); + for (int i = 0; i < component.getBlockInstances().size(); i++) { + iterateInstances(component.getBlockInstances().get(i), componentNodeParent); + } + //Checks if instance is a Composition then adds to Parent reference and instance map, and iterate its instances contained. + }else { + CompositionInstance composition = ((CompositionInstance) blockInstance); + String namecomposition = new String(""); + TreeParent compositionNodeParent = new TreeParent(namecomposition); + instanceTreeParent.addChild(compositionNodeParent); + instancesMap.put(compositionNodeParent, composition); + for (int i = 0; i < composition.getBlockInstances().size(); i++) { + iterateInstances(composition.getBlockInstances().get(i), compositionNodeParent); + } + } + } + + // Jorge Gutierrez 05/08/2016 + /** + * Updates the simulated file. + *

+ * the function is called by FiacreSimulator class + * @param newFile the File selected to be executed. + */ + public void setFile(IFile newFile) { + file = newFile; + } + + // Jorge Gutierrez 05/08/2016 + /** + * Highlights on editor part the corresponding statement block by selected Transition. + *

+ * Finds a Transition Statement Block from the simulated model and marks it on code editor + * Selects on Instance view, the instance involved in transition statements code. + * @param tr_name The string allocated for a transition. + */ + public void showSelectedTransition(String tr_name) { + //takes a Statement Transition block by its name and find stamentBlock on the simulated model. + StatementBlock transition = transitionExecutableMap.get(tr_name); + InstanceModel instanceModel = djeViews.getInstanceModel(); + StatementBlock statementblock = null; + for (StatementBlock stb : instanceModel.getStatementBlocks()) { + if (stb.getName().equals(transition.getName())) { + statementblock = stb; + } + } + //reinitializes the marking and highlights the code fragment which are attached to statement block. + MarkingController.deleteMarkers(file); + MarkingController.highlightCode(statementblock); + //selects on the Instance view table, the Transitions elements which has a statement transition in common. + instancesView.selectInstanceObject(returnInstanceContent(statementblock)); + } + + //Jorge Gutierrez 11/08/2016 + /** + * Returns the instances that contains the Statement block given + *

+ * Browses in all Instances Statement Blocks to find the Statements Blocks which have the same reference to + * Statement Block given. + * @param statementblock The Transition Statement Block selected by user. + * @return a list of Instance(TreeObject) to be selected by showSelected function + */ + public ArrayList returnInstanceContent(StatementBlock + statementblock) { + ArrayList instanceList = new ArrayList(); + for (Map.Entry iterator : instancesMap + .entrySet()) { + if (iterator.getValue() instanceof ProcessDeclarationInstance ){ + EList listISB = ( + (ProcessDeclarationInstance)iterator.getValue()) + .getInstanceStatementBlocks(); + int i = 0; + boolean b = true; + do { + if (listISB.size() != 0) { + for (InstanceStatementBlock isb : listISB) { + if (statementblock.getInstanceStatementBlocks() + .get(i) == isb) { + if (!instanceList.contains(iterator.getKey())) { + instanceList.add(iterator.getKey()); + b = false; + } + } + } + } + i++; + } while (i < statementblock.getInstanceStatementBlocks().size() + && b); + + } + } + return instanceList; + } + + //Jorge Gutierrez 08/08/2016 + /** + * Removes highlighted text from editor part. + */ + public void deleteMarkers (){ + try { + MarkingController.deleteMarkers(file); + } catch (Exception e) { + // TODO: handle exception + } + } + + //Jorge Gutierrez 08/08/2016 + /** + * Deletes data and content from every view + *

+ * clearAllViews function is called by QuitSimulator class when the simulator + * is stopped by user. + */ + public void clearAllViews (){ + file = null; + + instancesView.update(new TreeParent("")); + + transitionExecutableMap.clear(); + transitionsView.clearContent(); + + ValuesDataProvider.removeData(); + valuesView.update(); + + actionStack.clear(); + executedActionView.update(returnActions()); + + stateMap.clear(); + activitiesStackMap.clear(); + savedStatesView.update(returnSavedStates()); + refresh(); + } + + //Jorge Gutierrez 12/08/2016 /////////////////TOCHANGE + /** + * + */ + public void launchFeedBack() throws InvocationTargetException, InterruptedException { + } + + //Jorge Gutierrez 16/08/2016 + /** + * Makes an update to show the currents executed actions on ExecutedAction window (view part). + *

+ * Calls an update by giving a list of actions implemented during execution. + */ + public void updateExecutedActionView() { + //updates current model. + djeViews = FiacreSimulator.sendDje(); + //calls update by passing a list of Executed Action as parameter. + executedActionView.update(returnActions()); + } + + /** + * Creates and returns a list from the stack reserved for executed action. + * @return list of actions names. + */ + private ArrayList returnActions() { + ArrayList list = new ArrayList(); + for (ActionState t : actionStack) { + list.add(t.getAction()); + } + Collections.reverse(list); + return list; + } + + //Jorge Gutierrez 17/08/2016 + /** + * Indicates if a executed action is a Delay + *

+ * Function used by ExecutedActionViews to know if a action searched by its name, is a delay or not + * @param obj the obj is the Action name given by ExecutedActionViews + * @return true if this action state is a delay or false, is not a delay or it does not exist. + */ + public boolean isDelay (String obj){ + for (ActionState t : actionStack ) { + if (t.getAction().equals(obj)) { + return t.getDelay(); + } + } + return false; + } + + //Jorge Gutierrez 17/08/2016 + /** + * Undoes the last executed action + *

+ * Takes the last element from the actionStack and undoes the action in the simulated model, + * then makes a Feedback about all views (updateAll). + */ + public void undoAction() { + try { + ActionState undo_action = actionStack.pop(); + FiacreSimulator.getLibTTS().getTTSSimulator().undo(); + updateAll(); + if(undo_action.getAction().contains(" ")){ + String tr_name= undo_action.getAction().substring(0, undo_action.getAction().indexOf(" ")); + if(!tr_name.contentEquals("DELAY:")){ + if(djeViews.gettr_gl_tr_ins().get(tr_name).size() == 1){ + djeViews.getMSCModel().getSteps().remove(djeViews.getMSCModel().getSteps().size()-1); + + } + else{ + djeViews.getMSCModel().getSteps().remove(djeViews.getMSCModel().getSteps().size()-1); + djeViews.getMSCModel().getSteps().remove(djeViews.getMSCModel().getSteps().size()-1); + } + djeViews.saveMscResource(); + } + } + } catch (Exception e) { + // TODO: handle exception + } + } + + /** + * Refreshes every view and reinitialize selections, values and markings. + */ + private void updateAll() { + //djeViews.extractExecutedStatements(libtts.getTTSSimulator().getAllTransitions().get(tr_long).name); + djeViews.extractStates(); + djeViews.extractExecutableStatements(); + djeViews.extractValues(); + //updates all views + updateInstanceView(); + updateTransitionView(); + updateExecutedActionView(); + reinitializeValuesView(); + MarkingController.deleteMarkers(file); + djeViews.saveInstanceResource(); + } + + /** + * Refreshes Project Explorer Part to display the launched file. + */ + private void refresh(){ + for(IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()){ + try { + project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); + + } catch (CoreException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + /** + * Selects on editor code the Instances declarations selected in the instances table by the user/ + *

+ * Gets editor instance to use the Select Service, takes a TreeObject key to get a corresponding block Instance, + * then checks if the block Instance is the type of Declaration, Component or Composition, to select it in the code. + * @param obj the TreeObject is given by InstanceView to search the Instance form the model. + */ + public void showInstanceSelected(TreeObject obj) { + + IEditorPart part = page.getActiveEditor(); + if (!(part instanceof AbstractTextEditor)) + return; + ITextEditor editor = (ITextEditor)part; + + + BlockInstance bi = instancesMap.get(obj); + EObject element = null ; + if (bi instanceof DeclarationInstance){ + if(((DeclarationInstance)bi).getInstance() != null){ + element = ((DeclarationInstance)bi).getInstance(); + LeafNode tr_source_cn = (LeafNode) NodeModelUtils.findNodesForFeature(element, FiacrePackage.eINSTANCE.getComponentInstance_Component()).get(0); + editor.selectAndReveal(tr_source_cn.getOffset(), tr_source_cn.getLength()); + } + else{ + if(bi instanceof ComponentDeclarationInstance) + { + element = ((ComponentDeclarationInstance)bi).getComponent(); + LeafNode tr_source_cn = (LeafNode) NodeModelUtils.findNodesForFeature(element, FiacrePackage.eINSTANCE.getNamedElement_Name()).get(0); + editor.selectAndReveal(tr_source_cn.getOffset(), tr_source_cn.getLength()); + } + else + element = ((ProcessDeclarationInstance)bi).getProcess(); + LeafNode tr_source_cn = (LeafNode) NodeModelUtils.findNodesForFeature(element, FiacrePackage.eINSTANCE.getNamedElement_Name()).get(0); + editor.selectAndReveal(tr_source_cn.getOffset(), tr_source_cn.getLength()); + } + } + else{ + element = ((CompositionInstance)bi).getComposition(); + ICompositeNode tr_source_cn = NodeModelUtils.findActualNodeFor(element); + for (INode i: tr_source_cn.getChildren()){ + if(i instanceof LeafNode && i.getText().equals("par")) + editor.selectAndReveal(i.getOffset(), i.getLength()); + } + + } + + + } + + + /** + * Maps a Executed Model State with Tag key and maps its activities Stack associated with the same key + * @param tag The Tag is a character string given by the user. + */ + public void addStateToMap(String tag) { ////////////////not enough necessary + stateMap.put(tag, FiacreSimulator.getLibTTS().getTTSSimulator().getState()); + Stack tagActionStack = (Stack) actionStack.clone(); +// Stack tagActionStack=new Stack(); +// for (ActionState a : actionStack) { +// tagActionStack.push(a); +// } + StateStructure ss = new StateStructure(); + ss.interfaceStack = tagActionStack; + ss.modelStack = (Stack) FiacreSimulator.getLibTTS().getTTSSimulator().getPrevious_states().clone(); + activitiesStackMap.put(tag, ss); + updateSavedStatesView(); + } + + /** + * Makes an update to show the saved States on SavedStates window (view part). + *

+ * Calls an update by giving a list of saved states during execution. + */ + public void updateSavedStatesView() { + //calls update by passing a list of SavedStates as parameter. + savedStatesView.update(returnSavedStates()); + } + + /** + * Takes each element from the state map and puts it in a list + * @return list of Tag character string contained by stateMap + */ + private ArrayList returnSavedStates() { + ArrayList list = new ArrayList(); + for (Map.Entry iterator : stateMap.entrySet()){ + list.add(iterator.getKey()); + } + return list; + } + + /** + * Removes a saved state chosen by user on the SavedStateView and its activities stack associated. + * @param tag The state that will be removed from stateMap + */ + public void deleteState(String tag) { + stateMap.remove(tag); + activitiesStackMap.remove(tag); + updateSavedStatesView(); + + } + + /** + * Returns the simulation to saved state selected and updates all views. + * @param tag The state that will be updated in simulator + */ + public void goToState(String tag) { + FiacreSimulator.getLibTTS().getTTSSimulator().setState(stateMap.get(tag)); + actionStack = (Stack) activitiesStackMap.get(tag).interfaceStack.clone(); + FiacreSimulator.getLibTTS().getTTSSimulator().setPrevious_states((Stack) activitiesStackMap.get(tag).modelStack.clone()); + updateAll(); + } + + /** + * Display a temporary label attached to the Instance Flat name. + * @param obj The treeObject representative of the instance selected. + */ + public String returnFlatName(TreeObject obj) { + BlockInstance bI = instancesMap.get(obj); + if (bI instanceof DeclarationInstance) + return ((DeclarationInstance) bI).getFlatname(); + return "Composition"; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ActionState.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ActionState.java new file mode 100644 index 0000000..2d21904 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ActionState.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.model; + +public class ActionState { + String action; + Boolean delay; + + public ActionState() { + super(); + } + + public ActionState(String action, Boolean delay) { + super(); + this.action = action; + this.delay = delay; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public Boolean getDelay() { + return delay; + } + + public void setDelay(Boolean delay) { + this.delay = delay; + } + + + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeObject.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeObject.java new file mode 100644 index 0000000..2bd61c0 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeObject.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.model; + +import org.eclipse.core.runtime.IAdaptable; + +public class TreeObject implements IAdaptable { + private String name; + private TreeParent parent; + + public TreeObject(String name) { + this.name = name; + } + public String getName() { + return name; + } + public void setParent(TreeParent parent) { + this.parent = parent; + } + public TreeParent getParent() { + return parent; + } + public String toString() { + return getName(); + } + public T getAdapter(Class key) { + return null; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeParent.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeParent.java new file mode 100644 index 0000000..d68d0ed --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/TreeParent.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.model; + +import java.util.ArrayList; + +public class TreeParent extends TreeObject { + private ArrayList children; + public TreeParent(String name) { + super(name); + children = new ArrayList(); + } + public void addChild(TreeObject child) { + children.add(child); + child.setParent(this); + } + public void removeChild(TreeObject child) { + children.remove(child); + child.setParent(null); + } + public TreeObject [] getChildren() { + return (TreeObject [])children.toArray(new TreeObject[children.size()]); + } + public boolean hasChildren() { + return children.size()>0; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesData.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesData.java new file mode 100644 index 0000000..2fa3295 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesData.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.model; + +public class ValuesData { + private String name; + private String initial; + private String current; + + public ValuesData(){ + name = ""; + initial = ""; + current = ""; + } + + public ValuesData(String n, String i, String c){ + name = n; + initial = i; + current = c; + } + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getInitial() { + return initial; + } + public void setInitial(String initial) { + this.initial = initial; + } + public String getCurrent() { + return current; + } + public void setCurrent(String current) { + this.current = current; + } +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesDataProvider.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesDataProvider.java new file mode 100644 index 0000000..8b027bb --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/model/ValuesDataProvider.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.model; + +import java.util.ArrayList; +import java.util.List; + +public enum ValuesDataProvider { + INSTANCE; + + ///faire atention avec la privacité + + private static List data = new ArrayList(); + + ValuesDataProvider() { + } + + public static void addValues(ValuesData values){ + data.add(values); + } + + public ValuesData getValues(Integer index){ + return data.get(index); + } + + public List getData(){ + return data; + } + + public static void removeData(){ + data.clear(); + } + + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ExecutedActionView.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ExecutedActionView.java new file mode 100644 index 0000000..f131b30 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ExecutedActionView.java @@ -0,0 +1,171 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.views; + +import java.util.ArrayList; +import java.util.Vector; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ArrayContentProvider; +import org.eclipse.jface.viewers.ITableLabelProvider; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; + +public class ExecutedActionView extends ViewPart { + + public static final String ID = "com.irtsaintexupery.fiacre.simulator" + + ".perspective.executedActionView"; + + private TableViewer viewer; + private Action undo; + + private Vector elementsTable = new Vector (); + + class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { + public String getColumnText(Object obj, int index) { + return getText(obj); + } + public Image getColumnImage(Object obj, int index) { + return getImage(obj); + } + public Image getImage(Object obj) { + if (ViewsController.INSTANCE.isDelay(getText(obj))) { + Image im = getImage("icons/time_add.png"); + return im; + }else { + return PlatformUI.getWorkbench().getSharedImages() + .getImage(ISharedImages.IMG_OBJS_TASK_TSK); + } + + } + } + /** + * The constructor. + */ + public ExecutedActionView() { + // TODO Auto-generated constructor stub + } + + @Override + public void createPartControl(Composite parent) { + viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + + viewer.setContentProvider(ArrayContentProvider.getInstance()); + //TODO add elements to the table + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + + // Create the help context id for the viewer's control + PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), + "ExecutedActionView.viewer"); + getSite().setSelectionProvider(viewer); + makeActions(); + contributeToActionBars(); + undo.setEnabled(false); + undo.setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED)); + } + + private void contributeToActionBars() { + IActionBars bars = getViewSite().getActionBars(); + fillLocalPullDown(bars.getMenuManager()); + fillLocalToolBar(bars.getToolBarManager()); + } + + private void fillLocalPullDown(IMenuManager manager) { + manager.add(new Separator()); + manager.add(undo); + } + + private void fillLocalToolBar(IToolBarManager manager) { + manager.add(undo); + } + + private void makeActions() { + + undo = new Action() { + public void run() { + if (!elementsTable.isEmpty()) { + ViewsController.INSTANCE.undoAction(); + } + } + }; + undo.setText("Undo"); + undo.setToolTipText("Undo"); +// ImageDescriptor imageDescriptorUndo = AbstractUIPlugin +// .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" +// + ".simulator.perspective", "/icons/arrow_undo.png" ); + + undo.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO)); +// +// redo = new Action() { +// public void run() { +// showMessage("Redo executed"); +// } +// }; +// redo.setText("Redo"); +// redo.setToolTipText("Redo tooltip"); +// ImageDescriptor imageDescriptorRedo = AbstractUIPlugin +// .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" +// + ".simulator.perspective", "/icons/arrow_redo.png" ); +// redo.setImageDescriptor(imageDescriptorRedo); + } + + private void showMessage(String message) { + MessageDialog.openInformation( + viewer.getControl().getShell(), + "Executed Action View", + message); + } + + @Override + public void setFocus() { + viewer.getControl().setFocus(); + + } + + public void update(ArrayList list) { + elementsTable.clear(); + for (String s : list) { + elementsTable.add(s); + } + if (elementsTable.isEmpty()) { + undo.setEnabled(false); + undo.setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO_DISABLED)); + }else{ + undo.setEnabled(true); + undo.setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_TOOL_UNDO)); + } + viewer.setContentProvider(ArrayContentProvider.getInstance()); + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/InstancesView.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/InstancesView.java new file mode 100644 index 0000000..ca8e6e7 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/InstancesView.java @@ -0,0 +1,264 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.views; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.part.*; + +import com.irtsaintexupery.fiacre.simulator.perspective.model.TreeObject; +import com.irtsaintexupery.fiacre.simulator.perspective.model.TreeParent; +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; + +import org.eclipse.jface.viewers.*; +import org.eclipse.swt.graphics.Image; + +import java.util.ArrayList; + +import org.eclipse.jface.action.*; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.ui.*; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.SWT; + +public class InstancesView extends ViewPart { + + /** + * The ID of the view as specified by the extension. + */ + public static final String ID = "com.irtsaintexupery.fiacre.simulator" + + ".perspective.instancesView"; + + private TreeViewer viewer; + private DrillDownAdapter drillDownAdapter; + private Action doubleClickAction; + private Action oneClickAction; + private TreeObject instanceTree; + + + + class ViewContentProvider implements ITreeContentProvider { + @Override + public void dispose() { + // TODO Auto-generated method stub + + } + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + // TODO Auto-generated method stub + + } + + private TreeParent invisibleRoot; + + public Object[] getElements(Object parent) { + if (parent.equals(getViewSite())) { + if (invisibleRoot==null) initialize(); + return getChildren(invisibleRoot); + } + return getChildren(parent); + } + public Object getParent(Object child) { + if (child instanceof TreeObject) { + return ((TreeObject)child).getParent(); + } + return null; + } + public Object [] getChildren(Object parent) { + if (parent instanceof TreeParent) { + return ((TreeParent)parent).getChildren(); + } + return new Object[0]; + } + public boolean hasChildren(Object parent) { + if (parent instanceof TreeParent) + return ((TreeParent)parent).hasChildren(); + return false; + } + + public void initialize() { + invisibleRoot = (TreeParent) instanceTree; + } + + + } + + class ViewLabelProvider extends ColumnLabelProvider { + @Override + public String getText(Object obj) { + return obj.toString(); + + } + @Override + public Image getImage(Object obj) { + String imageKey = ISharedImages.IMG_OBJ_ELEMENT; + if (obj instanceof TreeParent) + if (((TreeParent) obj).getName().equals("")) { + imageKey = ISharedImages.IMG_TOOL_UP_DISABLED; + }else { + imageKey = ISharedImages.IMG_TOOL_UP; + } + return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey); + } + + @Override + public String getToolTipText(Object obj) { + return ViewsController.INSTANCE.returnFlatName((TreeObject) obj); + } + + @Override + public int getToolTipDisplayDelayTime(Object object) { + return 0; + } + + @Override + public int getToolTipTimeDisplayed(Object object) { + return 5000; + } + + + } + +/** + * The constructor. + */ + public InstancesView() { + } + + /** + * This is a callback that will allow us + * to create the viewer and initialize it. + */ + public void createPartControl(Composite parent) { + + //create the content + viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + drillDownAdapter = new DrillDownAdapter(viewer); + + viewer.setContentProvider(new ViewContentProvider()); + + ColumnViewerToolTipSupport.enableFor(viewer); + + viewer.setInput(getViewSite()); + viewer.setLabelProvider(new ViewLabelProvider()); + + viewer.expandAll(); + + // Create the help context id for the viewer's control + PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), + "viewDemo2.viewer"); + getSite().setSelectionProvider(viewer); + makeActions(); + hookContextMenu(); + hookDoubleClickAction(); + hookOneClickAction(); + contributeToActionBars(); + } + + private void hookContextMenu() { + MenuManager menuMgr = new MenuManager("#PopupMenu"); + menuMgr.setRemoveAllWhenShown(true); + menuMgr.addMenuListener(new IMenuListener() { + public void menuAboutToShow(IMenuManager manager) { + } + }); + Menu menu = menuMgr.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(menuMgr, viewer); + } + + private void contributeToActionBars() { + IActionBars bars = getViewSite().getActionBars(); + } + + private void makeActions() { + + doubleClickAction = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + //showMessage("Double-click detected on "+obj.toString()); + if (!selection.isEmpty()) { + ViewsController.INSTANCE.showInstanceSelected((TreeObject)obj); + } + } + }; + + oneClickAction = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + if (selection != null & selection instanceof IStructuredSelection + && obj != null) { + ViewsController.INSTANCE.showValuesView((TreeObject)obj); + } + } + }; + } + + private void hookDoubleClickAction() { + viewer.addDoubleClickListener(new IDoubleClickListener() { + public void doubleClick(DoubleClickEvent event) { + doubleClickAction.run(); + } + }); + } + + private void hookOneClickAction() { + viewer.addSelectionChangedListener(new ISelectionChangedListener() { + + @Override + public void selectionChanged(SelectionChangedEvent event) { + oneClickAction.run(); + } + }); + } + + private void showMessage(String message) { + MessageDialog.openInformation( + viewer.getControl().getShell(), + "Instances View", + message); + } + + /** + * Passing the focus request to the viewer's control. + */ + public void setFocus() { + viewer.getControl().setFocus(); + } + + + public void update(TreeObject rood) { + instanceTree = rood; + viewer.setContentProvider(new ViewContentProvider()); + viewer.setInput(getViewSite()); + viewer.setLabelProvider(new ViewLabelProvider()); + + viewer.expandAll(); + } + + public void selectInstanceObject(TreeObject obj) { + viewer.setSelection(new StructuredSelection(obj), true); + } + + public void selectInstanceObject(ArrayList instanceList) { + + TreeObject[] array = new TreeObject[instanceList.size()]; + for (int i = 0; i < instanceList.size(); i++) { + array[i] = instanceList.get(i); + } + viewer.setSelection(new StructuredSelection(array), true); + } + + +} + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/SavedStatesView.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/SavedStatesView.java new file mode 100644 index 0000000..e6eac5e --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/SavedStatesView.java @@ -0,0 +1,286 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.views; + +import java.util.ArrayList; +import java.util.Vector; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.TitleAreaDialog; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ArrayContentProvider; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ITableLabelProvider; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Dialog; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; +import com.irtsaintexupery.fiacre.simulator.perspective.views.ExecutedActionView.ViewLabelProvider; + +public class SavedStatesView extends ViewPart { + + public static final String ID = "com.irtsaintexupery.fiacre.simulator" + + ".perspective.SavedStatesView"; + + private TableViewer viewer; + private Action save; + private Action goTo; + private Action delete; + + private Vector elementsTable = new Vector (); + + class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { + public String getColumnText(Object obj, int index) { + return getText(obj); + } + public Image getColumnImage(Object obj, int index) { + return getImage(obj); + } + public Image getImage(Object obj) { + return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages + .IMG_OPEN_MARKER); + + } + } + /** + * The constructor. + */ + public SavedStatesView() { + // TODO Auto-generated constructor stub + } + + @Override + public void createPartControl(Composite parent) { + viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + + viewer.setContentProvider(ArrayContentProvider.getInstance()); + //TODO add elements to the table + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + + // Create the help context id for the viewer's control + PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), + "ExecutedActionView.viewer"); + getSite().setSelectionProvider(viewer); + makeActions(); + contributeToActionBars(); + save.setEnabled(false); + goTo.setEnabled(false); + delete.setEnabled(false); + + } + + private void contributeToActionBars() { + IActionBars bars = getViewSite().getActionBars(); + fillLocalPullDown(bars.getMenuManager()); + fillLocalToolBar(bars.getToolBarManager()); + } + + private void fillLocalPullDown(IMenuManager manager) { + manager.add(new Separator()); + manager.add(save); + manager.add(new Separator()); + manager.add(goTo); + manager.add(new Separator()); + manager.add(delete); + + } + + private void fillLocalToolBar(IToolBarManager manager) { + manager.add(save); + manager.add(goTo); + manager.add(delete); + } + + private void makeActions() { + + save = new Action() { + public void run() { + SaveStateDialog dialog = new SaveStateDialog(viewer.getControl().getShell()); + dialog.create(); + if (dialog.open() == Window.OK) { + elementsTable.add(dialog.getTag()); + ViewsController.INSTANCE.addStateToMap(dialog.getTag()); + } + } + }; + save.setText("Save"); + save.setToolTipText("Save"); + ImageDescriptor imageDescriptorSave = AbstractUIPlugin + .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" + + ".simulator", "/icons/brick_add.png" ); + save.setImageDescriptor(imageDescriptorSave); + + goTo = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + if (!selection.isEmpty()) { + if (selection != null && selection instanceof IStructuredSelection) { + ViewsController.INSTANCE.goToState(obj.toString()); + } + } + } + }; + goTo.setText("GoTo"); + goTo.setToolTipText("GoTo"); + ImageDescriptor imageDescriptorGoTo = AbstractUIPlugin + .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" + + ".simulator", "/icons/brick_go.png" ); + goTo.setImageDescriptor(imageDescriptorGoTo); + + delete = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + if (!selection.isEmpty()) { + if (selection != null && selection instanceof IStructuredSelection) { + ViewsController.INSTANCE.deleteState(obj.toString()); + } + } + } + }; + delete.setText("Delete"); + delete.setToolTipText("Delete"); + ImageDescriptor imageDescriptorDelete = AbstractUIPlugin + .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" + + ".simulator", "/icons/brick_delete.png" ); + delete.setImageDescriptor(imageDescriptorDelete); + + } + + private void showMessage(String message) { + MessageDialog.openInformation( + viewer.getControl().getShell(), + "Executed Action View", + message); + } + + @Override + public void setFocus() { + viewer.getControl().setFocus(); + + } + + + public class SaveStateDialog extends TitleAreaDialog { + private Text tagLabel; + private String tag; + + public SaveStateDialog(Shell parentShell) { + super(parentShell); + // TODO Auto-generated constructor stub + } + + @Override + public void create() { + super.create(); + setTitle("Save state"); + setMessage("write a identifier Tag to current state", IMessageProvider.INFORMATION); + } + + @Override + protected Control createDialogArea(Composite parent) { + Composite area = (Composite) super.createDialogArea(parent); + Composite container = new Composite(area, SWT.NONE); + container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + GridLayout layout = new GridLayout(2, false); + container.setLayout(layout); + + createTagLabel(container); + + return area; + } + + private void createTagLabel(Composite container) { + Label lbtFirstName = new Label(container, SWT.NONE); + lbtFirstName.setText("State Tag"); + + GridData dataFirstName = new GridData(); + dataFirstName.grabExcessHorizontalSpace = true; + dataFirstName.horizontalAlignment = GridData.FILL; + + tagLabel = new Text(container, SWT.BORDER); + tagLabel.setLayoutData(dataFirstName); + } + + + @Override + protected boolean isResizable() { + return true; + } + + // save content of the Text fields because they get disposed + // as soon as the Dialog closes + private void saveInput() { + tag = tagLabel.getText(); + + } + + @Override + protected void okPressed() { + saveInput(); + super.okPressed(); + } + + public String getTag() { + return tag; + } + } + + public void update(ArrayList list) { + elementsTable.clear(); + for (String s : list) { + elementsTable.add(s); + } + if(ViewsController.INSTANCE.getFile() != null){ + save.setEnabled(true); + goTo.setEnabled(true); + delete.setEnabled(true); + }else { + save.setEnabled(false); + goTo.setEnabled(false); + delete.setEnabled(false); + } + viewer.setContentProvider(ArrayContentProvider.getInstance()); + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + } + +} \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/TransitionsView.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/TransitionsView.java new file mode 100644 index 0000000..b8fc099 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/TransitionsView.java @@ -0,0 +1,260 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.views; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.part.*; +import org.eclipse.jface.viewers.*; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.graphics.Image; + +import java.util.ArrayList; +import java.util.Vector; + +import org.apache.thrift.TException; +import org.eclipse.jface.action.*; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.*; +import org.eclipse.ui.handlers.HandlerUtil; +import org.eclipse.swt.SWT; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +import com.irtsaintexupery.fiacre.simulator.core.DelayEvent; +import com.irtsaintexupery.fiacre.simulator.core.FiacreSimulator; +import com.irtsaintexupery.fiacre.simulator.core.ReadDelay; +import com.irtsaintexupery.fiacre.simulator.core.Utils; +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; +import com.irtsaintexupery.fiacre.simulator.staticjson.extractor.DynamicJsonExtractor; + +import fr.laas.libtts.LibTTS; +import tts.Error; +import tts.InvalidDelay; +import tts.StateNotFound; + + + +public class TransitionsView extends ViewPart { + + public static final String ID = "com.irtsaintexupery.fiacre.simulator" + + ".perspective.transitionsView"; + + private TableViewer viewer; + private Action doubleClickAction; + private Action oneClickAction; + private Action delay; + + private Vector elementsTable = new Vector (); + + class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { + public String getColumnText(Object obj, int index) { + return getText(obj); + } + public Image getColumnImage(Object obj, int index) { + return getImage(obj); + } + public Image getImage(Object obj) { + if (ViewsController.INSTANCE.isFireable(getText(obj))) { + return PlatformUI.getWorkbench().getSharedImages() + .getImage(ISharedImages.IMG_OBJ_ADD); + }else { + return PlatformUI.getWorkbench().getSharedImages() + .getImage(ISharedImages.IMG_ELCL_STOP); + } + } + } + /** + * The constructor. + */ + public TransitionsView() { + // TODO Auto-generated constructor stub + } + + @Override + public void createPartControl(Composite parent) { + viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); + + viewer.setContentProvider(ArrayContentProvider.getInstance()); + //TODO add elements to the table + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + + // Create the help context id for the viewer's control + PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(), + "TransitionView.viewer"); + getSite().setSelectionProvider(viewer); + makeActions(); + hookDoubleClickAction(); + hookOneClickAction(); + contributeToActionBars(); + delay.setEnabled(false); + + } + + private void contributeToActionBars() { + IActionBars bars = getViewSite().getActionBars(); + fillLocalPullDown(bars.getMenuManager()); + fillLocalToolBar(bars.getToolBarManager()); + } + + private void fillLocalPullDown(IMenuManager manager) { + manager.add(new Separator()); + manager.add(delay); + } + + private void fillLocalToolBar(IToolBarManager manager) { + manager.add(delay); + } + + + private void makeActions() { + + doubleClickAction = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + //showMessage("Double-click fire on "+obj.toString()); + if (!selection.isEmpty()) { + if (selection != null && selection instanceof IStructuredSelection + && ViewsController.INSTANCE.isFireable(obj.toString()) + ) { + ViewsController.INSTANCE.fireTransition(obj.toString()); + } + } + } + }; + + oneClickAction = new Action() { + public void run() { + ISelection selection = viewer.getSelection(); + Object obj = ((IStructuredSelection)selection).getFirstElement(); + if (selection != null & selection instanceof IStructuredSelection + && obj != null) { + ViewsController.INSTANCE.showSelectedTransition(obj + .toString()); + } + } + }; + + delay = new Action() { + public void run() { + ///////////////DELAY + delay(); + } + }; + delay.setText("delay"); + delay.setToolTipText("Delay"); + ImageDescriptor imageDescriptordelay = AbstractUIPlugin + .imageDescriptorFromPlugin( "com.irtsaintexupery.fiacre" + + ".simulator", "/icons/time_add.png" ); + + delay.setImageDescriptor(imageDescriptordelay); + } + + private void hookDoubleClickAction() { + viewer.addDoubleClickListener(new IDoubleClickListener() { + public void doubleClick(DoubleClickEvent event) { + doubleClickAction.run(); + } + }); + } + + private void hookOneClickAction() { + viewer.addSelectionChangedListener(new ISelectionChangedListener() { + @Override + public void selectionChanged(SelectionChangedEvent event) { + oneClickAction.run(); + } + }); + } + + private void showMessage(String message) { + MessageDialog.openInformation( + viewer.getControl().getShell(), + "Transition View", + message); + } + + @Override + public void setFocus() { + viewer.getControl().setFocus(); + + } + + public void update(ArrayList list) { + delay.setEnabled(true); + elementsTable.clear(); + for (String s : list) { + elementsTable.add(s); + } + viewer.setContentProvider(ArrayContentProvider.getInstance()); + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + } + + public void clearContent() { + elementsTable.clear(); + delay.setEnabled(false); + viewer.setContentProvider(ArrayContentProvider.getInstance()); + viewer.setInput(elementsTable); + viewer.setLabelProvider(new ViewLabelProvider()); + } + + //Jorge Gutierrez 22/08/2016 + public void delay(){ + Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() + .getActivePage().getActivePart().getSite().getShell(); + ReadDelay dialog = new ReadDelay(shell); + dialog.create(); + if (dialog.open() == Window.OK) { + dialog.getValue(); + LibTTS libtts = FiacreSimulator.getLibTTS(); + DynamicJsonExtractor dje = FiacreSimulator.sendDje(); + try { + libtts.getTTSSimulator().delay(dialog.getValue()); + dje.extractExecutableStatements(); + + + //Jorge Gutierrez 03/08/2016 + ViewsController.INSTANCE.updateTransitionView(); + ViewsController.INSTANCE.addDelayToAction(dialog.getValue()); + ViewsController.INSTANCE.updateExecutedActionView(); + + dje.saveInstanceResource(); + } catch (Error e) { + // TODO Auto-generated catch block + Utils.showException("Error",e); + //e.printStackTrace(); + } catch (StateNotFound e) { + // TODO Auto-generated catch block + Utils.showException("StateNotFound",e); + //e.printStackTrace(); + } catch (InvalidDelay e) { + // TODO Auto-generated catch block + Utils.showException("InvalidDelay",e); + //e.printStackTrace(); + } catch (TException e) { + // TODO Auto-generated catch block + Utils.showException("TException",e); + //e.printStackTrace(); + } catch (NumberFormatException e) { + // TODO Auto-generated catch block + Utils.showException("NumberFormatException: "+dialog.getValue()+" is not numeric value",e); + //e.printStackTrace(); + } + } + } +} + diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ValuesView.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ValuesView.java new file mode 100644 index 0000000..6826e14 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/perspective/views/ValuesView.java @@ -0,0 +1,139 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.perspective.views; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.part.*; + +import com.irtsaintexupery.fiacre.simulator.perspective.model.ValuesData; +import com.irtsaintexupery.fiacre.simulator.perspective.model.ValuesDataProvider; + +import org.eclipse.jface.viewers.*; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; + +import java.util.ArrayList; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.jface.action.*; +import org.eclipse.ui.*; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.SWT; + + +public class ValuesView extends ViewPart { + public static final String ID = "com.irtsaintexupery.fiacre.simulator" + + ".perspective.valuesView"; + + private TableViewer viewer; + private Action doubleClickAction; + + + + class ViewLabelProvider extends LabelProvider implements ITableLabelProvider { + public String getColumnText(Object obj, int index) { + return getText(obj); + } + public Image getColumnImage(Object obj, int index) { + return getImage(obj); + } + public Image getImage(Object obj) { + return PlatformUI.getWorkbench().getSharedImages() + .getImage(ISharedImages.IMG_OBJ_ELEMENT); + } + } + /** + * The constructor. + */ + public ValuesView() { + // TODO Auto-generated constructor stub + } + + @Override + public void createPartControl(Composite parent) { + viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL + | SWT.FULL_SELECTION | SWT.BORDER); + createTable(parent); + final Table table = viewer.getTable(); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + viewer.setContentProvider(new ArrayContentProvider()); + // get the content for the viewer, setInput will call getElements in the + // contentProvider + viewer.setInput(ValuesDataProvider.INSTANCE.getData()); + // make the selection available to other views + getSite().setSelectionProvider(viewer); + // set the sorter for the table + + // define layout for the viewer + GridData gridData = new GridData(); + gridData.verticalAlignment = GridData.FILL; + gridData.horizontalSpan = 2; + gridData.grabExcessHorizontalSpace = true; + gridData.grabExcessVerticalSpace = true; + gridData.horizontalAlignment = GridData.FILL; + viewer.getControl().setLayoutData(gridData); + + } + + @Override + public void setFocus() { + viewer.getControl().setFocus(); + + } + + private void createTable(Composite parent){ + String[] titles = { "Name", "Current Value" }; + int[] bounds = { 100, 100 }; + + // Name + TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0); + col.setLabelProvider(new ColumnLabelProvider() { + @Override + public String getText(Object element) { + ValuesData e = (ValuesData)element; + return e.getName(); + } + }); + + // Current Value + col = createTableViewerColumn(titles[1], bounds[1], 1); + col.setLabelProvider(new ColumnLabelProvider() { + @Override + public String getText(Object element) { + ValuesData e = (ValuesData)element; + return ""+e.getCurrent(); + } + }); + + } + + private TableViewerColumn createTableViewerColumn(String title, int bound, + final int colNumber) { + final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, + SWT.NONE); + final TableColumn column = viewerColumn.getColumn(); + column.setText(title); + column.setWidth(bound); + column.setResizable(true); + column.setMoveable(true); + return viewerColumn; + } + + public void update() { + viewer.setInput(ValuesDataProvider.INSTANCE.getData()); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/FiacreSimulationAction.java b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/FiacreSimulationAction.java new file mode 100644 index 0000000..f3a5518 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/FiacreSimulationAction.java @@ -0,0 +1,86 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.popup.actions; + +import java.lang.reflect.InvocationTargetException; + +import org.eclipse.core.resources.IFile; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IActionDelegate; +import org.eclipse.ui.IObjectActionDelegate; +import org.eclipse.ui.IWorkbenchPart; + +import com.irtsaintexupery.fiacre.simulator.core.FiacreSimulator; +import com.irtsaintexupery.fiacre.simulator.perspective.ViewsController; + + +public class FiacreSimulationAction implements IObjectActionDelegate { + + private Shell shell; + // added selection attribute + private ISelection selection; + + /** + * Constructor for Action1. + */ + public FiacreSimulationAction() { + super(); + //toto + } + + /** + * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) + */ + public void setActivePart(IAction action, IWorkbenchPart targetPart) { + shell = targetPart.getSite().getShell(); + } + + /** + * @see IActionDelegate#run(IAction) + */ + public void run(IAction action) { + // charger le fichier .fcr + + //Jorge Gutierrez 12/08/2016 + try { + ViewsController.INSTANCE.launchFeedBack(); + } catch (InvocationTargetException | InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + IFile file = getFile(); + + FiacreSimulator simfcr = new FiacreSimulator(file); + + } + + // added getFile() method + private IFile getFile() { + return (IFile) ((IStructuredSelection) selection).getFirstElement(); + } + + /** + * @see IActionDelegate#selectionChanged(IAction, ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + // Don't forget this line. + // It is the most important line. + this.selection = selection; + } + + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/old.txt b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/old.txt new file mode 100644 index 0000000..01cb5ac --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/popup/actions/old.txt @@ -0,0 +1,247 @@ +package com.irt.ingequip.fiacre.simulator.popup.actions; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +import org.eclipse.core.resources.IFile; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.text.BadLocationException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IObjectActionDelegate; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.resource.EObjectAtOffsetHelper; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.ui.editor.IURIEditorOpener; +import org.eclipse.xtext.ui.editor.XtextEditor; +import org.eclipse.xtext.ui.editor.model.XtextDocument; +import org.eclipse.xtext.ui.editor.utils.EditorUtils; +import org.eclipse.xtext.ui.resource.XtextResourceSetProvider; +//import org.xtext.example.mydsl.ui.internal.MyDslActivator; +import org.eclipse.xtext.util.TextRegion; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator.StateAccess; +import org.eclipse.xtext.validation.ValidationMessageAcceptor; + +import com.google.inject.Injector; + +import fr.irit.fiacre.xtext.fiacre.BlockStatement; +import fr.irit.fiacre.xtext.fiacre.CaseStatement; +import fr.irit.fiacre.xtext.fiacre.ConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.ForeachStatement; +import fr.irit.fiacre.xtext.fiacre.SelectStatement; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.StatementChoice; +import fr.irit.fiacre.xtext.fiacre.StatementSequence; +import fr.irit.fiacre.xtext.fiacre.UnlessStatement; +import fr.irit.fiacre.xtext.fiacre.WhileStatement; +import fr.irit.fiacre.xtext.ui.internal.FiacreActivator; +import fr.irit.fiacre.xtext.validation.FiacreValidator; + +public class Simulate implements IObjectActionDelegate { + + private Shell shell; + // added selection attribute + private ISelection selection; + + /** + * Constructor for Action1. + */ + public Simulate() { + super(); + } + + /** + * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) + */ + public void setActivePart(IAction action, IWorkbenchPart targetPart) { + shell = targetPart.getSite().getShell(); + } + + /** + * @see IActionDelegate#run(IAction) + */ + public void run(IAction action) { + IFile file = getFile(); + Injector injector = FiacreActivator.getInstance().getInjector("fr.irit.fiacre.xtext.Fiacre"); + XtextResourceSetProvider provider = injector.getInstance(XtextResourceSetProvider.class); + ResourceSet resourceSet = provider.get(file.getProject()); + + URI xtextURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true); + + XtextResource xtextResource = (XtextResource) resourceSet.getResource(xtextURI, true); + + System.out.println("resource" + xtextResource); + + IURIEditorOpener editorOpener = injector.getInstance(IURIEditorOpener.class); + final XtextEditor xtextEditor = (XtextEditor) editorOpener.open(xtextURI, true); + System.out.println("editor 2" + xtextEditor); + XtextDocument xtextDocument = (XtextDocument) xtextEditor.getDocument(); + System.out.println("document " + xtextDocument); + for (int i = 0; i < xtextDocument.getNumberOfLines(); i++) { + try { + System.out.println("getLineLength " + i + " " + xtextDocument.getLineLength(i)); + System.out.println("getLineOffset " + i + " " + xtextDocument.getLineOffset(i)); + } catch (BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + EObjectAtOffsetHelper eObjectAtOffsetHelper = injector.getInstance(EObjectAtOffsetHelper.class); + for (int i = 0; i < xtextDocument.getLength(); i++) { + try { + EObject object = eObjectAtOffsetHelper.resolveElementAt(xtextResource, i); + EObject object2 = eObjectAtOffsetHelper.resolveContainedElementAt(xtextResource, i); + EObject object3 = eObjectAtOffsetHelper.resolveCrossReferencedElementAt(xtextResource, i); + INode object4 = eObjectAtOffsetHelper.getCrossReferenceNode(xtextResource, new TextRegion(i, 1)); + + int line = xtextDocument.getLineOfOffset(i); + int column = (i - xtextDocument.getLineOffset(xtextDocument.getLineOfOffset(i))); + + System.out.println("----- "); + System.out.print("o " + i); + System.out.print(" (l " + line + " "); + System.out.print("c " + column + ") "); + System.out.print("(el = " + (line + 1) + ", "); + System.out.print("ec = " + (column + 1) + ") "); + System.out.println("calculated offset " + getOffset(xtextDocument, line , column)); + System.out.println("object " + object); + System.out.println("cross " + object3); + System.out.println("contained " + object2); + System.out.println("containerStatement " + getStatement(object2)); + System.out.println("object4 " + object4); + + } catch (BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + FiacreValidator validator = injector.getInstance(FiacreValidator.class); + System.out.println("validator " + validator); + System.out.println("getmsgacceptor " + validator.getMessageAcceptor() + this); + +// StateAccess access = new StateAccess((AbstractDeclarativeValidator) validator.getMessageAcceptor()); +// validator.getMessageAcceptor().acceptError("Assigning any value not allowed in a function ",eObjectAtOffsetHelper.resolveElementAt(xtextResource, 14773),null,ValidationMessageAcceptor.INSIGNIFICANT_INDEX, null); +// validator.state.get().hasErrors = true; + // try { + // BufferedReader bufferRead = new BufferedReader(new + // InputStreamReader(System.in)); + // String s = bufferRead.readLine(); + // int x = Integer.parseInt(s); + // String r = bufferRead.readLine(); + // int y = Integer.parseInt(r); + // + // //EObjectAtOffsetHelper eObjectAtOffsetHelper = new + // EObjectAtOffsetHelper(); + // EObject object3 = + // eObjectAtOffsetHelper.resolveElementAt(xtextResource, + // getOffset(xtextDocument, x, y)); + // System.out.println("object3 " + object3); + // try { + // System.out.println("line of offset " + + // xtextDocument.getLineOfOffset(getOffset(xtextDocument, x, y))); + // } catch (BadLocationException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + // + // + // } catch (IOException e) { + // e.printStackTrace(); + // } + } + + // added getFile() method + private IFile getFile() { + return (IFile) ((IStructuredSelection) selection).getFirstElement(); + } + + /** + * @see IActionDelegate#selectionChanged(IAction, ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + // Don't forget this line. + // It is the most important line. + this.selection = selection; + } + + public int getOffset(XtextDocument xtextDocument, int x, int y) { + int offset = 0; + + for (int i = 0; i < x; i++) { + try { + offset += xtextDocument.getLineLength(i); + } catch (BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + offset += y; + System.out.println("offset" + offset); + return offset; + + } + + public EObject eContainer(EObject root, Class type) { + EObject current = root; + while (current != null) { + if (type.isInstance(current)) { + return current; + } else { + current = current.eContainer(); + } + } + return null; + } + + public EObject eContainerStatement(EObject root) { + EObject current = root; + while (current != null) { + if (StatementSequence.class.isInstance(current.eContainer())) { + return current; + } else { + current = current.eContainer(); + } + } + return null; + } + + public EObject getStatement(EObject root) { + EObject current = root; + while (current != null) { + if (!(isAtomicStatement(current.eContainer()))) { + return current; + } else { + current = current.eContainer(); + } + } + return null; + } + + public boolean isAtomicStatement(EObject root) { + if (eContainer(root, Statement.class) != null) { + if (UnlessStatement.class.isInstance(root) || StatementChoice.class.isInstance(root) + || StatementSequence.class.isInstance(root) || ConditionalStatement.class.isInstance(root) + || ExtendedConditionalStatement.class.isInstance(root) || SelectStatement.class.isInstance(root) + || WhileStatement.class.isInstance(root) || ForeachStatement.class.isInstance(root) + || CaseStatement.class.isInstance(root) || BlockStatement.class.isInstance(root) + ) { + return false; + } else { + return true; + } + + } else { + return false; + } + + } + +} diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/DynamicJsonExtractor.xtend b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/DynamicJsonExtractor.xtend new file mode 100644 index 0000000..3080fce --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/DynamicJsonExtractor.xtend @@ -0,0 +1,878 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.staticjson.extractor + +import com.google.inject.Injector +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.EnabledStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutableStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ExecutedStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.FireableStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceEnabledStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutableStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceExecutedStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceFireableStatementBlock +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance +import com.irtsaintexupery.fiacre.simulator.core.Utils +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep +import fr.irit.fiacre.xtext.fiacre.ArrayExpression +import fr.irit.fiacre.xtext.fiacre.ArrayType +import fr.irit.fiacre.xtext.fiacre.BasicType +import fr.irit.fiacre.xtext.fiacre.BlockStatement +import fr.irit.fiacre.xtext.fiacre.CaseStatement +import fr.irit.fiacre.xtext.fiacre.ConditionalStatement +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression +import fr.irit.fiacre.xtext.fiacre.Expression +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement +import fr.irit.fiacre.xtext.fiacre.FalseLiteral +import fr.irit.fiacre.xtext.fiacre.FieldExpression +import fr.irit.fiacre.xtext.fiacre.ForeachStatement +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern +import fr.irit.fiacre.xtext.fiacre.Model +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral +import fr.irit.fiacre.xtext.fiacre.PortDeclaration +import fr.irit.fiacre.xtext.fiacre.QueueExpression +import fr.irit.fiacre.xtext.fiacre.QueueType +import fr.irit.fiacre.xtext.fiacre.RangeType +import fr.irit.fiacre.xtext.fiacre.ReceiveStatement +import fr.irit.fiacre.xtext.fiacre.RecordExpression +import fr.irit.fiacre.xtext.fiacre.RecordType +import fr.irit.fiacre.xtext.fiacre.ReferencedType +import fr.irit.fiacre.xtext.fiacre.SelectStatement +import fr.irit.fiacre.xtext.fiacre.SendStatement +import fr.irit.fiacre.xtext.fiacre.Statement +import fr.irit.fiacre.xtext.fiacre.StatementChoice +import fr.irit.fiacre.xtext.fiacre.StatementSequence +import fr.irit.fiacre.xtext.fiacre.TransitionSource +import fr.irit.fiacre.xtext.fiacre.TrueLiteral +import fr.irit.fiacre.xtext.fiacre.Type +import fr.irit.fiacre.xtext.fiacre.TypeDeclaration +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration +import fr.irit.fiacre.xtext.fiacre.UnionType +import fr.irit.fiacre.xtext.fiacre.UnlessStatement +import fr.irit.fiacre.xtext.fiacre.ValueExpression +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration +import fr.irit.fiacre.xtext.fiacre.WhileStatement +import fr.irit.fiacre.xtext.ui.internal.XtextActivator +import fr.laas.libtts.TTSSimulator +import java.util.ArrayList +import java.util.HashMap +import java.util.LinkedHashMap +import java.util.Map +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.jface.text.BadLocationException +import org.eclipse.xtext.resource.EObjectAtOffsetHelper +import org.eclipse.xtext.resource.XtextResource +import org.eclipse.xtext.ui.editor.IURIEditorOpener +import org.eclipse.xtext.ui.editor.XtextEditor +import org.eclipse.xtext.ui.editor.model.XtextDocument +import org.json.simple.JSONArray +import org.json.simple.JSONAware +import org.json.simple.JSONObject + +///Jorge Guiterrez 10/08/2016 +class DynamicJsonExtractor{ + var XtextResource fiacreResource + var Resource instanceResource + var Resource mscResource + val TTSSimulator tTSSimulator + var HashMap mapping_blockinstance_jsonelement + var JSONObject fiacreStaticJson + val HashMap> tr_gl_tr_ins = new HashMap>(); + val HashMap> tr_in_stmts = new HashMap>(); + + new(XtextResource _fiacreResource, Resource _instanceResource, TTSSimulator _TTSSimulator, JSONObject _fiacreStaticJson, HashMap _mapping, Resource _mscResource) { + fiacreResource = _fiacreResource + instanceResource = _instanceResource + tTSSimulator = _TTSSimulator + mapping_blockinstance_jsonelement = _mapping + fiacreStaticJson = _fiacreStaticJson + mscResource = _mscResource + extractTransitionsMappings + } + def mscFirstStepExtract(){ + var Step step = Utils.createStep + MSCModel.steps.add(step) + for (pdi: instanceModel.eAllContents.toList.filter(ProcessDeclarationInstance)){ + var EnterStateStep esst = Utils.createEnterStateStep + step.microSteps.add(esst) + esst.stateName = pdi.currentState.name + esst.site = MSCModel.sites.filter[site|site.name == pdi.flatname].get(0) + } + Utils.saveResource(mscResource) + } + def ArrayList getallInstanceTransitionsObjects() { + // Get all Instance transitions from the mapping between block instances and json object + val ArrayList allInstanceTransitions = new ArrayList() + for (element : ( mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].values.map[value|(value as JSONObject).get("transitions")])) { + for (jelement : element as JSONArray) { + allInstanceTransitions.add(jelement as JSONObject) + } + } + allInstanceTransitions + } + + def extractTransitionsMappings() { + val Injector injector = XtextActivator.getInstance().getInjector("fr.irit.fiacre.xtext.Fiacre") + val IURIEditorOpener editorOpener = injector.getInstance(IURIEditorOpener) + val XtextEditor xtextEditor = editorOpener.open(fiacreResource.URI, true) as XtextEditor + val XtextDocument xtextDocument = xtextEditor.document as XtextDocument + val EObjectAtOffsetHelper eObjectAtOffsetHelper = injector.getInstance(EObjectAtOffsetHelper) + // The following code line is just to show what performed inside mappings + /* + * It exists two kinds of transitions + * Global transitions: which can be find in the json model root + * and Instance transitions which can be find in the process instances + * So from global transitions, we must find the instance transitions + * to obtain, after, the locations for each transition + */ + // Get global transitions from the json model + val JSONArray global_transitions = fiacreStaticJson.get("gtransitions") as JSONArray + +// // Get all Instance transitions from the mapping between block instances and json object +// val ArrayList allInstanceTransitions = new ArrayList() +// for (element : ( mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].values.map[value|(value as JSONObject).get("transitions")])) { +// for (jelement : element as JSONArray) { +// allInstanceTransitions.add(jelement as JSONObject) +// } +// } + // for each global transition name (a_global_tr_name) + for (a_global_tr_name : global_transitions.map[agtr|(agtr as JSONObject).get("name")]) { + + // Get the corresponding json object (a_g_tr_jobject) from the global transitions array list + val JSONObject a_g_tr_jobject = global_transitions.filter[gtr|(gtr as JSONObject).get("name") == a_global_tr_name].get(0) as JSONObject + // create an array list of instance transition of the current global transition + val ArrayList in_trs_of_gl = new ArrayList() + + // for each instance transition name, found in the transitions array of the global transition object + for (a_i_tr_name : a_g_tr_jobject.get("transitions") as JSONArray) { + // add the instance name in the array list + in_trs_of_gl.add(a_i_tr_name as String) + // Get the instance transition object (a_i_tr_jobject) + val JSONObject a_i_tr_jobject = getallInstanceTransitionsObjects.filter[aatr|(aatr as JSONObject).get("name") == a_i_tr_name].get(0) + + // Get the Process Declaration Instance that contains the instance transition object (a_i_tr_jobject) + // just to print it and verify + // val c_pdi = mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter[p1, p2|((p2 as JSONObject).get("transitions") as JSONArray).contains(a_i_tr_jobject)].keySet.get(0); + // Get locations of each instance transition + // statements_ins_tr allows to save an eobject (an atomic statement or a transition source) + // with its first position + // for example fr.irit.fiacre.xtext.fiacre.impl.TransitionSourceImpl@53c7c937 = 325 3 + val LinkedHashMap statements_ins_tr = new LinkedHashMap() + + // for each identified location in the locations table of an instance transition + for (a_location_jsonobject : (a_i_tr_jobject as JSONObject).get("locations") as JSONArray) { + // we find the from location + val JSONObject from_location = (a_location_jsonobject as JSONObject).get("from") as JSONObject + val long line_from = from_location.get("line") as Long + val long char_from = from_location.get("char") as Long + // we calculate the from offset + val int offset_from = xtextDocument.getOffset(line_from.intValue, char_from.intValue) + + // we find the to location + val JSONObject to_location = (a_location_jsonobject as JSONObject).get("to") as JSONObject + val long line_to = to_location.get("line") as Long + val long char_to = to_location.get("char") as Long + // we calculate the to offset + val int offset_to = xtextDocument.getOffset(line_to.intValue, char_to.intValue) + // from to from offset to the to offset + for (var int i = offset_from; i <= offset_to; i++) { + // we calculate the line column position from the offset + val int line = xtextDocument.getLineOfOffset(i) + val int column = (i - xtextDocument.getLineOffset(xtextDocument.getLineOfOffset(i))) + + // we find the corresponding statement + val statement = eObjectAtOffsetHelper.resolveContainedElementAt(fiacreResource, i).getStatement + // We insert the statements in the list with its line column location + /* + * We insert only transition source (from) + * or atomic statement + * In addition + */ + if((statement instanceof TransitionSource) + //&& ! statements_ins_tr.keySet.contains(statement) + && statements_ins_tr.keySet.filter(TransitionSource).size == 0 + ) + statements_ins_tr.put(statement, (line + 1) + " " + (column + 1)) + + if(statement.isAtomicStatement) + // TODO à voir l'histoire des to statement et les loop +// if(statement instanceof ToStatement){ +// if(statements_ins_tr.keySet.filter(ToStatement).size == 0) +// statements_ins_tr.put(statement, (line + 1) + " " + (column + 1)) +// } +// else + // if(! statements_ins_tr.keySet.contains(statement)) + statements_ins_tr.put(statement, (line + 1) + " " + (column + 1)) + } + } + tr_in_stmts.put(a_i_tr_name as String, statements_ins_tr) + } + // mapping global transition = instance transitions. en gros, c'est gtransitions de json dynamique + tr_gl_tr_ins.put(a_global_tr_name as String, in_trs_of_gl) + } + } + + def extractValues() { + val HashMap variablesMappings = getVariablesMappings + for (element : Utils.getJsonObject(tTSSimulator.state.getValues).keySet) { + if(variablesMappings.filter[p1, p2|(p1 as JSONObject).get("flatname") == element].size > 0) { + val JSONObject jo = variablesMappings.filter[p1, p2|(p1 as JSONObject).get("flatname") == element].keySet.get(0) + val DeclarationInstance decl = variablesMappings.filter[p1, p2|(p1 as JSONObject).get("flatname") == element].values.get(0) + val Object value = Utils.getJsonObject(tTSSimulator.state.getValues).get(element) + val VariableDeclarationInstance vd_i = decl.variableDeclarationInstances.filter[vdi|vdi.variableDeclaration.name == jo.get("sourcename")].get(0) + val HashMap mapping_jsonType_fiacreType = getJSONTypeFiacreTypeMapping(jo.get("vartype"), (vd_i.variableDeclaration.eContainer as VariablesDeclaration).type) + val HashMap mapping_value_type = getValueTypeMapping(value, jo.get("vartype")) + vd_i.currentValue = (getFiacreValue(value, mapping_value_type, mapping_jsonType_fiacreType) as ValueExpression) + } + } + } + /* + * This method allows to obtain a mapping between jsontype (from "vartype" of a json variable) + * and the fiacre type of this variable. + * It consists to do the optimization on fiacre types, in the ecore side, as done in the json side + * It can contain something like this + * bool = fr.irit.fiacre.xtext.fiacre.impl.BooleanTypeImpl@19569e44 + * {"interval":{"high":3,"low":0}} = fr.irit.fiacre.xtext.fiacre.impl.RangeTypeImpl@3138f7b9 + * {"record":{"val":"bool","active_probes":{"interval":{"high":3,"low":0}}}} = fr.irit.fiacre.xtext.fiacre.impl.RecordTypeImpl@1f72ed22 + */ + def HashMap getJSONTypeFiacreTypeMapping(Object json_type, Type fiacre_type) { + var HashMap mapping_jsonType_fiacreType = new HashMap() + if(fiacre_type instanceof ReferencedType) { + // If it is a referenced type, we get the the type of the referenced type + val referenced_fiacre_type = ((fiacre_type as ReferencedType).type as TypeDeclaration).value + mapping_jsonType_fiacreType.putAll(getJSONTypeFiacreTypeMapping(json_type, referenced_fiacre_type)) + } else { + if(fiacre_type instanceof BasicType) { + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + } else { + if(fiacre_type instanceof RangeType) { + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + } else { + if(fiacre_type instanceof QueueType) { + // get the element type of the queue type, both in json and ecore + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + val queue_json_element_type = ((json_type as JSONObject).get("queue") as JSONObject).get("elemtype") + val queue_fiacre_element_type = (fiacre_type as QueueType).type + mapping_jsonType_fiacreType.putAll(getJSONTypeFiacreTypeMapping(queue_json_element_type, queue_fiacre_element_type)) + } else { + if(fiacre_type instanceof ArrayType) { + // get the element type of the queue type, both in json and ecore + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + val array_json_element_type = ((json_type as JSONObject).get("array") as JSONObject).get("elemtype") + val array_fiacre_element_type = (fiacre_type as ArrayType).type + mapping_jsonType_fiacreType.putAll(getJSONTypeFiacreTypeMapping(array_json_element_type, array_fiacre_element_type)) + } else { + if(fiacre_type instanceof UnionType) { + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + // get only typed union tags exemple: type xx is union toto | titi of int end + // So we get only titi type which is int + for (json_tag : ((json_type as JSONObject).get("union") as JSONObject).entrySet) { + if((json_tag.value as JSONArray).size > 0) { + val tag_fiacre_type = (fiacre_type as UnionType).tags.filter[fs|fs.tags.map[f|f.name].exists[an|an == json_tag.key]].get(0).type + val tag_json_type = (json_tag.value as JSONArray).get(0) + mapping_jsonType_fiacreType.putAll(getJSONTypeFiacreTypeMapping(tag_json_type, tag_fiacre_type)) + } + } + } else { + if(fiacre_type instanceof RecordType) { + mapping_jsonType_fiacreType.put(json_type, fiacre_type) + // get all fields types + for (json_field : ((json_type as JSONObject).get("record") as JSONObject).entrySet) { + val field_json_type = json_field.value + val field_fiacre_type = (fiacre_type as RecordType).fields.filter[fs|fs.fields.map[f|f.name].exists[an|an == json_field.key]].get(0).type + mapping_jsonType_fiacreType.putAll(getJSONTypeFiacreTypeMapping(field_json_type, field_fiacre_type)) + } + } + } + } + + } + } + } + } + mapping_jsonType_fiacreType + } + + def Expression getFiacreValue(Object value, HashMap mapping_value_type, HashMap mapping_jsonType_fiacreType) { + if(value instanceof Long) { + val NaturalLiteral nl = Utils.createNaturalLiteral + nl.value = (value as Long).intValue + nl + } else { + if(value instanceof String) { + if((value as String) == "false" || (value as String) == "true") { + // Fiacre boolean type + if((value as String) == "false") { + val FalseLiteral fl = Utils.createFalseLiteral + fl + } else { + val TrueLiteral tl = Utils.createTrueLiteral + tl + } + } else { + val UnionType union_type = mapping_jsonType_fiacreType.get(mapping_value_type.get(value)) as UnionType + // val TypeDeclaration typ_dec = model.declarations.filter(TypeDeclaration).filter[td|td.name == type_name].get(0) + val UnionTagDeclaration tag = union_type.tags.map[tgs|tgs.tags].flatten.filter[atag|atag.name == value].get(0) + val IdentifierExpression ide = Utils.createIdentifierExpression + ide.declaration = tag + ide + } + } else { + if(value instanceof JSONArray) { + if((mapping_value_type.get(value) as JSONObject).get("array") != null) { + val ArrayExpression eae = Utils.createArrayExpression + for (element : ( value as JSONArray)) { + eae.values.add(getFiacreValue(element, mapping_value_type, mapping_jsonType_fiacreType)) + } + eae + } else { + if((mapping_value_type.get(value) as JSONObject).get("queue") != null) { + val QueueExpression qe = Utils.createQueueExpression + for (element : ( value as JSONArray)) { + qe.values.add(getFiacreValue(element, mapping_value_type, mapping_jsonType_fiacreType)) + } + qe + } + } + } else { + // otherwise JSON Object + if((mapping_value_type.get(value) as JSONObject).get("record") != null) { + val RecordExpression re = Utils.createRecordExpression + // val String type_name = (getFiacreType(mapping_value_type.get(value) as JSONObject) as JSONObject).get("name") as String + val RecordType record_type = mapping_jsonType_fiacreType.get(mapping_value_type.get(value)) as RecordType //getFiacreType(mapping_value_type.get(value) as JSONObject) as RecordType + // val TypeDeclaration typ_dec = model.declarations.filter(TypeDeclaration).filter[td|td.name == type_name].get(0) + for (element : (value as JSONObject).keySet) { + val FieldExpression fie = Utils.createFieldExpression + re.fields.add(fie) + fie.field = record_type.fields.map[fis|fis.fields].flatten.filter[atag|atag.name == element].get(0) + fie.value = getFiacreValue((value as JSONObject).get(element), mapping_value_type, mapping_jsonType_fiacreType) + } + re + } else { + // an union element with constructor + if((mapping_value_type.get(value) as JSONObject).get("union") != null) { + val ConstructionExpression cstre = Utils.createConstructionExpression + val UnionType union_type = mapping_jsonType_fiacreType.get(mapping_value_type.get(value)) as UnionType // model.declarations.filter(TypeDeclaration).filter[td|td.name == type_name].get(0) + val UnionTagDeclaration tag = union_type.tags.map[tgs|tgs.tags].flatten.filter[atag|atag.name == (value as JSONObject).keySet.get(0)].get(0) + cstre.declaration = tag + cstre.parameters.add(getFiacreValue((value as JSONObject).values.get(0), mapping_value_type, mapping_jsonType_fiacreType)) + cstre + } + + } + } + } + } + } + +// def Type getFiacreType(JSONObject type) { +// println("types " + (fiacreStaticJson.get("deftyp") as JSONArray).filter[t|(t as JSONObject).get("tdef").equals(type)]) +// if((fiacreStaticJson.get("deftyp") as JSONArray).filter[t|(t as JSONObject).get("tdef").equals(type)].size == 1) { +// val String type_name = ((fiacreStaticJson.get("deftyp") as JSONArray).filter[t|(t as JSONObject).get("tdef").equals(type)].get(0) as JSONObject).get("name") as String +// val TypeDeclaration typ_dec = model.declarations.filter(TypeDeclaration).filter[td|td.name == type_name].get(0) +// typ_dec.value +// } +// } + + def HashMap getValueTypeMapping(Object value, Object type) { + var HashMap mapping_value_type = new HashMap() + if(value instanceof Long) { + mapping_value_type.put(value as Object, type) + } else { + if(value instanceof String) { + mapping_value_type.put(value as Object, type) + } else { + if(value instanceof JSONArray) { + if((type as JSONObject).get("array") != null) { + mapping_value_type.put(value, type) + val length = (value as JSONArray).size + for (var i = 0; i < length; i++) { + // mapping_value_type.put((value as JSONArray).get(i), ((type as JSONObject).get("array") as JSONObject).get("elemtype")) + mapping_value_type.putAll(getValueTypeMapping((value as JSONArray).get(i), ((type as JSONObject).get("array") as JSONObject).get("elemtype"))) + } + } else { + if((type as JSONObject).get("queue") != null) { + mapping_value_type.put(value, type) + val length = (value as JSONArray).size + for (var i = 0; i < length; i++) { + // mapping_value_type.put((value as JSONArray).get(i), ((type as JSONObject).get("queue") as JSONObject).get("elemtype")) + mapping_value_type.putAll(getValueTypeMapping((value as JSONArray).get(i), ((type as JSONObject).get("queue") as JSONObject).get("elemtype"))) + } + } + } + } else { + // It is a JSONObject so It can be record value or union value + if((type as JSONObject).get("record") != null) { + mapping_value_type.put(value, type) + for (ite : (value as JSONObject).keySet) { + // mapping_value_type.put((value as JSONObject).get(ite), ((type as JSONObject).get("record") as JSONObject).get(ite)) + mapping_value_type.putAll(getValueTypeMapping((value as JSONObject).get(ite), ((type as JSONObject).get("record") as JSONObject).get(ite))) + } + } else { + mapping_value_type.put(value, type) + // mapping_value_type.put((value as JSONObject).values.get(0), ((type as JSONObject).get("union") as JSONObject).get((value as JSONObject).keySet.get(0))) + mapping_value_type.putAll(getValueTypeMapping((value as JSONObject).values.get(0), (((type as JSONObject).get("union") as JSONObject).get((value as JSONObject).keySet.get(0)) as JSONArray).get(0))) + + } + } + } + } + mapping_value_type + } + +// def getType(JSONObject vartype) { +// (fiacreStaticJson.get("deftyp") as JSONArray).filter[atype|((atype as JSONObject).get("tdef") as JSONObject).equals(vartype) == true] +// } + + def HashMap getVariablesMappings() { + /* + * Ce mapping permet d'identifier le couple suivant: + * - une variable sous forme d'un object json + * - La DeclarationInstance correspondante + * Il y a deux sources de redondance à résoudre + * D'abord une variable est instancié dans chacune des instances + * Ceci est resolu à travers la flatname qui contient le numéro d'instance + * Le deuxième niveau de redondance est les paramètres qui portent les mêmes noms + * des variables. Ceci est résolu par le fait de vérifier s'il y a une variable instance qui + * a le même nom dans la declaration instance + */ + var HashMap map_var_job_cdi = new HashMap() + val ArrayList fiacreVariablesAsJsonObjects = new ArrayList + // Get all json objects of vars from the mappings + // TODO why just flatten doesn't work + for (element : ( mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof DeclarationInstance].values.map[value|(value as JSONObject).get("vars")])) { + for (jelement : element as JSONArray) { + fiacreVariablesAsJsonObjects.add(jelement as JSONObject) + } + } + for (json_object_var : fiacreVariablesAsJsonObjects) { + var ArrayList decls = new ArrayList + for (decl : mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof DeclarationInstance].filter[p1, p2|((p2 as JSONObject).get("vars") as JSONArray).contains(json_object_var)]. + keySet) { + decls.add(decl as DeclarationInstance) + } + if(decls.filter[decl|decl.variableDeclarationInstances.map[vdi|vdi.variableDeclaration].exists[v|v.name == json_object_var.get("sourcename")]].size > 0) { + map_var_job_cdi.put(json_object_var, decls.filter[decl|decl.variableDeclarationInstances.map[vdi|vdi.variableDeclaration].exists[v|v.name == json_object_var.get("sourcename")]].get(0)) + } + } + map_var_job_cdi + } + + def extractStates() { + val ArrayList allJsonStates = new ArrayList + + // Get all json variables objects from the mappings + // TODO why just flatten doesn't work + for (element : ( mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].values.map[value|(value as JSONObject).get("states")])) { + for (jelement : element as JSONArray) { + allJsonStates.add(jelement as JSONObject) + } + } + //msc + + + for (place : tTSSimulator.currentPlaces) { + // cette condition permet d'éliminer les états qui ne sont pas dans le modèle Fiacre + // et qui sont ajoutés par le compilateur + if(allJsonStates.filter[a|a.get("flatname") == place].size > 0) { + // json_object_state is the concerned json object corresponding + // to the "place" name + val JSONObject json_object_state = allJsonStates.filter[a|a.get("flatname") == place].get(0) + // we find the c_pdi key whose the "states" json array of the corresponding value element + // contains the json_object_state + val c_pdi = mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter [ p1, p2 | + ((p2 as JSONObject).get("states") as JSONArray).contains(json_object_state) + ].keySet.get(0); + // c_pdi is the concerned process declaration instance where the state must be updated. + // According to the c_pdi and json_object_state, we update the currentState reference of c_pdi + (c_pdi as ProcessDeclarationInstance).currentState = (c_pdi as ProcessDeclarationInstance).process.states.filter[state|state.name == json_object_state.get("sourcename")].get(0) + } + } + } + + def extractExecutedStatements(String executed_tr_name) { + clearAllExecutedStatements + val ExecutedStatementBlock esb = extractExecutedStatementsBlock(executed_tr_name) + // frac compiler adds some intermediate transitions + // that don't exist in the static json description, + // like in mouse_property example (__presentAfter__1_1_t1 transition) + // Therefore for this global transition, it doesn't exist instance transitions + // and the mapping doesn't exist for this transition + // So, using this conditional statement, we eliminate this case + if(tr_gl_tr_ins.filter[p1, p2|p1 == executed_tr_name].values.size > 0) { + // for each instance transition (instance_tr) of the global transition (tr_name) + for (instance_tr : tr_gl_tr_ins.filter[p1, p2|p1 == executed_tr_name].values.get(0)) // add the created instance statement block in the current instanceStatementBlocks + { + esb.instanceStatementBlocks.add(extractInstanceExecutedStatements(instance_tr)) + } + } + //msc + //if it is sychronisation + if(esb.instanceStatementBlocks.map[isb|isb.statements].flatten.exists[s|s instanceof IdentifierPattern && (s as IdentifierPattern).declaration instanceof PortDeclaration]){ + var Step step = Utils.createStep + MSCModel.steps.add(step) + var SynchronisationStep st = Utils.createSynchronisationStep + step.microSteps.add(st) + for (pdi : esb.instanceStatementBlocks.map[isb|isb.eContainer]){ + st.sites.add(MSCModel.sites.filter[site|site.name == (pdi as ProcessDeclarationInstance).flatname].get(0)) + } + // + var Step step2 = Utils.createStep + MSCModel.steps.add(step2) + for (pdi : esb.instanceStatementBlocks.map[isb|isb.eContainer]){ + var EnterStateStep esst = Utils.createEnterStateStep + esst.stateName= (pdi as ProcessDeclarationInstance).currentState.name + esst.site =MSCModel.sites.filter[site|site.name == (pdi as ProcessDeclarationInstance).flatname].get(0) + step2.microSteps.add(esst) + } + } + else{ + if((esb.instanceStatementBlocks.map[isb|isb.statements].flatten.exists[s|s instanceof SendStatement])){ + var Step step = Utils.createStep + MSCModel.steps.add(step) + var SendStep st = Utils.createSendStep + step.microSteps.add(st) + for (ss : esb.instanceStatementBlocks.map[isb|isb.statements].flatten.filter(SendStatement)){ + st.senderSites.add(MSCModel.sites.filter[site|site.name == (esb.instanceStatementBlocks.filter[isb|isb.statements.contains(ss)].get(0).eContainer as ProcessDeclarationInstance).flatname].get(0)) + } + for (ss : esb.instanceStatementBlocks.map[isb|isb.statements].flatten.filter(ReceiveStatement)){ + st.receiverSites.add(MSCModel.sites.filter[site|site.name == (esb.instanceStatementBlocks.filter[isb|isb.statements.contains(ss)].get(0).eContainer as ProcessDeclarationInstance).flatname].get(0)) + } + // + var Step step2 = Utils.createStep + MSCModel.steps.add(step2) + for (pdi : esb.instanceStatementBlocks.map[isb|isb.eContainer]){ + var EnterStateStep esst = Utils.createEnterStateStep + esst.stateName= (pdi as ProcessDeclarationInstance).currentState.name + esst.site =MSCModel.sites.filter[site|site.name == (pdi as ProcessDeclarationInstance).flatname].get(0) + step2.microSteps.add(esst) + } + } + else{ + var Step step = Utils.createStep + MSCModel.steps.add(step) + for (pdi : esb.instanceStatementBlocks.map[isb|isb.eContainer]){ + var EnterStateStep esst= Utils.createEnterStateStep + esst.site = MSCModel.sites.filter[site|site.name == (pdi as ProcessDeclarationInstance).flatname].get(0) + esst.stateName = (pdi as ProcessDeclarationInstance).currentState.name + step.microSteps.add(esst) + } + } + } + Utils.saveResource(mscResource) + } + + def extractInstanceExecutedStatements(String instance_tr_name) { + // gel the instance transition json object whose the name is equal to instance_tr_name + val JSONObject a_i_tr_jobject = getallInstanceTransitionsObjects.filter[aatr|(aatr as JSONObject).get("name") == instance_tr_name].get(0) + // Get the Process Declaration Instance that contains the instance transition object (a_i_tr_jobject) + val ProcessDeclarationInstance c_pdi = mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter [ p1, p2 | + ((p2 as JSONObject).get("transitions") as JSONArray).contains(a_i_tr_jobject) + ].keySet.get(0) as ProcessDeclarationInstance; + // the following if then else allows to forbid duplicate instance statements blocks + // If the process declaration instance contains a block which have the same name + if(c_pdi.instanceStatementBlocks.filter(InstanceExecutedStatementBlock).filter[ifst|ifst.name == instance_tr_name].size > 0) { + // so, return this found block (this block will not be added again because the list doesn't accept duplicates) + c_pdi.instanceStatementBlocks.filter(InstanceExecutedStatementBlock).filter[ifst|ifst.name == instance_tr_name].get(0) + } else { + // there is no block with this name, so create a new block + val InstanceExecutedStatementBlock block = Utils.createInstanceExecutedStatementBlock + block.name = instance_tr_name + // get the LinkedHashMap that contains the statements of this instance transition + for (element : tr_in_stmts.filter[p1, p2|p1 == instance_tr_name].values.get(0).keySet) { + // and for each element + // add it in the appropriate location + if(element instanceof TransitionSource) { + block.transitionSource = element + } else { + block.statements.add(element as Statement) + } + } + c_pdi.instanceStatementBlocks.add(block) + block + } + } + + def clearAllExecutableStatements() { + // delete all executable block statements in the instance model + instanceModel.statementBlocks.removeAll(instanceModel.statementBlocks.filter(ExecutableStatementBlock)) + // delete all instance executable block statements in different process declaration instance + instanceModel.eAllContents.toList.filter(ProcessDeclarationInstance).forEach[pdi|pdi.instanceStatementBlocks.removeAll(pdi.instanceStatementBlocks.filter(InstanceExecutableStatementBlock))] + } + + def clearAllExecutedStatements() { + // delete all executable block statements in the instance model + instanceModel.statementBlocks.removeAll(instanceModel.statementBlocks.filter(ExecutedStatementBlock)) + // delete all instance executable block statements in different process declaration instance + instanceModel.eAllContents.toList.filter(ProcessDeclarationInstance).forEach[pdi|pdi.instanceStatementBlocks.removeAll(pdi.instanceStatementBlocks.filter(InstanceExecutedStatementBlock))] + } + + def ExecutedStatementBlock extractExecutedStatementsBlock(String transition_name) { + val ExecutedStatementBlock esb = Utils.createExecutedStatementBlock + esb.name = transition_name + instanceModel.statementBlocks.add(esb) + esb + } + + def extractExecutableStatements() { + clearAllExecutableStatements + // this for statement allows to iterate in a map + for (Map.Entry entry : tTSSimulator.enabledTransitions.entrySet()) { + val String tr_name = entry.getKey() + val String tr_interval = entry.getValue() + // for each (tr_name, tr_interval), we create an EnabledStatementBlock + val EnabledStatementBlock esb = extractEnabledStatements(tr_name, tr_interval) + // frac compiler adds some intermediate transitions + // that don't exist in the static json description, + // like in mouse_property example (__presentAfter__1_1_t1 transition) + // Therefore for this global transition, it doesn't exist instance transitions + // and the mapping doesn't exist for this transition + // So, using this conditional statement, we eliminate this case + if(tr_gl_tr_ins.filter[p1, p2|p1 == tr_name].values.size > 0) { + // for each instance transition (instance_tr) of the global transition (tr_name) + for (instance_tr : tr_gl_tr_ins.filter[p1, p2|p1 == tr_name].values.get(0)) { + // add the created instance statement block in the current instanceStatementBlocks + esb.instanceStatementBlocks.add(extractInstanceEnabledStatements(instance_tr)) + } + } + } + // Idem for fireable + for (Map.Entry entry : tTSSimulator.fireableTransitions.entrySet()) { + val String tr_name = entry.getKey() + val String tr_interval = entry.getValue() + val FireableStatementBlock fsb = extractFireableStatements(tr_name, tr_interval) + // frac compiler adds some intermediate transitions + // that don't exist in the static json description, + // like in mouse_property example (__presentAfter__1_1_t1 transition) + // Therefore for this global transition, it doesn't exist instance transitions + // and the mapping doesn't exist for this transition + // So, using this conditional statement, we eliminate this case + if(tr_gl_tr_ins.filter[p1, p2|p1 == tr_name].values.size > 0) { + for (instance_tr : tr_gl_tr_ins.filter[p1, p2|p1 == tr_name].values.get(0)) { + fsb.instanceStatementBlocks.add(extractInstanceFireableStatements(instance_tr)) + } + } + } + } + + def extractInstanceFireableStatements(String instance_tr_name) { + // gel the instance transition json object whose the name is equal to instance_tr_name + val JSONObject a_i_tr_jobject = getallInstanceTransitionsObjects.filter[aatr|(aatr as JSONObject).get("name") == instance_tr_name].get(0) + // Get the Process Declaration Instance that contains the instance transition object (a_i_tr_jobject) + val ProcessDeclarationInstance c_pdi = mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter [ p1, p2 | + ((p2 as JSONObject).get("transitions") as JSONArray).contains(a_i_tr_jobject) + ].keySet.get(0) as ProcessDeclarationInstance; + // the following if then else allows to forbid duplicate instance statements blocks + // If the process declaration instance contains a block which have the same name + if(c_pdi.instanceStatementBlocks.filter(InstanceFireableStatementBlock).filter[ifst|ifst.name == instance_tr_name].size > 0) { + // so, return this found block (this block will not be added again because the list doesn't accept duplicates) + c_pdi.instanceStatementBlocks.filter(InstanceFireableStatementBlock).filter[ifst|ifst.name == instance_tr_name].get(0) + } else { + // there is no block with this name, so create a new block + val InstanceFireableStatementBlock block = Utils.createInstanceFireableStatementBlock + block.name = instance_tr_name + // get the LinkedHashMap that contains the statements of this instance transition + for (element : tr_in_stmts.filter[p1, p2|p1 == instance_tr_name].values.get(0).keySet) { + // and for each element + // add it in the appropriate location + if(element instanceof TransitionSource) { + block.transitionSource = element + } else { + block.statements.add(element as Statement) + } + } + c_pdi.instanceStatementBlocks.add(block) + block + } + } + + // Idem + def extractInstanceEnabledStatements(String instance_tr_name) { + // Get the Process Declaration Instance that contains the instance transition object (a_i_tr_jobject) + val JSONObject a_i_tr_jobject = getallInstanceTransitionsObjects.filter[aatr|(aatr as JSONObject).get("name") == instance_tr_name].get(0) + val ProcessDeclarationInstance c_pdi = mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter [ p1, p2 | + ((p2 as JSONObject).get("transitions") as JSONArray).contains(a_i_tr_jobject) + ].keySet.get(0) as ProcessDeclarationInstance; + if(c_pdi.instanceStatementBlocks.filter(InstanceEnabledStatementBlock).filter[ifst|ifst.name == instance_tr_name].size > 0) { + c_pdi.instanceStatementBlocks.filter(InstanceEnabledStatementBlock).filter[ifst|ifst.name == instance_tr_name].get(0) + } else { + val InstanceEnabledStatementBlock block = Utils.createInstanceEnabledStatementBlock + block.name = instance_tr_name + for (element : tr_in_stmts.filter[p1, p2|p1 == instance_tr_name].values.get(0).keySet) { + if(element instanceof TransitionSource) { + block.transitionSource = element + } else { + block.statements.add(element as Statement) + } + } + c_pdi.instanceStatementBlocks.add(block) + block + + } + } + + def EnabledStatementBlock extractEnabledStatements(String transition_name, String interval) { + val EnabledStatementBlock esb = Utils.createEnabledStatementBlock + esb.name = transition_name + esb.date = interval + instanceModel.statementBlocks.add(esb) + esb + } + + def FireableStatementBlock extractFireableStatements(String transition_name, String interval) { + val FireableStatementBlock fsb = Utils.createFireableStatementBlock + fsb.name = transition_name + fsb.date = interval + instanceModel.statementBlocks.add(fsb) + fsb + } + + def int getOffset(XtextDocument xtextDocument, int line, int character) { + var int offset = character + for (var i = 0; i < line; i++) { + try { + offset += xtextDocument.getLineLength(i) + } catch(BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace + } + } + return offset + } + + def EObject eContainer(EObject root, Class type) { + var EObject current = root + while(current != null) { + if(type.isInstance(current)) { + return current + } else { + current = current.eContainer + } + } + return null + } + +// def EObject eContainerStatement(EObject root) { +// var EObject current = root +// while(current != null) { +// if(StatementSequence.isInstance(current.eContainer())) { +// return current +// } else { +// current = current.eContainer +// } +// } +// return null; +// } + def EObject getStatement(EObject root) { + var EObject current = root + while(current != null) { + if(!(isAtomicStatement(current.eContainer))) { + return current + } else { + current = current.eContainer + } + } + return null + } + + def boolean isAtomicStatement(EObject root) { + if(eContainer(root, Statement) != null) { + if(UnlessStatement.isInstance(root) || StatementChoice.isInstance(root) || StatementSequence.isInstance(root) || ConditionalStatement.isInstance(root) || + ExtendedConditionalStatement.isInstance(root) || SelectStatement.isInstance(root) || WhileStatement.isInstance(root) || ForeachStatement.isInstance(root) || + CaseStatement.isInstance(root) || BlockStatement.isInstance(root)) { + return false + } else { + return true + } + + } else { + return false + } + } + + def InstanceModel getInstanceModel() { + return instanceResource.contents.get(0) as InstanceModel + } + def MSC getMSCModel() { + return mscResource.contents.get(0) as MSC + } + + def Model getModel() { + return fiacreResource.contents.get(0) as Model + } + + def saveInstanceResource() { + Utils.saveResource(instanceResource) + } + def saveMscResource() { + Utils.saveResource(mscResource) + } + + def Resource getInstanceResource() { + instanceResource + } + + // this method just to print to detect errors + def println_elements(XtextResource xtextResource, XtextDocument xtextDocument) { + for (var i = 0; i < xtextDocument.getNumberOfLines(); i++) { + try { + print("Line " + i + " Line length " + xtextDocument.getLineLength(i)) + println(" Line " + i + " LineOffset " + xtextDocument.getLineOffset(i)) + } catch(BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + for (var i = 0; i < xtextDocument.getLength(); i++) { + val Injector injector = XtextActivator.getInstance().getInjector("fr.irit.fiacre.xtext.Fiacre") + val EObjectAtOffsetHelper eObjectAtOffsetHelper = injector.getInstance(EObjectAtOffsetHelper) + try { + val EObject object = eObjectAtOffsetHelper.resolveElementAt(xtextResource, i) + val EObject object2 = eObjectAtOffsetHelper.resolveContainedElementAt(xtextResource, i) + val EObject object3 = eObjectAtOffsetHelper.resolveCrossReferencedElementAt(xtextResource, i) + val int line = xtextDocument.getLineOfOffset(i) + val int column = (i - xtextDocument.getLineOffset(xtextDocument.getLineOfOffset(i))) + if(i != xtextDocument.getOffset(line, column)) { + println("error") + } + println("----- ") + print("o " + i + " offset " + xtextDocument.getOffset(line, column) + " line of offset " + xtextDocument.getLineOfOffset(i)) + print(" (l " + line + " ") + print("c " + column + ") ") + print("(el = " + (line + 1) + ", ") + println("ec = " + (column + 1) + ") ") + println("object " + object) + println("cross " + object3) + println("contained " + object2) + println("containerStatement " + getStatement(object2)) + + } catch(BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + def gettr_gl_tr_ins(){ + tr_gl_tr_ins + } +} \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/StaticJsonExtractor.xtend b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/StaticJsonExtractor.xtend new file mode 100644 index 0000000..62dbab2 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/StaticJsonExtractor.xtend @@ -0,0 +1,209 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package com.irtsaintexupery.fiacre.simulator.staticjson.extractor + +import com.irtsaintexupery.fiacre.instance.fiacreinstance.BlockInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ComponentDeclarationInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.CompositionInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.DeclarationInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.InstanceModel +import com.irtsaintexupery.fiacre.instance.fiacreinstance.ProcessDeclarationInstance +import com.irtsaintexupery.fiacre.instance.fiacreinstance.VariableDeclarationInstance +import com.irtsaintexupery.fiacre.simulator.core.Utils +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration +import fr.irit.fiacre.xtext.fiacre.CompositeBlock +import fr.irit.fiacre.xtext.fiacre.Composition +import fr.irit.fiacre.xtext.fiacre.InstanceDeclaration +import fr.irit.fiacre.xtext.fiacre.Model +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration +import java.util.HashMap +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.resource.XtextResource +import org.json.simple.JSONArray +import org.json.simple.JSONAware +import org.json.simple.JSONObject + +class StaticJsonExtractor { + var XtextResource fiacreResource + var JSONObject fiacreStaticJson + var Resource instanceResource + var Resource mscResource + var HashMap mapping + // The constructor + new(XtextResource _fiacreResource, JSONObject _fiacreStaticJson, Resource _instanceResource, Resource _mscResource) { + fiacreResource = _fiacreResource + fiacreStaticJson = _fiacreStaticJson + instanceResource = _instanceResource + mapping = new HashMap() + mscResource = _mscResource + } + + // This method extracts static information from the json model + // and creates the fiacre instance model + def extract() { + extractFiacreModel() + if (fiacreStaticJson.get("arch_var") instanceof JSONObject){ + extractMainDeclaration(fiacreStaticJson.getJSONObject("arch_var")) + } + else{ + for (element : fiacreStaticJson.get("arch_var") as JSONArray){ + extractMainDeclaration(element as JSONObject) + } + } + + Utils.saveResource(instanceResource) + Utils.saveResource(mscResource) + } + + def extractFiacreModel() { + //instanceModel.name = (fiacreModel.root as Declaration).name + "Instance" + instanceModel.model = fiacreModel + } + + def extractMainDeclaration(JSONObject jsonob) { + val String name = jsonob.getJSONString("name") + if(jsonob.component) { + val ComponentDeclarationInstance cdi = Utils.createComponentDeclarationInstance + instanceModel.instance.add(cdi) + val ComponentDeclaration fcr_component = fiacreModel.declarations.filter[decl|decl.name==jsonob.get("name")].get(0) as ComponentDeclaration + cdi.component = fcr_component + cdi.name = fiacreModel.declarations.filter(ComponentDeclaration).filter[cd|cd.name == name].get(0).name + jsonob.extractVariable(fcr_component, cdi) + jsonob.getJSONArray("body").extractBody(cdi, fcr_component.body) + mapping.put(cdi,jsonob) + cdi.flatname = jsonob.getJSONString("flatname") + } else { + val ProcessDeclarationInstance pdi = Utils.createProcessDeclarationInstance + instanceModel.instance.add(pdi) + val ProcessDeclaration fcr_process = fiacreModel.declarations.filter[decl|decl.name==jsonob.get("name")].get(0) as ProcessDeclaration + pdi.process = fcr_process + pdi.name = fiacreModel.declarations.filter(ProcessDeclaration).filter[cd|cd.name == name].get(0).name + jsonob.extractVariable(fcr_process, pdi) + mapping.put(pdi,jsonob) + pdi.flatname = jsonob.getJSONString("flatname") + //msc part + val Site site = Utils.createSite + site.name = jsonob.getJSONString("flatname") + MSCModel.sites.add(site) + } + } + + def void extractBody(JSONArray json_composition, BlockInstance instance, Composition fiacre_composition) { + for (element : json_composition) { + if(element instanceof JSONArray) { + // It is a composition + val CompositionInstance ci = Utils.createCompositionInstance + instance.blockInstances.add(ci) + ci.composition = ((fiacre_composition.blocks.get(json_composition.indexOf(element))) as CompositeBlock).composition + element.extractBody(ci, ((((fiacre_composition.blocks.get(json_composition.indexOf(element))) as CompositeBlock).composition))) + } else { + if((element as JSONObject).component) { + // It is a component instance + val String name = (element as JSONObject).getJSONString("name") + val ComponentDeclarationInstance cdi = Utils.createComponentDeclarationInstance + instance.blockInstances.add(cdi) + cdi.instance = (((fiacre_composition.blocks.get(json_composition.indexOf(element))) as InstanceDeclaration).instance) + (element as JSONObject).getJSONArray("body").extractBody(cdi, + ((((fiacre_composition.blocks.get(json_composition.indexOf(element))) as InstanceDeclaration).instance.component) as ComponentDeclaration).body) + cdi.component = fiacreModel.declarations.filter(ComponentDeclaration).filter [ cd | + cd.name == name + ].get(0) + cdi.name = (fiacreModel.declarations.filter(ComponentDeclaration).filter [ cd | + cd.name == name + ].get(0).name) + (element as JSONObject).extractVariable(fiacreModel.declarations.filter(ComponentDeclaration).filter[cd|cd.name == name].get(0), cdi) + mapping.put(cdi,element as JSONObject) + cdi.flatname = (element as JSONObject).getJSONString("flatname") + } else { + // It is a process instance + val String name = (element as JSONObject).getJSONString("name") + val ProcessDeclarationInstance pdi = Utils.createProcessDeclarationInstance + pdi.instance = ((fiacre_composition.blocks.get(json_composition.indexOf(element))) as InstanceDeclaration).instance + instance.blockInstances.add(pdi) + pdi.process = fiacreModel.declarations.filter(ProcessDeclaration).filter [ cd | + cd.name == name + ].get(0) + pdi.name = (fiacreModel.declarations.filter(ProcessDeclaration).filter [ cd | + cd.name == name + ].get(0).name) + (element as JSONObject).extractVariable(fiacreModel.declarations.filter(ProcessDeclaration).filter[cd|cd.name == name].get(0), pdi) + mapping.put(pdi,element as JSONObject) + pdi.flatname = (element as JSONObject).getJSONString("flatname") + //msc part + val Site site = Utils.createSite + site.name = (element as JSONObject).getJSONString("flatname") + MSCModel.sites.add(site) + } + } + } + } + + def boolean isComponent(JSONObject jsonob) { + if(jsonob.containsKey("body")) + return true + else + return false + } + + def extractVariable(JSONObject jsonob, ParameterizedDeclaration comp_decl, DeclarationInstance cdi) { + for (jvar : jsonob.getJSONArray("vars")) { + val String var_name = (jvar as JSONObject).getJSONString("sourcename") + + if(var_name.isVariableDeclaration(comp_decl)) { + val VariableDeclarationInstance vi = Utils.createVariableDeclarationInstance + cdi.variableDeclarationInstances.add(vi) + vi.variableDeclaration = comp_decl.variables.map[vars|vars.variables].flatten.filter [ avar | + avar.name == (jvar as JSONObject).getJSONString("sourcename") + ].get(0) + } + // else + // vi.referenceDeclaration = comp_decl.parameters.map[vars|vars.parameters].flatten.filter[avar |avar.name == (jvar as JSONObject).getJSONString("sourcename")] .get(0) + } + } + + def boolean isVariableDeclaration(String name, ParameterizedDeclaration declaration) { + if(declaration.variables.map[vars|vars.variables].flatten.map[avar|avar.name].filter [ aname | + aname == name + ].size > 0) + return true + else + return false + } + + def getJSONObject(JSONObject jsonOb, String key) { + jsonOb.get(key) as JSONObject + } + + def getJSONString(JSONObject jsonOb, String key) { + jsonOb.get(key) as String + } + + def getJSONArray(JSONObject jsonOb, String key) { + jsonOb.get(key) as JSONArray + } + + def Model getFiacreModel() { + return fiacreResource.contents.get(0) as Model + } + def MSC getMSCModel() { + return mscResource.contents.get(0) as MSC + } + def InstanceModel getInstanceModel() { + return instanceResource.contents.get(0) as InstanceModel + } + def HashMap getMapping(){ + return mapping + } +} \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/methods.txt b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/methods.txt new file mode 100644 index 0000000..a6a353d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/src/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/methods.txt @@ -0,0 +1,150 @@ +def HashMap> getVariablesMappings() { + var HashMap> map_var_job_cdi = new HashMap>() + val ArrayList fiacreVariablesAsJsonObjects = new ArrayList + // Get all json objects of vars from the mappings + // TODO why just flatten doesn't work + for (element : ( mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof DeclarationInstance].values.map[value|(value as JSONObject).get("vars")])) { + for (jelement : element as JSONArray) { + fiacreVariablesAsJsonObjects.add(jelement as JSONObject) + } + } + println("allJsonVariableValues "+fiacreVariablesAsJsonObjects) + // for each value element generated in the dynamic json + // for example "Process_1_vx" = 5 + for (element : fiacreVariablesAsJsonObjects.map[jvv|jvv.get("flatname")].toSet) { + + // this if allows to eliminate added variables by frac like Main_w1 + if(fiacreVariablesAsJsonObjects.filter[a|a.get("flatname") == element].size > 0) { + + // json_object_var is the concerned json object corresponding to the a fiacre variable + // It may be possible that there is many json_object_var that have the same name + // like the fp variable in the clock2.fcr + for (json_object_var : fiacreVariablesAsJsonObjects.filter[a|a.get("flatname") == element]) { + var ArrayList decls = new ArrayList + for (decl : mapping_blockinstance_jsonelement.filter[p1, p2|p1 instanceof DeclarationInstance].filter [ p1, p2 | + ((p2 as JSONObject).get("vars") as JSONArray).contains(json_object_var)].keySet) + { + decls.add(decl as DeclarationInstance) + } + if (decls.filter[decl|decl.variableDeclarationInstances.map[vdi|vdi.variableDeclaration].exists[v|v.name==json_object_var.get("sourcename")]].size>0){ + var HashMap map = new HashMap() + println("declaration instances "+decls.filter[decl|decl.variableDeclarationInstances.map[vdi|vdi.variableDeclaration].exists[v|v.name==json_object_var.get("sourcename")]]) + map.put(json_object_var,decls.filter[decl|decl.variableDeclarationInstances.map[vdi|vdi.variableDeclaration].exists[v|v.name==json_object_var.get("sourcename")]].get(0)) + map_var_job_cdi.put(element as String, map) + } + } + } + } + map_var_job_cdi + } + +def extractdoc(XtextResource xtextResource) { + + val Injector injector = FiacreActivator.getInstance().getInjector("fr.irit.fiacre.xtext.Fiacre") + + System.out.println("resource" + xtextResource); + + val IURIEditorOpener editorOpener = injector.getInstance(IURIEditorOpener) + val XtextEditor xtextEditor = editorOpener.open(xtextResource.URI, true) as XtextEditor + println("editor 2" + xtextEditor) + val XtextDocument xtextDocument = xtextEditor.document as XtextDocument +// System.out.println("document " + xtextDocument); +// for (var i = 0; i < xtextDocument.getNumberOfLines(); i++) { +// try { +// println("getLineLength " + i + " " + xtextDocument.getLineLength(i)) +// println("getLineOffset " + i + " " + xtextDocument.getLineOffset(i)) +// } catch(BadLocationException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// } + val EObjectAtOffsetHelper eObjectAtOffsetHelper = injector.getInstance(EObjectAtOffsetHelper) + for (var i = 0; i < xtextDocument.getLength(); i++) { + try { + val EObject object = eObjectAtOffsetHelper.resolveElementAt(xtextResource, i) + val EObject object2 = eObjectAtOffsetHelper.resolveContainedElementAt(xtextResource, i) + val EObject object3 = eObjectAtOffsetHelper.resolveCrossReferencedElementAt(xtextResource, i) + val int line = xtextDocument.getLineOfOffset(i) + val int column = (i - xtextDocument.getLineOffset(xtextDocument.getLineOfOffset(i))) + + println("----- ") + print("o " + i + " offset " + xtextDocument.getOffset(line, column)) + print(" (l " + line + " ") + print("c " + column + ") ") + print("(el = " + (line + 1) + ", ") + println("ec = " + (column + 1) + ") ") + println("object " + object) + println("cross " + object3) + println("contained " + object2) + println("containerStatement " + getStatement(object2)) + + } catch(BadLocationException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + /* + * It exists two kinds of transitions + * Global transitions: which can be find in the json model root + * and Instance transitions which can be find in the process instances + * So from global transitions, we must find the instance transitions + * to obtain, after, the locations for each transition + */ + // Get global transitions from the json model + val JSONArray global_transitions = fiacreStaticJson.get("gtransitions") as JSONArray + + // Get all Instance transitions from the mapping + val ArrayList allInstanceTransitions = new ArrayList() + for (element : ( mapping.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].values.map[value|(value as JSONObject).get("transitions")])) { + for (jelement : element as JSONArray) { + allInstanceTransitions.add(jelement as JSONObject) + } + } + // for each global transition name (a_global_tr_name) + for (a_global_tr_name : global_transitions.map[agtr|(agtr as JSONObject).get("name")]) { + + // Get the corresponding json object (a_g_tr_jobject) from the global transitions array list + val JSONObject a_g_tr_jobject = global_transitions.filter[gtr|(gtr as JSONObject).get("name") == a_global_tr_name].get(0) as JSONObject + println(a_global_tr_name + " " + a_g_tr_jobject) + + // for each instance transition name find in the transitions array of the global transition object + for (a_i_tr_name : a_g_tr_jobject.get("transitions") as JSONArray) { + + // Get the instance transition object (a_i_tr_jobject) + val JSONObject a_i_tr_jobject = allInstanceTransitions.filter[aatr|(aatr as JSONObject).get("name") == a_i_tr_name].get(0) + + // Get the Process Declaration Instance that contains the instance transition object (a_i_tr_jobject) + val c_pdi = mapping.filter[p1, p2|p1 instanceof ProcessDeclarationInstance].filter[p1, p2|((p2 as JSONObject).get("transitions") as JSONArray).contains(a_i_tr_jobject)].keySet.get(0); + println("process instance " + c_pdi) + println("tr in process " + a_i_tr_jobject) + + // Get locations of each instance transition + println("locations " + (a_i_tr_jobject as JSONObject).get("locations")) + // + for (a_location_jsonobject : (a_i_tr_jobject as JSONObject).get("locations") as JSONArray) { + val JSONObject from_location = (a_location_jsonobject as JSONObject).get("from") as JSONObject + val long line_from = from_location.get("line") as Long + val long char_from = from_location.get("char") as Long + val int offset_from = xtextDocument.getOffset(line_from.intValue, char_from.intValue) + + println(line_from + " " + char_from + " " + offset_from) + val JSONObject to_location = (a_location_jsonobject as JSONObject).get("to") as JSONObject + val long line_to = to_location.get("line") as Long + val long char_to = to_location.get("char") as Long + val int offset_to = xtextDocument.getOffset(line_to.intValue, char_to.intValue) + println(line_to + " " + char_to + " " + offset_to) + for (var int i = offset_from; i <= offset_to; i++) { + val int line = xtextDocument.getLineOfOffset(i) + val int column = (i - xtextDocument.getLineOffset(xtextDocument.getLineOfOffset(i))) + + val statement = eObjectAtOffsetHelper.resolveContainedElementAt(xtextResource, i).getStatement + if(statement instanceof TransitionSource || statement.isAtomicStatement) + println("(" + line + ", " + column + ") " + "(" + (line + 1) + ", " + (column + 1) + ") " + statement) + } + } + println(" ") + } + println("---") + } + } \ No newline at end of file diff --git a/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/xtend-gen/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/.gitignore b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/xtend-gen/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/.gitignore new file mode 100644 index 0000000..7e1e07b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupery.fiacre.simulator/xtend-gen/com/irtsaintexupery/fiacre/simulator/staticjson/extractor/.gitignore @@ -0,0 +1,5 @@ +/.DynamicJsonExtractor.java._trace +/.StaticJsonExtractor.java._trace +/.*.xtendbin +/DynamicJsonExtractor.java +/StaticJsonExtractor.java diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.classpath b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.gitignore b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.project b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.project new file mode 100644 index 0000000..7b36199 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupey.fiacre.simulator.msc.edit + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..72003d6 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupey.fiacre.simulator.msc.edit;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: com.irtsaintexupery.fiacre.simulator.msc.msc.provider.MSCEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: com.irtsaintexupery.fiacre.simulator.msc.msc.provider +Require-Bundle: org.eclipse.core.runtime, + com.irtsaintexupey.fiacre.simulator.msc;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/build.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/build.properties new file mode 100644 index 0000000..6e3e902 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_sites_Site.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_sites_Site.gif new file mode 100644 index 0000000..0231726 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_sites_Site.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_steps_Step.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_steps_Step.gif new file mode 100644 index 0000000..cce6183 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateMSC_steps_Step.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_EnterStateStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_EnterStateStep.gif new file mode 100644 index 0000000..1e449c6 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_EnterStateStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_MicroStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_MicroStep.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_MicroStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SendStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SendStep.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SendStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SynchronisationStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SynchronisationStep.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/ctool16/CreateStep_microSteps_SynchronisationStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/EnterStateStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/EnterStateStep.gif new file mode 100644 index 0000000..498364f Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/EnterStateStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MSC.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MSC.gif new file mode 100644 index 0000000..db7414e Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MSC.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MicroStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MicroStep.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/MicroStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SendStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SendStep.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SendStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Site.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Site.gif new file mode 100644 index 0000000..c00aedf Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Site.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Step.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Step.gif new file mode 100644 index 0000000..35ef84e Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/Step.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SynchronisationStep.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SynchronisationStep.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/icons/full/obj16/SynchronisationStep.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.properties new file mode 100644 index 0000000..d392b3a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.properties @@ -0,0 +1,38 @@ +# + +pluginName = MSC Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_MSC_type = MSC +_UI_Site_type = Site +_UI_Step_type = Step +_UI_MicroStep_type = Micro Step +_UI_EnterStateStep_type = Enter State Step +_UI_SynchronisationStep_type = Synchronisation Step +_UI_SendStep_type = Send Step +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_MSC_sites_feature = Sites +_UI_MSC_steps_feature = Steps +_UI_Site_name_feature = Name +_UI_Step_microSteps_feature = Micro Steps +_UI_MicroStep_time_feature = Time +_UI_EnterStateStep_stateName_feature = State Name +_UI_EnterStateStep_site_feature = Site +_UI_SynchronisationStep_sites_feature = Sites +_UI_SendStep_senderSites_feature = Sender Sites +_UI_SendStep_receiverSites_feature = Receiver Sites +_UI_Unknown_feature = Unspecified + +_UI_Site_currentState_feature = Current State diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.xml b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.xml new file mode 100644 index 0000000..d0ecd30 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/plugin.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/EnterStateStepItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/EnterStateStepItemProvider.java new file mode 100644 index 0000000..7204f80 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/EnterStateStepItemProvider.java @@ -0,0 +1,155 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep} object. + * + * + * @generated + */ +public class EnterStateStepItemProvider extends MicroStepItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public EnterStateStepItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addStateNamePropertyDescriptor(object); + addSitePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the State Name feature. + * + * + * @generated + */ + protected void addStateNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_EnterStateStep_stateName_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_EnterStateStep_stateName_feature", "_UI_EnterStateStep_type"), + MscPackage.Literals.ENTER_STATE_STEP__STATE_NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Site feature. + * + * + * @generated + */ + protected void addSitePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_EnterStateStep_site_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_EnterStateStep_site_feature", "_UI_EnterStateStep_type"), + MscPackage.Literals.ENTER_STATE_STEP__SITE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns EnterStateStep.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EnterStateStep")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EnterStateStep)object).getStateName(); + return label == null || label.length() == 0 ? + getString("_UI_EnterStateStep_type") : + getString("_UI_EnterStateStep_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EnterStateStep.class)) { + case MscPackage.ENTER_STATE_STEP__STATE_NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCEditPlugin.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCEditPlugin.java new file mode 100644 index 0000000..7df9b0d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCEditPlugin.java @@ -0,0 +1,89 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the MSC edit plugin. + * + * + * @generated + */ +public final class MSCEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final MSCEditPlugin INSTANCE = new MSCEditPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public MSCEditPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCItemProvider.java new file mode 100644 index 0000000..0ebdfed --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MSCItemProvider.java @@ -0,0 +1,175 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC} object. + * + * + * @generated + */ +public class MSCItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public MSCItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(MscPackage.Literals.MSC__SITES); + childrenFeatures.add(MscPackage.Literals.MSC__STEPS); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns MSC.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/MSC")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_MSC_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(MSC.class)) { + case MscPackage.MSC__SITES: + case MscPackage.MSC__STEPS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (MscPackage.Literals.MSC__SITES, + MscFactory.eINSTANCE.createSite())); + + newChildDescriptors.add + (createChildParameter + (MscPackage.Literals.MSC__STEPS, + MscFactory.eINSTANCE.createStep())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return MSCEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MicroStepItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MicroStepItemProvider.java new file mode 100644 index 0000000..fd87001 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MicroStepItemProvider.java @@ -0,0 +1,156 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep} object. + * + * + * @generated + */ +public class MicroStepItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public MicroStepItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTimePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Time feature. + * + * + * @generated + */ + protected void addTimePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_MicroStep_time_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_MicroStep_time_feature", "_UI_MicroStep_type"), + MscPackage.Literals.MICRO_STEP__TIME, + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns MicroStep.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/MicroStep")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + MicroStep microStep = (MicroStep)object; + return getString("_UI_MicroStep_type") + " " + microStep.getTime(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(MicroStep.class)) { + case MscPackage.MICRO_STEP__TIME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return MSCEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MscItemProviderAdapterFactory.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MscItemProviderAdapterFactory.java new file mode 100644 index 0000000..d133d17 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/MscItemProviderAdapterFactory.java @@ -0,0 +1,319 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.util.MscAdapterFactory; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * + * + * @generated + */ +public class MscItemProviderAdapterFactory extends MscAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * + * + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * + * + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * + * + * @generated + */ + protected Collection supportedTypes = new ArrayList(); + + /** + * This constructs an instance. + * + * + * @generated + */ + public MscItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC} instances. + * + * + * @generated + */ + protected MSCItemProvider mscItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC}. + * + * + * @generated + */ + @Override + public Adapter createMSCAdapter() { + if (mscItemProvider == null) { + mscItemProvider = new MSCItemProvider(this); + } + + return mscItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site} instances. + * + * + * @generated + */ + protected SiteItemProvider siteItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site}. + * + * + * @generated + */ + @Override + public Adapter createSiteAdapter() { + if (siteItemProvider == null) { + siteItemProvider = new SiteItemProvider(this); + } + + return siteItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step} instances. + * + * + * @generated + */ + protected StepItemProvider stepItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step}. + * + * + * @generated + */ + @Override + public Adapter createStepAdapter() { + if (stepItemProvider == null) { + stepItemProvider = new StepItemProvider(this); + } + + return stepItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep} instances. + * + * + * @generated + */ + protected EnterStateStepItemProvider enterStateStepItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep}. + * + * + * @generated + */ + @Override + public Adapter createEnterStateStepAdapter() { + if (enterStateStepItemProvider == null) { + enterStateStepItemProvider = new EnterStateStepItemProvider(this); + } + + return enterStateStepItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep} instances. + * + * + * @generated + */ + protected SynchronisationStepItemProvider synchronisationStepItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep}. + * + * + * @generated + */ + @Override + public Adapter createSynchronisationStepAdapter() { + if (synchronisationStepItemProvider == null) { + synchronisationStepItemProvider = new SynchronisationStepItemProvider(this); + } + + return synchronisationStepItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep} instances. + * + * + * @generated + */ + protected SendStepItemProvider sendStepItemProvider; + + /** + * This creates an adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep}. + * + * + * @generated + */ + @Override + public Adapter createSendStepAdapter() { + if (sendStepItemProvider == null) { + sendStepItemProvider = new SendStepItemProvider(this); + } + + return sendStepItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * + * + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * + * + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * + * + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * + * + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * + * + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * + * + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * + * + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * + * + * @generated + */ + public void dispose() { + if (mscItemProvider != null) mscItemProvider.dispose(); + if (siteItemProvider != null) siteItemProvider.dispose(); + if (stepItemProvider != null) stepItemProvider.dispose(); + if (enterStateStepItemProvider != null) enterStateStepItemProvider.dispose(); + if (synchronisationStepItemProvider != null) synchronisationStepItemProvider.dispose(); + if (sendStepItemProvider != null) sendStepItemProvider.dispose(); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SendStepItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SendStepItemProvider.java new file mode 100644 index 0000000..e06108b --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SendStepItemProvider.java @@ -0,0 +1,145 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep} object. + * + * + * @generated + */ +public class SendStepItemProvider extends MicroStepItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SendStepItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSenderSitesPropertyDescriptor(object); + addReceiverSitesPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Sender Sites feature. + * + * + * @generated + */ + protected void addSenderSitesPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendStep_senderSites_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_SendStep_senderSites_feature", "_UI_SendStep_type"), + MscPackage.Literals.SEND_STEP__SENDER_SITES, + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Receiver Sites feature. + * + * + * @generated + */ + protected void addReceiverSitesPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SendStep_receiverSites_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_SendStep_receiverSites_feature", "_UI_SendStep_type"), + MscPackage.Literals.SEND_STEP__RECEIVER_SITES, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns SendStep.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/SendStep")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + SendStep sendStep = (SendStep)object; + return getString("_UI_SendStep_type") + " " + sendStep.getTime(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SiteItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SiteItemProvider.java new file mode 100644 index 0000000..fdf98e8 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SiteItemProvider.java @@ -0,0 +1,182 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site} object. + * + * + * @generated + */ +public class SiteItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SiteItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + addCurrentStatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Site_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Site_name_feature", "_UI_Site_type"), + MscPackage.Literals.SITE__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Current State feature. + * + * + * @generated + */ + protected void addCurrentStatePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Site_currentState_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Site_currentState_feature", "_UI_Site_type"), + MscPackage.Literals.SITE__CURRENT_STATE, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns Site.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Site")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Site)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_Site_type") : + getString("_UI_Site_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Site.class)) { + case MscPackage.SITE__NAME: + case MscPackage.SITE__CURRENT_STATE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return MSCEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/StepItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/StepItemProvider.java new file mode 100644 index 0000000..d6e49a6 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/StepItemProvider.java @@ -0,0 +1,178 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step} object. + * + * + * @generated + */ +public class StepItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StepItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(MscPackage.Literals.STEP__MICRO_STEPS); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Step.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Step")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Step_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Step.class)) { + case MscPackage.STEP__MICRO_STEPS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (MscPackage.Literals.STEP__MICRO_STEPS, + MscFactory.eINSTANCE.createEnterStateStep())); + + newChildDescriptors.add + (createChildParameter + (MscPackage.Literals.STEP__MICRO_STEPS, + MscFactory.eINSTANCE.createSynchronisationStep())); + + newChildDescriptors.add + (createChildParameter + (MscPackage.Literals.STEP__MICRO_STEPS, + MscFactory.eINSTANCE.createSendStep())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return MSCEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SynchronisationStepItemProvider.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SynchronisationStepItemProvider.java new file mode 100644 index 0000000..e46d6a0 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.edit/src/com/irtsaintexupery/fiacre/simulator/msc/msc/provider/SynchronisationStepItemProvider.java @@ -0,0 +1,122 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.provider; + + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep} object. + * + * + * @generated + */ +public class SynchronisationStepItemProvider extends MicroStepItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SynchronisationStepItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addSitesPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Sites feature. + * + * + * @generated + */ + protected void addSitesPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_SynchronisationStep_sites_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_SynchronisationStep_sites_feature", "_UI_SynchronisationStep_type"), + MscPackage.Literals.SYNCHRONISATION_STEP__SITES, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns SynchronisationStep.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/SynchronisationStep")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + SynchronisationStep synchronisationStep = (SynchronisationStep)object; + return getString("_UI_SynchronisationStep_type") + " " + synchronisationStep.getTime(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.classpath b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.gitignore b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.project b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.project new file mode 100644 index 0000000..76bdd77 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupey.fiacre.simulator.msc.editor + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..ca8fbb3 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupey.fiacre.simulator.msc.editor;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: com.irtsaintexupery.fiacre.simulator.msc.msc.presentation.MSCEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: com.irtsaintexupery.fiacre.simulator.msc.msc.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + com.irtsaintexupey.fiacre.simulator.msc.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/build.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/build.properties new file mode 100644 index 0000000..5fb0771 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/obj16/MscModelFile.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/obj16/MscModelFile.gif new file mode 100644 index 0000000..0ae2f8c Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/obj16/MscModelFile.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/wizban/NewMsc.gif b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/wizban/NewMsc.gif new file mode 100644 index 0000000..25f312d Binary files /dev/null and b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/icons/full/wizban/NewMsc.gif differ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.properties new file mode 100644 index 0000000..1173524 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.properties @@ -0,0 +1,53 @@ +# + +pluginName = MSC Editor +providerName = www.example.org + +_UI_MscEditor_menu = &Msc Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_CreateModelError_message = Problems encountered in file "{0}" + +_UI_MscModelWizard_label = Msc Model +_UI_MscModelWizard_description = Create a new Msc model + +_UI_MscEditor_label = Msc Model Editor + +_UI_MscEditorFilenameDefaultBase = My +_UI_MscEditorFilenameExtensions = msc + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ''.{0}'' +_WARN_FilenameExtensions = The file name must have one of the following extensions: {0} + +_UI_ModelObject = &Model Object +_UI_XMLEncoding = &XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.xml b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.xml new file mode 100644 index 0000000..44344ff --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/plugin.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + %_UI_MscModelWizard_description + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MSCEditorPlugin.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MSCEditorPlugin.java new file mode 100644 index 0000000..ef5a6a9 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MSCEditorPlugin.java @@ -0,0 +1,91 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.presentation; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the MSC editor plugin. + * + * + * @generated + */ +public final class MSCEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final MSCEditorPlugin INSTANCE = new MSCEditorPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public MSCEditorPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscActionBarContributor.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscActionBarContributor.java new file mode 100644 index 0000000..2225ab3 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscActionBarContributor.java @@ -0,0 +1,423 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Msc model editor. + * + * + * @generated + */ +public class MscActionBarContributor + extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * + * + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * + * + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * + * + * @generated + */ + protected IAction showPropertiesViewAction = + new Action(MSCEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } + catch (PartInitException exception) { + MSCEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * + * + * @generated + */ + protected IAction refreshViewerAction = + new Action(MSCEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * + * + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * + * + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * + * + * @generated + */ + public MscActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * + * + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + toolBarManager.add(new Separator("msc-settings")); + toolBarManager.add(new Separator("msc-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * + * + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager(MSCEditorPlugin.INSTANCE.getString("_UI_MscEditor_menu"), "com.irtsaintexupery.fiacre.simulator.msc.mscMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(MSCEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager(MSCEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener + (new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * + * + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } + else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * + * + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection newChildDescriptors = null; + Collection newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) { + Object object = ((IStructuredSelection)selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateChildActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateSiblingActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified manager with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection, + * by inserting them before the specified contribution item contributionID. + * If contributionID is null, they are simply added. + * + * + * @generated + */ + protected void populateManager(IContributionManager manager, Collection actions, String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } + else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified manager all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection. + * + * + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem)contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem)contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * + * + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(MSCEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(MSCEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * + * + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * + * + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscEditor.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscEditor.java new file mode 100644 index 0000000..2c7565d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscEditor.java @@ -0,0 +1,1819 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.presentation; + + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.provider.MscItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + + +/** + * This is an example of a Msc model editor. + * + * + * @generated + */ +public class MscEditor + extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * + * + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * + * + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * + * + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * + * + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * + * + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * + * + * @generated + */ + protected List propertySheetPages = new ArrayList(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * + * + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * + * + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * + * + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * + * + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * + * + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * + * + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * + * + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * + * + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * + * + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * + * + * @generated + */ + protected Collection selectionChangedListeners = new ArrayList(); + + /** + * This keeps track of the selection of the editor as a whole. + * + * + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * + * + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * + * + * @generated + */ + protected IPartListener partListener = + new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(MscEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } + else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(MscEditor.this); + handleActivate(); + } + } + else if (p == MscEditor.this) { + handleActivate(); + } + } + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * + * + * @generated + */ + protected Collection removedResources = new ArrayList(); + + /** + * Resources that have been changed since last activation. + * + * + * @generated + */ + protected Collection changedResources = new ArrayList(); + + /** + * Resources that have been saved. + * + * + * @generated + */ + protected Collection savedResources = new ArrayList(); + + /** + * Map to store the diagnostic associated with a resource. + * + * + * @generated + */ + protected Map resourceToDiagnosticMap = new LinkedHashMap(); + + /** + * Controls whether the problem indication should be updated. + * + * + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * + * + * @generated + */ + protected EContentAdapter problemIndicationAdapter = + new EContentAdapter() { + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource)notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } + else { + resourceToDiagnosticMap.remove(resource); + } + + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + break; + } + } + } + else { + super.notifyChanged(notification); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + } + }; + + /** + * This listens for workspace changes. + * + * + * @generated + */ + protected IResourceChangeListener resourceChangeListener = + new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection changedResources = new ArrayList(); + protected Collection removedResources = new ArrayList(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || + delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } + else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection getChangedResources() { + return changedResources; + } + + public Collection getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(MscEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == MscEditor.this) { + handleActivate(); + } + } + }); + } + } + catch (CoreException exception) { + MSCEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * + * + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(MscEditor.this, false); + } + else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } + else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * + * + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + if (isDirty()) { + changedResources.addAll(editingDomain.getResourceSet().getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(Collections.EMPTY_MAP); + } + catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * + * + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = + new BasicDiagnostic + (Diagnostic.OK, + "com.irtsaintexupey.fiacre.simulator.msc.editor", + 0, + null, + new Object [] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } + else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } + catch (PartInitException exception) { + MSCEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + markerHelper.deleteMarkers(editingDomain.getResourceSet()); + if (diagnostic.getSeverity() != Diagnostic.OK) { + try { + markerHelper.createMarkers(diagnostic); + } + catch (CoreException exception) { + MSCEditorPlugin.INSTANCE.log(exception); + } + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * + * + * @generated + */ + protected boolean handleDirtyConflict() { + return + MessageDialog.openQuestion + (getSite().getShell(), + getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * + * + * @generated + */ + public MscEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * + * + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new MscItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener + (new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec + (new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator i = propertySheetPages.iterator(); i.hasNext(); ) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl().isDisposed()) { + i.remove(); + } + else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap()); + } + + /** + * This is here for the listener to be able to call it. + * + * + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * + * + * @generated + */ + public void setSelectionToViewer(Collection collection) { + final Collection theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = + new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * + * + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * + * + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * + * + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * + * + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * + * + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * + * + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = + new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * + * + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * + * + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu= contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * + * + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } + catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * + * + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = + new BasicDiagnostic + (hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "com.irtsaintexupey.fiacre.simulator.msc.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object [] { exception == null ? (Object)resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } + else if (exception != null) { + return + new BasicDiagnostic + (Diagnostic.ERROR, + "com.irtsaintexupey.fiacre.simulator.msc.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception }); + } + else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * + * + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer)viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer)viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer)viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer)viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer)viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String [] {"a", "b"}); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), MscEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer)viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"}); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + setActivePage(0); + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener + (new ControlAdapter() { + boolean guard = false; + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * + * + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(1); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y + 6); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * + * + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y - 6); + } + } + } + + /** + * This is used to track the active viewer. + * + * + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * + * + * @generated + */ + @SuppressWarnings("rawtypes") + @Override + public Object getAdapter(Class key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? getContentOutlinePage() : null; + } + else if (key.equals(IPropertySheetPage.class)) { + return getPropertySheetPage(); + } + else if (key.equals(IGotoMarker.class)) { + return this; + } + else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * + * + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener + (new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * + * + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = + new ExtendedPropertySheetPage(editingDomain) { + @Override + public void setSelectionToViewer(List selection) { + MscEditor.this.setSelectionToViewer(selection); + MscEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * + * + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator selectedElements = ((IStructuredSelection)selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList selectionList = new ArrayList(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } + else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * + * + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * + * + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map saveOptions = new HashMap(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + for (Resource resource : editingDomain.getResourceSet().getResources()) { + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } + catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } + catch (Exception exception) { + // Something went wrong that shouldn't. + // + MSCEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * + * + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } + catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * + * + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * + * + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * + * + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = + getActionBars().getStatusLineManager() != null ? + getActionBars().getStatusLineManager().getProgressMonitor() : + new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * + * + * @generated + */ + public void gotoMarker(IMarker marker) { + List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * + * + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE); + } + + /** + * + * + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } + else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * + * + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * + * + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * + * + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? + contentOutlineStatusLineManager : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection collection = ((IStructuredSelection)selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } + else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * + * + * @generated + */ + private static String getString(String key) { + return MSCEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * + * + * @generated + */ + private static String getString(String key, Object s1) { + return MSCEditorPlugin.INSTANCE.getString(key, new Object [] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * + * + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * + * + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor(); + } + + /** + * + * + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * + * + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * + * + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscModelWizard.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscModelWizard.java new file mode 100644 index 0000000..43adabd --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc.editor/src/com/irtsaintexupery/fiacre/simulator/msc/msc/presentation/MscModelWizard.java @@ -0,0 +1,628 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.presentation; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.CommonPlugin; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.provider.MSCEditPlugin; + + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + + +/** + * This is a simple wizard for creating a new model file. + * + * + * @generated + */ +public class MscModelWizard extends Wizard implements INewWizard { + /** + * The supported extensions for created files. + * + * + * @generated + */ + public static final List FILE_EXTENSIONS = + Collections.unmodifiableList(Arrays.asList(MSCEditorPlugin.INSTANCE.getString("_UI_MscEditorFilenameExtensions").split("\\s*,\\s*"))); + + /** + * A formatted list of supported file extensions, suitable for display. + * + * + * @generated + */ + public static final String FORMATTED_FILE_EXTENSIONS = + MSCEditorPlugin.INSTANCE.getString("_UI_MscEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + + /** + * This caches an instance of the model package. + * + * + * @generated + */ + protected MscPackage mscPackage = MscPackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * + * + * @generated + */ + protected MscFactory mscFactory = mscPackage.getMscFactory(); + + /** + * This is the file creation page. + * + * + * @generated + */ + protected MscModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * + * + * @generated + */ + protected MscModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * + * + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * + * + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * + * + * @generated + */ + protected List initialObjectNames; + + /** + * This just records the information. + * + * + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(MSCEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(MSCEditorPlugin.INSTANCE.getImage("full/wizban/NewMsc"))); + } + + /** + * Returns the names of the types that can be created as the root object. + * + * + * @generated + */ + protected Collection getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList(); + for (EClassifier eClassifier : mscPackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass)eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * + * + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass)mscPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = mscFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * + * + * @generated + */ + @Override + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map options = new HashMap(); + options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); + resource.save(options); + } + catch (Exception exception) { + MSCEditorPlugin.INSTANCE.log(exception); + } + finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection(modelFile); + getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + ((ISetSelectionTarget)activePart).selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor + (new FileEditorInput(modelFile), + workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); + } + catch (PartInitException exception) { + MessageDialog.openError(workbenchWindow.getShell(), MSCEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); + return false; + } + + return true; + } + catch (Exception exception) { + MSCEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * + * + * @generated + */ + public class MscModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + /** + * Pass in the selection. + * + * + * @generated + */ + public MscModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * + * + * @generated + */ + @Override + protected boolean validatePage() { + if (super.validatePage()) { + String extension = new Path(getFileName()).getFileExtension(); + if (extension == null || !FILE_EXTENSIONS.contains(extension)) { + String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; + setErrorMessage(MSCEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS })); + return false; + } + return true; + } + return false; + } + + /** + * + * + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * + * + * @generated + */ + public class MscModelWizardInitialObjectCreationPage extends WizardPage { + /** + * + * + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * + * + */ + protected List encodings; + + /** + * + * + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * + * + * @generated + */ + public MscModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * + * + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(MSCEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (String objectName : getInitialObjectNames()) { + initialObjectField.add(getLabel(objectName)); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(MSCEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (String encoding : getEncodings()) { + encodingField.add(encoding); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * + * + * @generated + */ + protected ModifyListener validator = + new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * + * + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null && getEncodings().contains(encodingField.getText()); + } + + /** + * + * + * @generated + */ + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } + else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * + * + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (String name : getInitialObjectNames()) { + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * + * + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * + * + * @generated + */ + protected String getLabel(String typeName) { + try { + return MSCEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + } + catch(MissingResourceException mre) { + MSCEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * + * + * @generated + */ + protected Collection getEncodings() { + if (encodings == null) { + encodings = new ArrayList(); + for (StringTokenizer stringTokenizer = new StringTokenizer(MSCEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * + * + * @generated + */ + @Override + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new MscModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(MSCEditorPlugin.INSTANCE.getString("_UI_MscModelWizard_label")); + newFileCreationPage.setDescription(MSCEditorPlugin.INSTANCE.getString("_UI_MscModelWizard_description")); + newFileCreationPage.setFileName(MSCEditorPlugin.INSTANCE.getString("_UI_MscEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource)selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource.getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = MSCEditorPlugin.INSTANCE.getString("_UI_MscEditorFilenameDefaultBase"); + String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); + String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; + for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new MscModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage.setTitle(MSCEditorPlugin.INSTANCE.getString("_UI_MscModelWizard_label")); + initialObjectCreationPage.setDescription(MSCEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * + * + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.classpath b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.gitignore b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.project b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.project new file mode 100644 index 0000000..71cbd3f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/.project @@ -0,0 +1,28 @@ + + + com.irtsaintexupey.fiacre.simulator.msc + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/META-INF/MANIFEST.MF b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/META-INF/MANIFEST.MF new file mode 100644 index 0000000..8a8bf17 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: com.irtsaintexupey.fiacre.simulator.msc;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: com.irtsaintexupery.fiacre.simulator.msc.msc, + com.irtsaintexupery.fiacre.simulator.msc.msc.impl, + com.irtsaintexupery.fiacre.simulator.msc.msc.util +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/build.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/build.properties new file mode 100644 index 0000000..4465407 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.ecore b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.ecore new file mode 100644 index 0000000..9434af1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.ecore @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.genmodel b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.genmodel new file mode 100644 index 0000000..ec4cec4 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/model/MSC.genmodel @@ -0,0 +1,36 @@ + + + MSC.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.properties b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.properties new file mode 100644 index 0000000..3cabfcd --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = MSC Model +providerName = www.example.org diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.xml b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.xml new file mode 100644 index 0000000..509758d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/plugin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/EnterStateStep.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/EnterStateStep.java new file mode 100644 index 0000000..e02b161 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/EnterStateStep.java @@ -0,0 +1,76 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + + +/** + * + * A representation of the model object 'Enter State Step'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getStateName State Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getSite Site}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getEnterStateStep() + * @model + * @generated + */ +public interface EnterStateStep extends MicroStep { + /** + * Returns the value of the 'State Name' attribute. + * + *

+ * If the meaning of the 'State Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'State Name' attribute. + * @see #setStateName(String) + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getEnterStateStep_StateName() + * @model + * @generated + */ + String getStateName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getStateName State Name}' attribute. + * + * + * @param value the new value of the 'State Name' attribute. + * @see #getStateName() + * @generated + */ + void setStateName(String value); + + /** + * Returns the value of the 'Site' reference. + * + *

+ * If the meaning of the 'Site' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Site' reference. + * @see #setSite(Site) + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getEnterStateStep_Site() + * @model required="true" + * @generated + */ + Site getSite(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getSite Site}' reference. + * + * + * @param value the new value of the 'Site' reference. + * @see #getSite() + * @generated + */ + void setSite(Site value); + +} // EnterStateStep diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MSC.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MSC.java new file mode 100644 index 0000000..6feb145 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MSC.java @@ -0,0 +1,59 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'MSC'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSites Sites}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSteps Steps}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getMSC() + * @model + * @generated + */ +public interface MSC extends EObject { + /** + * Returns the value of the 'Sites' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site}. + * + *

+ * If the meaning of the 'Sites' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Sites' containment reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getMSC_Sites() + * @model containment="true" required="true" + * @generated + */ + EList getSites(); + + /** + * Returns the value of the 'Steps' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step}. + * + *

+ * If the meaning of the 'Steps' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Steps' containment reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getMSC_Steps() + * @model containment="true" required="true" + * @generated + */ + EList getSteps(); + +} // MSC diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MicroStep.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MicroStep.java new file mode 100644 index 0000000..5cc797a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MicroStep.java @@ -0,0 +1,50 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Micro Step'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep#getTime Time}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getMicroStep() + * @model abstract="true" + * @generated + */ +public interface MicroStep extends EObject { + /** + * Returns the value of the 'Time' attribute. + * + *

+ * If the meaning of the 'Time' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Time' attribute. + * @see #setTime(int) + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getMicroStep_Time() + * @model + * @generated + */ + int getTime(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep#getTime Time}' attribute. + * + * + * @param value the new value of the 'Time' attribute. + * @see #getTime() + * @generated + */ + void setTime(int value); + +} // MicroStep diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscFactory.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscFactory.java new file mode 100644 index 0000000..7ff14d1 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscFactory.java @@ -0,0 +1,87 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage + * @generated + */ +public interface MscFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + MscFactory eINSTANCE = com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscFactoryImpl.init(); + + /** + * Returns a new object of class 'MSC'. + * + * + * @return a new object of class 'MSC'. + * @generated + */ + MSC createMSC(); + + /** + * Returns a new object of class 'Site'. + * + * + * @return a new object of class 'Site'. + * @generated + */ + Site createSite(); + + /** + * Returns a new object of class 'Step'. + * + * + * @return a new object of class 'Step'. + * @generated + */ + Step createStep(); + + /** + * Returns a new object of class 'Enter State Step'. + * + * + * @return a new object of class 'Enter State Step'. + * @generated + */ + EnterStateStep createEnterStateStep(); + + /** + * Returns a new object of class 'Synchronisation Step'. + * + * + * @return a new object of class 'Synchronisation Step'. + * @generated + */ + SynchronisationStep createSynchronisationStep(); + + /** + * Returns a new object of class 'Send Step'. + * + * + * @return a new object of class 'Send Step'. + * @generated + */ + SendStep createSendStep(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + MscPackage getMscPackage(); + +} //MscFactory diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscPackage.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscPackage.java new file mode 100644 index 0000000..305854a --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/MscPackage.java @@ -0,0 +1,756 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory + * @model kind="package" + * @generated + */ +public interface MscPackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "msc"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://irtsaintexupery.com/msc"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "msc"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + MscPackage eINSTANCE = com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl.init(); + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl MSC}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getMSC() + * @generated + */ + int MSC = 0; + + /** + * The feature id for the 'Sites' containment reference list. + * + * + * @generated + * @ordered + */ + int MSC__SITES = 0; + + /** + * The feature id for the 'Steps' containment reference list. + * + * + * @generated + * @ordered + */ + int MSC__STEPS = 1; + + /** + * The number of structural features of the 'MSC' class. + * + * + * @generated + * @ordered + */ + int MSC_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'MSC' class. + * + * + * @generated + * @ordered + */ + int MSC_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl Site}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSite() + * @generated + */ + int SITE = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int SITE__NAME = 0; + + /** + * The feature id for the 'Current State' attribute. + * + * + * @generated + * @ordered + */ + int SITE__CURRENT_STATE = 1; + + /** + * The number of structural features of the 'Site' class. + * + * + * @generated + * @ordered + */ + int SITE_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Site' class. + * + * + * @generated + * @ordered + */ + int SITE_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.StepImpl Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.StepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getStep() + * @generated + */ + int STEP = 2; + + /** + * The feature id for the 'Micro Steps' containment reference list. + * + * + * @generated + * @ordered + */ + int STEP__MICRO_STEPS = 0; + + /** + * The number of structural features of the 'Step' class. + * + * + * @generated + * @ordered + */ + int STEP_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Step' class. + * + * + * @generated + * @ordered + */ + int STEP_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MicroStepImpl Micro Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MicroStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getMicroStep() + * @generated + */ + int MICRO_STEP = 3; + + /** + * The feature id for the 'Time' attribute. + * + * + * @generated + * @ordered + */ + int MICRO_STEP__TIME = 0; + + /** + * The number of structural features of the 'Micro Step' class. + * + * + * @generated + * @ordered + */ + int MICRO_STEP_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Micro Step' class. + * + * + * @generated + * @ordered + */ + int MICRO_STEP_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl Enter State Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getEnterStateStep() + * @generated + */ + int ENTER_STATE_STEP = 4; + + /** + * The feature id for the 'Time' attribute. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_STEP__TIME = MICRO_STEP__TIME; + + /** + * The feature id for the 'State Name' attribute. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_STEP__STATE_NAME = MICRO_STEP_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Site' reference. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_STEP__SITE = MICRO_STEP_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Enter State Step' class. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_STEP_FEATURE_COUNT = MICRO_STEP_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Enter State Step' class. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_STEP_OPERATION_COUNT = MICRO_STEP_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SynchronisationStepImpl Synchronisation Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SynchronisationStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSynchronisationStep() + * @generated + */ + int SYNCHRONISATION_STEP = 5; + + /** + * The feature id for the 'Time' attribute. + * + * + * @generated + * @ordered + */ + int SYNCHRONISATION_STEP__TIME = MICRO_STEP__TIME; + + /** + * The feature id for the 'Sites' reference list. + * + * + * @generated + * @ordered + */ + int SYNCHRONISATION_STEP__SITES = MICRO_STEP_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Synchronisation Step' class. + * + * + * @generated + * @ordered + */ + int SYNCHRONISATION_STEP_FEATURE_COUNT = MICRO_STEP_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Synchronisation Step' class. + * + * + * @generated + * @ordered + */ + int SYNCHRONISATION_STEP_OPERATION_COUNT = MICRO_STEP_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl Send Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSendStep() + * @generated + */ + int SEND_STEP = 6; + + /** + * The feature id for the 'Time' attribute. + * + * + * @generated + * @ordered + */ + int SEND_STEP__TIME = MICRO_STEP__TIME; + + /** + * The feature id for the 'Sender Sites' reference list. + * + * + * @generated + * @ordered + */ + int SEND_STEP__SENDER_SITES = MICRO_STEP_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Receiver Sites' reference list. + * + * + * @generated + * @ordered + */ + int SEND_STEP__RECEIVER_SITES = MICRO_STEP_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Send Step' class. + * + * + * @generated + * @ordered + */ + int SEND_STEP_FEATURE_COUNT = MICRO_STEP_FEATURE_COUNT + 2; + + /** + * The number of operations of the 'Send Step' class. + * + * + * @generated + * @ordered + */ + int SEND_STEP_OPERATION_COUNT = MICRO_STEP_OPERATION_COUNT + 0; + + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC MSC}'. + * + * + * @return the meta object for class 'MSC'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MSC + * @generated + */ + EClass getMSC(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSites Sites}'. + * + * + * @return the meta object for the containment reference list 'Sites'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSites() + * @see #getMSC() + * @generated + */ + EReference getMSC_Sites(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSteps Steps}'. + * + * + * @return the meta object for the containment reference list 'Steps'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MSC#getSteps() + * @see #getMSC() + * @generated + */ + EReference getMSC_Steps(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site Site}'. + * + * + * @return the meta object for class 'Site'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Site + * @generated + */ + EClass getSite(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getName() + * @see #getSite() + * @generated + */ + EAttribute getSite_Name(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getCurrentState Current State}'. + * + * + * @return the meta object for the attribute 'Current State'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getCurrentState() + * @see #getSite() + * @generated + */ + EAttribute getSite_CurrentState(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step Step}'. + * + * + * @return the meta object for class 'Step'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Step + * @generated + */ + EClass getStep(); + + /** + * Returns the meta object for the containment reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step#getMicroSteps Micro Steps}'. + * + * + * @return the meta object for the containment reference list 'Micro Steps'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Step#getMicroSteps() + * @see #getStep() + * @generated + */ + EReference getStep_MicroSteps(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep Micro Step}'. + * + * + * @return the meta object for class 'Micro Step'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep + * @generated + */ + EClass getMicroStep(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep#getTime Time}'. + * + * + * @return the meta object for the attribute 'Time'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep#getTime() + * @see #getMicroStep() + * @generated + */ + EAttribute getMicroStep_Time(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep Enter State Step}'. + * + * + * @return the meta object for class 'Enter State Step'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep + * @generated + */ + EClass getEnterStateStep(); + + /** + * Returns the meta object for the attribute '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getStateName State Name}'. + * + * + * @return the meta object for the attribute 'State Name'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getStateName() + * @see #getEnterStateStep() + * @generated + */ + EAttribute getEnterStateStep_StateName(); + + /** + * Returns the meta object for the reference '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getSite Site}'. + * + * + * @return the meta object for the reference 'Site'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep#getSite() + * @see #getEnterStateStep() + * @generated + */ + EReference getEnterStateStep_Site(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep Synchronisation Step}'. + * + * + * @return the meta object for class 'Synchronisation Step'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep + * @generated + */ + EClass getSynchronisationStep(); + + /** + * Returns the meta object for the reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep#getSites Sites}'. + * + * + * @return the meta object for the reference list 'Sites'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep#getSites() + * @see #getSynchronisationStep() + * @generated + */ + EReference getSynchronisationStep_Sites(); + + /** + * Returns the meta object for class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep Send Step}'. + * + * + * @return the meta object for class 'Send Step'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep + * @generated + */ + EClass getSendStep(); + + /** + * Returns the meta object for the reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getSenderSites Sender Sites}'. + * + * + * @return the meta object for the reference list 'Sender Sites'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getSenderSites() + * @see #getSendStep() + * @generated + */ + EReference getSendStep_SenderSites(); + + /** + * Returns the meta object for the reference list '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getReceiverSites Receiver Sites}'. + * + * + * @return the meta object for the reference list 'Receiver Sites'. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getReceiverSites() + * @see #getSendStep() + * @generated + */ + EReference getSendStep_ReceiverSites(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + MscFactory getMscFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl MSC}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getMSC() + * @generated + */ + EClass MSC = eINSTANCE.getMSC(); + + /** + * The meta object literal for the 'Sites' containment reference list feature. + * + * + * @generated + */ + EReference MSC__SITES = eINSTANCE.getMSC_Sites(); + + /** + * The meta object literal for the 'Steps' containment reference list feature. + * + * + * @generated + */ + EReference MSC__STEPS = eINSTANCE.getMSC_Steps(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl Site}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSite() + * @generated + */ + EClass SITE = eINSTANCE.getSite(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute SITE__NAME = eINSTANCE.getSite_Name(); + + /** + * The meta object literal for the 'Current State' attribute feature. + * + * + * @generated + */ + EAttribute SITE__CURRENT_STATE = eINSTANCE.getSite_CurrentState(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.StepImpl Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.StepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getStep() + * @generated + */ + EClass STEP = eINSTANCE.getStep(); + + /** + * The meta object literal for the 'Micro Steps' containment reference list feature. + * + * + * @generated + */ + EReference STEP__MICRO_STEPS = eINSTANCE.getStep_MicroSteps(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MicroStepImpl Micro Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MicroStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getMicroStep() + * @generated + */ + EClass MICRO_STEP = eINSTANCE.getMicroStep(); + + /** + * The meta object literal for the 'Time' attribute feature. + * + * + * @generated + */ + EAttribute MICRO_STEP__TIME = eINSTANCE.getMicroStep_Time(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl Enter State Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getEnterStateStep() + * @generated + */ + EClass ENTER_STATE_STEP = eINSTANCE.getEnterStateStep(); + + /** + * The meta object literal for the 'State Name' attribute feature. + * + * + * @generated + */ + EAttribute ENTER_STATE_STEP__STATE_NAME = eINSTANCE.getEnterStateStep_StateName(); + + /** + * The meta object literal for the 'Site' reference feature. + * + * + * @generated + */ + EReference ENTER_STATE_STEP__SITE = eINSTANCE.getEnterStateStep_Site(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SynchronisationStepImpl Synchronisation Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SynchronisationStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSynchronisationStep() + * @generated + */ + EClass SYNCHRONISATION_STEP = eINSTANCE.getSynchronisationStep(); + + /** + * The meta object literal for the 'Sites' reference list feature. + * + * + * @generated + */ + EReference SYNCHRONISATION_STEP__SITES = eINSTANCE.getSynchronisationStep_Sites(); + + /** + * The meta object literal for the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl Send Step}' class. + * + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MscPackageImpl#getSendStep() + * @generated + */ + EClass SEND_STEP = eINSTANCE.getSendStep(); + + /** + * The meta object literal for the 'Sender Sites' reference list feature. + * + * + * @generated + */ + EReference SEND_STEP__SENDER_SITES = eINSTANCE.getSendStep_SenderSites(); + + /** + * The meta object literal for the 'Receiver Sites' reference list feature. + * + * + * @generated + */ + EReference SEND_STEP__RECEIVER_SITES = eINSTANCE.getSendStep_ReceiverSites(); + + } + +} //MscPackage diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SendStep.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SendStep.java new file mode 100644 index 0000000..7578116 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SendStep.java @@ -0,0 +1,57 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Send Step'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getSenderSites Sender Sites}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep#getReceiverSites Receiver Sites}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSendStep() + * @model + * @generated + */ +public interface SendStep extends MicroStep { + /** + * Returns the value of the 'Sender Sites' reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site}. + * + *

+ * If the meaning of the 'Sender Sites' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Sender Sites' reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSendStep_SenderSites() + * @model required="true" + * @generated + */ + EList getSenderSites(); + + /** + * Returns the value of the 'Receiver Sites' reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site}. + * + *

+ * If the meaning of the 'Receiver Sites' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Receiver Sites' reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSendStep_ReceiverSites() + * @model required="true" + * @generated + */ + EList getReceiverSites(); + +} // SendStep diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Site.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Site.java new file mode 100644 index 0000000..5868755 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Site.java @@ -0,0 +1,77 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Site'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getCurrentState Current State}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSite() + * @model + * @generated + */ +public interface Site extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSite_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the 'Current State' attribute. + * + *

+ * If the meaning of the 'Current State' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Current State' attribute. + * @see #setCurrentState(String) + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSite_CurrentState() + * @model + * @generated + */ + String getCurrentState(); + + /** + * Sets the value of the '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site#getCurrentState Current State}' attribute. + * + * + * @param value the new value of the 'Current State' attribute. + * @see #getCurrentState() + * @generated + */ + void setCurrentState(String value); + +} // Site diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Step.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Step.java new file mode 100644 index 0000000..5fa7d62 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/Step.java @@ -0,0 +1,42 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Step'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step#getMicroSteps Micro Steps}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getStep() + * @model + * @generated + */ +public interface Step extends EObject { + /** + * Returns the value of the 'Micro Steps' containment reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep}. + * + *

+ * If the meaning of the 'Micro Steps' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Micro Steps' containment reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getStep_MicroSteps() + * @model containment="true" required="true" + * @generated + */ + EList getMicroSteps(); + +} // Step diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SynchronisationStep.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SynchronisationStep.java new file mode 100644 index 0000000..913d240 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/SynchronisationStep.java @@ -0,0 +1,40 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Synchronisation Step'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep#getSites Sites}
  • + *
+ * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSynchronisationStep() + * @model + * @generated + */ +public interface SynchronisationStep extends MicroStep { + /** + * Returns the value of the 'Sites' reference list. + * The list contents are of type {@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site}. + * + *

+ * If the meaning of the 'Sites' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Sites' reference list. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#getSynchronisationStep_Sites() + * @model required="true" + * @generated + */ + EList getSites(); + +} // SynchronisationStep diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/EnterStateStepImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/EnterStateStepImpl.java new file mode 100644 index 0000000..a5adb96 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/EnterStateStepImpl.java @@ -0,0 +1,224 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; + +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; + +/** + * + * An implementation of the model object 'Enter State Step'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl#getStateName State Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.EnterStateStepImpl#getSite Site}
  • + *
+ * + * @generated + */ +public class EnterStateStepImpl extends MicroStepImpl implements EnterStateStep { + /** + * The default value of the '{@link #getStateName() State Name}' attribute. + * + * + * @see #getStateName() + * @generated + * @ordered + */ + protected static final String STATE_NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getStateName() State Name}' attribute. + * + * + * @see #getStateName() + * @generated + * @ordered + */ + protected String stateName = STATE_NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getSite() Site}' reference. + * + * + * @see #getSite() + * @generated + * @ordered + */ + protected Site site; + + /** + * + * + * @generated + */ + protected EnterStateStepImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.ENTER_STATE_STEP; + } + + /** + * + * + * @generated + */ + public String getStateName() { + return stateName; + } + + /** + * + * + * @generated + */ + public void setStateName(String newStateName) { + String oldStateName = stateName; + stateName = newStateName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MscPackage.ENTER_STATE_STEP__STATE_NAME, oldStateName, stateName)); + } + + /** + * + * + * @generated + */ + public Site getSite() { + if (site != null && site.eIsProxy()) { + InternalEObject oldSite = (InternalEObject)site; + site = (Site)eResolveProxy(oldSite); + if (site != oldSite) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, MscPackage.ENTER_STATE_STEP__SITE, oldSite, site)); + } + } + return site; + } + + /** + * + * + * @generated + */ + public Site basicGetSite() { + return site; + } + + /** + * + * + * @generated + */ + public void setSite(Site newSite) { + Site oldSite = site; + site = newSite; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MscPackage.ENTER_STATE_STEP__SITE, oldSite, site)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.ENTER_STATE_STEP__STATE_NAME: + return getStateName(); + case MscPackage.ENTER_STATE_STEP__SITE: + if (resolve) return getSite(); + return basicGetSite(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.ENTER_STATE_STEP__STATE_NAME: + setStateName((String)newValue); + return; + case MscPackage.ENTER_STATE_STEP__SITE: + setSite((Site)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.ENTER_STATE_STEP__STATE_NAME: + setStateName(STATE_NAME_EDEFAULT); + return; + case MscPackage.ENTER_STATE_STEP__SITE: + setSite((Site)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.ENTER_STATE_STEP__STATE_NAME: + return STATE_NAME_EDEFAULT == null ? stateName != null : !STATE_NAME_EDEFAULT.equals(stateName); + case MscPackage.ENTER_STATE_STEP__SITE: + return site != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (stateName: "); + result.append(stateName); + result.append(')'); + return result.toString(); + } + +} //EnterStateStepImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MSCImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MSCImpl.java new file mode 100644 index 0000000..58385e0 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MSCImpl.java @@ -0,0 +1,189 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MSC; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step; + +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; + +/** + * + * An implementation of the model object 'MSC'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl#getSites Sites}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MSCImpl#getSteps Steps}
  • + *
+ * + * @generated + */ +public class MSCImpl extends MinimalEObjectImpl.Container implements MSC { + /** + * The cached value of the '{@link #getSites() Sites}' containment reference list. + * + * + * @see #getSites() + * @generated + * @ordered + */ + protected EList sites; + + /** + * The cached value of the '{@link #getSteps() Steps}' containment reference list. + * + * + * @see #getSteps() + * @generated + * @ordered + */ + protected EList steps; + + /** + * + * + * @generated + */ + protected MSCImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.MSC; + } + + /** + * + * + * @generated + */ + public EList getSites() { + if (sites == null) { + sites = new EObjectContainmentEList(Site.class, this, MscPackage.MSC__SITES); + } + return sites; + } + + /** + * + * + * @generated + */ + public EList getSteps() { + if (steps == null) { + steps = new EObjectContainmentEList(Step.class, this, MscPackage.MSC__STEPS); + } + return steps; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case MscPackage.MSC__SITES: + return ((InternalEList)getSites()).basicRemove(otherEnd, msgs); + case MscPackage.MSC__STEPS: + return ((InternalEList)getSteps()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.MSC__SITES: + return getSites(); + case MscPackage.MSC__STEPS: + return getSteps(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.MSC__SITES: + getSites().clear(); + getSites().addAll((Collection)newValue); + return; + case MscPackage.MSC__STEPS: + getSteps().clear(); + getSteps().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.MSC__SITES: + getSites().clear(); + return; + case MscPackage.MSC__STEPS: + getSteps().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.MSC__SITES: + return sites != null && !sites.isEmpty(); + case MscPackage.MSC__STEPS: + return steps != null && !steps.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //MSCImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MicroStepImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MicroStepImpl.java new file mode 100644 index 0000000..63af15d --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MicroStepImpl.java @@ -0,0 +1,163 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; + +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; + +/** + * + * An implementation of the model object 'Micro Step'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.MicroStepImpl#getTime Time}
  • + *
+ * + * @generated + */ +public abstract class MicroStepImpl extends MinimalEObjectImpl.Container implements MicroStep { + /** + * The default value of the '{@link #getTime() Time}' attribute. + * + * + * @see #getTime() + * @generated + * @ordered + */ + protected static final int TIME_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getTime() Time}' attribute. + * + * + * @see #getTime() + * @generated + * @ordered + */ + protected int time = TIME_EDEFAULT; + + /** + * + * + * @generated + */ + protected MicroStepImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.MICRO_STEP; + } + + /** + * + * + * @generated + */ + public int getTime() { + return time; + } + + /** + * + * + * @generated + */ + public void setTime(int newTime) { + int oldTime = time; + time = newTime; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MscPackage.MICRO_STEP__TIME, oldTime, time)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.MICRO_STEP__TIME: + return getTime(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.MICRO_STEP__TIME: + setTime((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.MICRO_STEP__TIME: + setTime(TIME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.MICRO_STEP__TIME: + return time != TIME_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (time: "); + result.append(time); + result.append(')'); + return result.toString(); + } + +} //MicroStepImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscFactoryImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscFactoryImpl.java new file mode 100644 index 0000000..5246189 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscFactoryImpl.java @@ -0,0 +1,150 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.*; + +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; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class MscFactoryImpl extends EFactoryImpl implements MscFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static MscFactory init() { + try { + MscFactory theMscFactory = (MscFactory)EPackage.Registry.INSTANCE.getEFactory(MscPackage.eNS_URI); + if (theMscFactory != null) { + return theMscFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new MscFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public MscFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case MscPackage.MSC: return createMSC(); + case MscPackage.SITE: return createSite(); + case MscPackage.STEP: return createStep(); + case MscPackage.ENTER_STATE_STEP: return createEnterStateStep(); + case MscPackage.SYNCHRONISATION_STEP: return createSynchronisationStep(); + case MscPackage.SEND_STEP: return createSendStep(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public MSC createMSC() { + MSCImpl msc = new MSCImpl(); + return msc; + } + + /** + * + * + * @generated + */ + public Site createSite() { + SiteImpl site = new SiteImpl(); + return site; + } + + /** + * + * + * @generated + */ + public Step createStep() { + StepImpl step = new StepImpl(); + return step; + } + + /** + * + * + * @generated + */ + public EnterStateStep createEnterStateStep() { + EnterStateStepImpl enterStateStep = new EnterStateStepImpl(); + return enterStateStep; + } + + /** + * + * + * @generated + */ + public SynchronisationStep createSynchronisationStep() { + SynchronisationStepImpl synchronisationStep = new SynchronisationStepImpl(); + return synchronisationStep; + } + + /** + * + * + * @generated + */ + public SendStep createSendStep() { + SendStepImpl sendStep = new SendStepImpl(); + return sendStep; + } + + /** + * + * + * @generated + */ + public MscPackage getMscPackage() { + return (MscPackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static MscPackage getPackage() { + return MscPackage.eINSTANCE; + } + +} //MscFactoryImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscPackageImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscPackageImpl.java new file mode 100644 index 0000000..407db89 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/MscPackageImpl.java @@ -0,0 +1,416 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscFactory; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep; + +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; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class MscPackageImpl extends EPackageImpl implements MscPackage { + /** + * + * + * @generated + */ + private EClass mscEClass = null; + + /** + * + * + * @generated + */ + private EClass siteEClass = null; + + /** + * + * + * @generated + */ + private EClass stepEClass = null; + + /** + * + * + * @generated + */ + private EClass microStepEClass = null; + + /** + * + * + * @generated + */ + private EClass enterStateStepEClass = null; + + /** + * + * + * @generated + */ + private EClass synchronisationStepEClass = null; + + /** + * + * + * @generated + */ + private EClass sendStepEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

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. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage#eNS_URI + * @see #init() + * @generated + */ + private MscPackageImpl() { + super(eNS_URI, MscFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link MscPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static MscPackage init() { + if (isInited) return (MscPackage)EPackage.Registry.INSTANCE.getEPackage(MscPackage.eNS_URI); + + // Obtain or create and register package + MscPackageImpl theMscPackage = (MscPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof MscPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new MscPackageImpl()); + + isInited = true; + + // Create package meta-data objects + theMscPackage.createPackageContents(); + + // Initialize created meta-data + theMscPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theMscPackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(MscPackage.eNS_URI, theMscPackage); + return theMscPackage; + } + + /** + * + * + * @generated + */ + public EClass getMSC() { + return mscEClass; + } + + /** + * + * + * @generated + */ + public EReference getMSC_Sites() { + return (EReference)mscEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getMSC_Steps() { + return (EReference)mscEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getSite() { + return siteEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getSite_Name() { + return (EAttribute)siteEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getSite_CurrentState() { + return (EAttribute)siteEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getStep() { + return stepEClass; + } + + /** + * + * + * @generated + */ + public EReference getStep_MicroSteps() { + return (EReference)stepEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getMicroStep() { + return microStepEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getMicroStep_Time() { + return (EAttribute)microStepEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getEnterStateStep() { + return enterStateStepEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getEnterStateStep_StateName() { + return (EAttribute)enterStateStepEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getEnterStateStep_Site() { + return (EReference)enterStateStepEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getSynchronisationStep() { + return synchronisationStepEClass; + } + + /** + * + * + * @generated + */ + public EReference getSynchronisationStep_Sites() { + return (EReference)synchronisationStepEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getSendStep() { + return sendStepEClass; + } + + /** + * + * + * @generated + */ + public EReference getSendStep_SenderSites() { + return (EReference)sendStepEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getSendStep_ReceiverSites() { + return (EReference)sendStepEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public MscFactory getMscFactory() { + return (MscFactory)getEFactoryInstance(); + } + + /** + * + * + * @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. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + mscEClass = createEClass(MSC); + createEReference(mscEClass, MSC__SITES); + createEReference(mscEClass, MSC__STEPS); + + siteEClass = createEClass(SITE); + createEAttribute(siteEClass, SITE__NAME); + createEAttribute(siteEClass, SITE__CURRENT_STATE); + + stepEClass = createEClass(STEP); + createEReference(stepEClass, STEP__MICRO_STEPS); + + microStepEClass = createEClass(MICRO_STEP); + createEAttribute(microStepEClass, MICRO_STEP__TIME); + + enterStateStepEClass = createEClass(ENTER_STATE_STEP); + createEAttribute(enterStateStepEClass, ENTER_STATE_STEP__STATE_NAME); + createEReference(enterStateStepEClass, ENTER_STATE_STEP__SITE); + + synchronisationStepEClass = createEClass(SYNCHRONISATION_STEP); + createEReference(synchronisationStepEClass, SYNCHRONISATION_STEP__SITES); + + sendStepEClass = createEClass(SEND_STEP); + createEReference(sendStepEClass, SEND_STEP__SENDER_SITES); + createEReference(sendStepEClass, SEND_STEP__RECEIVER_SITES); + } + + /** + * + * + * @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. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + enterStateStepEClass.getESuperTypes().add(this.getMicroStep()); + synchronisationStepEClass.getESuperTypes().add(this.getMicroStep()); + sendStepEClass.getESuperTypes().add(this.getMicroStep()); + + // Initialize classes, features, and operations; add parameters + initEClass(mscEClass, com.irtsaintexupery.fiacre.simulator.msc.msc.MSC.class, "MSC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getMSC_Sites(), this.getSite(), null, "sites", null, 1, -1, com.irtsaintexupery.fiacre.simulator.msc.msc.MSC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getMSC_Steps(), this.getStep(), null, "steps", null, 1, -1, com.irtsaintexupery.fiacre.simulator.msc.msc.MSC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(siteEClass, Site.class, "Site", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getSite_Name(), ecorePackage.getEString(), "name", null, 0, 1, Site.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getSite_CurrentState(), ecorePackage.getEString(), "currentState", null, 0, 1, Site.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(stepEClass, Step.class, "Step", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getStep_MicroSteps(), this.getMicroStep(), null, "microSteps", null, 1, -1, Step.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(microStepEClass, MicroStep.class, "MicroStep", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getMicroStep_Time(), ecorePackage.getEInt(), "time", null, 0, 1, MicroStep.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(enterStateStepEClass, EnterStateStep.class, "EnterStateStep", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getEnterStateStep_StateName(), ecorePackage.getEString(), "stateName", null, 0, 1, EnterStateStep.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getEnterStateStep_Site(), this.getSite(), null, "site", null, 1, 1, EnterStateStep.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(synchronisationStepEClass, SynchronisationStep.class, "SynchronisationStep", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getSynchronisationStep_Sites(), this.getSite(), null, "sites", null, 1, -1, SynchronisationStep.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(sendStepEClass, SendStep.class, "SendStep", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getSendStep_SenderSites(), this.getSite(), null, "senderSites", null, 1, -1, SendStep.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getSendStep_ReceiverSites(), this.getSite(), null, "receiverSites", null, 1, -1, SendStep.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); + } + +} //MscPackageImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SendStepImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SendStepImpl.java new file mode 100644 index 0000000..41d1174 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SendStepImpl.java @@ -0,0 +1,166 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Send Step'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl#getSenderSites Sender Sites}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SendStepImpl#getReceiverSites Receiver Sites}
  • + *
+ * + * @generated + */ +public class SendStepImpl extends MicroStepImpl implements SendStep { + /** + * The cached value of the '{@link #getSenderSites() Sender Sites}' reference list. + * + * + * @see #getSenderSites() + * @generated + * @ordered + */ + protected EList senderSites; + + /** + * The cached value of the '{@link #getReceiverSites() Receiver Sites}' reference list. + * + * + * @see #getReceiverSites() + * @generated + * @ordered + */ + protected EList receiverSites; + + /** + * + * + * @generated + */ + protected SendStepImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.SEND_STEP; + } + + /** + * + * + * @generated + */ + public EList getSenderSites() { + if (senderSites == null) { + senderSites = new EObjectResolvingEList(Site.class, this, MscPackage.SEND_STEP__SENDER_SITES); + } + return senderSites; + } + + /** + * + * + * @generated + */ + public EList getReceiverSites() { + if (receiverSites == null) { + receiverSites = new EObjectResolvingEList(Site.class, this, MscPackage.SEND_STEP__RECEIVER_SITES); + } + return receiverSites; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.SEND_STEP__SENDER_SITES: + return getSenderSites(); + case MscPackage.SEND_STEP__RECEIVER_SITES: + return getReceiverSites(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.SEND_STEP__SENDER_SITES: + getSenderSites().clear(); + getSenderSites().addAll((Collection)newValue); + return; + case MscPackage.SEND_STEP__RECEIVER_SITES: + getReceiverSites().clear(); + getReceiverSites().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.SEND_STEP__SENDER_SITES: + getSenderSites().clear(); + return; + case MscPackage.SEND_STEP__RECEIVER_SITES: + getReceiverSites().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.SEND_STEP__SENDER_SITES: + return senderSites != null && !senderSites.isEmpty(); + case MscPackage.SEND_STEP__RECEIVER_SITES: + return receiverSites != null && !receiverSites.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //SendStepImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SiteImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SiteImpl.java new file mode 100644 index 0000000..997d6e0 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SiteImpl.java @@ -0,0 +1,217 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; + +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; + +/** + * + * An implementation of the model object 'Site'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl#getName Name}
  • + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SiteImpl#getCurrentState Current State}
  • + *
+ * + * @generated + */ +public class SiteImpl extends MinimalEObjectImpl.Container implements Site { + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The default value of the '{@link #getCurrentState() Current State}' attribute. + * + * + * @see #getCurrentState() + * @generated + * @ordered + */ + protected static final String CURRENT_STATE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getCurrentState() Current State}' attribute. + * + * + * @see #getCurrentState() + * @generated + * @ordered + */ + protected String currentState = CURRENT_STATE_EDEFAULT; + + /** + * + * + * @generated + */ + protected SiteImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.SITE; + } + + /** + * + * + * @generated + */ + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MscPackage.SITE__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public String getCurrentState() { + return currentState; + } + + /** + * + * + * @generated + */ + public void setCurrentState(String newCurrentState) { + String oldCurrentState = currentState; + currentState = newCurrentState; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, MscPackage.SITE__CURRENT_STATE, oldCurrentState, currentState)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.SITE__NAME: + return getName(); + case MscPackage.SITE__CURRENT_STATE: + return getCurrentState(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.SITE__NAME: + setName((String)newValue); + return; + case MscPackage.SITE__CURRENT_STATE: + setCurrentState((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.SITE__NAME: + setName(NAME_EDEFAULT); + return; + case MscPackage.SITE__CURRENT_STATE: + setCurrentState(CURRENT_STATE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.SITE__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case MscPackage.SITE__CURRENT_STATE: + return CURRENT_STATE_EDEFAULT == null ? currentState != null : !CURRENT_STATE_EDEFAULT.equals(currentState); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(", currentState: "); + result.append(currentState); + result.append(')'); + return result.toString(); + } + +} //SiteImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/StepImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/StepImpl.java new file mode 100644 index 0000000..96ade1f --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/StepImpl.java @@ -0,0 +1,152 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep; +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Step; + +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; + +/** + * + * An implementation of the model object 'Step'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.StepImpl#getMicroSteps Micro Steps}
  • + *
+ * + * @generated + */ +public class StepImpl extends MinimalEObjectImpl.Container implements Step { + /** + * The cached value of the '{@link #getMicroSteps() Micro Steps}' containment reference list. + * + * + * @see #getMicroSteps() + * @generated + * @ordered + */ + protected EList microSteps; + + /** + * + * + * @generated + */ + protected StepImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.STEP; + } + + /** + * + * + * @generated + */ + public EList getMicroSteps() { + if (microSteps == null) { + microSteps = new EObjectContainmentEList(MicroStep.class, this, MscPackage.STEP__MICRO_STEPS); + } + return microSteps; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case MscPackage.STEP__MICRO_STEPS: + return ((InternalEList)getMicroSteps()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.STEP__MICRO_STEPS: + return getMicroSteps(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.STEP__MICRO_STEPS: + getMicroSteps().clear(); + getMicroSteps().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.STEP__MICRO_STEPS: + getMicroSteps().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.STEP__MICRO_STEPS: + return microSteps != null && !microSteps.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //StepImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SynchronisationStepImpl.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SynchronisationStepImpl.java new file mode 100644 index 0000000..d7f88df --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/impl/SynchronisationStepImpl.java @@ -0,0 +1,132 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.impl; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage; +import com.irtsaintexupery.fiacre.simulator.msc.msc.Site; +import com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Synchronisation Step'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link com.irtsaintexupery.fiacre.simulator.msc.msc.impl.SynchronisationStepImpl#getSites Sites}
  • + *
+ * + * @generated + */ +public class SynchronisationStepImpl extends MicroStepImpl implements SynchronisationStep { + /** + * The cached value of the '{@link #getSites() Sites}' reference list. + * + * + * @see #getSites() + * @generated + * @ordered + */ + protected EList sites; + + /** + * + * + * @generated + */ + protected SynchronisationStepImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return MscPackage.Literals.SYNCHRONISATION_STEP; + } + + /** + * + * + * @generated + */ + public EList getSites() { + if (sites == null) { + sites = new EObjectResolvingEList(Site.class, this, MscPackage.SYNCHRONISATION_STEP__SITES); + } + return sites; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case MscPackage.SYNCHRONISATION_STEP__SITES: + return getSites(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case MscPackage.SYNCHRONISATION_STEP__SITES: + getSites().clear(); + getSites().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case MscPackage.SYNCHRONISATION_STEP__SITES: + getSites().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case MscPackage.SYNCHRONISATION_STEP__SITES: + return sites != null && !sites.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //SynchronisationStepImpl diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscAdapterFactory.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscAdapterFactory.java new file mode 100644 index 0000000..a2ad2e8 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscAdapterFactory.java @@ -0,0 +1,228 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.util; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.*; + +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; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage + * @generated + */ +public class MscAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static MscPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public MscAdapterFactory() { + if (modelPackage == null) { + modelPackage = MscPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @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 createXXX methods. + * + * + * @generated + */ + protected MscSwitch modelSwitch = + new MscSwitch() { + @Override + public Adapter caseMSC(MSC object) { + return createMSCAdapter(); + } + @Override + public Adapter caseSite(Site object) { + return createSiteAdapter(); + } + @Override + public Adapter caseStep(Step object) { + return createStepAdapter(); + } + @Override + public Adapter caseMicroStep(MicroStep object) { + return createMicroStepAdapter(); + } + @Override + public Adapter caseEnterStateStep(EnterStateStep object) { + return createEnterStateStepAdapter(); + } + @Override + public Adapter caseSynchronisationStep(SynchronisationStep object) { + return createSynchronisationStepAdapter(); + } + @Override + public Adapter caseSendStep(SendStep object) { + return createSendStepAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MSC MSC}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MSC + * @generated + */ + public Adapter createMSCAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Site Site}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Site + * @generated + */ + public Adapter createSiteAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.Step Step}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.Step + * @generated + */ + public Adapter createStepAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep Micro Step}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MicroStep + * @generated + */ + public Adapter createMicroStepAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep Enter State Step}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.EnterStateStep + * @generated + */ + public Adapter createEnterStateStepAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep Synchronisation Step}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SynchronisationStep + * @generated + */ + public Adapter createSynchronisationStepAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep Send Step}'. + * + * 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. + * + * @return the new adapter. + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.SendStep + * @generated + */ + public Adapter createSendStepAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //MscAdapterFactory diff --git a/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscSwitch.java b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscSwitch.java new file mode 100644 index 0000000..0134562 --- /dev/null +++ b/eclipse/plugins/com.irtsaintexupey.fiacre.simulator.msc/src/com/irtsaintexupery/fiacre/simulator/msc/msc/util/MscSwitch.java @@ -0,0 +1,239 @@ +/** + */ +package com.irtsaintexupery.fiacre.simulator.msc.msc.util; + +import com.irtsaintexupery.fiacre.simulator.msc.msc.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX 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. + * + * @see com.irtsaintexupery.fiacre.simulator.msc.msc.MscPackage + * @generated + */ +public class MscSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static MscPackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public MscSwitch() { + if (modelPackage == null) { + modelPackage = MscPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @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 caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case MscPackage.MSC: { + MSC msc = (MSC)theEObject; + T result = caseMSC(msc); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.SITE: { + Site site = (Site)theEObject; + T result = caseSite(site); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.STEP: { + Step step = (Step)theEObject; + T result = caseStep(step); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.MICRO_STEP: { + MicroStep microStep = (MicroStep)theEObject; + T result = caseMicroStep(microStep); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.ENTER_STATE_STEP: { + EnterStateStep enterStateStep = (EnterStateStep)theEObject; + T result = caseEnterStateStep(enterStateStep); + if (result == null) result = caseMicroStep(enterStateStep); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.SYNCHRONISATION_STEP: { + SynchronisationStep synchronisationStep = (SynchronisationStep)theEObject; + T result = caseSynchronisationStep(synchronisationStep); + if (result == null) result = caseMicroStep(synchronisationStep); + if (result == null) result = defaultCase(theEObject); + return result; + } + case MscPackage.SEND_STEP: { + SendStep sendStep = (SendStep)theEObject; + T result = caseSendStep(sendStep); + if (result == null) result = caseMicroStep(sendStep); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'MSC'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'MSC'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMSC(MSC object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Site'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Site'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSite(Site object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Step'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Step'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStep(Step object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Micro Step'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Micro Step'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMicroStep(MicroStep object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enter State Step'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Enter State Step'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnterStateStep(EnterStateStep object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Synchronisation Step'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Synchronisation Step'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSynchronisationStep(SynchronisationStep object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Send Step'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Send Step'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSendStep(SendStep object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //MscSwitch diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/.classpath b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/.project b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.project new file mode 100644 index 0000000..a17fe79 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/.project @@ -0,0 +1,28 @@ + + + fr.irit.fiacre.xtext.edit + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.fiacre.xtext.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..a52edfe --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/META-INF/MANIFEST.MF @@ -0,0 +1,15 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: fr.irit.fiacre.xtext.edit;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: fr.irit.fiacre.xtext.fiacre.provider.FiacreEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Package: fr.irit.fiacre.xtext.fiacre.provider +Require-Bundle: org.eclipse.core.runtime, + fr.irit.fiacre.xtext;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/build.properties b/eclipse/plugins/fr.irit.fiacre.xtext.edit/build.properties new file mode 100644 index 0000000..302faa6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/build.properties @@ -0,0 +1,20 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# generated by Xtext 2.10.0 + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_after_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_before_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_DecimalLowerBound.gif new file mode 100644 index 0000000..b901f6e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_LowerBound.gif new file mode 100644 index 0000000..73f1649 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_NaturalLowerBound.gif new file mode 100644 index 0000000..ddf43a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_VariableLowerBound.gif new file mode 100644 index 0000000..852e790 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_lower_VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_max_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_min_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_EnterStateEvent.gif new file mode 100644 index 0000000..ebd9b3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_LeaveStateEvent.gif new file mode 100644 index 0000000..4b36c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_Observable.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableConjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableDisjunction.gif new file mode 100644 index 0000000..69c6119 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableEvent.gif new file mode 100644 index 0000000..13e215e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableImplication.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableNegation.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_PathEvent.gif new file mode 100644 index 0000000..0c07047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_StateEvent.gif new file mode 100644 index 0000000..a2ea8fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_until_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_DecimalUpperBound.gif new file mode 100644 index 0000000..506a19b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_InfiniteUpperBound.gif new file mode 100644 index 0000000..bbdb41d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_NaturalUpperBound.gif new file mode 100644 index 0000000..4d51bba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_UpperBound.gif new file mode 100644 index 0000000..f82b4be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_VariableUpperBound.gif new file mode 100644 index 0000000..fd5f7bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAbsencePattern_upper_VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Addition.gif new file mode 100644 index 0000000..4e7f8d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AllExpression.gif new file mode 100644 index 0000000..1c4c522 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AppendExpression.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayExpression.gif new file mode 100644 index 0000000..7403d39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_BooleanLiteral.gif new file mode 100644 index 0000000..5723f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonEqual.gif new file mode 100644 index 0000000..738febb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreater.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..5336acb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesser.gif new file mode 100644 index 0000000..7a5b362 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..99ba18b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conditional.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conjunction.gif new file mode 100644 index 0000000..3b01cc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ConstructionExpression.gif new file mode 100644 index 0000000..8d3a8e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Disjunction.gif new file mode 100644 index 0000000..3b01cc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Division.gif new file mode 100644 index 0000000..e22a370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_EnqueueExpression.gif new file mode 100644 index 0000000..3fdc2ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ExistsExpression.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Expression.gif new file mode 100644 index 0000000..79cec2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_FalseLiteral.gif new file mode 100644 index 0000000..bc08383 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_IdentifierExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Implication.gif new file mode 100644 index 0000000..502523b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_LiteralExpression.gif new file mode 100644 index 0000000..e3921e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Modulo.gif new file mode 100644 index 0000000..7403d39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Multiplication.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_NaturalLiteral.gif new file mode 100644 index 0000000..79cec2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Projection.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_QueueExpression.gif new file mode 100644 index 0000000..2371ef2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordAccessExpression.gif new file mode 100644 index 0000000..c06fe36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordExpression.gif new file mode 100644 index 0000000..d4ed5a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ReferenceExpression.gif new file mode 100644 index 0000000..5d50e1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Substraction.gif new file mode 100644 index 0000000..c3d4aed Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_TrueLiteral.gif new file mode 100644 index 0000000..6966d76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..1c4c522 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..1368d9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFullExpression.gif new file mode 100644 index 0000000..28e491c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..8d3a8e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..e6967b7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..eab3c35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..d4ed5a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Addition.gif new file mode 100644 index 0000000..4e7f8d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AllExpression.gif new file mode 100644 index 0000000..1c4c522 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AppendExpression.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayExpression.gif new file mode 100644 index 0000000..7403d39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_BooleanLiteral.gif new file mode 100644 index 0000000..5723f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonEqual.gif new file mode 100644 index 0000000..738febb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreater.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..5336acb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesser.gif new file mode 100644 index 0000000..7a5b362 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..99ba18b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conditional.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conjunction.gif new file mode 100644 index 0000000..3b01cc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ConstructionExpression.gif new file mode 100644 index 0000000..8d3a8e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Disjunction.gif new file mode 100644 index 0000000..3b01cc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Division.gif new file mode 100644 index 0000000..e22a370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_EnqueueExpression.gif new file mode 100644 index 0000000..3fdc2ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ExistsExpression.gif new file mode 100644 index 0000000..87b5b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Expression.gif new file mode 100644 index 0000000..79cec2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_FalseLiteral.gif new file mode 100644 index 0000000..bc08383 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_IdentifierExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Implication.gif new file mode 100644 index 0000000..502523b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_LiteralExpression.gif new file mode 100644 index 0000000..e3921e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Modulo.gif new file mode 100644 index 0000000..7403d39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Multiplication.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_NaturalLiteral.gif new file mode 100644 index 0000000..79cec2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Projection.gif new file mode 100644 index 0000000..2142c4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_QueueExpression.gif new file mode 100644 index 0000000..2371ef2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordAccessExpression.gif new file mode 100644 index 0000000..c06fe36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordExpression.gif new file mode 100644 index 0000000..d4ed5a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ReferenceExpression.gif new file mode 100644 index 0000000..5d50e1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Substraction.gif new file mode 100644 index 0000000..c3d4aed Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_TrueLiteral.gif new file mode 100644 index 0000000..6966d76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..57dc6d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..1c4c522 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..1368d9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFullExpression.gif new file mode 100644 index 0000000..28e491c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..8d3a8e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..e6967b7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..eab3c35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..d4ed5a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAddition_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Addition.gif new file mode 100644 index 0000000..16048d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AllExpression.gif new file mode 100644 index 0000000..ced536d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AppendExpression.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..f1e2d49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..140c175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..d44bc94 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..9130fd6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..1d6c3b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..ac035ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conditional.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conjunction.gif new file mode 100644 index 0000000..7fb29f4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..c2b071b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Disjunction.gif new file mode 100644 index 0000000..7fb29f4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Division.gif new file mode 100644 index 0000000..9c351cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..82bf8d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Expression.gif new file mode 100644 index 0000000..e863d31 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..232276b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Implication.gif new file mode 100644 index 0000000..90bc42c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..72cfbd0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Modulo.gif new file mode 100644 index 0000000..f1e2d49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Multiplication.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..e863d31 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Projection.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_QueueExpression.gif new file mode 100644 index 0000000..3dcea4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..5bfbb66 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordExpression.gif new file mode 100644 index 0000000..f5472ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..83969f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Substraction.gif new file mode 100644 index 0000000..223e215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..ebeaeeb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ced536d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..1c8ac08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..d01836d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..c2b071b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..d04c431 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..5c0241e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..f5472ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_index_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_index_VariableDeclaration.gif new file mode 100644 index 0000000..223e215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_index_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_type_RangeType.gif new file mode 100644 index 0000000..d799c18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllExpression_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AbsencePattern.gif new file mode 100644 index 0000000..9f92d6f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AllProperty.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AlwaysPattern.gif new file mode 100644 index 0000000..fb31e4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_DeadlockFreePattern.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_EnterStateEvent.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ExistsProperty.gif new file mode 100644 index 0000000..1613d1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LTLPattern.gif new file mode 100644 index 0000000..f0b400c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeadsToPattern.gif new file mode 100644 index 0000000..29daffe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeaveStateEvent.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_MortalPattern.gif new file mode 100644 index 0000000..67ba99c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Observable.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableConjunction.gif new file mode 100644 index 0000000..29daffe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableDisjunction.gif new file mode 100644 index 0000000..29daffe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableEvent.gif new file mode 100644 index 0000000..67ba99c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableImplication.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableNegation.gif new file mode 100644 index 0000000..2f9f86f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PathEvent.gif new file mode 100644 index 0000000..a847309 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PatternProperty.gif new file mode 100644 index 0000000..e9ccde5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PrecedesPattern.gif new file mode 100644 index 0000000..fb31e4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PresencePattern.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Property.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyConjunction.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyDisjunction.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyImplication.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyNegation.gif new file mode 100644 index 0000000..d2df954 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_SequencePattern.gif new file mode 100644 index 0000000..af3c30f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_StateEvent.gif new file mode 100644 index 0000000..946cda2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_type_RangeType.gif new file mode 100644 index 0000000..a847309 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_variable_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_variable_VariableDeclaration.gif new file mode 100644 index 0000000..8f7d7ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAllProperty_variable_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_after_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_before_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_max_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_min_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAlwaysPattern_until_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAppendExpression_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..b1f6c55 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Addition.gif new file mode 100644 index 0000000..1e7b42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AllExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AppendExpression.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayAccessExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayExpression.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_BooleanLiteral.gif new file mode 100644 index 0000000..1370956 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonEqual.gif new file mode 100644 index 0000000..78e35c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreater.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..01c2712 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesser.gif new file mode 100644 index 0000000..355b140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesserEqual.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonNotEqual.gif new file mode 100644 index 0000000..f42e7e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conditional.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ConstructionExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Disjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Division.gif new file mode 100644 index 0000000..7b18d42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_EnqueueExpression.gif new file mode 100644 index 0000000..b806b6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ExistsExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Expression.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_FalseLiteral.gif new file mode 100644 index 0000000..d7dcab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_IdentifierExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Implication.gif new file mode 100644 index 0000000..78cd3d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_LiteralExpression.gif new file mode 100644 index 0000000..60a3818 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Modulo.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Multiplication.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_NaturalLiteral.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Projection.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_QueueExpression.gif new file mode 100644 index 0000000..75d8cae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordAccessExpression.gif new file mode 100644 index 0000000..b1f6c55 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ReferenceExpression.gif new file mode 100644 index 0000000..0b5f0b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Substraction.gif new file mode 100644 index 0000000..00edc85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_TrueLiteral.gif new file mode 100644 index 0000000..2d6deb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryCoerceExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFirstExpression.gif new file mode 100644 index 0000000..c5f41ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFullExpression.gif new file mode 100644 index 0000000..373052d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryLengthExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryMinusExpression.gif new file mode 100644 index 0000000..4d1b6d6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryNegationExpression.gif new file mode 100644 index 0000000..fa71566 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryPlusExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessExpression_indexes_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Addition.gif new file mode 100644 index 0000000..205071f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AllExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AppendExpression.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayAccessExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayExpression.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_BooleanLiteral.gif new file mode 100644 index 0000000..191a36a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonEqual.gif new file mode 100644 index 0000000..4d3fded Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreater.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..4118ce5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesser.gif new file mode 100644 index 0000000..cbeac46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonNotEqual.gif new file mode 100644 index 0000000..7c7384e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conditional.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ConstructionExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Disjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Division.gif new file mode 100644 index 0000000..8cda162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_EnqueueExpression.gif new file mode 100644 index 0000000..d1bf162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ExistsExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Expression.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_FalseLiteral.gif new file mode 100644 index 0000000..7aba268 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_IdentifierExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Implication.gif new file mode 100644 index 0000000..9402ae7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_LiteralExpression.gif new file mode 100644 index 0000000..85812b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Modulo.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Multiplication.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_NaturalLiteral.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Projection.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_QueueExpression.gif new file mode 100644 index 0000000..2dd9ea6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordAccessExpression.gif new file mode 100644 index 0000000..70812c3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ReferenceExpression.gif new file mode 100644 index 0000000..c572b64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Substraction.gif new file mode 100644 index 0000000..0d619ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_TrueLiteral.gif new file mode 100644 index 0000000..83d4e79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryCoerceExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryEmptyExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFirstExpression.gif new file mode 100644 index 0000000..2dde1a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFullExpression.gif new file mode 100644 index 0000000..eb94bc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryLengthExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryMinusExpression.gif new file mode 100644 index 0000000..e7f28e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryNegationExpression.gif new file mode 100644 index 0000000..46ea360 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryPlusExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_index_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ArrayAccessPattern.gif new file mode 100644 index 0000000..0d619ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ConstructorPattern.gif new file mode 100644 index 0000000..70f48d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_IdentifierPattern.gif new file mode 100644 index 0000000..191a36a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_RecordAccessPattern.gif new file mode 100644 index 0000000..fb95b9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayAccessPattern_source_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Addition.gif new file mode 100644 index 0000000..291b062 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AllExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AppendExpression.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayAccessExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayExpression.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_BooleanLiteral.gif new file mode 100644 index 0000000..a3f6215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonEqual.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreater.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..f0b400c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesser.gif new file mode 100644 index 0000000..f2eedab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonNotEqual.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conditional.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ConstructionExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Disjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Division.gif new file mode 100644 index 0000000..b446c03 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_EnqueueExpression.gif new file mode 100644 index 0000000..946cda2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ExistsExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Expression.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_FalseLiteral.gif new file mode 100644 index 0000000..6fc892d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_IdentifierExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Implication.gif new file mode 100644 index 0000000..306a991 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_LiteralExpression.gif new file mode 100644 index 0000000..e9ccde5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Modulo.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Multiplication.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_NaturalLiteral.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Projection.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_QueueExpression.gif new file mode 100644 index 0000000..86fde1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordAccessExpression.gif new file mode 100644 index 0000000..65e9a41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ReferenceExpression.gif new file mode 100644 index 0000000..5f2cec7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Substraction.gif new file mode 100644 index 0000000..8f7d7ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_TrueLiteral.gif new file mode 100644 index 0000000..b8fa9f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryCoerceExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryEmptyExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFirstExpression.gif new file mode 100644 index 0000000..52be1a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFullExpression.gif new file mode 100644 index 0000000..3e3b45a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryLengthExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryMinusExpression.gif new file mode 100644 index 0000000..d2df954 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryNegationExpression.gif new file mode 100644 index 0000000..4bef1cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryPlusExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayExpression_values_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Addition.gif new file mode 100644 index 0000000..4ae0144 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AllExpression.gif new file mode 100644 index 0000000..203f89a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AppendExpression.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayAccessExpression.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayExpression.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_BooleanLiteral.gif new file mode 100644 index 0000000..bdb6bd5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonEqual.gif new file mode 100644 index 0000000..e171810 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreater.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..bda49d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesser.gif new file mode 100644 index 0000000..79caa88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonNotEqual.gif new file mode 100644 index 0000000..16c6f5a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conditional.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conjunction.gif new file mode 100644 index 0000000..1623e88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ConstructionExpression.gif new file mode 100644 index 0000000..4f520a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Disjunction.gif new file mode 100644 index 0000000..1623e88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Division.gif new file mode 100644 index 0000000..febad48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_EnqueueExpression.gif new file mode 100644 index 0000000..accf314 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ExistsExpression.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Expression.gif new file mode 100644 index 0000000..cc09417 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_FalseLiteral.gif new file mode 100644 index 0000000..95a7dfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_IdentifierExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Implication.gif new file mode 100644 index 0000000..fa1f359 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_LiteralExpression.gif new file mode 100644 index 0000000..f72fe57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Modulo.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Multiplication.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_NaturalLiteral.gif new file mode 100644 index 0000000..cc09417 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Projection.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_QueueExpression.gif new file mode 100644 index 0000000..1cd7fa0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordAccessExpression.gif new file mode 100644 index 0000000..527e4e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordExpression.gif new file mode 100644 index 0000000..f67fa30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ReferenceExpression.gif new file mode 100644 index 0000000..81ee371 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Substraction.gif new file mode 100644 index 0000000..9fa11c0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_TrueLiteral.gif new file mode 100644 index 0000000..c432db2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryCoerceExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryEmptyExpression.gif new file mode 100644 index 0000000..203f89a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFirstExpression.gif new file mode 100644 index 0000000..f3ab440 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFullExpression.gif new file mode 100644 index 0000000..72defd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryLengthExpression.gif new file mode 100644 index 0000000..4f520a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryMinusExpression.gif new file mode 100644 index 0000000..e9a46da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryNegationExpression.gif new file mode 100644 index 0000000..7765d44 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryPlusExpression.gif new file mode 100644 index 0000000..f67fa30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_size_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ArrayType.gif new file mode 100644 index 0000000..95a7dfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BasicType.gif new file mode 100644 index 0000000..79caa88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BooleanType.gif new file mode 100644 index 0000000..e171810 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_IntegerType.gif new file mode 100644 index 0000000..72defd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_NaturalType.gif new file mode 100644 index 0000000..fa1f359 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_QueueType.gif new file mode 100644 index 0000000..7765d44 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RangeType.gif new file mode 100644 index 0000000..4c29533 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RecordType.gif new file mode 100644 index 0000000..d6d0b63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ReferencedType.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_TupleType.gif new file mode 100644 index 0000000..0db3a10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_Type.gif new file mode 100644 index 0000000..e6388bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_UnionType.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateArrayType_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_exp_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_AnyPattern.gif new file mode 100644 index 0000000..dbeab5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ArrayAccessPattern.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstantPattern.gif new file mode 100644 index 0000000..c0bbad3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstructorPattern.gif new file mode 100644 index 0000000..5d52b42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IdentifierPattern.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IntegerPattern.gif new file mode 100644 index 0000000..49d3e25 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_Pattern.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_RecordAccessPattern.gif new file mode 100644 index 0000000..117864d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignAnyStatement_patterns_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_AnyPattern.gif new file mode 100644 index 0000000..64eb22e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ArrayAccessPattern.gif new file mode 100644 index 0000000..a149010 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstantPattern.gif new file mode 100644 index 0000000..6246f89 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstructorPattern.gif new file mode 100644 index 0000000..52612ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IdentifierPattern.gif new file mode 100644 index 0000000..64b3c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IntegerPattern.gif new file mode 100644 index 0000000..fc23f29 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_Pattern.gif new file mode 100644 index 0000000..7b489fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_RecordAccessPattern.gif new file mode 100644 index 0000000..bdcb71c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_patterns_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Addition.gif new file mode 100644 index 0000000..f3893b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AllExpression.gif new file mode 100644 index 0000000..7b489fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AppendExpression.gif new file mode 100644 index 0000000..847c1de Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayAccessExpression.gif new file mode 100644 index 0000000..b4b69fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayExpression.gif new file mode 100644 index 0000000..e01d292 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_BooleanLiteral.gif new file mode 100644 index 0000000..64b3c8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonEqual.gif new file mode 100644 index 0000000..9ab16d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreater.gif new file mode 100644 index 0000000..847c1de Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..62e68eb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesser.gif new file mode 100644 index 0000000..f0d542c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b4b69fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonNotEqual.gif new file mode 100644 index 0000000..a20a979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conditional.gif new file mode 100644 index 0000000..4ca2167 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conjunction.gif new file mode 100644 index 0000000..23ab758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ConstructionExpression.gif new file mode 100644 index 0000000..1b149e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Disjunction.gif new file mode 100644 index 0000000..23ab758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Division.gif new file mode 100644 index 0000000..a3f9e7c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_EnqueueExpression.gif new file mode 100644 index 0000000..052b213 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ExistsExpression.gif new file mode 100644 index 0000000..b4b69fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Expression.gif new file mode 100644 index 0000000..5279d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_FalseLiteral.gif new file mode 100644 index 0000000..b447e9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_IdentifierExpression.gif new file mode 100644 index 0000000..4ca2167 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Implication.gif new file mode 100644 index 0000000..8154581 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_LiteralExpression.gif new file mode 100644 index 0000000..2067b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Modulo.gif new file mode 100644 index 0000000..e01d292 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Multiplication.gif new file mode 100644 index 0000000..847c1de Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_NaturalLiteral.gif new file mode 100644 index 0000000..5279d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Projection.gif new file mode 100644 index 0000000..847c1de Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_QueueExpression.gif new file mode 100644 index 0000000..c1fbe12 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordAccessExpression.gif new file mode 100644 index 0000000..6ac69d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordExpression.gif new file mode 100644 index 0000000..22997f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ReferenceExpression.gif new file mode 100644 index 0000000..5d167a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Substraction.gif new file mode 100644 index 0000000..a149010 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_TrueLiteral.gif new file mode 100644 index 0000000..32e4f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryCoerceExpression.gif new file mode 100644 index 0000000..4ca2167 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..4ca2167 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryEmptyExpression.gif new file mode 100644 index 0000000..7b489fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFirstExpression.gif new file mode 100644 index 0000000..b14c508 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFullExpression.gif new file mode 100644 index 0000000..3dcb65c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryLengthExpression.gif new file mode 100644 index 0000000..1b149e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryMinusExpression.gif new file mode 100644 index 0000000..777a45b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryNegationExpression.gif new file mode 100644 index 0000000..5280ff3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryPlusExpression.gif new file mode 100644 index 0000000..22997f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateAssignStatement_values_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AnyPattern.gif new file mode 100644 index 0000000..8d289e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ArrayAccessPattern.gif new file mode 100644 index 0000000..305fa05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignAnyStatement.gif new file mode 100644 index 0000000..e9245bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignStatement.gif new file mode 100644 index 0000000..505a5ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_BlockStatement.gif new file mode 100644 index 0000000..09741e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_CaseStatement.gif new file mode 100644 index 0000000..88d12d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConditionalStatement.gif new file mode 100644 index 0000000..425d7ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstantPattern.gif new file mode 100644 index 0000000..88d12d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstructorPattern.gif new file mode 100644 index 0000000..6769c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ForeachStatement.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IdentifierPattern.gif new file mode 100644 index 0000000..da050a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IntegerPattern.gif new file mode 100644 index 0000000..0eef083 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_LoopStatement.gif new file mode 100644 index 0000000..0eef083 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_NullStatement.gif new file mode 100644 index 0000000..5087b0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_OnStatement.gif new file mode 100644 index 0000000..f8f8bb3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Pattern.gif new file mode 100644 index 0000000..c3fe622 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_PatternStatement.gif new file mode 100644 index 0000000..4a574b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReceiveStatement.gif new file mode 100644 index 0000000..425d7ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_RecordAccessPattern.gif new file mode 100644 index 0000000..425d7ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReturnStatement.gif new file mode 100644 index 0000000..f10ef75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SelectStatement.gif new file mode 100644 index 0000000..edb52e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SendStatement.gif new file mode 100644 index 0000000..4a574b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Statement.gif new file mode 100644 index 0000000..3c3c2d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementChoice.gif new file mode 100644 index 0000000..d2845b4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementSequence.gif new file mode 100644 index 0000000..420dc70 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_TaggedStatement.gif new file mode 100644 index 0000000..2943295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ToStatement.gif new file mode 100644 index 0000000..0650d76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_UnlessStatement.gif new file mode 100644 index 0000000..99e6aae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WaitStatement.gif new file mode 100644 index 0000000..6544d14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WhileStatement.gif new file mode 100644 index 0000000..2a71136 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlockStatement_body_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlock_local_PortSet.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlock_local_PortSet.gif new file mode 100644 index 0000000..e8ecad3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateBlock_local_PortSet.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AnyPattern.gif new file mode 100644 index 0000000..d7724b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ArrayAccessPattern.gif new file mode 100644 index 0000000..17508af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignAnyStatement.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignStatement.gif new file mode 100644 index 0000000..78bc455 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_BlockStatement.gif new file mode 100644 index 0000000..d5f8c8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_CaseStatement.gif new file mode 100644 index 0000000..3acaf19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConditionalStatement.gif new file mode 100644 index 0000000..5d7b895 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstantPattern.gif new file mode 100644 index 0000000..3acaf19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstructorPattern.gif new file mode 100644 index 0000000..c6b4517 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ForeachStatement.gif new file mode 100644 index 0000000..057c18d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IdentifierPattern.gif new file mode 100644 index 0000000..66a66ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IntegerPattern.gif new file mode 100644 index 0000000..943d22a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_LoopStatement.gif new file mode 100644 index 0000000..943d22a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_NullStatement.gif new file mode 100644 index 0000000..46a3c0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_OnStatement.gif new file mode 100644 index 0000000..5ac7789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Pattern.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_PatternStatement.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReceiveStatement.gif new file mode 100644 index 0000000..5d7b895 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_RecordAccessPattern.gif new file mode 100644 index 0000000..5d7b895 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReturnStatement.gif new file mode 100644 index 0000000..290c503 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SelectStatement.gif new file mode 100644 index 0000000..3b3bc87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SendStatement.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Statement.gif new file mode 100644 index 0000000..7b80ba2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementChoice.gif new file mode 100644 index 0000000..0dd622c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementSequence.gif new file mode 100644 index 0000000..a51b1f6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_TaggedStatement.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ToStatement.gif new file mode 100644 index 0000000..801a95c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_UnlessStatement.gif new file mode 100644 index 0000000..1bcce98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WaitStatement.gif new file mode 100644 index 0000000..f141774 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WhileStatement.gif new file mode 100644 index 0000000..d8f51cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_body_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_AnyPattern.gif new file mode 100644 index 0000000..d7724b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ArrayAccessPattern.gif new file mode 100644 index 0000000..17508af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstantPattern.gif new file mode 100644 index 0000000..3acaf19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstructorPattern.gif new file mode 100644 index 0000000..c6b4517 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IdentifierPattern.gif new file mode 100644 index 0000000..66a66ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IntegerPattern.gif new file mode 100644 index 0000000..943d22a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_Pattern.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_RecordAccessPattern.gif new file mode 100644 index 0000000..5d7b895 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_pattern_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Addition.gif new file mode 100644 index 0000000..aedabe1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AllExpression.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AppendExpression.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayAccessExpression.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayExpression.gif new file mode 100644 index 0000000..1bcce98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_BooleanLiteral.gif new file mode 100644 index 0000000..66a66ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonEqual.gif new file mode 100644 index 0000000..59ae8d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreater.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..3b3bc87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesser.gif new file mode 100644 index 0000000..a26ec40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesserEqual.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonNotEqual.gif new file mode 100644 index 0000000..6102025 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conditional.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conjunction.gif new file mode 100644 index 0000000..6675426 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ConstructionExpression.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Disjunction.gif new file mode 100644 index 0000000..6675426 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Division.gif new file mode 100644 index 0000000..1852a3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_EnqueueExpression.gif new file mode 100644 index 0000000..d36652c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ExistsExpression.gif new file mode 100644 index 0000000..7c7ede6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Expression.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_FalseLiteral.gif new file mode 100644 index 0000000..8b5cda1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_IdentifierExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Implication.gif new file mode 100644 index 0000000..cc1c5db Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_LiteralExpression.gif new file mode 100644 index 0000000..669fba2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Modulo.gif new file mode 100644 index 0000000..1bcce98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Multiplication.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_NaturalLiteral.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Projection.gif new file mode 100644 index 0000000..5bd29bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_QueueExpression.gif new file mode 100644 index 0000000..290c503 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordAccessExpression.gif new file mode 100644 index 0000000..b3b0b3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordExpression.gif new file mode 100644 index 0000000..2945453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ReferenceExpression.gif new file mode 100644 index 0000000..79ceed0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Substraction.gif new file mode 100644 index 0000000..17508af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_TrueLiteral.gif new file mode 100644 index 0000000..6b90e06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryCoerceExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..fb228a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryEmptyExpression.gif new file mode 100644 index 0000000..a20f5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFirstExpression.gif new file mode 100644 index 0000000..3fd1ce8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFullExpression.gif new file mode 100644 index 0000000..00da844 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryLengthExpression.gif new file mode 100644 index 0000000..201754f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryMinusExpression.gif new file mode 100644 index 0000000..0dd622c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryNegationExpression.gif new file mode 100644 index 0000000..4f9a608 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryPlusExpression.gif new file mode 100644 index 0000000..2945453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCaseStatement_value_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelDeclaration_value_ChannelType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelDeclaration_value_ChannelType.gif new file mode 100644 index 0000000..1a30bfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelDeclaration_value_ChannelType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Addition.gif new file mode 100644 index 0000000..4ae0144 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AllExpression.gif new file mode 100644 index 0000000..203f89a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AppendExpression.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayAccessExpression.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayExpression.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_BooleanLiteral.gif new file mode 100644 index 0000000..bdb6bd5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonEqual.gif new file mode 100644 index 0000000..e171810 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreater.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..bda49d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesser.gif new file mode 100644 index 0000000..79caa88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonNotEqual.gif new file mode 100644 index 0000000..16c6f5a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conditional.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conjunction.gif new file mode 100644 index 0000000..1623e88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ConstructionExpression.gif new file mode 100644 index 0000000..4f520a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Disjunction.gif new file mode 100644 index 0000000..1623e88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Division.gif new file mode 100644 index 0000000..febad48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_EnqueueExpression.gif new file mode 100644 index 0000000..accf314 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ExistsExpression.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Expression.gif new file mode 100644 index 0000000..cc09417 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_FalseLiteral.gif new file mode 100644 index 0000000..95a7dfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_IdentifierExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Implication.gif new file mode 100644 index 0000000..fa1f359 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_LiteralExpression.gif new file mode 100644 index 0000000..f72fe57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Modulo.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Multiplication.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_NaturalLiteral.gif new file mode 100644 index 0000000..cc09417 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Projection.gif new file mode 100644 index 0000000..aae1b35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_QueueExpression.gif new file mode 100644 index 0000000..1cd7fa0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordAccessExpression.gif new file mode 100644 index 0000000..527e4e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordExpression.gif new file mode 100644 index 0000000..f67fa30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ReferenceExpression.gif new file mode 100644 index 0000000..81ee371 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Substraction.gif new file mode 100644 index 0000000..9fa11c0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_TrueLiteral.gif new file mode 100644 index 0000000..c432db2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryCoerceExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..737366a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryEmptyExpression.gif new file mode 100644 index 0000000..203f89a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFirstExpression.gif new file mode 100644 index 0000000..f3ab440 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFullExpression.gif new file mode 100644 index 0000000..72defd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryLengthExpression.gif new file mode 100644 index 0000000..4f520a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryMinusExpression.gif new file mode 100644 index 0000000..e9a46da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryNegationExpression.gif new file mode 100644 index 0000000..7765d44 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryPlusExpression.gif new file mode 100644 index 0000000..f67fa30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_size_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ArrayType.gif new file mode 100644 index 0000000..95a7dfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BasicType.gif new file mode 100644 index 0000000..79caa88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BooleanType.gif new file mode 100644 index 0000000..e171810 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_IntegerType.gif new file mode 100644 index 0000000..72defd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_NaturalType.gif new file mode 100644 index 0000000..fa1f359 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_QueueType.gif new file mode 100644 index 0000000..7765d44 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RangeType.gif new file mode 100644 index 0000000..4c29533 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RecordType.gif new file mode 100644 index 0000000..d6d0b63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ReferencedType.gif new file mode 100644 index 0000000..0e24345 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_TupleType.gif new file mode 100644 index 0000000..0db3a10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_Type.gif new file mode 100644 index 0000000..e6388bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_UnionType.gif new file mode 100644 index 0000000..3cd0b7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateChannelType_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Addition.gif new file mode 100644 index 0000000..33440bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AllExpression.gif new file mode 100644 index 0000000..0ce91c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AppendExpression.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayExpression.gif new file mode 100644 index 0000000..3ffbd19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_BooleanLiteral.gif new file mode 100644 index 0000000..2af4cd3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonEqual.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreater.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..85afdbb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesser.gif new file mode 100644 index 0000000..79e1b2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conditional.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conjunction.gif new file mode 100644 index 0000000..8a80c2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ConstructionExpression.gif new file mode 100644 index 0000000..cc6993f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Disjunction.gif new file mode 100644 index 0000000..8a80c2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Division.gif new file mode 100644 index 0000000..ebb7793 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_EnqueueExpression.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ExistsExpression.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Expression.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_FalseLiteral.gif new file mode 100644 index 0000000..2a30c78 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_IdentifierExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Implication.gif new file mode 100644 index 0000000..0b5901d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_LiteralExpression.gif new file mode 100644 index 0000000..ddd2316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Modulo.gif new file mode 100644 index 0000000..3ffbd19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Multiplication.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_NaturalLiteral.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Projection.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_QueueExpression.gif new file mode 100644 index 0000000..afa6baf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordAccessExpression.gif new file mode 100644 index 0000000..a10c850 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordExpression.gif new file mode 100644 index 0000000..9045d97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ReferenceExpression.gif new file mode 100644 index 0000000..33f4da0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Substraction.gif new file mode 100644 index 0000000..a571571 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_TrueLiteral.gif new file mode 100644 index 0000000..4eb6a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..0ce91c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..9a4c243 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFullExpression.gif new file mode 100644 index 0000000..7dade8c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..cc6993f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..03d63cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..cdb5a67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..9045d97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Addition.gif new file mode 100644 index 0000000..33440bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AllExpression.gif new file mode 100644 index 0000000..0ce91c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AppendExpression.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayExpression.gif new file mode 100644 index 0000000..3ffbd19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_BooleanLiteral.gif new file mode 100644 index 0000000..2af4cd3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonEqual.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreater.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..85afdbb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesser.gif new file mode 100644 index 0000000..79e1b2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conditional.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conjunction.gif new file mode 100644 index 0000000..8a80c2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ConstructionExpression.gif new file mode 100644 index 0000000..cc6993f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Disjunction.gif new file mode 100644 index 0000000..8a80c2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Division.gif new file mode 100644 index 0000000..ebb7793 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_EnqueueExpression.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ExistsExpression.gif new file mode 100644 index 0000000..42bfbe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Expression.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_FalseLiteral.gif new file mode 100644 index 0000000..2a30c78 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_IdentifierExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Implication.gif new file mode 100644 index 0000000..0b5901d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_LiteralExpression.gif new file mode 100644 index 0000000..ddd2316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Modulo.gif new file mode 100644 index 0000000..3ffbd19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Multiplication.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_NaturalLiteral.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Projection.gif new file mode 100644 index 0000000..8e471a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_QueueExpression.gif new file mode 100644 index 0000000..afa6baf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordAccessExpression.gif new file mode 100644 index 0000000..a10c850 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordExpression.gif new file mode 100644 index 0000000..9045d97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ReferenceExpression.gif new file mode 100644 index 0000000..33f4da0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Substraction.gif new file mode 100644 index 0000000..a571571 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_TrueLiteral.gif new file mode 100644 index 0000000..4eb6a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..046b1b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..0ce91c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..9a4c243 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFullExpression.gif new file mode 100644 index 0000000..7dade8c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..cc6993f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..03d63cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..cdb5a67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..9045d97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonEqual_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Addition.gif new file mode 100644 index 0000000..bf79eff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AllExpression.gif new file mode 100644 index 0000000..11bcd0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AppendExpression.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayExpression.gif new file mode 100644 index 0000000..cc09082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_BooleanLiteral.gif new file mode 100644 index 0000000..6678f80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonEqual.gif new file mode 100644 index 0000000..791d85c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreater.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..c31e7a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesser.gif new file mode 100644 index 0000000..f9adee7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..2dd2a40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conditional.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conjunction.gif new file mode 100644 index 0000000..e9771af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ConstructionExpression.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Disjunction.gif new file mode 100644 index 0000000..e9771af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Division.gif new file mode 100644 index 0000000..ed0bc9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_EnqueueExpression.gif new file mode 100644 index 0000000..9975318 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ExistsExpression.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Expression.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_FalseLiteral.gif new file mode 100644 index 0000000..4d73907 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_IdentifierExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Implication.gif new file mode 100644 index 0000000..b665bc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_LiteralExpression.gif new file mode 100644 index 0000000..fe10b8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Modulo.gif new file mode 100644 index 0000000..cc09082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Multiplication.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_NaturalLiteral.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Projection.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_QueueExpression.gif new file mode 100644 index 0000000..1e449c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordAccessExpression.gif new file mode 100644 index 0000000..e292d2a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordExpression.gif new file mode 100644 index 0000000..44d35f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ReferenceExpression.gif new file mode 100644 index 0000000..2bcab8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Substraction.gif new file mode 100644 index 0000000..7959b30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_TrueLiteral.gif new file mode 100644 index 0000000..614b70e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..11bcd0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..7ad30d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFullExpression.gif new file mode 100644 index 0000000..c1f6bdf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..a9fbc1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..78b8363 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..44d35f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Addition.gif new file mode 100644 index 0000000..bf79eff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AllExpression.gif new file mode 100644 index 0000000..11bcd0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AppendExpression.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayExpression.gif new file mode 100644 index 0000000..cc09082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_BooleanLiteral.gif new file mode 100644 index 0000000..6678f80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonEqual.gif new file mode 100644 index 0000000..791d85c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreater.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..c31e7a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesser.gif new file mode 100644 index 0000000..f9adee7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..2dd2a40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conditional.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conjunction.gif new file mode 100644 index 0000000..e9771af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ConstructionExpression.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Disjunction.gif new file mode 100644 index 0000000..e9771af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Division.gif new file mode 100644 index 0000000..ed0bc9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_EnqueueExpression.gif new file mode 100644 index 0000000..9975318 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ExistsExpression.gif new file mode 100644 index 0000000..79adbf5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Expression.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_FalseLiteral.gif new file mode 100644 index 0000000..4d73907 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_IdentifierExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Implication.gif new file mode 100644 index 0000000..b665bc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_LiteralExpression.gif new file mode 100644 index 0000000..fe10b8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Modulo.gif new file mode 100644 index 0000000..cc09082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Multiplication.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_NaturalLiteral.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Projection.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_QueueExpression.gif new file mode 100644 index 0000000..1e449c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordAccessExpression.gif new file mode 100644 index 0000000..e292d2a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordExpression.gif new file mode 100644 index 0000000..44d35f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ReferenceExpression.gif new file mode 100644 index 0000000..2bcab8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Substraction.gif new file mode 100644 index 0000000..7959b30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_TrueLiteral.gif new file mode 100644 index 0000000..614b70e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..5cd8911 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..11bcd0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..7ad30d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFullExpression.gif new file mode 100644 index 0000000..c1f6bdf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..a9fbc1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..78b8363 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..44d35f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreaterEqual_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonGreater_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Addition.gif new file mode 100644 index 0000000..1e7b42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AllExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AppendExpression.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayExpression.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_BooleanLiteral.gif new file mode 100644 index 0000000..1370956 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonEqual.gif new file mode 100644 index 0000000..78e35c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreater.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..01c2712 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesser.gif new file mode 100644 index 0000000..355b140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..f42e7e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conditional.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ConstructionExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Disjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Division.gif new file mode 100644 index 0000000..7b18d42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_EnqueueExpression.gif new file mode 100644 index 0000000..b806b6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ExistsExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Expression.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_FalseLiteral.gif new file mode 100644 index 0000000..d7dcab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_IdentifierExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Implication.gif new file mode 100644 index 0000000..78cd3d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_LiteralExpression.gif new file mode 100644 index 0000000..60a3818 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Modulo.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Multiplication.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_NaturalLiteral.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Projection.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_QueueExpression.gif new file mode 100644 index 0000000..75d8cae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordAccessExpression.gif new file mode 100644 index 0000000..b1f6c55 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ReferenceExpression.gif new file mode 100644 index 0000000..0b5f0b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Substraction.gif new file mode 100644 index 0000000..00edc85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_TrueLiteral.gif new file mode 100644 index 0000000..2d6deb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..c5f41ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFullExpression.gif new file mode 100644 index 0000000..373052d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..4d1b6d6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..fa71566 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Addition.gif new file mode 100644 index 0000000..1e7b42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AllExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AppendExpression.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayExpression.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_BooleanLiteral.gif new file mode 100644 index 0000000..1370956 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonEqual.gif new file mode 100644 index 0000000..78e35c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreater.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..01c2712 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesser.gif new file mode 100644 index 0000000..355b140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..f42e7e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conditional.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ConstructionExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Disjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Division.gif new file mode 100644 index 0000000..7b18d42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_EnqueueExpression.gif new file mode 100644 index 0000000..b806b6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ExistsExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Expression.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_FalseLiteral.gif new file mode 100644 index 0000000..d7dcab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_IdentifierExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Implication.gif new file mode 100644 index 0000000..78cd3d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_LiteralExpression.gif new file mode 100644 index 0000000..60a3818 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Modulo.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Multiplication.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_NaturalLiteral.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Projection.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_QueueExpression.gif new file mode 100644 index 0000000..75d8cae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordAccessExpression.gif new file mode 100644 index 0000000..b1f6c55 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ReferenceExpression.gif new file mode 100644 index 0000000..0b5f0b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Substraction.gif new file mode 100644 index 0000000..00edc85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_TrueLiteral.gif new file mode 100644 index 0000000..2d6deb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..c5f41ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFullExpression.gif new file mode 100644 index 0000000..373052d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..4d1b6d6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..fa71566 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesserEqual_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Addition.gif new file mode 100644 index 0000000..3d6ebc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AllExpression.gif new file mode 100644 index 0000000..e75c32f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AppendExpression.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayExpression.gif new file mode 100644 index 0000000..113f7a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_BooleanLiteral.gif new file mode 100644 index 0000000..98e9acd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonEqual.gif new file mode 100644 index 0000000..3b8968f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreater.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..c4b2d24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesser.gif new file mode 100644 index 0000000..8a06919 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..bbf69c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conditional.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conjunction.gif new file mode 100644 index 0000000..f9df58c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ConstructionExpression.gif new file mode 100644 index 0000000..33a4341 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Disjunction.gif new file mode 100644 index 0000000..f9df58c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Division.gif new file mode 100644 index 0000000..7c6d3a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_EnqueueExpression.gif new file mode 100644 index 0000000..0b4fd71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ExistsExpression.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Expression.gif new file mode 100644 index 0000000..ca891bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_FalseLiteral.gif new file mode 100644 index 0000000..8ff1525 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_IdentifierExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Implication.gif new file mode 100644 index 0000000..b3b4d6f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_LiteralExpression.gif new file mode 100644 index 0000000..c575cb5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Modulo.gif new file mode 100644 index 0000000..113f7a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Multiplication.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_NaturalLiteral.gif new file mode 100644 index 0000000..ca891bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Projection.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_QueueExpression.gif new file mode 100644 index 0000000..acadf38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordAccessExpression.gif new file mode 100644 index 0000000..3ac0e01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordExpression.gif new file mode 100644 index 0000000..0643d85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ReferenceExpression.gif new file mode 100644 index 0000000..24bda01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Substraction.gif new file mode 100644 index 0000000..7af4f6b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_TrueLiteral.gif new file mode 100644 index 0000000..0f44e11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..e75c32f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..8ac688b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFullExpression.gif new file mode 100644 index 0000000..27cf4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..33a4341 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..b6257c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..16070ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..0643d85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Addition.gif new file mode 100644 index 0000000..3d6ebc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AllExpression.gif new file mode 100644 index 0000000..e75c32f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AppendExpression.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayExpression.gif new file mode 100644 index 0000000..113f7a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_BooleanLiteral.gif new file mode 100644 index 0000000..98e9acd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonEqual.gif new file mode 100644 index 0000000..3b8968f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreater.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..c4b2d24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesser.gif new file mode 100644 index 0000000..8a06919 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..bbf69c4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conditional.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conjunction.gif new file mode 100644 index 0000000..f9df58c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ConstructionExpression.gif new file mode 100644 index 0000000..33a4341 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Disjunction.gif new file mode 100644 index 0000000..f9df58c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Division.gif new file mode 100644 index 0000000..7c6d3a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_EnqueueExpression.gif new file mode 100644 index 0000000..0b4fd71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ExistsExpression.gif new file mode 100644 index 0000000..edd1d32 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Expression.gif new file mode 100644 index 0000000..ca891bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_FalseLiteral.gif new file mode 100644 index 0000000..8ff1525 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_IdentifierExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Implication.gif new file mode 100644 index 0000000..b3b4d6f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_LiteralExpression.gif new file mode 100644 index 0000000..c575cb5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Modulo.gif new file mode 100644 index 0000000..113f7a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Multiplication.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_NaturalLiteral.gif new file mode 100644 index 0000000..ca891bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Projection.gif new file mode 100644 index 0000000..96837ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_QueueExpression.gif new file mode 100644 index 0000000..acadf38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordAccessExpression.gif new file mode 100644 index 0000000..3ac0e01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordExpression.gif new file mode 100644 index 0000000..0643d85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ReferenceExpression.gif new file mode 100644 index 0000000..24bda01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Substraction.gif new file mode 100644 index 0000000..7af4f6b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_TrueLiteral.gif new file mode 100644 index 0000000..0f44e11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d2d746f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..e75c32f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..8ac688b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFullExpression.gif new file mode 100644 index 0000000..27cf4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..33a4341 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..b6257c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..16070ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..0643d85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonLesser_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Addition.gif new file mode 100644 index 0000000..c18e273 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AllExpression.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AppendExpression.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayExpression.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_BooleanLiteral.gif new file mode 100644 index 0000000..22bd4d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonEqual.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreater.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..0fae0b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesser.gif new file mode 100644 index 0000000..ff11711 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conditional.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conjunction.gif new file mode 100644 index 0000000..e8daccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ConstructionExpression.gif new file mode 100644 index 0000000..dd919f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Disjunction.gif new file mode 100644 index 0000000..e8daccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Division.gif new file mode 100644 index 0000000..51bab8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_EnqueueExpression.gif new file mode 100644 index 0000000..d9a8b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ExistsExpression.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Expression.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_FalseLiteral.gif new file mode 100644 index 0000000..542f33a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_IdentifierExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Implication.gif new file mode 100644 index 0000000..4d1f9ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_LiteralExpression.gif new file mode 100644 index 0000000..e03542c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Modulo.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Multiplication.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_NaturalLiteral.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Projection.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_QueueExpression.gif new file mode 100644 index 0000000..81f5389 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordAccessExpression.gif new file mode 100644 index 0000000..debadf0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordExpression.gif new file mode 100644 index 0000000..889a6dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ReferenceExpression.gif new file mode 100644 index 0000000..a75fd20 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Substraction.gif new file mode 100644 index 0000000..9466445 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_TrueLiteral.gif new file mode 100644 index 0000000..dad7592 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..3c08924 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFullExpression.gif new file mode 100644 index 0000000..6b00e67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..dd919f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..c525027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..4a2fd2e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..889a6dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Addition.gif new file mode 100644 index 0000000..c18e273 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AllExpression.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AppendExpression.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayExpression.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_BooleanLiteral.gif new file mode 100644 index 0000000..22bd4d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonEqual.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreater.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..0fae0b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesser.gif new file mode 100644 index 0000000..ff11711 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conditional.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conjunction.gif new file mode 100644 index 0000000..e8daccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ConstructionExpression.gif new file mode 100644 index 0000000..dd919f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Disjunction.gif new file mode 100644 index 0000000..e8daccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Division.gif new file mode 100644 index 0000000..51bab8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_EnqueueExpression.gif new file mode 100644 index 0000000..d9a8b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ExistsExpression.gif new file mode 100644 index 0000000..c448f2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Expression.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_FalseLiteral.gif new file mode 100644 index 0000000..542f33a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_IdentifierExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Implication.gif new file mode 100644 index 0000000..4d1f9ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_LiteralExpression.gif new file mode 100644 index 0000000..e03542c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Modulo.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Multiplication.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_NaturalLiteral.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Projection.gif new file mode 100644 index 0000000..b021070 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_QueueExpression.gif new file mode 100644 index 0000000..81f5389 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordAccessExpression.gif new file mode 100644 index 0000000..debadf0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordExpression.gif new file mode 100644 index 0000000..889a6dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ReferenceExpression.gif new file mode 100644 index 0000000..a75fd20 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Substraction.gif new file mode 100644 index 0000000..9466445 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_TrueLiteral.gif new file mode 100644 index 0000000..dad7592 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b0dbd48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..3c08924 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFullExpression.gif new file mode 100644 index 0000000..6b00e67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..dd919f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..c525027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..4a2fd2e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..889a6dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComparisonNotEqual_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_body_Composition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_body_Composition.gif new file mode 100644 index 0000000..52c578c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_body_Composition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_localPorts_LocalPortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_localPorts_LocalPortsDeclaration.gif new file mode 100644 index 0000000..561bc08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_localPorts_LocalPortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_ports_PortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_ports_PortsDeclaration.gif new file mode 100644 index 0000000..3cdecb1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_ports_PortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AnyPattern.gif new file mode 100644 index 0000000..61e5d4d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ArrayAccessPattern.gif new file mode 100644 index 0000000..4f26f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignAnyStatement.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignStatement.gif new file mode 100644 index 0000000..968035a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_BlockStatement.gif new file mode 100644 index 0000000..a3d7b11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_CaseStatement.gif new file mode 100644 index 0000000..7fd40f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConditionalStatement.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstantPattern.gif new file mode 100644 index 0000000..7fd40f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstructorPattern.gif new file mode 100644 index 0000000..55d7be5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ForeachStatement.gif new file mode 100644 index 0000000..9167798 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IdentifierPattern.gif new file mode 100644 index 0000000..66a52f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IntegerPattern.gif new file mode 100644 index 0000000..cadd872 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_LoopStatement.gif new file mode 100644 index 0000000..cadd872 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_NullStatement.gif new file mode 100644 index 0000000..efc256e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_OnStatement.gif new file mode 100644 index 0000000..e9813e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Pattern.gif new file mode 100644 index 0000000..de48ec6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_PatternStatement.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReceiveStatement.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_RecordAccessPattern.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReturnStatement.gif new file mode 100644 index 0000000..7ea4283 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SelectStatement.gif new file mode 100644 index 0000000..278cd8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SendStatement.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Statement.gif new file mode 100644 index 0000000..e6a5692 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementChoice.gif new file mode 100644 index 0000000..b55cd92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementSequence.gif new file mode 100644 index 0000000..a258504 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_TaggedStatement.gif new file mode 100644 index 0000000..12de541 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ToStatement.gif new file mode 100644 index 0000000..2b447c2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_UnlessStatement.gif new file mode 100644 index 0000000..2e9fe7e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WaitStatement.gif new file mode 100644 index 0000000..e12e1fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WhileStatement.gif new file mode 100644 index 0000000..f809a28 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_prelude_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_priorities_PriorityDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_priorities_PriorityDeclaration.gif new file mode 100644 index 0000000..5e6c9c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentDeclaration_priorities_PriorityDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Addition.gif new file mode 100644 index 0000000..6bdda3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AllExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AppendExpression.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayAccessExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayExpression.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_BooleanLiteral.gif new file mode 100644 index 0000000..cb602a6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonEqual.gif new file mode 100644 index 0000000..59c4ada Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreater.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..a0a1713 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesser.gif new file mode 100644 index 0000000..4583981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesserEqual.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonNotEqual.gif new file mode 100644 index 0000000..380ff1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conditional.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ConstructionExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Disjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Division.gif new file mode 100644 index 0000000..4d9d692 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_EnqueueExpression.gif new file mode 100644 index 0000000..e84cfde Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ExistsExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Expression.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_FalseLiteral.gif new file mode 100644 index 0000000..62a1226 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_IdentifierExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Implication.gif new file mode 100644 index 0000000..a0468c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_LiteralExpression.gif new file mode 100644 index 0000000..08d7d52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Modulo.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Multiplication.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_NaturalLiteral.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Projection.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_QueueExpression.gif new file mode 100644 index 0000000..4c59dd4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordAccessExpression.gif new file mode 100644 index 0000000..454398f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ReferenceExpression.gif new file mode 100644 index 0000000..ca79607 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Substraction.gif new file mode 100644 index 0000000..741b7da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_TrueLiteral.gif new file mode 100644 index 0000000..4375ccf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryEmptyExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFirstExpression.gif new file mode 100644 index 0000000..5d7a6e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFullExpression.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryLengthExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryMinusExpression.gif new file mode 100644 index 0000000..66eed05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryNegationExpression.gif new file mode 100644 index 0000000..4df8fc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryPlusExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_parameters_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Addition.gif new file mode 100644 index 0000000..6bdda3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AllExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AppendExpression.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayAccessExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayExpression.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_BooleanLiteral.gif new file mode 100644 index 0000000..cb602a6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonEqual.gif new file mode 100644 index 0000000..59c4ada Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreater.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..a0a1713 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesser.gif new file mode 100644 index 0000000..4583981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesserEqual.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonNotEqual.gif new file mode 100644 index 0000000..380ff1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conditional.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ConstructionExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Disjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Division.gif new file mode 100644 index 0000000..4d9d692 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_EnqueueExpression.gif new file mode 100644 index 0000000..e84cfde Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ExistsExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Expression.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_FalseLiteral.gif new file mode 100644 index 0000000..62a1226 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_IdentifierExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Implication.gif new file mode 100644 index 0000000..a0468c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_LiteralExpression.gif new file mode 100644 index 0000000..08d7d52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Modulo.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Multiplication.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_NaturalLiteral.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Projection.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_QueueExpression.gif new file mode 100644 index 0000000..4c59dd4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordAccessExpression.gif new file mode 100644 index 0000000..454398f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ReferenceExpression.gif new file mode 100644 index 0000000..ca79607 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Substraction.gif new file mode 100644 index 0000000..741b7da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_TrueLiteral.gif new file mode 100644 index 0000000..4375ccf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryEmptyExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFirstExpression.gif new file mode 100644 index 0000000..5d7a6e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFullExpression.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryLengthExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryMinusExpression.gif new file mode 100644 index 0000000..66eed05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryNegationExpression.gif new file mode 100644 index 0000000..4df8fc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryPlusExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComponentInstance_ports_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCompositeBlock_composition_Composition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCompositeBlock_composition_Composition.gif new file mode 100644 index 0000000..99a4283 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateCompositeBlock_composition_Composition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_Block.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_Block.gif new file mode 100644 index 0000000..414b3c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_Block.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_CompositeBlock.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_CompositeBlock.gif new file mode 100644 index 0000000..20b24c9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_CompositeBlock.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_InstanceDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_InstanceDeclaration.gif new file mode 100644 index 0000000..247671f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_blocks_InstanceDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_global_PortSet.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_global_PortSet.gif new file mode 100644 index 0000000..290d467 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateComposition_global_PortSet.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Addition.gif new file mode 100644 index 0000000..a785c69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AllExpression.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AppendExpression.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayAccessExpression.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayExpression.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_BooleanLiteral.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonEqual.gif new file mode 100644 index 0000000..517abc7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreater.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..dc9ca0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesser.gif new file mode 100644 index 0000000..4455fd0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonNotEqual.gif new file mode 100644 index 0000000..2c857d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conditional.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conjunction.gif new file mode 100644 index 0000000..860276f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ConstructionExpression.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Disjunction.gif new file mode 100644 index 0000000..860276f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Division.gif new file mode 100644 index 0000000..1584981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_EnqueueExpression.gif new file mode 100644 index 0000000..1a6d6b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ExistsExpression.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Expression.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_FalseLiteral.gif new file mode 100644 index 0000000..2146504 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_IdentifierExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Implication.gif new file mode 100644 index 0000000..b68de5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_LiteralExpression.gif new file mode 100644 index 0000000..5fc9320 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Modulo.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Multiplication.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_NaturalLiteral.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Projection.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_QueueExpression.gif new file mode 100644 index 0000000..18a3c3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordAccessExpression.gif new file mode 100644 index 0000000..3274511 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordExpression.gif new file mode 100644 index 0000000..b9e96e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ReferenceExpression.gif new file mode 100644 index 0000000..f82670c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Substraction.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_TrueLiteral.gif new file mode 100644 index 0000000..5f8c201 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryEmptyExpression.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFirstExpression.gif new file mode 100644 index 0000000..3b60193 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFullExpression.gif new file mode 100644 index 0000000..c200e69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryLengthExpression.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryMinusExpression.gif new file mode 100644 index 0000000..1ebcee0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryNegationExpression.gif new file mode 100644 index 0000000..bf50c76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryPlusExpression.gif new file mode 100644 index 0000000..b9e96e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_condition_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AnyPattern.gif new file mode 100644 index 0000000..26942d5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ArrayAccessPattern.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignAnyStatement.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignStatement.gif new file mode 100644 index 0000000..4937a9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_BlockStatement.gif new file mode 100644 index 0000000..ed60866 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_CaseStatement.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConditionalStatement.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstantPattern.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstructorPattern.gif new file mode 100644 index 0000000..a4565df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ForeachStatement.gif new file mode 100644 index 0000000..daf990a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IdentifierPattern.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IntegerPattern.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_LoopStatement.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_NullStatement.gif new file mode 100644 index 0000000..ecde335 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_OnStatement.gif new file mode 100644 index 0000000..997e434 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Pattern.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_PatternStatement.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReceiveStatement.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_RecordAccessPattern.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReturnStatement.gif new file mode 100644 index 0000000..18a3c3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SelectStatement.gif new file mode 100644 index 0000000..dc9ca0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SendStatement.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Statement.gif new file mode 100644 index 0000000..159895b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementChoice.gif new file mode 100644 index 0000000..1ebcee0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementSequence.gif new file mode 100644 index 0000000..64ea174 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_TaggedStatement.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ToStatement.gif new file mode 100644 index 0000000..eabf210 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_UnlessStatement.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WaitStatement.gif new file mode 100644 index 0000000..1afc3ce Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WhileStatement.gif new file mode 100644 index 0000000..8897aa8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_else_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_elseif_ExtendedConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_elseif_ExtendedConditionalStatement.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_elseif_ExtendedConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AnyPattern.gif new file mode 100644 index 0000000..26942d5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ArrayAccessPattern.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignAnyStatement.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignStatement.gif new file mode 100644 index 0000000..4937a9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_BlockStatement.gif new file mode 100644 index 0000000..ed60866 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_CaseStatement.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConditionalStatement.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstantPattern.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstructorPattern.gif new file mode 100644 index 0000000..a4565df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ForeachStatement.gif new file mode 100644 index 0000000..daf990a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IdentifierPattern.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IntegerPattern.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_LoopStatement.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_NullStatement.gif new file mode 100644 index 0000000..ecde335 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_OnStatement.gif new file mode 100644 index 0000000..997e434 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Pattern.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_PatternStatement.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReceiveStatement.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_RecordAccessPattern.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReturnStatement.gif new file mode 100644 index 0000000..18a3c3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SelectStatement.gif new file mode 100644 index 0000000..dc9ca0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SendStatement.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Statement.gif new file mode 100644 index 0000000..159895b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementChoice.gif new file mode 100644 index 0000000..1ebcee0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementSequence.gif new file mode 100644 index 0000000..64ea174 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_TaggedStatement.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ToStatement.gif new file mode 100644 index 0000000..eabf210 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_UnlessStatement.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WaitStatement.gif new file mode 100644 index 0000000..1afc3ce Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WhileStatement.gif new file mode 100644 index 0000000..8897aa8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditionalStatement_then_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Addition.gif new file mode 100644 index 0000000..3ede289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AllExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AppendExpression.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayAccessExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayExpression.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_BooleanLiteral.gif new file mode 100644 index 0000000..9531433 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonEqual.gif new file mode 100644 index 0000000..7ffd04a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreater.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..1667bbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesser.gif new file mode 100644 index 0000000..ab6c90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonNotEqual.gif new file mode 100644 index 0000000..2f9b78f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conditional.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ConstructionExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Disjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Division.gif new file mode 100644 index 0000000..2f66732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_EnqueueExpression.gif new file mode 100644 index 0000000..f3d9958 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ExistsExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Expression.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_FalseLiteral.gif new file mode 100644 index 0000000..cdfcd34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_IdentifierExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Implication.gif new file mode 100644 index 0000000..6910560 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_LiteralExpression.gif new file mode 100644 index 0000000..2e2932f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Modulo.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Multiplication.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_NaturalLiteral.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Projection.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_QueueExpression.gif new file mode 100644 index 0000000..5a3ab4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordAccessExpression.gif new file mode 100644 index 0000000..ec56659 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ReferenceExpression.gif new file mode 100644 index 0000000..a49d181 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Substraction.gif new file mode 100644 index 0000000..44d87cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_TrueLiteral.gif new file mode 100644 index 0000000..3d1deee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryCoerceExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFirstExpression.gif new file mode 100644 index 0000000..f2db288 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFullExpression.gif new file mode 100644 index 0000000..2de4789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryLengthExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryMinusExpression.gif new file mode 100644 index 0000000..4bddb0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryNegationExpression.gif new file mode 100644 index 0000000..bc47c3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryPlusExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_condition_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Addition.gif new file mode 100644 index 0000000..3ede289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AllExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AppendExpression.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayAccessExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayExpression.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_BooleanLiteral.gif new file mode 100644 index 0000000..9531433 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonEqual.gif new file mode 100644 index 0000000..7ffd04a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreater.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..1667bbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesser.gif new file mode 100644 index 0000000..ab6c90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonNotEqual.gif new file mode 100644 index 0000000..2f9b78f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conditional.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ConstructionExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Disjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Division.gif new file mode 100644 index 0000000..2f66732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_EnqueueExpression.gif new file mode 100644 index 0000000..f3d9958 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ExistsExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Expression.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_FalseLiteral.gif new file mode 100644 index 0000000..cdfcd34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_IdentifierExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Implication.gif new file mode 100644 index 0000000..6910560 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_LiteralExpression.gif new file mode 100644 index 0000000..2e2932f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Modulo.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Multiplication.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_NaturalLiteral.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Projection.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_QueueExpression.gif new file mode 100644 index 0000000..5a3ab4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordAccessExpression.gif new file mode 100644 index 0000000..ec56659 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ReferenceExpression.gif new file mode 100644 index 0000000..a49d181 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Substraction.gif new file mode 100644 index 0000000..44d87cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_TrueLiteral.gif new file mode 100644 index 0000000..3d1deee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryCoerceExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFirstExpression.gif new file mode 100644 index 0000000..f2db288 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFullExpression.gif new file mode 100644 index 0000000..2de4789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryLengthExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryMinusExpression.gif new file mode 100644 index 0000000..4bddb0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryNegationExpression.gif new file mode 100644 index 0000000..bc47c3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryPlusExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_else_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Addition.gif new file mode 100644 index 0000000..3ede289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AllExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AppendExpression.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayAccessExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayExpression.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_BooleanLiteral.gif new file mode 100644 index 0000000..9531433 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonEqual.gif new file mode 100644 index 0000000..7ffd04a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreater.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..1667bbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesser.gif new file mode 100644 index 0000000..ab6c90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonNotEqual.gif new file mode 100644 index 0000000..2f9b78f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conditional.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ConstructionExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Disjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Division.gif new file mode 100644 index 0000000..2f66732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_EnqueueExpression.gif new file mode 100644 index 0000000..f3d9958 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ExistsExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Expression.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_FalseLiteral.gif new file mode 100644 index 0000000..cdfcd34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_IdentifierExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Implication.gif new file mode 100644 index 0000000..6910560 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_LiteralExpression.gif new file mode 100644 index 0000000..2e2932f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Modulo.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Multiplication.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_NaturalLiteral.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Projection.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_QueueExpression.gif new file mode 100644 index 0000000..5a3ab4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordAccessExpression.gif new file mode 100644 index 0000000..ec56659 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ReferenceExpression.gif new file mode 100644 index 0000000..a49d181 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Substraction.gif new file mode 100644 index 0000000..44d87cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_TrueLiteral.gif new file mode 100644 index 0000000..3d1deee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryCoerceExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFirstExpression.gif new file mode 100644 index 0000000..f2db288 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFullExpression.gif new file mode 100644 index 0000000..2de4789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryLengthExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryMinusExpression.gif new file mode 100644 index 0000000..4bddb0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryNegationExpression.gif new file mode 100644 index 0000000..bc47c3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryPlusExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConditional_then_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Addition.gif new file mode 100644 index 0000000..3473a1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AllExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AppendExpression.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayExpression.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_BooleanLiteral.gif new file mode 100644 index 0000000..3f6e5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonEqual.gif new file mode 100644 index 0000000..f01be4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreater.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..df7afd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesser.gif new file mode 100644 index 0000000..573d6ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..3bfcf11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conditional.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ConstructionExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Disjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Division.gif new file mode 100644 index 0000000..88150e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_EnqueueExpression.gif new file mode 100644 index 0000000..e9b333d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ExistsExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Expression.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_FalseLiteral.gif new file mode 100644 index 0000000..08ad00b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_IdentifierExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Implication.gif new file mode 100644 index 0000000..d66ff4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_LiteralExpression.gif new file mode 100644 index 0000000..04a6748 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Modulo.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Multiplication.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_NaturalLiteral.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Projection.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_QueueExpression.gif new file mode 100644 index 0000000..970be05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordAccessExpression.gif new file mode 100644 index 0000000..e6b48d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ReferenceExpression.gif new file mode 100644 index 0000000..b415959 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Substraction.gif new file mode 100644 index 0000000..70597ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_TrueLiteral.gif new file mode 100644 index 0000000..9a7f5b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..f7a9c9f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFullExpression.gif new file mode 100644 index 0000000..b42028e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..4cc4140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..cba39ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Addition.gif new file mode 100644 index 0000000..3473a1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AllExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AppendExpression.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayExpression.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_BooleanLiteral.gif new file mode 100644 index 0000000..3f6e5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonEqual.gif new file mode 100644 index 0000000..f01be4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreater.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..df7afd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesser.gif new file mode 100644 index 0000000..573d6ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..3bfcf11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conditional.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ConstructionExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Disjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Division.gif new file mode 100644 index 0000000..88150e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_EnqueueExpression.gif new file mode 100644 index 0000000..e9b333d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ExistsExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Expression.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_FalseLiteral.gif new file mode 100644 index 0000000..08ad00b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_IdentifierExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Implication.gif new file mode 100644 index 0000000..d66ff4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_LiteralExpression.gif new file mode 100644 index 0000000..04a6748 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Modulo.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Multiplication.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_NaturalLiteral.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Projection.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_QueueExpression.gif new file mode 100644 index 0000000..970be05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordAccessExpression.gif new file mode 100644 index 0000000..e6b48d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ReferenceExpression.gif new file mode 100644 index 0000000..b415959 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Substraction.gif new file mode 100644 index 0000000..70597ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_TrueLiteral.gif new file mode 100644 index 0000000..9a7f5b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..f7a9c9f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFullExpression.gif new file mode 100644 index 0000000..b42028e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..4cc4140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..cba39ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConjunction_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ArrayType.gif new file mode 100644 index 0000000..590936f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BasicType.gif new file mode 100644 index 0000000..813bbc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BooleanType.gif new file mode 100644 index 0000000..615cc24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_IntegerType.gif new file mode 100644 index 0000000..7381229 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_NaturalType.gif new file mode 100644 index 0000000..7402e22 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_QueueType.gif new file mode 100644 index 0000000..40f8e76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RangeType.gif new file mode 100644 index 0000000..7c716a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RecordType.gif new file mode 100644 index 0000000..b3f22bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ReferencedType.gif new file mode 100644 index 0000000..fc576a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_TupleType.gif new file mode 100644 index 0000000..a573a9e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_Type.gif new file mode 100644 index 0000000..c45ef2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_UnionType.gif new file mode 100644 index 0000000..9a6b597 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Addition.gif new file mode 100644 index 0000000..d75b206 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AllExpression.gif new file mode 100644 index 0000000..9485b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AppendExpression.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayAccessExpression.gif new file mode 100644 index 0000000..9a6b597 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayExpression.gif new file mode 100644 index 0000000..fc576a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_BooleanLiteral.gif new file mode 100644 index 0000000..b49448d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonEqual.gif new file mode 100644 index 0000000..615cc24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreater.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..ef5f248 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesser.gif new file mode 100644 index 0000000..813bbc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesserEqual.gif new file mode 100644 index 0000000..9a6b597 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonNotEqual.gif new file mode 100644 index 0000000..7b38255 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conditional.gif new file mode 100644 index 0000000..46e6cc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conjunction.gif new file mode 100644 index 0000000..09b8804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ConstructionExpression.gif new file mode 100644 index 0000000..b5f1ecc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Disjunction.gif new file mode 100644 index 0000000..09b8804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Division.gif new file mode 100644 index 0000000..285bf7f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_EnqueueExpression.gif new file mode 100644 index 0000000..f5e094b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ExistsExpression.gif new file mode 100644 index 0000000..9a6b597 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Expression.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_FalseLiteral.gif new file mode 100644 index 0000000..590936f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_IdentifierExpression.gif new file mode 100644 index 0000000..46e6cc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Implication.gif new file mode 100644 index 0000000..7402e22 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_LiteralExpression.gif new file mode 100644 index 0000000..1969e09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Modulo.gif new file mode 100644 index 0000000..fc576a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Multiplication.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_NaturalLiteral.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Projection.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_QueueExpression.gif new file mode 100644 index 0000000..fcfac9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordAccessExpression.gif new file mode 100644 index 0000000..992def4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordExpression.gif new file mode 100644 index 0000000..47baf4d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ReferenceExpression.gif new file mode 100644 index 0000000..dab1fbc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Substraction.gif new file mode 100644 index 0000000..4121578 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_TrueLiteral.gif new file mode 100644 index 0000000..a0d5c0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryCoerceExpression.gif new file mode 100644 index 0000000..46e6cc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..46e6cc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9485b4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFirstExpression.gif new file mode 100644 index 0000000..68dc27b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFullExpression.gif new file mode 100644 index 0000000..7381229 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryLengthExpression.gif new file mode 100644 index 0000000..b5f1ecc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryMinusExpression.gif new file mode 100644 index 0000000..59d134c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryNegationExpression.gif new file mode 100644 index 0000000..40f8e76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryPlusExpression.gif new file mode 100644 index 0000000..47baf4d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantDeclaration_value_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_BooleanLiteral.gif new file mode 100644 index 0000000..66a66ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_FalseLiteral.gif new file mode 100644 index 0000000..8b5cda1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_LiteralExpression.gif new file mode 100644 index 0000000..669fba2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_NaturalLiteral.gif new file mode 100644 index 0000000..f3a1336 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_TrueLiteral.gif new file mode 100644 index 0000000..6b90e06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstantPattern_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Addition.gif new file mode 100644 index 0000000..971790b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AllExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AppendExpression.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayAccessExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayExpression.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_BooleanLiteral.gif new file mode 100644 index 0000000..1808fc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonEqual.gif new file mode 100644 index 0000000..9f17538 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreater.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..8ed4554 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesser.gif new file mode 100644 index 0000000..eb440c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonNotEqual.gif new file mode 100644 index 0000000..3da98f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conditional.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ConstructionExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Disjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Division.gif new file mode 100644 index 0000000..2c570bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_EnqueueExpression.gif new file mode 100644 index 0000000..cbde2ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ExistsExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Expression.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_FalseLiteral.gif new file mode 100644 index 0000000..0667806 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_IdentifierExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Implication.gif new file mode 100644 index 0000000..2f87e1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_LiteralExpression.gif new file mode 100644 index 0000000..0b8b453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Modulo.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Multiplication.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_NaturalLiteral.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Projection.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_QueueExpression.gif new file mode 100644 index 0000000..21acda3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordAccessExpression.gif new file mode 100644 index 0000000..3a9b7cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ReferenceExpression.gif new file mode 100644 index 0000000..ac3a4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Substraction.gif new file mode 100644 index 0000000..5323f34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_TrueLiteral.gif new file mode 100644 index 0000000..5be50cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryCoerceExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryEmptyExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFirstExpression.gif new file mode 100644 index 0000000..431ba00 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFullExpression.gif new file mode 100644 index 0000000..77ff676 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryLengthExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryMinusExpression.gif new file mode 100644 index 0000000..3fae4b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryNegationExpression.gif new file mode 100644 index 0000000..5477752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryPlusExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructionExpression_parameters_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_AnyPattern.gif new file mode 100644 index 0000000..9564e3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ArrayAccessPattern.gif new file mode 100644 index 0000000..b03b80a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstantPattern.gif new file mode 100644 index 0000000..5c173f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstructorPattern.gif new file mode 100644 index 0000000..6153c8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IdentifierPattern.gif new file mode 100644 index 0000000..4ec7362 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IntegerPattern.gif new file mode 100644 index 0000000..58b76d6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_Pattern.gif new file mode 100644 index 0000000..e56e445 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_RecordAccessPattern.gif new file mode 100644 index 0000000..3e10c2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateConstructorPattern_parameters_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Addition.gif new file mode 100644 index 0000000..3473a1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AllExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AppendExpression.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayExpression.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_BooleanLiteral.gif new file mode 100644 index 0000000..3f6e5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonEqual.gif new file mode 100644 index 0000000..f01be4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreater.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..df7afd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesser.gif new file mode 100644 index 0000000..573d6ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..3bfcf11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conditional.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ConstructionExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Disjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Division.gif new file mode 100644 index 0000000..88150e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_EnqueueExpression.gif new file mode 100644 index 0000000..e9b333d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ExistsExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Expression.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_FalseLiteral.gif new file mode 100644 index 0000000..08ad00b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_IdentifierExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Implication.gif new file mode 100644 index 0000000..d66ff4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_LiteralExpression.gif new file mode 100644 index 0000000..04a6748 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Modulo.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Multiplication.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_NaturalLiteral.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Projection.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_QueueExpression.gif new file mode 100644 index 0000000..970be05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordAccessExpression.gif new file mode 100644 index 0000000..e6b48d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ReferenceExpression.gif new file mode 100644 index 0000000..b415959 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Substraction.gif new file mode 100644 index 0000000..70597ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_TrueLiteral.gif new file mode 100644 index 0000000..9a7f5b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..f7a9c9f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFullExpression.gif new file mode 100644 index 0000000..b42028e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..4cc4140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..cba39ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Addition.gif new file mode 100644 index 0000000..3473a1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AllExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AppendExpression.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayExpression.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_BooleanLiteral.gif new file mode 100644 index 0000000..3f6e5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonEqual.gif new file mode 100644 index 0000000..f01be4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreater.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..df7afd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesser.gif new file mode 100644 index 0000000..573d6ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..3bfcf11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conditional.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ConstructionExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Disjunction.gif new file mode 100644 index 0000000..a47b32b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Division.gif new file mode 100644 index 0000000..88150e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_EnqueueExpression.gif new file mode 100644 index 0000000..e9b333d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ExistsExpression.gif new file mode 100644 index 0000000..633da34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Expression.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_FalseLiteral.gif new file mode 100644 index 0000000..08ad00b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_IdentifierExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Implication.gif new file mode 100644 index 0000000..d66ff4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_LiteralExpression.gif new file mode 100644 index 0000000..04a6748 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Modulo.gif new file mode 100644 index 0000000..16dbb0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Multiplication.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_NaturalLiteral.gif new file mode 100644 index 0000000..ac6a8a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Projection.gif new file mode 100644 index 0000000..39428c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_QueueExpression.gif new file mode 100644 index 0000000..970be05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordAccessExpression.gif new file mode 100644 index 0000000..e6b48d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ReferenceExpression.gif new file mode 100644 index 0000000..b415959 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Substraction.gif new file mode 100644 index 0000000..70597ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_TrueLiteral.gif new file mode 100644 index 0000000..9a7f5b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..d19385d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9ab92c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..f7a9c9f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFullExpression.gif new file mode 100644 index 0000000..b42028e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..4cc4140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..cba39ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..a7ddbdb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDisjunction_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Addition.gif new file mode 100644 index 0000000..236984d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AllExpression.gif new file mode 100644 index 0000000..2833425 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AppendExpression.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayExpression.gif new file mode 100644 index 0000000..dd7b998 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_BooleanLiteral.gif new file mode 100644 index 0000000..f8935bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonEqual.gif new file mode 100644 index 0000000..95f5a8c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreater.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..e0ae918 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesser.gif new file mode 100644 index 0000000..0238c0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..0d9f240 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conditional.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conjunction.gif new file mode 100644 index 0000000..a24e08f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ConstructionExpression.gif new file mode 100644 index 0000000..dcdfe25 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Disjunction.gif new file mode 100644 index 0000000..a24e08f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Division.gif new file mode 100644 index 0000000..6c339a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_EnqueueExpression.gif new file mode 100644 index 0000000..986fb9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ExistsExpression.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Expression.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_FalseLiteral.gif new file mode 100644 index 0000000..3129633 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_IdentifierExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Implication.gif new file mode 100644 index 0000000..af3a295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_LiteralExpression.gif new file mode 100644 index 0000000..d3edfe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Modulo.gif new file mode 100644 index 0000000..dd7b998 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Multiplication.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_NaturalLiteral.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Projection.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_QueueExpression.gif new file mode 100644 index 0000000..f8c38fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordAccessExpression.gif new file mode 100644 index 0000000..c0e9653 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordExpression.gif new file mode 100644 index 0000000..1479f92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ReferenceExpression.gif new file mode 100644 index 0000000..79c1899 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Substraction.gif new file mode 100644 index 0000000..af5267e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_TrueLiteral.gif new file mode 100644 index 0000000..ec1b197 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..2833425 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..11152e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFullExpression.gif new file mode 100644 index 0000000..36e9ea8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..dcdfe25 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..0c81e8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..6cb1d15 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..1479f92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Addition.gif new file mode 100644 index 0000000..236984d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AllExpression.gif new file mode 100644 index 0000000..2833425 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AppendExpression.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayExpression.gif new file mode 100644 index 0000000..dd7b998 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_BooleanLiteral.gif new file mode 100644 index 0000000..f8935bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonEqual.gif new file mode 100644 index 0000000..95f5a8c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreater.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..e0ae918 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesser.gif new file mode 100644 index 0000000..0238c0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..0d9f240 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conditional.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conjunction.gif new file mode 100644 index 0000000..a24e08f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ConstructionExpression.gif new file mode 100644 index 0000000..dcdfe25 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Disjunction.gif new file mode 100644 index 0000000..a24e08f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Division.gif new file mode 100644 index 0000000..6c339a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_EnqueueExpression.gif new file mode 100644 index 0000000..986fb9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ExistsExpression.gif new file mode 100644 index 0000000..6ee5cc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Expression.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_FalseLiteral.gif new file mode 100644 index 0000000..3129633 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_IdentifierExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Implication.gif new file mode 100644 index 0000000..af3a295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_LiteralExpression.gif new file mode 100644 index 0000000..d3edfe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Modulo.gif new file mode 100644 index 0000000..dd7b998 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Multiplication.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_NaturalLiteral.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Projection.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_QueueExpression.gif new file mode 100644 index 0000000..f8c38fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordAccessExpression.gif new file mode 100644 index 0000000..c0e9653 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordExpression.gif new file mode 100644 index 0000000..1479f92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ReferenceExpression.gif new file mode 100644 index 0000000..79c1899 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Substraction.gif new file mode 100644 index 0000000..af5267e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_TrueLiteral.gif new file mode 100644 index 0000000..ec1b197 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..0317ef5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..2833425 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..11152e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFullExpression.gif new file mode 100644 index 0000000..36e9ea8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..dcdfe25 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..0c81e8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..6cb1d15 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..1479f92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateDivision_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Addition.gif new file mode 100644 index 0000000..8128b07 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AllExpression.gif new file mode 100644 index 0000000..58bd8cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AppendExpression.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayAccessExpression.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayExpression.gif new file mode 100644 index 0000000..89d8767 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_BooleanLiteral.gif new file mode 100644 index 0000000..9ac141a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonEqual.gif new file mode 100644 index 0000000..a85ee8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreater.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..d415ad7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesser.gif new file mode 100644 index 0000000..4ddfc76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesserEqual.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonNotEqual.gif new file mode 100644 index 0000000..b80902b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conditional.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conjunction.gif new file mode 100644 index 0000000..86be5ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ConstructionExpression.gif new file mode 100644 index 0000000..942aab3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Disjunction.gif new file mode 100644 index 0000000..86be5ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Division.gif new file mode 100644 index 0000000..9231d35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_EnqueueExpression.gif new file mode 100644 index 0000000..a1607f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ExistsExpression.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Expression.gif new file mode 100644 index 0000000..1e4e4b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_FalseLiteral.gif new file mode 100644 index 0000000..f9e5fa8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_IdentifierExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Implication.gif new file mode 100644 index 0000000..e7da41e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_LiteralExpression.gif new file mode 100644 index 0000000..e8bebbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Modulo.gif new file mode 100644 index 0000000..89d8767 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Multiplication.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_NaturalLiteral.gif new file mode 100644 index 0000000..1e4e4b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Projection.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_QueueExpression.gif new file mode 100644 index 0000000..5cb97b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordAccessExpression.gif new file mode 100644 index 0000000..51319fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordExpression.gif new file mode 100644 index 0000000..8891150 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ReferenceExpression.gif new file mode 100644 index 0000000..468d5f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Substraction.gif new file mode 100644 index 0000000..af57160 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_TrueLiteral.gif new file mode 100644 index 0000000..dcfe752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryEmptyExpression.gif new file mode 100644 index 0000000..58bd8cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFirstExpression.gif new file mode 100644 index 0000000..396a4d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFullExpression.gif new file mode 100644 index 0000000..affc324 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryLengthExpression.gif new file mode 100644 index 0000000..942aab3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryMinusExpression.gif new file mode 100644 index 0000000..01436dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryNegationExpression.gif new file mode 100644 index 0000000..9b19f70 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryPlusExpression.gif new file mode 100644 index 0000000..8891150 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_element_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Addition.gif new file mode 100644 index 0000000..8128b07 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AllExpression.gif new file mode 100644 index 0000000..58bd8cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AppendExpression.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayAccessExpression.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayExpression.gif new file mode 100644 index 0000000..89d8767 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_BooleanLiteral.gif new file mode 100644 index 0000000..9ac141a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonEqual.gif new file mode 100644 index 0000000..a85ee8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreater.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..d415ad7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesser.gif new file mode 100644 index 0000000..4ddfc76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesserEqual.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonNotEqual.gif new file mode 100644 index 0000000..b80902b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conditional.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conjunction.gif new file mode 100644 index 0000000..86be5ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ConstructionExpression.gif new file mode 100644 index 0000000..942aab3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Disjunction.gif new file mode 100644 index 0000000..86be5ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Division.gif new file mode 100644 index 0000000..9231d35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_EnqueueExpression.gif new file mode 100644 index 0000000..a1607f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ExistsExpression.gif new file mode 100644 index 0000000..9d141cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Expression.gif new file mode 100644 index 0000000..1e4e4b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_FalseLiteral.gif new file mode 100644 index 0000000..f9e5fa8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_IdentifierExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Implication.gif new file mode 100644 index 0000000..e7da41e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_LiteralExpression.gif new file mode 100644 index 0000000..e8bebbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Modulo.gif new file mode 100644 index 0000000..89d8767 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Multiplication.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_NaturalLiteral.gif new file mode 100644 index 0000000..1e4e4b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Projection.gif new file mode 100644 index 0000000..3242175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_QueueExpression.gif new file mode 100644 index 0000000..5cb97b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordAccessExpression.gif new file mode 100644 index 0000000..51319fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordExpression.gif new file mode 100644 index 0000000..8891150 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ReferenceExpression.gif new file mode 100644 index 0000000..468d5f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Substraction.gif new file mode 100644 index 0000000..af57160 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_TrueLiteral.gif new file mode 100644 index 0000000..dcfe752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8b42bd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryEmptyExpression.gif new file mode 100644 index 0000000..58bd8cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFirstExpression.gif new file mode 100644 index 0000000..396a4d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFullExpression.gif new file mode 100644 index 0000000..affc324 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryLengthExpression.gif new file mode 100644 index 0000000..942aab3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryMinusExpression.gif new file mode 100644 index 0000000..01436dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryNegationExpression.gif new file mode 100644 index 0000000..9b19f70 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryPlusExpression.gif new file mode 100644 index 0000000..8891150 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateEnqueueExpression_queue_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Addition.gif new file mode 100644 index 0000000..1e7b42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AllExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AppendExpression.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..1370956 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..78e35c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..01c2712 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..355b140 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..f42e7e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conditional.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Disjunction.gif new file mode 100644 index 0000000..c382aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Division.gif new file mode 100644 index 0000000..7b18d42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..b806b6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..f192c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Expression.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..d7dcab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Implication.gif new file mode 100644 index 0000000..78cd3d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..60a3818 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Modulo.gif new file mode 100644 index 0000000..decea7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Multiplication.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..9ef55d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Projection.gif new file mode 100644 index 0000000..899f356 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_QueueExpression.gif new file mode 100644 index 0000000..75d8cae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..b1f6c55 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..0b5f0b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Substraction.gif new file mode 100644 index 0000000..00edc85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..2d6deb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..420564e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..c5f41ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..373052d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..d8b8f87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..4d1b6d6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..fa71566 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..2a9f5b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_index_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_index_VariableDeclaration.gif new file mode 100644 index 0000000..00edc85 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_index_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_type_RangeType.gif new file mode 100644 index 0000000..7aed015 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsExpression_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AbsencePattern.gif new file mode 100644 index 0000000..889e8a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AllProperty.gif new file mode 100644 index 0000000..8e89961 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AlwaysPattern.gif new file mode 100644 index 0000000..44af2e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_DeadlockFreePattern.gif new file mode 100644 index 0000000..acf9c16 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_EnterStateEvent.gif new file mode 100644 index 0000000..f023b33 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ExistsProperty.gif new file mode 100644 index 0000000..22ebacc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..9b71c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LTLPattern.gif new file mode 100644 index 0000000..bd9d173 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeadsToPattern.gif new file mode 100644 index 0000000..86d913a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeaveStateEvent.gif new file mode 100644 index 0000000..9b71c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_MortalPattern.gif new file mode 100644 index 0000000..d839c75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Observable.gif new file mode 100644 index 0000000..29e75f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableConjunction.gif new file mode 100644 index 0000000..86d913a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableDisjunction.gif new file mode 100644 index 0000000..86d913a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableEvent.gif new file mode 100644 index 0000000..d839c75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableImplication.gif new file mode 100644 index 0000000..29e75f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableNegation.gif new file mode 100644 index 0000000..95a3e4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PathEvent.gif new file mode 100644 index 0000000..c0d8f24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PatternProperty.gif new file mode 100644 index 0000000..de78834 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PrecedesPattern.gif new file mode 100644 index 0000000..44af2e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PresencePattern.gif new file mode 100644 index 0000000..29e75f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Property.gif new file mode 100644 index 0000000..9b71c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyConjunction.gif new file mode 100644 index 0000000..f023b33 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyDisjunction.gif new file mode 100644 index 0000000..f023b33 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyImplication.gif new file mode 100644 index 0000000..9b71c63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyNegation.gif new file mode 100644 index 0000000..048f1ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_SequencePattern.gif new file mode 100644 index 0000000..dfe521b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_StateEvent.gif new file mode 100644 index 0000000..d4b7df4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_type_RangeType.gif new file mode 100644 index 0000000..c0d8f24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_variable_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_variable_VariableDeclaration.gif new file mode 100644 index 0000000..963ec88 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExistsProperty_variable_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Addition.gif new file mode 100644 index 0000000..a92469c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AllExpression.gif new file mode 100644 index 0000000..a38f9ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AppendExpression.gif new file mode 100644 index 0000000..8390eca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayAccessExpression.gif new file mode 100644 index 0000000..b736461 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayExpression.gif new file mode 100644 index 0000000..ceae5af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_BooleanLiteral.gif new file mode 100644 index 0000000..6243419 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonEqual.gif new file mode 100644 index 0000000..dcc8a06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreater.gif new file mode 100644 index 0000000..8390eca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..40d0cdd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesser.gif new file mode 100644 index 0000000..452784a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b736461 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonNotEqual.gif new file mode 100644 index 0000000..19ce438 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conditional.gif new file mode 100644 index 0000000..aa18636 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conjunction.gif new file mode 100644 index 0000000..5a0697e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ConstructionExpression.gif new file mode 100644 index 0000000..3f8d415 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Disjunction.gif new file mode 100644 index 0000000..5a0697e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Division.gif new file mode 100644 index 0000000..101c5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_EnqueueExpression.gif new file mode 100644 index 0000000..5766979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ExistsExpression.gif new file mode 100644 index 0000000..b736461 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Expression.gif new file mode 100644 index 0000000..a90e824 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_FalseLiteral.gif new file mode 100644 index 0000000..d021963 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_IdentifierExpression.gif new file mode 100644 index 0000000..aa18636 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Implication.gif new file mode 100644 index 0000000..549aa5c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_LiteralExpression.gif new file mode 100644 index 0000000..dad7ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Modulo.gif new file mode 100644 index 0000000..ceae5af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Multiplication.gif new file mode 100644 index 0000000..8390eca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_NaturalLiteral.gif new file mode 100644 index 0000000..a90e824 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Projection.gif new file mode 100644 index 0000000..8390eca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_QueueExpression.gif new file mode 100644 index 0000000..da8415c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordAccessExpression.gif new file mode 100644 index 0000000..296fdb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordExpression.gif new file mode 100644 index 0000000..7943912 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ReferenceExpression.gif new file mode 100644 index 0000000..1ded75d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Substraction.gif new file mode 100644 index 0000000..89badf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_TrueLiteral.gif new file mode 100644 index 0000000..5452ecd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryCoerceExpression.gif new file mode 100644 index 0000000..aa18636 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..aa18636 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryEmptyExpression.gif new file mode 100644 index 0000000..a38f9ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFirstExpression.gif new file mode 100644 index 0000000..f545273 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFullExpression.gif new file mode 100644 index 0000000..aeba368 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryLengthExpression.gif new file mode 100644 index 0000000..3f8d415 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryMinusExpression.gif new file mode 100644 index 0000000..134c8fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryNegationExpression.gif new file mode 100644 index 0000000..6dffd43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryPlusExpression.gif new file mode 100644 index 0000000..7943912 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_condition_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AnyPattern.gif new file mode 100644 index 0000000..8b750f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ArrayAccessPattern.gif new file mode 100644 index 0000000..89badf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignAnyStatement.gif new file mode 100644 index 0000000..8390eca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignStatement.gif new file mode 100644 index 0000000..5b6f7bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_BlockStatement.gif new file mode 100644 index 0000000..d553a7a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_CaseStatement.gif new file mode 100644 index 0000000..a208540 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConditionalStatement.gif new file mode 100644 index 0000000..cf3badf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstantPattern.gif new file mode 100644 index 0000000..a208540 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstructorPattern.gif new file mode 100644 index 0000000..be505f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ForeachStatement.gif new file mode 100644 index 0000000..a86f915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IdentifierPattern.gif new file mode 100644 index 0000000..6243419 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IntegerPattern.gif new file mode 100644 index 0000000..d55104d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_LoopStatement.gif new file mode 100644 index 0000000..d55104d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_NullStatement.gif new file mode 100644 index 0000000..4ffa17e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_OnStatement.gif new file mode 100644 index 0000000..f7c61c2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Pattern.gif new file mode 100644 index 0000000..a38f9ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_PatternStatement.gif new file mode 100644 index 0000000..3f8d415 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReceiveStatement.gif new file mode 100644 index 0000000..cf3badf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_RecordAccessPattern.gif new file mode 100644 index 0000000..cf3badf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReturnStatement.gif new file mode 100644 index 0000000..da8415c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SelectStatement.gif new file mode 100644 index 0000000..40d0cdd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SendStatement.gif new file mode 100644 index 0000000..3f8d415 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Statement.gif new file mode 100644 index 0000000..d9593bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementChoice.gif new file mode 100644 index 0000000..134c8fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementSequence.gif new file mode 100644 index 0000000..62e1e1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_TaggedStatement.gif new file mode 100644 index 0000000..a90e824 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ToStatement.gif new file mode 100644 index 0000000..52a37ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_UnlessStatement.gif new file mode 100644 index 0000000..ceae5af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WaitStatement.gif new file mode 100644 index 0000000..fb66338 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WhileStatement.gif new file mode 100644 index 0000000..b3a6a8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateExtendedConditionalStatement_then_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Addition.gif new file mode 100644 index 0000000..1264e5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AllExpression.gif new file mode 100644 index 0000000..a62440d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AppendExpression.gif new file mode 100644 index 0000000..ed8ee38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayAccessExpression.gif new file mode 100644 index 0000000..bdb8c84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayExpression.gif new file mode 100644 index 0000000..7550e1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_BooleanLiteral.gif new file mode 100644 index 0000000..e842ecd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonEqual.gif new file mode 100644 index 0000000..a39f4d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreater.gif new file mode 100644 index 0000000..ed8ee38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..317f35d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesser.gif new file mode 100644 index 0000000..0669409 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesserEqual.gif new file mode 100644 index 0000000..bdb8c84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonNotEqual.gif new file mode 100644 index 0000000..b1d08d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conditional.gif new file mode 100644 index 0000000..b0b8b57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conjunction.gif new file mode 100644 index 0000000..153c395 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ConstructionExpression.gif new file mode 100644 index 0000000..e7c430b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Disjunction.gif new file mode 100644 index 0000000..153c395 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Division.gif new file mode 100644 index 0000000..ff5397f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_EnqueueExpression.gif new file mode 100644 index 0000000..1fb2300 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ExistsExpression.gif new file mode 100644 index 0000000..bdb8c84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Expression.gif new file mode 100644 index 0000000..a191025 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_FalseLiteral.gif new file mode 100644 index 0000000..c436b8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_IdentifierExpression.gif new file mode 100644 index 0000000..b0b8b57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Implication.gif new file mode 100644 index 0000000..1f0855e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_LiteralExpression.gif new file mode 100644 index 0000000..f33bed8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Modulo.gif new file mode 100644 index 0000000..7550e1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Multiplication.gif new file mode 100644 index 0000000..ed8ee38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_NaturalLiteral.gif new file mode 100644 index 0000000..a191025 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Projection.gif new file mode 100644 index 0000000..ed8ee38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_QueueExpression.gif new file mode 100644 index 0000000..e8324a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordAccessExpression.gif new file mode 100644 index 0000000..37db3e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordExpression.gif new file mode 100644 index 0000000..b1a463f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ReferenceExpression.gif new file mode 100644 index 0000000..b73db01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Substraction.gif new file mode 100644 index 0000000..4388857 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_TrueLiteral.gif new file mode 100644 index 0000000..3fbe2cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b0b8b57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b0b8b57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryEmptyExpression.gif new file mode 100644 index 0000000..a62440d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFirstExpression.gif new file mode 100644 index 0000000..4e03624 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFullExpression.gif new file mode 100644 index 0000000..a31e514 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryLengthExpression.gif new file mode 100644 index 0000000..e7c430b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryMinusExpression.gif new file mode 100644 index 0000000..5089b91 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryNegationExpression.gif new file mode 100644 index 0000000..d544289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryPlusExpression.gif new file mode 100644 index 0000000..b1a463f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFieldExpression_value_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AnyPattern.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ArrayAccessPattern.gif new file mode 100644 index 0000000..06250be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignAnyStatement.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignStatement.gif new file mode 100644 index 0000000..07b0fd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_BlockStatement.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_CaseStatement.gif new file mode 100644 index 0000000..d4cb25e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConditionalStatement.gif new file mode 100644 index 0000000..eaf17fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstantPattern.gif new file mode 100644 index 0000000..d4cb25e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstructorPattern.gif new file mode 100644 index 0000000..de6e628 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ForeachStatement.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IdentifierPattern.gif new file mode 100644 index 0000000..1329dce Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IntegerPattern.gif new file mode 100644 index 0000000..da5f95c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_LoopStatement.gif new file mode 100644 index 0000000..da5f95c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_NullStatement.gif new file mode 100644 index 0000000..5381067 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_OnStatement.gif new file mode 100644 index 0000000..bee2a07 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Pattern.gif new file mode 100644 index 0000000..35b22bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_PatternStatement.gif new file mode 100644 index 0000000..09b5568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReceiveStatement.gif new file mode 100644 index 0000000..eaf17fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_RecordAccessPattern.gif new file mode 100644 index 0000000..eaf17fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReturnStatement.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SelectStatement.gif new file mode 100644 index 0000000..f66fdd6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SendStatement.gif new file mode 100644 index 0000000..09b5568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Statement.gif new file mode 100644 index 0000000..d065203 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementChoice.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementSequence.gif new file mode 100644 index 0000000..fa814dc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_TaggedStatement.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ToStatement.gif new file mode 100644 index 0000000..28de654 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_UnlessStatement.gif new file mode 100644 index 0000000..a36743b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WaitStatement.gif new file mode 100644 index 0000000..464f093 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WhileStatement.gif new file mode 100644 index 0000000..b981977 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_body_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_variable_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_variable_VariableDeclaration.gif new file mode 100644 index 0000000..06250be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateForeachStatement_variable_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AnyPattern.gif new file mode 100644 index 0000000..7b92508 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ArrayAccessPattern.gif new file mode 100644 index 0000000..b727479 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignAnyStatement.gif new file mode 100644 index 0000000..390f12c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignStatement.gif new file mode 100644 index 0000000..c12b491 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_BlockStatement.gif new file mode 100644 index 0000000..8f2603b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_CaseStatement.gif new file mode 100644 index 0000000..bc7b7f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConditionalStatement.gif new file mode 100644 index 0000000..b6ac8cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstantPattern.gif new file mode 100644 index 0000000..bc7b7f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstructorPattern.gif new file mode 100644 index 0000000..3494d53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ForeachStatement.gif new file mode 100644 index 0000000..1ebc244 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IdentifierPattern.gif new file mode 100644 index 0000000..a382f748 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IntegerPattern.gif new file mode 100644 index 0000000..7c34939 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_LoopStatement.gif new file mode 100644 index 0000000..7c34939 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_NullStatement.gif new file mode 100644 index 0000000..3841fce Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_OnStatement.gif new file mode 100644 index 0000000..13d1a04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Pattern.gif new file mode 100644 index 0000000..f9ec881 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_PatternStatement.gif new file mode 100644 index 0000000..4e06b47 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReceiveStatement.gif new file mode 100644 index 0000000..b6ac8cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_RecordAccessPattern.gif new file mode 100644 index 0000000..b6ac8cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReturnStatement.gif new file mode 100644 index 0000000..b72b5e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SelectStatement.gif new file mode 100644 index 0000000..0585fe2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SendStatement.gif new file mode 100644 index 0000000..4e06b47 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Statement.gif new file mode 100644 index 0000000..8247b72 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementChoice.gif new file mode 100644 index 0000000..6a08579 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementSequence.gif new file mode 100644 index 0000000..88ba66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_TaggedStatement.gif new file mode 100644 index 0000000..de6af47 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ToStatement.gif new file mode 100644 index 0000000..cc2ef52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_UnlessStatement.gif new file mode 100644 index 0000000..40cc20b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WaitStatement.gif new file mode 100644 index 0000000..deb9805 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WhileStatement.gif new file mode 100644 index 0000000..1549a4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_statement_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ArrayType.gif new file mode 100644 index 0000000..9cc534c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BasicType.gif new file mode 100644 index 0000000..cfb5278 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BooleanType.gif new file mode 100644 index 0000000..b2120c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_IntegerType.gif new file mode 100644 index 0000000..a4c5e23 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_NaturalType.gif new file mode 100644 index 0000000..52baab8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_QueueType.gif new file mode 100644 index 0000000..76f9cb7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RangeType.gif new file mode 100644 index 0000000..535a30a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RecordType.gif new file mode 100644 index 0000000..11d4e22 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ReferencedType.gif new file mode 100644 index 0000000..40cc20b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_TupleType.gif new file mode 100644 index 0000000..be1e90e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_Type.gif new file mode 100644 index 0000000..b6ac8cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_UnionType.gif new file mode 100644 index 0000000..cdab252 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateFunctionDeclaration_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Addition.gif new file mode 100644 index 0000000..b4bcd23 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AllExpression.gif new file mode 100644 index 0000000..c884396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AppendExpression.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayExpression.gif new file mode 100644 index 0000000..1fb7699 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_BooleanLiteral.gif new file mode 100644 index 0000000..e206651 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonEqual.gif new file mode 100644 index 0000000..d7c5af7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreater.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..76431fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesser.gif new file mode 100644 index 0000000..890ec12 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..b318df6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conditional.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conjunction.gif new file mode 100644 index 0000000..3df71fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ConstructionExpression.gif new file mode 100644 index 0000000..8edf151 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Disjunction.gif new file mode 100644 index 0000000..3df71fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Division.gif new file mode 100644 index 0000000..df22833 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_EnqueueExpression.gif new file mode 100644 index 0000000..8653454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ExistsExpression.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Expression.gif new file mode 100644 index 0000000..bd0f777 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_FalseLiteral.gif new file mode 100644 index 0000000..1a59694 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_IdentifierExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Implication.gif new file mode 100644 index 0000000..1b07f69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_LiteralExpression.gif new file mode 100644 index 0000000..5643b74 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Modulo.gif new file mode 100644 index 0000000..1fb7699 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Multiplication.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_NaturalLiteral.gif new file mode 100644 index 0000000..bd0f777 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Projection.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_QueueExpression.gif new file mode 100644 index 0000000..d166c3d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordAccessExpression.gif new file mode 100644 index 0000000..a4ff5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordExpression.gif new file mode 100644 index 0000000..628a5cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ReferenceExpression.gif new file mode 100644 index 0000000..68d26d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Substraction.gif new file mode 100644 index 0000000..1c094f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_TrueLiteral.gif new file mode 100644 index 0000000..159fb27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c884396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..3d2896d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFullExpression.gif new file mode 100644 index 0000000..18c3881 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..8edf151 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..a17c76f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..05dffc0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..628a5cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Addition.gif new file mode 100644 index 0000000..b4bcd23 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AllExpression.gif new file mode 100644 index 0000000..c884396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AppendExpression.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayExpression.gif new file mode 100644 index 0000000..1fb7699 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_BooleanLiteral.gif new file mode 100644 index 0000000..e206651 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonEqual.gif new file mode 100644 index 0000000..d7c5af7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreater.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..76431fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesser.gif new file mode 100644 index 0000000..890ec12 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..b318df6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conditional.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conjunction.gif new file mode 100644 index 0000000..3df71fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ConstructionExpression.gif new file mode 100644 index 0000000..8edf151 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Disjunction.gif new file mode 100644 index 0000000..3df71fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Division.gif new file mode 100644 index 0000000..df22833 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_EnqueueExpression.gif new file mode 100644 index 0000000..8653454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ExistsExpression.gif new file mode 100644 index 0000000..0febf57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Expression.gif new file mode 100644 index 0000000..bd0f777 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_FalseLiteral.gif new file mode 100644 index 0000000..1a59694 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_IdentifierExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Implication.gif new file mode 100644 index 0000000..1b07f69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_LiteralExpression.gif new file mode 100644 index 0000000..5643b74 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Modulo.gif new file mode 100644 index 0000000..1fb7699 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Multiplication.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_NaturalLiteral.gif new file mode 100644 index 0000000..bd0f777 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Projection.gif new file mode 100644 index 0000000..320d117 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_QueueExpression.gif new file mode 100644 index 0000000..d166c3d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordAccessExpression.gif new file mode 100644 index 0000000..a4ff5f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordExpression.gif new file mode 100644 index 0000000..628a5cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ReferenceExpression.gif new file mode 100644 index 0000000..68d26d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Substraction.gif new file mode 100644 index 0000000..1c094f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_TrueLiteral.gif new file mode 100644 index 0000000..159fb27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..f6c6316 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..c884396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..3d2896d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFullExpression.gif new file mode 100644 index 0000000..18c3881 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..8edf151 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..a17c76f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..05dffc0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..628a5cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateImplication_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_Observable.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..ca9caba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..c128024 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_PathEvent.gif new file mode 100644 index 0000000..5cee800 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_StateEvent.gif new file mode 100644 index 0000000..d9a8b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInfinitelyOftenPattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInstanceDeclaration_instance_ComponentInstance.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInstanceDeclaration_instance_ComponentInstance.gif new file mode 100644 index 0000000..86b6743 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateInstanceDeclaration_instance_ComponentInstance.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_EnterStateEvent.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLAll.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLConjunction.gif new file mode 100644 index 0000000..8e46df1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLDisjunction.gif new file mode 100644 index 0000000..8e46df1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLExists.gif new file mode 100644 index 0000000..7605c6b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLImplication.gif new file mode 100644 index 0000000..ddad704 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLProperty.gif new file mode 100644 index 0000000..bbf242d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLRelease.gif new file mode 100644 index 0000000..f93c92d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryAlways.gif new file mode 100644 index 0000000..7a99bf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryEventually.gif new file mode 100644 index 0000000..4aaad5a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNegation.gif new file mode 100644 index 0000000..8e46df1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNext.gif new file mode 100644 index 0000000..f0846fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUntil.gif new file mode 100644 index 0000000..5aeef18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLVariable.gif new file mode 100644 index 0000000..52d5d68 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LeaveStateEvent.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_ObservableEvent.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_PathEvent.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_StateEvent.gif new file mode 100644 index 0000000..083f29c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_index_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_index_VariableDeclaration.gif new file mode 100644 index 0000000..d3effc1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_index_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_type_RangeType.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLAll_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLAll.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLConjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLDisjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLExists.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLImplication.gif new file mode 100644 index 0000000..84f99e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLProperty.gif new file mode 100644 index 0000000..9144498 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLRelease.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryAlways.gif new file mode 100644 index 0000000..1651076 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryEventually.gif new file mode 100644 index 0000000..b7adb36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNegation.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNext.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUntil.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLVariable.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..a32a7b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..0cf27b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_PathEvent.gif new file mode 100644 index 0000000..a303761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_StateEvent.gif new file mode 100644 index 0000000..68005ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLAll.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLConjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLDisjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLExists.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLImplication.gif new file mode 100644 index 0000000..84f99e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLProperty.gif new file mode 100644 index 0000000..9144498 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLRelease.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryAlways.gif new file mode 100644 index 0000000..1651076 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryEventually.gif new file mode 100644 index 0000000..b7adb36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNegation.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNext.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUntil.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLVariable.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..a32a7b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..0cf27b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_PathEvent.gif new file mode 100644 index 0000000..a303761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_StateEvent.gif new file mode 100644 index 0000000..68005ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLConjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLAll.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLConjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLDisjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLExists.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLImplication.gif new file mode 100644 index 0000000..84f99e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLProperty.gif new file mode 100644 index 0000000..9144498 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLRelease.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryAlways.gif new file mode 100644 index 0000000..1651076 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryEventually.gif new file mode 100644 index 0000000..b7adb36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNegation.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNext.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUntil.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLVariable.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..a32a7b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..0cf27b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_PathEvent.gif new file mode 100644 index 0000000..a303761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_StateEvent.gif new file mode 100644 index 0000000..68005ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLAll.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLConjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLDisjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLExists.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLImplication.gif new file mode 100644 index 0000000..84f99e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLProperty.gif new file mode 100644 index 0000000..9144498 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLRelease.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryAlways.gif new file mode 100644 index 0000000..1651076 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryEventually.gif new file mode 100644 index 0000000..b7adb36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNegation.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNext.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUntil.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLVariable.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..a32a7b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..0cf27b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_PathEvent.gif new file mode 100644 index 0000000..a303761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_StateEvent.gif new file mode 100644 index 0000000..68005ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLDisjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_EnterStateEvent.gif new file mode 100644 index 0000000..a191025 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLAll.gif new file mode 100644 index 0000000..a191025 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLConjunction.gif new file mode 100644 index 0000000..f4fa5b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLDisjunction.gif new file mode 100644 index 0000000..f4fa5b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLExists.gif new file mode 100644 index 0000000..fd7e5e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLImplication.gif new file mode 100644 index 0000000..6915cb8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLProperty.gif new file mode 100644 index 0000000..8c450d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLRelease.gif new file mode 100644 index 0000000..e8324a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryAlways.gif new file mode 100644 index 0000000..f33bed8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryEventually.gif new file mode 100644 index 0000000..ff5397f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNegation.gif new file mode 100644 index 0000000..f4fa5b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNext.gif new file mode 100644 index 0000000..ed8ee38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUntil.gif new file mode 100644 index 0000000..47209ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLVariable.gif new file mode 100644 index 0000000..5089b91 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LeaveStateEvent.gif new file mode 100644 index 0000000..b1d08d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_ObservableEvent.gif new file mode 100644 index 0000000..803ad17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_PathEvent.gif new file mode 100644 index 0000000..87c48c8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_StateEvent.gif new file mode 100644 index 0000000..1fb2300 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_index_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_index_VariableDeclaration.gif new file mode 100644 index 0000000..4388857 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_index_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_type_RangeType.gif new file mode 100644 index 0000000..87c48c8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLExists_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_EnterStateEvent.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLAll.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLConjunction.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLDisjunction.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLExists.gif new file mode 100644 index 0000000..e180ddb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLImplication.gif new file mode 100644 index 0000000..272aa9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLProperty.gif new file mode 100644 index 0000000..d6816a8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLRelease.gif new file mode 100644 index 0000000..fcfac9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryAlways.gif new file mode 100644 index 0000000..1969e09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryEventually.gif new file mode 100644 index 0000000..285bf7f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNegation.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNext.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUntil.gif new file mode 100644 index 0000000..28fb948 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLVariable.gif new file mode 100644 index 0000000..59d134c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LeaveStateEvent.gif new file mode 100644 index 0000000..7b38255 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_ObservableEvent.gif new file mode 100644 index 0000000..e06d610 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_PathEvent.gif new file mode 100644 index 0000000..7c716a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_StateEvent.gif new file mode 100644 index 0000000..f5e094b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_EnterStateEvent.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLAll.gif new file mode 100644 index 0000000..ecfed7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLConjunction.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLDisjunction.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLExists.gif new file mode 100644 index 0000000..e180ddb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLImplication.gif new file mode 100644 index 0000000..272aa9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLProperty.gif new file mode 100644 index 0000000..d6816a8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLRelease.gif new file mode 100644 index 0000000..fcfac9a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryAlways.gif new file mode 100644 index 0000000..1969e09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryEventually.gif new file mode 100644 index 0000000..285bf7f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNegation.gif new file mode 100644 index 0000000..5c534fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNext.gif new file mode 100644 index 0000000..e935ef3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUntil.gif new file mode 100644 index 0000000..28fb948 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLVariable.gif new file mode 100644 index 0000000..59d134c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LeaveStateEvent.gif new file mode 100644 index 0000000..7b38255 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_ObservableEvent.gif new file mode 100644 index 0000000..e06d610 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_PathEvent.gif new file mode 100644 index 0000000..7c716a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_StateEvent.gif new file mode 100644 index 0000000..f5e094b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLImplication_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_EnterStateEvent.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLAll.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLConjunction.gif new file mode 100644 index 0000000..a8fe87e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLDisjunction.gif new file mode 100644 index 0000000..a8fe87e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLExists.gif new file mode 100644 index 0000000..c5b61f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLImplication.gif new file mode 100644 index 0000000..b1f52a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLProperty.gif new file mode 100644 index 0000000..16e695e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLRelease.gif new file mode 100644 index 0000000..1e449c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryAlways.gif new file mode 100644 index 0000000..fe10b8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryEventually.gif new file mode 100644 index 0000000..ed0bc9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNegation.gif new file mode 100644 index 0000000..a8fe87e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNext.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUntil.gif new file mode 100644 index 0000000..7e71d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLVariable.gif new file mode 100644 index 0000000..a9fbc1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LeaveStateEvent.gif new file mode 100644 index 0000000..2dd2a40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_ObservableEvent.gif new file mode 100644 index 0000000..9f96e37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_PathEvent.gif new file mode 100644 index 0000000..1c0d080 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_StateEvent.gif new file mode 100644 index 0000000..9975318 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLPattern_property_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_EnterStateEvent.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLAll.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLConjunction.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLDisjunction.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLExists.gif new file mode 100644 index 0000000..ed8a2fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLImplication.gif new file mode 100644 index 0000000..3f02915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLProperty.gif new file mode 100644 index 0000000..1391645 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLRelease.gif new file mode 100644 index 0000000..7e23d6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryAlways.gif new file mode 100644 index 0000000..5d70e42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryEventually.gif new file mode 100644 index 0000000..361b182 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNegation.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNext.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUntil.gif new file mode 100644 index 0000000..37a86d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLVariable.gif new file mode 100644 index 0000000..173020a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LeaveStateEvent.gif new file mode 100644 index 0000000..e9c1a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_ObservableEvent.gif new file mode 100644 index 0000000..64a27cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_PathEvent.gif new file mode 100644 index 0000000..529002f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_StateEvent.gif new file mode 100644 index 0000000..63b8ac3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_EnterStateEvent.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLAll.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLConjunction.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLDisjunction.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLExists.gif new file mode 100644 index 0000000..ed8a2fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLImplication.gif new file mode 100644 index 0000000..3f02915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLProperty.gif new file mode 100644 index 0000000..1391645 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLRelease.gif new file mode 100644 index 0000000..7e23d6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryAlways.gif new file mode 100644 index 0000000..5d70e42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryEventually.gif new file mode 100644 index 0000000..361b182 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNegation.gif new file mode 100644 index 0000000..2352be3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNext.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUntil.gif new file mode 100644 index 0000000..37a86d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLVariable.gif new file mode 100644 index 0000000..173020a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LeaveStateEvent.gif new file mode 100644 index 0000000..e9c1a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_ObservableEvent.gif new file mode 100644 index 0000000..64a27cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_PathEvent.gif new file mode 100644 index 0000000..529002f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_StateEvent.gif new file mode 100644 index 0000000..63b8ac3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLRelease_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_EnterStateEvent.gif new file mode 100644 index 0000000..68313ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLAll.gif new file mode 100644 index 0000000..68313ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLConjunction.gif new file mode 100644 index 0000000..7782f89 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLDisjunction.gif new file mode 100644 index 0000000..7782f89 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLExists.gif new file mode 100644 index 0000000..4e1434e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLImplication.gif new file mode 100644 index 0000000..19e985f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLProperty.gif new file mode 100644 index 0000000..1630113 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLRelease.gif new file mode 100644 index 0000000..575ddea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryAlways.gif new file mode 100644 index 0000000..d08a6f8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryEventually.gif new file mode 100644 index 0000000..34a801e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNegation.gif new file mode 100644 index 0000000..7782f89 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNext.gif new file mode 100644 index 0000000..9a34a69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUntil.gif new file mode 100644 index 0000000..ee45a46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLVariable.gif new file mode 100644 index 0000000..27741c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LeaveStateEvent.gif new file mode 100644 index 0000000..100ff27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_ObservableEvent.gif new file mode 100644 index 0000000..3e64494 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_PathEvent.gif new file mode 100644 index 0000000..cf6dfd5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_StateEvent.gif new file mode 100644 index 0000000..babb084 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryAlways_operand_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_EnterStateEvent.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLAll.gif new file mode 100644 index 0000000..4bf7d04 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLConjunction.gif new file mode 100644 index 0000000..e500955 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLDisjunction.gif new file mode 100644 index 0000000..e500955 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLExists.gif new file mode 100644 index 0000000..a46f979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLImplication.gif new file mode 100644 index 0000000..fce5754 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLProperty.gif new file mode 100644 index 0000000..33735d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLRelease.gif new file mode 100644 index 0000000..f8c38fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryAlways.gif new file mode 100644 index 0000000..d3edfe3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryEventually.gif new file mode 100644 index 0000000..6c339a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNegation.gif new file mode 100644 index 0000000..e500955 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNext.gif new file mode 100644 index 0000000..83d7ad8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUntil.gif new file mode 100644 index 0000000..301a4bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLVariable.gif new file mode 100644 index 0000000..0c81e8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LeaveStateEvent.gif new file mode 100644 index 0000000..0d9f240 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_ObservableEvent.gif new file mode 100644 index 0000000..07dea40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_PathEvent.gif new file mode 100644 index 0000000..2120258 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_StateEvent.gif new file mode 100644 index 0000000..986fb9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryEventually_operand_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_EnterStateEvent.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLAll.gif new file mode 100644 index 0000000..8b6df37 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLConjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLDisjunction.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLExists.gif new file mode 100644 index 0000000..08f15c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLImplication.gif new file mode 100644 index 0000000..84f99e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLProperty.gif new file mode 100644 index 0000000..9144498 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLRelease.gif new file mode 100644 index 0000000..1e0e0f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryAlways.gif new file mode 100644 index 0000000..1651076 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryEventually.gif new file mode 100644 index 0000000..b7adb36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNegation.gif new file mode 100644 index 0000000..0a9ad1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNext.gif new file mode 100644 index 0000000..7b652ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUntil.gif new file mode 100644 index 0000000..40615e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLVariable.gif new file mode 100644 index 0000000..0d55746 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LeaveStateEvent.gif new file mode 100644 index 0000000..a32a7b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_ObservableEvent.gif new file mode 100644 index 0000000..0cf27b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_PathEvent.gif new file mode 100644 index 0000000..a303761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_StateEvent.gif new file mode 100644 index 0000000..68005ae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNegation_operand_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_EnterStateEvent.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLAll.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLConjunction.gif new file mode 100644 index 0000000..ce02cc1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLDisjunction.gif new file mode 100644 index 0000000..ce02cc1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLExists.gif new file mode 100644 index 0000000..dbeab5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLImplication.gif new file mode 100644 index 0000000..d3e8153 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLProperty.gif new file mode 100644 index 0000000..b154e73 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLRelease.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryAlways.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryEventually.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNegation.gif new file mode 100644 index 0000000..ce02cc1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNext.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUntil.gif new file mode 100644 index 0000000..633561b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLVariable.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LeaveStateEvent.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_ObservableEvent.gif new file mode 100644 index 0000000..7adf9ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_PathEvent.gif new file mode 100644 index 0000000..935ff3b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_StateEvent.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUnaryNext_operand_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_EnterStateEvent.gif new file mode 100644 index 0000000..2943295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLAll.gif new file mode 100644 index 0000000..2943295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLConjunction.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLDisjunction.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLExists.gif new file mode 100644 index 0000000..8d289e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLImplication.gif new file mode 100644 index 0000000..5096c0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLProperty.gif new file mode 100644 index 0000000..bfe4a39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLRelease.gif new file mode 100644 index 0000000..f10ef75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryAlways.gif new file mode 100644 index 0000000..1dbde94 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryEventually.gif new file mode 100644 index 0000000..ab64276 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNegation.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNext.gif new file mode 100644 index 0000000..e9245bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUntil.gif new file mode 100644 index 0000000..09741e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLVariable.gif new file mode 100644 index 0000000..d2845b4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LeaveStateEvent.gif new file mode 100644 index 0000000..5affab6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_ObservableEvent.gif new file mode 100644 index 0000000..ac5b1fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_PathEvent.gif new file mode 100644 index 0000000..4d57a2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_StateEvent.gif new file mode 100644 index 0000000..e3ff464 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_EnterStateEvent.gif new file mode 100644 index 0000000..2943295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLAll.gif new file mode 100644 index 0000000..2943295 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLConjunction.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLDisjunction.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLExists.gif new file mode 100644 index 0000000..8d289e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLImplication.gif new file mode 100644 index 0000000..5096c0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLProperty.gif new file mode 100644 index 0000000..bfe4a39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLRelease.gif new file mode 100644 index 0000000..f10ef75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryAlways.gif new file mode 100644 index 0000000..1dbde94 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryEventually.gif new file mode 100644 index 0000000..ab64276 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNegation.gif new file mode 100644 index 0000000..9a441d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNext.gif new file mode 100644 index 0000000..e9245bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUntil.gif new file mode 100644 index 0000000..09741e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLVariable.gif new file mode 100644 index 0000000..d2845b4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LeaveStateEvent.gif new file mode 100644 index 0000000..5affab6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_ObservableEvent.gif new file mode 100644 index 0000000..ac5b1fa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_PathEvent.gif new file mode 100644 index 0000000..4d57a2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_StateEvent.gif new file mode 100644 index 0000000..e3ff464 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLTLUntil_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_after_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_before_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_follower_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_DecimalLowerBound.gif new file mode 100644 index 0000000..28b7d50 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_LowerBound.gif new file mode 100644 index 0000000..da13698 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_NaturalLowerBound.gif new file mode 100644 index 0000000..cbf5393 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_VariableLowerBound.gif new file mode 100644 index 0000000..0bd262d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_lower_VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_max_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_min_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_until_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_DecimalUpperBound.gif new file mode 100644 index 0000000..63f9fd2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_InfiniteUpperBound.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_NaturalUpperBound.gif new file mode 100644 index 0000000..70d9b43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_UpperBound.gif new file mode 100644 index 0000000..033a89e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_VariableUpperBound.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLeadsToPattern_upper_VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_DecimalLowerBound.gif new file mode 100644 index 0000000..bb229d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_LowerBound.gif new file mode 100644 index 0000000..0b0adae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_NaturalLowerBound.gif new file mode 100644 index 0000000..9a7f5b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_VariableLowerBound.gif new file mode 100644 index 0000000..ad7adc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_left_VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_ports_PortDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_ports_PortDeclaration.gif new file mode 100644 index 0000000..94b1be2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_ports_PortDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_DecimalUpperBound.gif new file mode 100644 index 0000000..06d2414 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_InfiniteUpperBound.gif new file mode 100644 index 0000000..3b06750 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_NaturalUpperBound.gif new file mode 100644 index 0000000..b42028e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_UpperBound.gif new file mode 100644 index 0000000..cba39ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_VariableUpperBound.gif new file mode 100644 index 0000000..f01be4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_right_VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_type_ChannelType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_type_ChannelType.gif new file mode 100644 index 0000000..08ad00b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateLocalPortsDeclaration_type_ChannelType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ChannelDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ChannelDeclaration.gif new file mode 100644 index 0000000..a815b62 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ChannelDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ComponentDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ComponentDeclaration.gif new file mode 100644 index 0000000..0ccdfdc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ComponentDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ConstantDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ConstantDeclaration.gif new file mode 100644 index 0000000..fce5754 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ConstantDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_Declaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_Declaration.gif new file mode 100644 index 0000000..ae2d86d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_Declaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_FunctionDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_FunctionDeclaration.gif new file mode 100644 index 0000000..5498173 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_FunctionDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ParameterizedDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ParameterizedDeclaration.gif new file mode 100644 index 0000000..236984d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ParameterizedDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ProcessDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ProcessDeclaration.gif new file mode 100644 index 0000000..c0ed2a7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_ProcessDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_PropertyDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_PropertyDeclaration.gif new file mode 100644 index 0000000..d4656df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_PropertyDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_TypeDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_TypeDeclaration.gif new file mode 100644 index 0000000..a815b62 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_declarations_TypeDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_imports_ImportDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_imports_ImportDeclaration.gif new file mode 100644 index 0000000..f8935bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_imports_ImportDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_requirements_Requirement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_requirements_Requirement.gif new file mode 100644 index 0000000..a7fc0fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_requirements_Requirement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_root_Root.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_root_Root.gif new file mode 100644 index 0000000..b354b93 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModel_root_Root.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Addition.gif new file mode 100644 index 0000000..291b062 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AllExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AppendExpression.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayExpression.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_BooleanLiteral.gif new file mode 100644 index 0000000..a3f6215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonEqual.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreater.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..f0b400c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesser.gif new file mode 100644 index 0000000..f2eedab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conditional.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ConstructionExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Disjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Division.gif new file mode 100644 index 0000000..b446c03 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_EnqueueExpression.gif new file mode 100644 index 0000000..946cda2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ExistsExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Expression.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_FalseLiteral.gif new file mode 100644 index 0000000..6fc892d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_IdentifierExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Implication.gif new file mode 100644 index 0000000..306a991 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_LiteralExpression.gif new file mode 100644 index 0000000..e9ccde5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Modulo.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Multiplication.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_NaturalLiteral.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Projection.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_QueueExpression.gif new file mode 100644 index 0000000..86fde1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordAccessExpression.gif new file mode 100644 index 0000000..65e9a41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ReferenceExpression.gif new file mode 100644 index 0000000..5f2cec7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Substraction.gif new file mode 100644 index 0000000..8f7d7ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_TrueLiteral.gif new file mode 100644 index 0000000..b8fa9f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..52be1a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFullExpression.gif new file mode 100644 index 0000000..3e3b45a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..d2df954 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..4bef1cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Addition.gif new file mode 100644 index 0000000..291b062 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AllExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AppendExpression.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayExpression.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_BooleanLiteral.gif new file mode 100644 index 0000000..a3f6215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonEqual.gif new file mode 100644 index 0000000..574943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreater.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..f0b400c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesser.gif new file mode 100644 index 0000000..f2eedab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..f6ad66a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conditional.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ConstructionExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Disjunction.gif new file mode 100644 index 0000000..9c9b7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Division.gif new file mode 100644 index 0000000..b446c03 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_EnqueueExpression.gif new file mode 100644 index 0000000..946cda2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ExistsExpression.gif new file mode 100644 index 0000000..3cc3c1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Expression.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_FalseLiteral.gif new file mode 100644 index 0000000..6fc892d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_IdentifierExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Implication.gif new file mode 100644 index 0000000..306a991 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_LiteralExpression.gif new file mode 100644 index 0000000..e9ccde5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Modulo.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Multiplication.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_NaturalLiteral.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Projection.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_QueueExpression.gif new file mode 100644 index 0000000..86fde1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordAccessExpression.gif new file mode 100644 index 0000000..65e9a41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ReferenceExpression.gif new file mode 100644 index 0000000..5f2cec7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Substraction.gif new file mode 100644 index 0000000..8f7d7ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_TrueLiteral.gif new file mode 100644 index 0000000..b8fa9f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..f0666f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..52be1a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFullExpression.gif new file mode 100644 index 0000000..3e3b45a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..d2df954 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..4bef1cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..e18f049 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateModulo_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..6f31e09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..ddf2faa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_Observable.gif new file mode 100644 index 0000000..0456ccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..3d22d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..3d22d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..799d63b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..0456ccd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..0f63e96 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_PathEvent.gif new file mode 100644 index 0000000..e7f1996 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_StateEvent.gif new file mode 100644 index 0000000..7732968 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMortalPattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateMultiplication_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableConjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..831a90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..9679858 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_Observable.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableConjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableDisjunction.gif new file mode 100644 index 0000000..9a2ca8b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..c7fccd9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableImplication.gif new file mode 100644 index 0000000..96f2df5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableNegation.gif new file mode 100644 index 0000000..bb9da6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_PathEvent.gif new file mode 100644 index 0000000..c256568 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_StateEvent.gif new file mode 100644 index 0000000..f0c0ece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableDisjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableImplication_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_EnterStateEvent.gif new file mode 100644 index 0000000..b6c9d48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_LeaveStateEvent.gif new file mode 100644 index 0000000..80ede06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_Observable.gif new file mode 100644 index 0000000..52f7346 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableConjunction.gif new file mode 100644 index 0000000..3cb39d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableDisjunction.gif new file mode 100644 index 0000000..3cb39d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableEvent.gif new file mode 100644 index 0000000..c0e9a18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableImplication.gif new file mode 100644 index 0000000..52f7346 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableNegation.gif new file mode 100644 index 0000000..11148cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_PathEvent.gif new file mode 100644 index 0000000..9099082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_StateEvent.gif new file mode 100644 index 0000000..af44325 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateObservableNegation_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Addition.gif new file mode 100644 index 0000000..ceee52a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AllExpression.gif new file mode 100644 index 0000000..3395195 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AppendExpression.gif new file mode 100644 index 0000000..90d0d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayAccessExpression.gif new file mode 100644 index 0000000..a6e5cfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayExpression.gif new file mode 100644 index 0000000..95a741c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_BooleanLiteral.gif new file mode 100644 index 0000000..01e1a01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonEqual.gif new file mode 100644 index 0000000..52f7346 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreater.gif new file mode 100644 index 0000000..90d0d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..a26e43a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesser.gif new file mode 100644 index 0000000..238a342 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesserEqual.gif new file mode 100644 index 0000000..a6e5cfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonNotEqual.gif new file mode 100644 index 0000000..80ede06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conditional.gif new file mode 100644 index 0000000..cd8caad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conjunction.gif new file mode 100644 index 0000000..84d6297 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ConstructionExpression.gif new file mode 100644 index 0000000..c9c2343 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Disjunction.gif new file mode 100644 index 0000000..84d6297 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Division.gif new file mode 100644 index 0000000..47d58d3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_EnqueueExpression.gif new file mode 100644 index 0000000..af44325 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ExistsExpression.gif new file mode 100644 index 0000000..a6e5cfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Expression.gif new file mode 100644 index 0000000..b6c9d48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_FalseLiteral.gif new file mode 100644 index 0000000..2f04e77 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_IdentifierExpression.gif new file mode 100644 index 0000000..cd8caad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Implication.gif new file mode 100644 index 0000000..f496e2f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_LiteralExpression.gif new file mode 100644 index 0000000..04b6132 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Modulo.gif new file mode 100644 index 0000000..95a741c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Multiplication.gif new file mode 100644 index 0000000..90d0d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_NaturalLiteral.gif new file mode 100644 index 0000000..b6c9d48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Projection.gif new file mode 100644 index 0000000..90d0d79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_QueueExpression.gif new file mode 100644 index 0000000..bdcd7ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordAccessExpression.gif new file mode 100644 index 0000000..29e556e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordExpression.gif new file mode 100644 index 0000000..e21fda5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ReferenceExpression.gif new file mode 100644 index 0000000..72ec732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Substraction.gif new file mode 100644 index 0000000..caaed52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_TrueLiteral.gif new file mode 100644 index 0000000..90821e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryCoerceExpression.gif new file mode 100644 index 0000000..cd8caad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..cd8caad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryEmptyExpression.gif new file mode 100644 index 0000000..3395195 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFirstExpression.gif new file mode 100644 index 0000000..c431c59 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFullExpression.gif new file mode 100644 index 0000000..91bb42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryLengthExpression.gif new file mode 100644 index 0000000..c9c2343 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryMinusExpression.gif new file mode 100644 index 0000000..bca376f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryNegationExpression.gif new file mode 100644 index 0000000..41c86b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryPlusExpression.gif new file mode 100644 index 0000000..e21fda5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateOnStatement_condition_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Addition.gif new file mode 100644 index 0000000..971790b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AllExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AppendExpression.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayAccessExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayExpression.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_BooleanLiteral.gif new file mode 100644 index 0000000..1808fc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonEqual.gif new file mode 100644 index 0000000..9f17538 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreater.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..8ed4554 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesser.gif new file mode 100644 index 0000000..eb440c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonNotEqual.gif new file mode 100644 index 0000000..3da98f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conditional.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ConstructionExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Disjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Division.gif new file mode 100644 index 0000000..2c570bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_EnqueueExpression.gif new file mode 100644 index 0000000..cbde2ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ExistsExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Expression.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_FalseLiteral.gif new file mode 100644 index 0000000..0667806 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_IdentifierExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Implication.gif new file mode 100644 index 0000000..2f87e1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_LiteralExpression.gif new file mode 100644 index 0000000..0b8b453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Modulo.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Multiplication.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_NaturalLiteral.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Projection.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_QueueExpression.gif new file mode 100644 index 0000000..21acda3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordAccessExpression.gif new file mode 100644 index 0000000..3a9b7cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ReferenceExpression.gif new file mode 100644 index 0000000..ac3a4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Substraction.gif new file mode 100644 index 0000000..5323f34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_TrueLiteral.gif new file mode 100644 index 0000000..5be50cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryCoerceExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryEmptyExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFirstExpression.gif new file mode 100644 index 0000000..431ba00 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFullExpression.gif new file mode 100644 index 0000000..77ff676 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryLengthExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryMinusExpression.gif new file mode 100644 index 0000000..3fae4b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryNegationExpression.gif new file mode 100644 index 0000000..5477752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryPlusExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterDeclaration_size_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_parameters_ParametersDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_parameters_ParametersDeclaration.gif new file mode 100644 index 0000000..d252f2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_parameters_ParametersDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_variables_VariablesDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_variables_VariablesDeclaration.gif new file mode 100644 index 0000000..9cd6c78 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParameterizedDeclaration_variables_VariablesDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_parameters_ParameterDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_parameters_ParameterDeclaration.gif new file mode 100644 index 0000000..6cb8e23 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_parameters_ParameterDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ArrayType.gif new file mode 100644 index 0000000..9fc00ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BasicType.gif new file mode 100644 index 0000000..7894c6f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BooleanType.gif new file mode 100644 index 0000000..3d537d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_IntegerType.gif new file mode 100644 index 0000000..a66756a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_NaturalType.gif new file mode 100644 index 0000000..a35176a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_QueueType.gif new file mode 100644 index 0000000..c198f0e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RangeType.gif new file mode 100644 index 0000000..a5e5f97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RecordType.gif new file mode 100644 index 0000000..f76ecf0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ReferencedType.gif new file mode 100644 index 0000000..0056d63 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_TupleType.gif new file mode 100644 index 0000000..ef7a76e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_Type.gif new file mode 100644 index 0000000..fb74404 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_UnionType.gif new file mode 100644 index 0000000..c048169 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateParametersDeclaration_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_EventSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_EventSubject.gif new file mode 100644 index 0000000..1c7362a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_EventSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_StateSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_StateSubject.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_StateSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_Subject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_Subject.gif new file mode 100644 index 0000000..50cbfbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_Subject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_TagSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_TagSubject.gif new file mode 100644 index 0000000..883ce93 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_TagSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_ValueSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_ValueSubject.gif new file mode 100644 index 0000000..75a50e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_item_ValueSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_path_Path.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_path_Path.gif new file mode 100644 index 0000000..959b892 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePathEvent_path_Path.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NamedItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NamedItem.gif new file mode 100644 index 0000000..bcf7097 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NamedItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NaturalItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NaturalItem.gif new file mode 100644 index 0000000..ce9d337 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_NaturalItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_PathItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_PathItem.gif new file mode 100644 index 0000000..7c9ec36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePath_items_PathItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Addition.gif new file mode 100644 index 0000000..b0e719a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AllExpression.gif new file mode 100644 index 0000000..9f53f0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AppendExpression.gif new file mode 100644 index 0000000..e6549b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayAccessExpression.gif new file mode 100644 index 0000000..0cf5f67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayExpression.gif new file mode 100644 index 0000000..ff53277 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_BooleanLiteral.gif new file mode 100644 index 0000000..bead277 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonEqual.gif new file mode 100644 index 0000000..42143ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreater.gif new file mode 100644 index 0000000..e6549b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..cce6183 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesser.gif new file mode 100644 index 0000000..a1ed6e4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesserEqual.gif new file mode 100644 index 0000000..0cf5f67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonNotEqual.gif new file mode 100644 index 0000000..4837c02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conditional.gif new file mode 100644 index 0000000..99afb26 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conjunction.gif new file mode 100644 index 0000000..d23c315 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ConstructionExpression.gif new file mode 100644 index 0000000..ae6f7b7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Disjunction.gif new file mode 100644 index 0000000..d23c315 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Division.gif new file mode 100644 index 0000000..de44081 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_EnqueueExpression.gif new file mode 100644 index 0000000..ca0092a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ExistsExpression.gif new file mode 100644 index 0000000..0cf5f67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Expression.gif new file mode 100644 index 0000000..89a18b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_FalseLiteral.gif new file mode 100644 index 0000000..471b87f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_IdentifierExpression.gif new file mode 100644 index 0000000..99afb26 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Implication.gif new file mode 100644 index 0000000..ac131b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_LiteralExpression.gif new file mode 100644 index 0000000..a183edc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Modulo.gif new file mode 100644 index 0000000..ff53277 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Multiplication.gif new file mode 100644 index 0000000..e6549b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_NaturalLiteral.gif new file mode 100644 index 0000000..89a18b0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Projection.gif new file mode 100644 index 0000000..e6549b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_QueueExpression.gif new file mode 100644 index 0000000..e990a9e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordAccessExpression.gif new file mode 100644 index 0000000..be0bace Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordExpression.gif new file mode 100644 index 0000000..bc7c1b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ReferenceExpression.gif new file mode 100644 index 0000000..0231726 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Substraction.gif new file mode 100644 index 0000000..714dd1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_TrueLiteral.gif new file mode 100644 index 0000000..67c2619 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryCoerceExpression.gif new file mode 100644 index 0000000..99afb26 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..99afb26 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryEmptyExpression.gif new file mode 100644 index 0000000..9f53f0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFirstExpression.gif new file mode 100644 index 0000000..ab65f4c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFullExpression.gif new file mode 100644 index 0000000..f58e5a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryLengthExpression.gif new file mode 100644 index 0000000..ae6f7b7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryMinusExpression.gif new file mode 100644 index 0000000..1f6d917 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryNegationExpression.gif new file mode 100644 index 0000000..1040531 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryPlusExpression.gif new file mode 100644 index 0000000..bc7c1b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortSet_ports_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_ports_PortDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_ports_PortDeclaration.gif new file mode 100644 index 0000000..49fd29f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_ports_PortDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_type_ChannelType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_type_ChannelType.gif new file mode 100644 index 0000000..40c20f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePortsDeclaration_type_ChannelType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_after_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_before_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_follower_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_max_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_min_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_EnterStateEvent.gif new file mode 100644 index 0000000..625be45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_LeaveStateEvent.gif new file mode 100644 index 0000000..dd6cda7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_Observable.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableConjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableDisjunction.gif new file mode 100644 index 0000000..cbc3f43 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableEvent.gif new file mode 100644 index 0000000..e1a974d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableImplication.gif new file mode 100644 index 0000000..7e55e97 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableNegation.gif new file mode 100644 index 0000000..74b2027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_PathEvent.gif new file mode 100644 index 0000000..22168e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_StateEvent.gif new file mode 100644 index 0000000..859181c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePrecedesPattern_until_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_after_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_before_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_DecimalLowerBound.gif new file mode 100644 index 0000000..94a62f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_LowerBound.gif new file mode 100644 index 0000000..7a7ecc7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_NaturalLowerBound.gif new file mode 100644 index 0000000..4eb6a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_VariableLowerBound.gif new file mode 100644 index 0000000..30db790 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_lower_VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_max_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_min_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_EnterStateEvent.gif new file mode 100644 index 0000000..42030b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_LeaveStateEvent.gif new file mode 100644 index 0000000..07919a4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_Observable.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableConjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableDisjunction.gif new file mode 100644 index 0000000..69d083e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableEvent.gif new file mode 100644 index 0000000..67f1b2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableImplication.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableNegation.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_PathEvent.gif new file mode 100644 index 0000000..29d9678 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_StateEvent.gif new file mode 100644 index 0000000..0140163 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_until_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_DecimalUpperBound.gif new file mode 100644 index 0000000..cc6993f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_InfiniteUpperBound.gif new file mode 100644 index 0000000..96aaeb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_NaturalUpperBound.gif new file mode 100644 index 0000000..7dade8c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_UpperBound.gif new file mode 100644 index 0000000..cdb5a67 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_VariableUpperBound.gif new file mode 100644 index 0000000..f9b01aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePresencePattern_upper_VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePriorityDeclaration_groups_PriorityGroup.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePriorityDeclaration_groups_PriorityGroup.gif new file mode 100644 index 0000000..b93b3d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePriorityDeclaration_groups_PriorityGroup.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_localPorts_PortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_localPorts_PortsDeclaration.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_localPorts_PortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_ports_PortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_ports_PortsDeclaration.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_ports_PortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AnyPattern.gif new file mode 100644 index 0000000..77a43ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ArrayAccessPattern.gif new file mode 100644 index 0000000..741b7da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignAnyStatement.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignStatement.gif new file mode 100644 index 0000000..bcf1f27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_BlockStatement.gif new file mode 100644 index 0000000..5b03160 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_CaseStatement.gif new file mode 100644 index 0000000..6c71b4c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConditionalStatement.gif new file mode 100644 index 0000000..b6cc9ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstantPattern.gif new file mode 100644 index 0000000..6c71b4c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstructorPattern.gif new file mode 100644 index 0000000..7f962e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ForeachStatement.gif new file mode 100644 index 0000000..7b7d582 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IdentifierPattern.gif new file mode 100644 index 0000000..cb602a6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IntegerPattern.gif new file mode 100644 index 0000000..6defd93 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_LoopStatement.gif new file mode 100644 index 0000000..6defd93 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_NullStatement.gif new file mode 100644 index 0000000..f810f8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_OnStatement.gif new file mode 100644 index 0000000..c4b7156 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Pattern.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_PatternStatement.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReceiveStatement.gif new file mode 100644 index 0000000..b6cc9ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_RecordAccessPattern.gif new file mode 100644 index 0000000..b6cc9ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReturnStatement.gif new file mode 100644 index 0000000..4c59dd4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SelectStatement.gif new file mode 100644 index 0000000..a0a1713 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SendStatement.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Statement.gif new file mode 100644 index 0000000..72c7085 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementChoice.gif new file mode 100644 index 0000000..66eed05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementSequence.gif new file mode 100644 index 0000000..c5ad7c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_TaggedStatement.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ToStatement.gif new file mode 100644 index 0000000..2121619 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_UnlessStatement.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WaitStatement.gif new file mode 100644 index 0000000..813b6e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WhileStatement.gif new file mode 100644 index 0000000..433da75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_prelude_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_priorities_PriorityDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_priorities_PriorityDeclaration.gif new file mode 100644 index 0000000..02a8aee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_priorities_PriorityDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_states_StateDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_states_StateDeclaration.gif new file mode 100644 index 0000000..f810f8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_states_StateDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_transitions_Transition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_transitions_Transition.gif new file mode 100644 index 0000000..5d7a6e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProcessDeclaration_transitions_Transition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_channel_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Addition.gif new file mode 100644 index 0000000..3dac10e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AllExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AppendExpression.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayAccessExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayExpression.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_BooleanLiteral.gif new file mode 100644 index 0000000..6ca73bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonEqual.gif new file mode 100644 index 0000000..c78a454 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreater.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..b033b9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesser.gif new file mode 100644 index 0000000..2abf9ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonNotEqual.gif new file mode 100644 index 0000000..26345fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conditional.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ConstructionExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Disjunction.gif new file mode 100644 index 0000000..582e5bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Division.gif new file mode 100644 index 0000000..f8faf42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_EnqueueExpression.gif new file mode 100644 index 0000000..7186b71 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ExistsExpression.gif new file mode 100644 index 0000000..ac91706 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Expression.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_FalseLiteral.gif new file mode 100644 index 0000000..a1e0e46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_IdentifierExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Implication.gif new file mode 100644 index 0000000..83dd4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_LiteralExpression.gif new file mode 100644 index 0000000..b84f5fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Modulo.gif new file mode 100644 index 0000000..c85d5ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Multiplication.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_NaturalLiteral.gif new file mode 100644 index 0000000..6714c4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Projection.gif new file mode 100644 index 0000000..c449285 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_QueueExpression.gif new file mode 100644 index 0000000..8db9bb0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordAccessExpression.gif new file mode 100644 index 0000000..2639c9c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ReferenceExpression.gif new file mode 100644 index 0000000..2914f06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Substraction.gif new file mode 100644 index 0000000..6442412 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_TrueLiteral.gif new file mode 100644 index 0000000..83994f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8712376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ec2e46d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFirstExpression.gif new file mode 100644 index 0000000..7cc18f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFullExpression.gif new file mode 100644 index 0000000..12d45aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f36b38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryMinusExpression.gif new file mode 100644 index 0000000..5961821 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryNegationExpression.gif new file mode 100644 index 0000000..b871370 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryPlusExpression.gif new file mode 100644 index 0000000..0b7dec5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateProjection_field_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AbsencePattern.gif new file mode 100644 index 0000000..fe70894 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AllProperty.gif new file mode 100644 index 0000000..d0db396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AlwaysPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_DeadlockFreePattern.gif new file mode 100644 index 0000000..66df020 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ExistsProperty.gif new file mode 100644 index 0000000..abd4883 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LTLPattern.gif new file mode 100644 index 0000000..20f19ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeadsToPattern.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_MortalPattern.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Observable.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableConjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableDisjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableImplication.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableNegation.gif new file mode 100644 index 0000000..da5a15f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PathEvent.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PatternProperty.gif new file mode 100644 index 0000000..7a99bf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PrecedesPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PresencePattern.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Property.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyConjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyDisjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyImplication.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyNegation.gif new file mode 100644 index 0000000..52d5d68 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_SequencePattern.gif new file mode 100644 index 0000000..993980b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_StateEvent.gif new file mode 100644 index 0000000..083f29c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AbsencePattern.gif new file mode 100644 index 0000000..fe70894 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AllProperty.gif new file mode 100644 index 0000000..d0db396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AlwaysPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_DeadlockFreePattern.gif new file mode 100644 index 0000000..66df020 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ExistsProperty.gif new file mode 100644 index 0000000..abd4883 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LTLPattern.gif new file mode 100644 index 0000000..20f19ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeadsToPattern.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_MortalPattern.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Observable.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableConjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableDisjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableImplication.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableNegation.gif new file mode 100644 index 0000000..da5a15f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PathEvent.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PatternProperty.gif new file mode 100644 index 0000000..7a99bf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PrecedesPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PresencePattern.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Property.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyConjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyDisjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyImplication.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyNegation.gif new file mode 100644 index 0000000..52d5d68 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_SequencePattern.gif new file mode 100644 index 0000000..993980b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_StateEvent.gif new file mode 100644 index 0000000..083f29c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyConjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AbsencePattern.gif new file mode 100644 index 0000000..94a39ac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AllProperty.gif new file mode 100644 index 0000000..e01d292 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AlwaysPattern.gif new file mode 100644 index 0000000..fc23f29 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_DeadlockFreePattern.gif new file mode 100644 index 0000000..7b489fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_EnterStateEvent.gif new file mode 100644 index 0000000..5279d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ExistsProperty.gif new file mode 100644 index 0000000..89c5f57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..a20a979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LTLPattern.gif new file mode 100644 index 0000000..62e68eb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeadsToPattern.gif new file mode 100644 index 0000000..6d27c0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeaveStateEvent.gif new file mode 100644 index 0000000..a20a979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_MortalPattern.gif new file mode 100644 index 0000000..40f87e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Observable.gif new file mode 100644 index 0000000..9ab16d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableConjunction.gif new file mode 100644 index 0000000..6d27c0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableDisjunction.gif new file mode 100644 index 0000000..6d27c0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableEvent.gif new file mode 100644 index 0000000..40f87e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableImplication.gif new file mode 100644 index 0000000..9ab16d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableNegation.gif new file mode 100644 index 0000000..e0846e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PathEvent.gif new file mode 100644 index 0000000..1bda02c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PatternProperty.gif new file mode 100644 index 0000000..2067b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PrecedesPattern.gif new file mode 100644 index 0000000..fc23f29 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PresencePattern.gif new file mode 100644 index 0000000..9ab16d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Property.gif new file mode 100644 index 0000000..a20a979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyConjunction.gif new file mode 100644 index 0000000..5279d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyDisjunction.gif new file mode 100644 index 0000000..5279d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyImplication.gif new file mode 100644 index 0000000..a20a979 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyNegation.gif new file mode 100644 index 0000000..777a45b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_SequencePattern.gif new file mode 100644 index 0000000..b3520a5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_StateEvent.gif new file mode 100644 index 0000000..052b213 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDeclaration_property_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AbsencePattern.gif new file mode 100644 index 0000000..fe70894 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AllProperty.gif new file mode 100644 index 0000000..d0db396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AlwaysPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_DeadlockFreePattern.gif new file mode 100644 index 0000000..66df020 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_EnterStateEvent.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ExistsProperty.gif new file mode 100644 index 0000000..abd4883 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LTLPattern.gif new file mode 100644 index 0000000..20f19ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeadsToPattern.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeaveStateEvent.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_MortalPattern.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Observable.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableConjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableDisjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableEvent.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableImplication.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableNegation.gif new file mode 100644 index 0000000..da5a15f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PathEvent.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PatternProperty.gif new file mode 100644 index 0000000..7a99bf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PrecedesPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PresencePattern.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Property.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyConjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyDisjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyImplication.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyNegation.gif new file mode 100644 index 0000000..52d5d68 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_SequencePattern.gif new file mode 100644 index 0000000..993980b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_StateEvent.gif new file mode 100644 index 0000000..083f29c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AbsencePattern.gif new file mode 100644 index 0000000..fe70894 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AllProperty.gif new file mode 100644 index 0000000..d0db396 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AlwaysPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_DeadlockFreePattern.gif new file mode 100644 index 0000000..66df020 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_EnterStateEvent.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ExistsProperty.gif new file mode 100644 index 0000000..abd4883 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LTLPattern.gif new file mode 100644 index 0000000..20f19ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeadsToPattern.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeaveStateEvent.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_MortalPattern.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Observable.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableConjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableDisjunction.gif new file mode 100644 index 0000000..f22f374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableEvent.gif new file mode 100644 index 0000000..dea9e2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableImplication.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableNegation.gif new file mode 100644 index 0000000..da5a15f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PathEvent.gif new file mode 100644 index 0000000..446da01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PatternProperty.gif new file mode 100644 index 0000000..7a99bf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PrecedesPattern.gif new file mode 100644 index 0000000..9b77758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PresencePattern.gif new file mode 100644 index 0000000..a44d89b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Property.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyConjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyDisjunction.gif new file mode 100644 index 0000000..8ce82e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyImplication.gif new file mode 100644 index 0000000..6f8b380 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyNegation.gif new file mode 100644 index 0000000..52d5d68 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_SequencePattern.gif new file mode 100644 index 0000000..993980b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_StateEvent.gif new file mode 100644 index 0000000..083f29c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyDisjunction_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AbsencePattern.gif new file mode 100644 index 0000000..bfcb3a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AllProperty.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AlwaysPattern.gif new file mode 100644 index 0000000..b3062f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_DeadlockFreePattern.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_EnterStateEvent.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ExistsProperty.gif new file mode 100644 index 0000000..1f3ec42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LTLPattern.gif new file mode 100644 index 0000000..0fae0b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeadsToPattern.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeaveStateEvent.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_MortalPattern.gif new file mode 100644 index 0000000..ca9caba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Observable.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableConjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableDisjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableEvent.gif new file mode 100644 index 0000000..ca9caba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableImplication.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableNegation.gif new file mode 100644 index 0000000..c128024 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PathEvent.gif new file mode 100644 index 0000000..5cee800 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PatternProperty.gif new file mode 100644 index 0000000..e03542c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PrecedesPattern.gif new file mode 100644 index 0000000..b3062f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PresencePattern.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Property.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyConjunction.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyDisjunction.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyImplication.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyNegation.gif new file mode 100644 index 0000000..c525027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_SequencePattern.gif new file mode 100644 index 0000000..c171fe0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_StateEvent.gif new file mode 100644 index 0000000..d9a8b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_left_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AbsencePattern.gif new file mode 100644 index 0000000..bfcb3a1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AllProperty.gif new file mode 100644 index 0000000..e0bed64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AlwaysPattern.gif new file mode 100644 index 0000000..b3062f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_DeadlockFreePattern.gif new file mode 100644 index 0000000..258ef98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_EnterStateEvent.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ExistsProperty.gif new file mode 100644 index 0000000..1f3ec42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LTLPattern.gif new file mode 100644 index 0000000..0fae0b1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeadsToPattern.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeaveStateEvent.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_MortalPattern.gif new file mode 100644 index 0000000..ca9caba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Observable.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableConjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableDisjunction.gif new file mode 100644 index 0000000..cece060 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableEvent.gif new file mode 100644 index 0000000..ca9caba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableImplication.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableNegation.gif new file mode 100644 index 0000000..c128024 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PathEvent.gif new file mode 100644 index 0000000..5cee800 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PatternProperty.gif new file mode 100644 index 0000000..e03542c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PrecedesPattern.gif new file mode 100644 index 0000000..b3062f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PresencePattern.gif new file mode 100644 index 0000000..738bdbd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Property.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyConjunction.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyDisjunction.gif new file mode 100644 index 0000000..0131b56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyImplication.gif new file mode 100644 index 0000000..0091f17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyNegation.gif new file mode 100644 index 0000000..c525027 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_SequencePattern.gif new file mode 100644 index 0000000..c171fe0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_StateEvent.gif new file mode 100644 index 0000000..d9a8b0c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyImplication_right_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AbsencePattern.gif new file mode 100644 index 0000000..c9f5c5c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AllProperty.gif new file mode 100644 index 0000000..95a7eae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AlwaysPattern.gif new file mode 100644 index 0000000..2777a6e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_DeadlockFreePattern.gif new file mode 100644 index 0000000..8707122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_EnterStateEvent.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ExistsProperty.gif new file mode 100644 index 0000000..e9aca9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_InfinitelyOftenPattern.gif new file mode 100644 index 0000000..9dc793f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LTLPattern.gif new file mode 100644 index 0000000..60989d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeadsToPattern.gif new file mode 100644 index 0000000..a164d14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeaveStateEvent.gif new file mode 100644 index 0000000..9dc793f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_MortalPattern.gif new file mode 100644 index 0000000..5389eac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Observable.gif new file mode 100644 index 0000000..d70b709 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableConjunction.gif new file mode 100644 index 0000000..a164d14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableDisjunction.gif new file mode 100644 index 0000000..a164d14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableEvent.gif new file mode 100644 index 0000000..5389eac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableImplication.gif new file mode 100644 index 0000000..d70b709 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableNegation.gif new file mode 100644 index 0000000..08b62b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PathEvent.gif new file mode 100644 index 0000000..ac30bb4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PatternProperty.gif new file mode 100644 index 0000000..833ad7c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PrecedesPattern.gif new file mode 100644 index 0000000..2777a6e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PresencePattern.gif new file mode 100644 index 0000000..d70b709 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Property.gif new file mode 100644 index 0000000..9dc793f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyConjunction.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyDisjunction.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyImplication.gif new file mode 100644 index 0000000..9dc793f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyNegation.gif new file mode 100644 index 0000000..b1e7722 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_SequencePattern.gif new file mode 100644 index 0000000..f7cfbc9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_StateEvent.gif new file mode 100644 index 0000000..56fb604 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreatePropertyNegation_child_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Addition.gif new file mode 100644 index 0000000..bcdc6bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AllExpression.gif new file mode 100644 index 0000000..8e5a21b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AppendExpression.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayAccessExpression.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayExpression.gif new file mode 100644 index 0000000..9414605 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_BooleanLiteral.gif new file mode 100644 index 0000000..4a8a00c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonEqual.gif new file mode 100644 index 0000000..9ff095f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreater.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..475c9fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesser.gif new file mode 100644 index 0000000..f40bfaa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonNotEqual.gif new file mode 100644 index 0000000..e9c1a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conditional.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conjunction.gif new file mode 100644 index 0000000..a12ae41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ConstructionExpression.gif new file mode 100644 index 0000000..b2bf170 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Disjunction.gif new file mode 100644 index 0000000..a12ae41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Division.gif new file mode 100644 index 0000000..361b182 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_EnqueueExpression.gif new file mode 100644 index 0000000..63b8ac3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ExistsExpression.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Expression.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_FalseLiteral.gif new file mode 100644 index 0000000..24ed2cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_IdentifierExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Implication.gif new file mode 100644 index 0000000..e76646c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_LiteralExpression.gif new file mode 100644 index 0000000..5d70e42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Modulo.gif new file mode 100644 index 0000000..9414605 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Multiplication.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_NaturalLiteral.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Projection.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_QueueExpression.gif new file mode 100644 index 0000000..7e23d6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordAccessExpression.gif new file mode 100644 index 0000000..2a8a6d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordExpression.gif new file mode 100644 index 0000000..ab6e9c9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ReferenceExpression.gif new file mode 100644 index 0000000..31bed36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Substraction.gif new file mode 100644 index 0000000..10c4e2e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_TrueLiteral.gif new file mode 100644 index 0000000..a4647d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryCoerceExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryEmptyExpression.gif new file mode 100644 index 0000000..8e5a21b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFirstExpression.gif new file mode 100644 index 0000000..ec67047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFullExpression.gif new file mode 100644 index 0000000..6eb0b17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryLengthExpression.gif new file mode 100644 index 0000000..b2bf170 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryMinusExpression.gif new file mode 100644 index 0000000..173020a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryNegationExpression.gif new file mode 100644 index 0000000..5d6fc15 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryPlusExpression.gif new file mode 100644 index 0000000..ab6e9c9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueExpression_values_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Addition.gif new file mode 100644 index 0000000..728fda5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AllExpression.gif new file mode 100644 index 0000000..8f1af02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AppendExpression.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayAccessExpression.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayExpression.gif new file mode 100644 index 0000000..ae6b2e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_BooleanLiteral.gif new file mode 100644 index 0000000..ce7fc4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonEqual.gif new file mode 100644 index 0000000..978ee2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreater.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..48f8111 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesser.gif new file mode 100644 index 0000000..2224a42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonNotEqual.gif new file mode 100644 index 0000000..ae4714f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conditional.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conjunction.gif new file mode 100644 index 0000000..90a8446 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ConstructionExpression.gif new file mode 100644 index 0000000..efad8ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Disjunction.gif new file mode 100644 index 0000000..90a8446 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Division.gif new file mode 100644 index 0000000..2cbcfe1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_EnqueueExpression.gif new file mode 100644 index 0000000..91e3ddb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ExistsExpression.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Expression.gif new file mode 100644 index 0000000..6219c0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_FalseLiteral.gif new file mode 100644 index 0000000..e2874af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_IdentifierExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Implication.gif new file mode 100644 index 0000000..38cd8a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_LiteralExpression.gif new file mode 100644 index 0000000..79bc043 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Modulo.gif new file mode 100644 index 0000000..ae6b2e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Multiplication.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_NaturalLiteral.gif new file mode 100644 index 0000000..6219c0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Projection.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_QueueExpression.gif new file mode 100644 index 0000000..511800c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordAccessExpression.gif new file mode 100644 index 0000000..160e652 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordExpression.gif new file mode 100644 index 0000000..9ad499c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ReferenceExpression.gif new file mode 100644 index 0000000..846943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Substraction.gif new file mode 100644 index 0000000..07adaab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_TrueLiteral.gif new file mode 100644 index 0000000..5a705ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryCoerceExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryEmptyExpression.gif new file mode 100644 index 0000000..8f1af02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFirstExpression.gif new file mode 100644 index 0000000..6009177 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFullExpression.gif new file mode 100644 index 0000000..a1aa376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryLengthExpression.gif new file mode 100644 index 0000000..efad8ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryMinusExpression.gif new file mode 100644 index 0000000..9dba3d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryNegationExpression.gif new file mode 100644 index 0000000..e29b313 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryPlusExpression.gif new file mode 100644 index 0000000..9ad499c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_size_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ArrayType.gif new file mode 100644 index 0000000..e2874af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BasicType.gif new file mode 100644 index 0000000..2224a42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BooleanType.gif new file mode 100644 index 0000000..978ee2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_IntegerType.gif new file mode 100644 index 0000000..a1aa376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_NaturalType.gif new file mode 100644 index 0000000..38cd8a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_QueueType.gif new file mode 100644 index 0000000..e29b313 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RangeType.gif new file mode 100644 index 0000000..d9e27ce Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RecordType.gif new file mode 100644 index 0000000..eb04f24 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ReferencedType.gif new file mode 100644 index 0000000..ae6b2e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_TupleType.gif new file mode 100644 index 0000000..64e6523 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_Type.gif new file mode 100644 index 0000000..47d9aaf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_UnionType.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateQueueType_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Addition.gif new file mode 100644 index 0000000..3d308aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AllExpression.gif new file mode 100644 index 0000000..963a72b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AppendExpression.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayAccessExpression.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayExpression.gif new file mode 100644 index 0000000..9dd025a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_BooleanLiteral.gif new file mode 100644 index 0000000..385b365 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonEqual.gif new file mode 100644 index 0000000..d203b1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreater.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..9c7efc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesser.gif new file mode 100644 index 0000000..74af836 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesserEqual.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonNotEqual.gif new file mode 100644 index 0000000..e178517 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conditional.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conjunction.gif new file mode 100644 index 0000000..56fcea5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ConstructionExpression.gif new file mode 100644 index 0000000..1d2f734 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Disjunction.gif new file mode 100644 index 0000000..56fcea5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Division.gif new file mode 100644 index 0000000..62bda1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_EnqueueExpression.gif new file mode 100644 index 0000000..1f8189a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ExistsExpression.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Expression.gif new file mode 100644 index 0000000..eef1935 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_FalseLiteral.gif new file mode 100644 index 0000000..210e156 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_IdentifierExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Implication.gif new file mode 100644 index 0000000..cca8aec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_LiteralExpression.gif new file mode 100644 index 0000000..959b892 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Modulo.gif new file mode 100644 index 0000000..9dd025a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Multiplication.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_NaturalLiteral.gif new file mode 100644 index 0000000..eef1935 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Projection.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_QueueExpression.gif new file mode 100644 index 0000000..daddc87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordAccessExpression.gif new file mode 100644 index 0000000..775ec09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordExpression.gif new file mode 100644 index 0000000..50cbfbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ReferenceExpression.gif new file mode 100644 index 0000000..af07ba1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Substraction.gif new file mode 100644 index 0000000..d9a9d8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_TrueLiteral.gif new file mode 100644 index 0000000..448138d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryCoerceExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryEmptyExpression.gif new file mode 100644 index 0000000..963a72b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFirstExpression.gif new file mode 100644 index 0000000..5599390 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFullExpression.gif new file mode 100644 index 0000000..75a50e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryLengthExpression.gif new file mode 100644 index 0000000..1d2f734 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryMinusExpression.gif new file mode 100644 index 0000000..b25c629 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryNegationExpression.gif new file mode 100644 index 0000000..f9be6da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryPlusExpression.gif new file mode 100644 index 0000000..50cbfbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_maximum_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Addition.gif new file mode 100644 index 0000000..3d308aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AllExpression.gif new file mode 100644 index 0000000..963a72b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AppendExpression.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayAccessExpression.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayExpression.gif new file mode 100644 index 0000000..9dd025a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_BooleanLiteral.gif new file mode 100644 index 0000000..385b365 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonEqual.gif new file mode 100644 index 0000000..d203b1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreater.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..9c7efc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesser.gif new file mode 100644 index 0000000..74af836 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesserEqual.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonNotEqual.gif new file mode 100644 index 0000000..e178517 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conditional.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conjunction.gif new file mode 100644 index 0000000..56fcea5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ConstructionExpression.gif new file mode 100644 index 0000000..1d2f734 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Disjunction.gif new file mode 100644 index 0000000..56fcea5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Division.gif new file mode 100644 index 0000000..62bda1f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_EnqueueExpression.gif new file mode 100644 index 0000000..1f8189a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ExistsExpression.gif new file mode 100644 index 0000000..29e698e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Expression.gif new file mode 100644 index 0000000..eef1935 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_FalseLiteral.gif new file mode 100644 index 0000000..210e156 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_IdentifierExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Implication.gif new file mode 100644 index 0000000..cca8aec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_LiteralExpression.gif new file mode 100644 index 0000000..959b892 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Modulo.gif new file mode 100644 index 0000000..9dd025a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Multiplication.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_NaturalLiteral.gif new file mode 100644 index 0000000..eef1935 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Projection.gif new file mode 100644 index 0000000..983575c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_QueueExpression.gif new file mode 100644 index 0000000..daddc87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordAccessExpression.gif new file mode 100644 index 0000000..775ec09 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordExpression.gif new file mode 100644 index 0000000..50cbfbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ReferenceExpression.gif new file mode 100644 index 0000000..af07ba1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Substraction.gif new file mode 100644 index 0000000..d9a9d8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_TrueLiteral.gif new file mode 100644 index 0000000..448138d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryCoerceExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..38d77bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryEmptyExpression.gif new file mode 100644 index 0000000..963a72b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFirstExpression.gif new file mode 100644 index 0000000..5599390 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFullExpression.gif new file mode 100644 index 0000000..75a50e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryLengthExpression.gif new file mode 100644 index 0000000..1d2f734 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryMinusExpression.gif new file mode 100644 index 0000000..b25c629 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryNegationExpression.gif new file mode 100644 index 0000000..f9be6da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryPlusExpression.gif new file mode 100644 index 0000000..50cbfbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRangeType_minimum_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Addition.gif new file mode 100644 index 0000000..a785c69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AllExpression.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AppendExpression.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayAccessExpression.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayExpression.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_BooleanLiteral.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonEqual.gif new file mode 100644 index 0000000..517abc7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreater.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..dc9ca0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesser.gif new file mode 100644 index 0000000..4455fd0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonNotEqual.gif new file mode 100644 index 0000000..2c857d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conditional.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conjunction.gif new file mode 100644 index 0000000..860276f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ConstructionExpression.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Disjunction.gif new file mode 100644 index 0000000..860276f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Division.gif new file mode 100644 index 0000000..1584981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_EnqueueExpression.gif new file mode 100644 index 0000000..1a6d6b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ExistsExpression.gif new file mode 100644 index 0000000..b61a668 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Expression.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_FalseLiteral.gif new file mode 100644 index 0000000..2146504 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_IdentifierExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Implication.gif new file mode 100644 index 0000000..b68de5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_LiteralExpression.gif new file mode 100644 index 0000000..5fc9320 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Modulo.gif new file mode 100644 index 0000000..ad157ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Multiplication.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_NaturalLiteral.gif new file mode 100644 index 0000000..5a308e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Projection.gif new file mode 100644 index 0000000..d56a04b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_QueueExpression.gif new file mode 100644 index 0000000..18a3c3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordAccessExpression.gif new file mode 100644 index 0000000..3274511 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordExpression.gif new file mode 100644 index 0000000..b9e96e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ReferenceExpression.gif new file mode 100644 index 0000000..f82670c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Substraction.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_TrueLiteral.gif new file mode 100644 index 0000000..5f8c201 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryCoerceExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..8f0a0b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryEmptyExpression.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFirstExpression.gif new file mode 100644 index 0000000..3b60193 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFullExpression.gif new file mode 100644 index 0000000..c200e69 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryLengthExpression.gif new file mode 100644 index 0000000..8eb4561 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryMinusExpression.gif new file mode 100644 index 0000000..1ebcee0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryNegationExpression.gif new file mode 100644 index 0000000..bf50c76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryPlusExpression.gif new file mode 100644 index 0000000..b9e96e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_exp_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_AnyPattern.gif new file mode 100644 index 0000000..26942d5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ArrayAccessPattern.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstantPattern.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstructorPattern.gif new file mode 100644 index 0000000..a4565df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IdentifierPattern.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IntegerPattern.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_Pattern.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_RecordAccessPattern.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_patterns_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_AnyPattern.gif new file mode 100644 index 0000000..26942d5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ArrayAccessPattern.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstantPattern.gif new file mode 100644 index 0000000..3daea53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstructorPattern.gif new file mode 100644 index 0000000..a4565df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IdentifierPattern.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IntegerPattern.gif new file mode 100644 index 0000000..1ed2762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_Pattern.gif new file mode 100644 index 0000000..3408e14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_RecordAccessPattern.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReceiveStatement_port_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..10186e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..e3163ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..a16d296 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..6e14d42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ArrayAccessPattern.gif new file mode 100644 index 0000000..57fa1bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ConstructorPattern.gif new file mode 100644 index 0000000..a4565df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_IdentifierPattern.gif new file mode 100644 index 0000000..28525df Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_RecordAccessPattern.gif new file mode 100644 index 0000000..40ef685 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordAccessPattern_source_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordExpression_fields_FieldExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordExpression_fields_FieldExpression.gif new file mode 100644 index 0000000..c9af92d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordExpression_fields_FieldExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_fields_RecordFieldDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_fields_RecordFieldDeclaration.gif new file mode 100644 index 0000000..43da763 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_fields_RecordFieldDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ArrayType.gif new file mode 100644 index 0000000..0e5fb45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BasicType.gif new file mode 100644 index 0000000..0af290a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BooleanType.gif new file mode 100644 index 0000000..71d76c2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_IntegerType.gif new file mode 100644 index 0000000..479ecaf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_NaturalType.gif new file mode 100644 index 0000000..c14b909 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_QueueType.gif new file mode 100644 index 0000000..968b6be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RangeType.gif new file mode 100644 index 0000000..14ad125 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RecordType.gif new file mode 100644 index 0000000..12131f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ReferencedType.gif new file mode 100644 index 0000000..78ca278 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_TupleType.gif new file mode 100644 index 0000000..3f2250f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_Type.gif new file mode 100644 index 0000000..c6c7731 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_UnionType.gif new file mode 100644 index 0000000..c10b7b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordFields_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordType_fields_RecordFields.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordType_fields_RecordFields.gif new file mode 100644 index 0000000..3826602 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateRecordType_fields_RecordFields.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Addition.gif new file mode 100644 index 0000000..bcdc6bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AllExpression.gif new file mode 100644 index 0000000..8e5a21b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AppendExpression.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayAccessExpression.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayExpression.gif new file mode 100644 index 0000000..9414605 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_BooleanLiteral.gif new file mode 100644 index 0000000..4a8a00c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonEqual.gif new file mode 100644 index 0000000..9ff095f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreater.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..475c9fc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesser.gif new file mode 100644 index 0000000..f40bfaa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonNotEqual.gif new file mode 100644 index 0000000..e9c1a08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conditional.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conjunction.gif new file mode 100644 index 0000000..a12ae41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ConstructionExpression.gif new file mode 100644 index 0000000..b2bf170 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Disjunction.gif new file mode 100644 index 0000000..a12ae41 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Division.gif new file mode 100644 index 0000000..361b182 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_EnqueueExpression.gif new file mode 100644 index 0000000..63b8ac3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ExistsExpression.gif new file mode 100644 index 0000000..1d08a11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Expression.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_FalseLiteral.gif new file mode 100644 index 0000000..24ed2cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_IdentifierExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Implication.gif new file mode 100644 index 0000000..e76646c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_LiteralExpression.gif new file mode 100644 index 0000000..5d70e42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Modulo.gif new file mode 100644 index 0000000..9414605 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Multiplication.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_NaturalLiteral.gif new file mode 100644 index 0000000..459f5fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Projection.gif new file mode 100644 index 0000000..262c4cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_QueueExpression.gif new file mode 100644 index 0000000..7e23d6c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordAccessExpression.gif new file mode 100644 index 0000000..2a8a6d1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordExpression.gif new file mode 100644 index 0000000..ab6e9c9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ReferenceExpression.gif new file mode 100644 index 0000000..31bed36 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Substraction.gif new file mode 100644 index 0000000..10c4e2e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_TrueLiteral.gif new file mode 100644 index 0000000..a4647d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryCoerceExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..504fdc4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryEmptyExpression.gif new file mode 100644 index 0000000..8e5a21b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFirstExpression.gif new file mode 100644 index 0000000..ec67047 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFullExpression.gif new file mode 100644 index 0000000..6eb0b17 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryLengthExpression.gif new file mode 100644 index 0000000..b2bf170 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryMinusExpression.gif new file mode 100644 index 0000000..173020a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryNegationExpression.gif new file mode 100644 index 0000000..5d6fc15 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryPlusExpression.gif new file mode 100644 index 0000000..ab6e9c9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateReturnStatement_expression_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AnyPattern.gif new file mode 100644 index 0000000..c5b61f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ArrayAccessPattern.gif new file mode 100644 index 0000000..7959b30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignAnyStatement.gif new file mode 100644 index 0000000..0be9b53 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignStatement.gif new file mode 100644 index 0000000..d25de52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_BlockStatement.gif new file mode 100644 index 0000000..7e71d7b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_CaseStatement.gif new file mode 100644 index 0000000..0e1822f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConditionalStatement.gif new file mode 100644 index 0000000..23b4848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstantPattern.gif new file mode 100644 index 0000000..0e1822f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstructorPattern.gif new file mode 100644 index 0000000..841cd27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ForeachStatement.gif new file mode 100644 index 0000000..a8fe87e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IdentifierPattern.gif new file mode 100644 index 0000000..6678f80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IntegerPattern.gif new file mode 100644 index 0000000..4c9c973 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_LoopStatement.gif new file mode 100644 index 0000000..4c9c973 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_NullStatement.gif new file mode 100644 index 0000000..a4f320b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_OnStatement.gif new file mode 100644 index 0000000..16b4d06 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Pattern.gif new file mode 100644 index 0000000..11bcd0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_PatternStatement.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReceiveStatement.gif new file mode 100644 index 0000000..23b4848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_RecordAccessPattern.gif new file mode 100644 index 0000000..23b4848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReturnStatement.gif new file mode 100644 index 0000000..1e449c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SelectStatement.gif new file mode 100644 index 0000000..c31e7a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SendStatement.gif new file mode 100644 index 0000000..fcbb640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Statement.gif new file mode 100644 index 0000000..598c4e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementChoice.gif new file mode 100644 index 0000000..a9fbc1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementSequence.gif new file mode 100644 index 0000000..4d0de8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_TaggedStatement.gif new file mode 100644 index 0000000..1376267 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ToStatement.gif new file mode 100644 index 0000000..74497a7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_UnlessStatement.gif new file mode 100644 index 0000000..cc09082 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WaitStatement.gif new file mode 100644 index 0000000..42ba0ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WhileStatement.gif new file mode 100644 index 0000000..9ff2342 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_body_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_index_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_index_VariableDeclaration.gif new file mode 100644 index 0000000..7959b30 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_index_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_type_RangeType.gif new file mode 100644 index 0000000..1c0d080 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSelectStatement_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_AnyPattern.gif new file mode 100644 index 0000000..ee18b80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ArrayAccessPattern.gif new file mode 100644 index 0000000..5323f34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstantPattern.gif new file mode 100644 index 0000000..b3f5f18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstructorPattern.gif new file mode 100644 index 0000000..375321e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IdentifierPattern.gif new file mode 100644 index 0000000..1808fc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IntegerPattern.gif new file mode 100644 index 0000000..fc69df4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_Pattern.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_RecordAccessPattern.gif new file mode 100644 index 0000000..c850aa1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_port_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Addition.gif new file mode 100644 index 0000000..971790b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AllExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AppendExpression.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayAccessExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayExpression.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_BooleanLiteral.gif new file mode 100644 index 0000000..1808fc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonEqual.gif new file mode 100644 index 0000000..9f17538 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreater.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..8ed4554 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesser.gif new file mode 100644 index 0000000..eb440c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonNotEqual.gif new file mode 100644 index 0000000..3da98f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conditional.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ConstructionExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Disjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Division.gif new file mode 100644 index 0000000..2c570bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_EnqueueExpression.gif new file mode 100644 index 0000000..cbde2ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ExistsExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Expression.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_FalseLiteral.gif new file mode 100644 index 0000000..0667806 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_IdentifierExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Implication.gif new file mode 100644 index 0000000..2f87e1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_LiteralExpression.gif new file mode 100644 index 0000000..0b8b453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Modulo.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Multiplication.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_NaturalLiteral.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Projection.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_QueueExpression.gif new file mode 100644 index 0000000..21acda3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordAccessExpression.gif new file mode 100644 index 0000000..3a9b7cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ReferenceExpression.gif new file mode 100644 index 0000000..ac3a4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Substraction.gif new file mode 100644 index 0000000..5323f34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_TrueLiteral.gif new file mode 100644 index 0000000..5be50cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryCoerceExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryEmptyExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFirstExpression.gif new file mode 100644 index 0000000..431ba00 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFullExpression.gif new file mode 100644 index 0000000..77ff676 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryLengthExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryMinusExpression.gif new file mode 100644 index 0000000..3fae4b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryNegationExpression.gif new file mode 100644 index 0000000..5477752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryPlusExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSendStatement_values_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_EnterStateEvent.gif new file mode 100644 index 0000000..1e4e4b3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_LeaveStateEvent.gif new file mode 100644 index 0000000..b80902b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_Observable.gif new file mode 100644 index 0000000..a85ee8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableConjunction.gif new file mode 100644 index 0000000..bf56763 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableDisjunction.gif new file mode 100644 index 0000000..bf56763 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableEvent.gif new file mode 100644 index 0000000..d677d34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableImplication.gif new file mode 100644 index 0000000..a85ee8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableNegation.gif new file mode 100644 index 0000000..3d5c10a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_PathEvent.gif new file mode 100644 index 0000000..74f7ceb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_StateEvent.gif new file mode 100644 index 0000000..a1607f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStateEvent_subject_StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AnyPattern.gif new file mode 100644 index 0000000..58c4df7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ArrayAccessPattern.gif new file mode 100644 index 0000000..2215c82 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignAnyStatement.gif new file mode 100644 index 0000000..f48df49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignStatement.gif new file mode 100644 index 0000000..d9a2153 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_BlockStatement.gif new file mode 100644 index 0000000..b53237c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_CaseStatement.gif new file mode 100644 index 0000000..f34bd0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConditionalStatement.gif new file mode 100644 index 0000000..1aa8543 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstantPattern.gif new file mode 100644 index 0000000..f34bd0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstructorPattern.gif new file mode 100644 index 0000000..15a02fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ForeachStatement.gif new file mode 100644 index 0000000..3256d56 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IdentifierPattern.gif new file mode 100644 index 0000000..ee360b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IntegerPattern.gif new file mode 100644 index 0000000..2777a6e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_LoopStatement.gif new file mode 100644 index 0000000..2777a6e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_NullStatement.gif new file mode 100644 index 0000000..fc9baba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_OnStatement.gif new file mode 100644 index 0000000..08b62b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Pattern.gif new file mode 100644 index 0000000..8707122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_PatternStatement.gif new file mode 100644 index 0000000..a548cc2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReceiveStatement.gif new file mode 100644 index 0000000..1aa8543 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_RecordAccessPattern.gif new file mode 100644 index 0000000..1aa8543 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReturnStatement.gif new file mode 100644 index 0000000..dd09312 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SelectStatement.gif new file mode 100644 index 0000000..60989d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SendStatement.gif new file mode 100644 index 0000000..a548cc2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Statement.gif new file mode 100644 index 0000000..6e7148b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementChoice.gif new file mode 100644 index 0000000..b1e7722 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementSequence.gif new file mode 100644 index 0000000..ce29156 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_TaggedStatement.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ToStatement.gif new file mode 100644 index 0000000..c9f5c5c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_UnlessStatement.gif new file mode 100644 index 0000000..95a7eae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WaitStatement.gif new file mode 100644 index 0000000..561e20c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WhileStatement.gif new file mode 100644 index 0000000..34f0bc1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementChoice_choices_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AnyPattern.gif new file mode 100644 index 0000000..879a7fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ArrayAccessPattern.gif new file mode 100644 index 0000000..9bacb28 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignAnyStatement.gif new file mode 100644 index 0000000..a8d71d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignStatement.gif new file mode 100644 index 0000000..a3e4ead Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_BlockStatement.gif new file mode 100644 index 0000000..d022471 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_CaseStatement.gif new file mode 100644 index 0000000..2f75407 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConditionalStatement.gif new file mode 100644 index 0000000..190f08e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstantPattern.gif new file mode 100644 index 0000000..2f75407 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstructorPattern.gif new file mode 100644 index 0000000..261e05c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ForeachStatement.gif new file mode 100644 index 0000000..fc1a2e8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IdentifierPattern.gif new file mode 100644 index 0000000..6cb3a27 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IntegerPattern.gif new file mode 100644 index 0000000..cecc757 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_LoopStatement.gif new file mode 100644 index 0000000..cecc757 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_NullStatement.gif new file mode 100644 index 0000000..de1bf6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_OnStatement.gif new file mode 100644 index 0000000..e1982d4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Pattern.gif new file mode 100644 index 0000000..3b5e749 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_PatternStatement.gif new file mode 100644 index 0000000..4c179d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReceiveStatement.gif new file mode 100644 index 0000000..190f08e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_RecordAccessPattern.gif new file mode 100644 index 0000000..190f08e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReturnStatement.gif new file mode 100644 index 0000000..c0a1164 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SelectStatement.gif new file mode 100644 index 0000000..90ccce9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SendStatement.gif new file mode 100644 index 0000000..4c179d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Statement.gif new file mode 100644 index 0000000..628ea3f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementChoice.gif new file mode 100644 index 0000000..9fff14a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementSequence.gif new file mode 100644 index 0000000..e07c4ed Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_TaggedStatement.gif new file mode 100644 index 0000000..5a78e87 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ToStatement.gif new file mode 100644 index 0000000..4b9f986 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_UnlessStatement.gif new file mode 100644 index 0000000..845de0f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WaitStatement.gif new file mode 100644 index 0000000..60becfe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WhileStatement.gif new file mode 100644 index 0000000..55ee60b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateStatementSequence_statements_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Addition.gif new file mode 100644 index 0000000..205071f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AllExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AppendExpression.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayAccessExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayExpression.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_BooleanLiteral.gif new file mode 100644 index 0000000..191a36a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonEqual.gif new file mode 100644 index 0000000..4d3fded Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreater.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..4118ce5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesser.gif new file mode 100644 index 0000000..cbeac46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonNotEqual.gif new file mode 100644 index 0000000..7c7384e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conditional.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ConstructionExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Disjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Division.gif new file mode 100644 index 0000000..8cda162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_EnqueueExpression.gif new file mode 100644 index 0000000..d1bf162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ExistsExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Expression.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_FalseLiteral.gif new file mode 100644 index 0000000..7aba268 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_IdentifierExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Implication.gif new file mode 100644 index 0000000..9402ae7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_LiteralExpression.gif new file mode 100644 index 0000000..85812b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Modulo.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Multiplication.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_NaturalLiteral.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Projection.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_QueueExpression.gif new file mode 100644 index 0000000..2dd9ea6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordAccessExpression.gif new file mode 100644 index 0000000..70812c3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ReferenceExpression.gif new file mode 100644 index 0000000..c572b64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Substraction.gif new file mode 100644 index 0000000..0d619ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_TrueLiteral.gif new file mode 100644 index 0000000..83d4e79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryCoerceExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryEmptyExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFirstExpression.gif new file mode 100644 index 0000000..2dde1a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFullExpression.gif new file mode 100644 index 0000000..eb94bc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryLengthExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryMinusExpression.gif new file mode 100644 index 0000000..e7f28e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryNegationExpression.gif new file mode 100644 index 0000000..46ea360 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryPlusExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_left_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Addition.gif new file mode 100644 index 0000000..205071f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AllExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AppendExpression.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayAccessExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayExpression.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_BooleanLiteral.gif new file mode 100644 index 0000000..191a36a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonEqual.gif new file mode 100644 index 0000000..4d3fded Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreater.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..4118ce5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesser.gif new file mode 100644 index 0000000..cbeac46 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesserEqual.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonNotEqual.gif new file mode 100644 index 0000000..7c7384e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conditional.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ConstructionExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Disjunction.gif new file mode 100644 index 0000000..7f00aa6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Division.gif new file mode 100644 index 0000000..8cda162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_EnqueueExpression.gif new file mode 100644 index 0000000..d1bf162 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ExistsExpression.gif new file mode 100644 index 0000000..ceba771 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Expression.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_FalseLiteral.gif new file mode 100644 index 0000000..7aba268 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_IdentifierExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Implication.gif new file mode 100644 index 0000000..9402ae7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_LiteralExpression.gif new file mode 100644 index 0000000..85812b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Modulo.gif new file mode 100644 index 0000000..db9d0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Multiplication.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_NaturalLiteral.gif new file mode 100644 index 0000000..f7e40a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Projection.gif new file mode 100644 index 0000000..1d24f79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_QueueExpression.gif new file mode 100644 index 0000000..2dd9ea6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordAccessExpression.gif new file mode 100644 index 0000000..70812c3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ReferenceExpression.gif new file mode 100644 index 0000000..c572b64 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Substraction.gif new file mode 100644 index 0000000..0d619ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_TrueLiteral.gif new file mode 100644 index 0000000..83d4e79 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryCoerceExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..932fde3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryEmptyExpression.gif new file mode 100644 index 0000000..b498f6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFirstExpression.gif new file mode 100644 index 0000000..2dde1a2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFullExpression.gif new file mode 100644 index 0000000..eb94bc6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryLengthExpression.gif new file mode 100644 index 0000000..199994a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryMinusExpression.gif new file mode 100644 index 0000000..e7f28e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryNegationExpression.gif new file mode 100644 index 0000000..46ea360 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryPlusExpression.gif new file mode 100644 index 0000000..f5a6c99 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateSubstraction_right_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AnyPattern.gif new file mode 100644 index 0000000..921b2c6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ArrayAccessPattern.gif new file mode 100644 index 0000000..54b651d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignAnyStatement.gif new file mode 100644 index 0000000..545d888 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignStatement.gif new file mode 100644 index 0000000..b6cab91 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_BlockStatement.gif new file mode 100644 index 0000000..0dd99ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_CaseStatement.gif new file mode 100644 index 0000000..7d4073e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConditionalStatement.gif new file mode 100644 index 0000000..a39b796 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstantPattern.gif new file mode 100644 index 0000000..7d4073e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstructorPattern.gif new file mode 100644 index 0000000..02ca8c0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ForeachStatement.gif new file mode 100644 index 0000000..de9c324 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IdentifierPattern.gif new file mode 100644 index 0000000..72306dc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IntegerPattern.gif new file mode 100644 index 0000000..97b8d1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_LoopStatement.gif new file mode 100644 index 0000000..97b8d1a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_NullStatement.gif new file mode 100644 index 0000000..2e8ec2d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_OnStatement.gif new file mode 100644 index 0000000..b33e855 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Pattern.gif new file mode 100644 index 0000000..2084fe8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_PatternStatement.gif new file mode 100644 index 0000000..7c357e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReceiveStatement.gif new file mode 100644 index 0000000..a39b796 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_RecordAccessPattern.gif new file mode 100644 index 0000000..a39b796 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReturnStatement.gif new file mode 100644 index 0000000..247a032 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SelectStatement.gif new file mode 100644 index 0000000..22caf47 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SendStatement.gif new file mode 100644 index 0000000..7c357e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Statement.gif new file mode 100644 index 0000000..ebe40ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementChoice.gif new file mode 100644 index 0000000..d7743e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementSequence.gif new file mode 100644 index 0000000..0e34563 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_TaggedStatement.gif new file mode 100644 index 0000000..440a154 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ToStatement.gif new file mode 100644 index 0000000..b3c6924 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_UnlessStatement.gif new file mode 100644 index 0000000..fa6a5ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WaitStatement.gif new file mode 100644 index 0000000..13449f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WhileStatement.gif new file mode 100644 index 0000000..41eefa2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_action_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_source_TransitionSource.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_source_TransitionSource.gif new file mode 100644 index 0000000..c213999 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTransition_source_TransitionSource.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ArrayType.gif new file mode 100644 index 0000000..7f8e88e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BasicType.gif new file mode 100644 index 0000000..eb8204c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BooleanType.gif new file mode 100644 index 0000000..845e9f4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_IntegerType.gif new file mode 100644 index 0000000..8cd9cfa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_NaturalType.gif new file mode 100644 index 0000000..870d2b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_QueueType.gif new file mode 100644 index 0000000..84d142d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RangeType.gif new file mode 100644 index 0000000..252ab40 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RecordType.gif new file mode 100644 index 0000000..07b82ef Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ReferencedType.gif new file mode 100644 index 0000000..fac7c9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_TupleType.gif new file mode 100644 index 0000000..d8b262a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_Type.gif new file mode 100644 index 0000000..f8b67b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_UnionType.gif new file mode 100644 index 0000000..28ed761 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTupleType_types_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ArrayType.gif new file mode 100644 index 0000000..1a30bfd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BasicType.gif new file mode 100644 index 0000000..d7b26a7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BooleanType.gif new file mode 100644 index 0000000..56becf8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_IntegerType.gif new file mode 100644 index 0000000..5e109ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_NaturalType.gif new file mode 100644 index 0000000..882cf4c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_QueueType.gif new file mode 100644 index 0000000..d192e7c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RangeType.gif new file mode 100644 index 0000000..5a593b6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RecordType.gif new file mode 100644 index 0000000..aa9d44a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ReferencedType.gif new file mode 100644 index 0000000..73486a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_TupleType.gif new file mode 100644 index 0000000..776368e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_Type.gif new file mode 100644 index 0000000..8e4853e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_UnionType.gif new file mode 100644 index 0000000..80895bd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateTypeDeclaration_value_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Addition.gif new file mode 100644 index 0000000..3ede289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AllExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AppendExpression.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..9531433 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..7ffd04a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..1667bbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..ab6c90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..2f9b78f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conditional.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Disjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Division.gif new file mode 100644 index 0000000..2f66732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..f3d9958 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Expression.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..cdfcd34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Implication.gif new file mode 100644 index 0000000..6910560 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..2e2932f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Modulo.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Multiplication.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Projection.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_QueueExpression.gif new file mode 100644 index 0000000..5a3ab4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..ec56659 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..a49d181 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Substraction.gif new file mode 100644 index 0000000..44d87cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..3d1deee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..f2db288 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..2de4789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..4bddb0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..bc47c3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryCoerceExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Addition.gif new file mode 100644 index 0000000..3ede289 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AllExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AppendExpression.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..9531433 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..7ffd04a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..1667bbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..ab6c90a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..2f9b78f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conditional.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Disjunction.gif new file mode 100644 index 0000000..1543d3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Division.gif new file mode 100644 index 0000000..2f66732 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..f3d9958 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..1ea8e02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Expression.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..cdfcd34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Implication.gif new file mode 100644 index 0000000..6910560 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..2e2932f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Modulo.gif new file mode 100644 index 0000000..5ae660d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Multiplication.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..8a87700 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Projection.gif new file mode 100644 index 0000000..9f3b2e7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_QueueExpression.gif new file mode 100644 index 0000000..5a3ab4a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..ec56659 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..a49d181 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Substraction.gif new file mode 100644 index 0000000..44d87cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..3d1deee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..df3eebc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fc67848 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..f2db288 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..2de4789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..902141b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..4bddb0b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..bc47c3c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..c1e8f13 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryDeQueueExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Addition.gif new file mode 100644 index 0000000..16048d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AllExpression.gif new file mode 100644 index 0000000..ced536d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AppendExpression.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..f1e2d49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..140c175 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..d44bc94 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..9130fd6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..1d6c3b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..ac035ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conditional.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conjunction.gif new file mode 100644 index 0000000..7fb29f4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..c2b071b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Disjunction.gif new file mode 100644 index 0000000..7fb29f4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Division.gif new file mode 100644 index 0000000..9c351cc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..82bf8d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Expression.gif new file mode 100644 index 0000000..e863d31 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..232276b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Implication.gif new file mode 100644 index 0000000..90bc42c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..72cfbd0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Modulo.gif new file mode 100644 index 0000000..f1e2d49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Multiplication.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..e863d31 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Projection.gif new file mode 100644 index 0000000..1b954c5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_QueueExpression.gif new file mode 100644 index 0000000..3dcea4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..5bfbb66 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordExpression.gif new file mode 100644 index 0000000..f5472ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..83969f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Substraction.gif new file mode 100644 index 0000000..223e215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..ebeaeeb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..c345ca5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..ced536d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..1c8ac08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..d01836d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..c2b071b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..d04c431 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..5c0241e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..f5472ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryEmptyExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Addition.gif new file mode 100644 index 0000000..bdfb88b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AllExpression.gif new file mode 100644 index 0000000..2084fe8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AppendExpression.gif new file mode 100644 index 0000000..545d888 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..76dcd3d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..fa6a5ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..72306dc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..eb2a33b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..545d888 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..22caf47 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..5347030 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..76dcd3d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..62d1b4e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conditional.gif new file mode 100644 index 0000000..a2c8584 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conjunction.gif new file mode 100644 index 0000000..97d3985 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..7c357e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Disjunction.gif new file mode 100644 index 0000000..97d3985 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Division.gif new file mode 100644 index 0000000..90f4828 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..6e87a23 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..76dcd3d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Expression.gif new file mode 100644 index 0000000..440a154 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..6014874 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..a2c8584 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Implication.gif new file mode 100644 index 0000000..3fa9c54 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..fd34d5f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Modulo.gif new file mode 100644 index 0000000..fa6a5ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Multiplication.gif new file mode 100644 index 0000000..545d888 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..440a154 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Projection.gif new file mode 100644 index 0000000..545d888 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_QueueExpression.gif new file mode 100644 index 0000000..247a032 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..ffbeece Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordExpression.gif new file mode 100644 index 0000000..9f1e0b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..b822374 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Substraction.gif new file mode 100644 index 0000000..54b651d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..62446fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..a2c8584 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..a2c8584 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..2084fe8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..cbd1b19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..3548c7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..7c357e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..d7743e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..c72000a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..9f1e0b8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFirstExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Addition.gif new file mode 100644 index 0000000..7aaf033 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AllExpression.gif new file mode 100644 index 0000000..43bee18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AppendExpression.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..b3aa688 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..28d7cba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..24dea84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..4e47629 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..8227f58 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..d749f03 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conditional.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conjunction.gif new file mode 100644 index 0000000..457a698 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..9f85940 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Disjunction.gif new file mode 100644 index 0000000..457a698 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Division.gif new file mode 100644 index 0000000..05a82b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..1edc5b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Expression.gif new file mode 100644 index 0000000..2d4c8b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..40c20f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Implication.gif new file mode 100644 index 0000000..1cda1f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..758dafb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Modulo.gif new file mode 100644 index 0000000..b3aa688 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Multiplication.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..2d4c8b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Projection.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_QueueExpression.gif new file mode 100644 index 0000000..d8f5233 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..fcd612e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordExpression.gif new file mode 100644 index 0000000..c707053 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..81bed35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Substraction.gif new file mode 100644 index 0000000..d39e9f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..52da918 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..43bee18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..bcaa16d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..cb3d509 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f85940 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..a1715d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..46075d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..c707053 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryFullExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Addition.gif new file mode 100644 index 0000000..971790b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AllExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AppendExpression.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..1808fc8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..9f17538 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..8ed4554 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..eb440c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..3da98f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conditional.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Disjunction.gif new file mode 100644 index 0000000..649a078 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Division.gif new file mode 100644 index 0000000..2c570bf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..cbde2ba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..1b70b14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Expression.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..0667806 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Implication.gif new file mode 100644 index 0000000..2f87e1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..0b8b453 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Modulo.gif new file mode 100644 index 0000000..288ee3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Multiplication.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..4344d57 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Projection.gif new file mode 100644 index 0000000..5756f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_QueueExpression.gif new file mode 100644 index 0000000..21acda3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..3a9b7cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..ac3a4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Substraction.gif new file mode 100644 index 0000000..5323f34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..5be50cb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..91795e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..5b8f31e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..431ba00 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..77ff676 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..ca17b1c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..3fae4b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..5477752 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..57a2f0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryLengthExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Addition.gif new file mode 100644 index 0000000..f641dcd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AllExpression.gif new file mode 100644 index 0000000..8707122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AppendExpression.gif new file mode 100644 index 0000000..f48df49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..b6c1914 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..95a7eae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..ee360b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..d70b709 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..f48df49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..60989d0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..cdf1a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..b6c1914 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..9dc793f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conditional.gif new file mode 100644 index 0000000..0a43661 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conjunction.gif new file mode 100644 index 0000000..0a4d20c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..a548cc2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Disjunction.gif new file mode 100644 index 0000000..0a4d20c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Division.gif new file mode 100644 index 0000000..3ac304b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..56fb604 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..b6c1914 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Expression.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..1386a59 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..0a43661 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Implication.gif new file mode 100644 index 0000000..11943a3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..833ad7c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Modulo.gif new file mode 100644 index 0000000..95a7eae Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Multiplication.gif new file mode 100644 index 0000000..f48df49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..68f2c19 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Projection.gif new file mode 100644 index 0000000..f48df49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_QueueExpression.gif new file mode 100644 index 0000000..dd09312 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..5e122f6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordExpression.gif new file mode 100644 index 0000000..344766a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..bdba705 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Substraction.gif new file mode 100644 index 0000000..2215c82 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..cbcbf59 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..0a43661 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..0a43661 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..8707122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..b29986e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..4c5b0e3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..a548cc2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..b1e7722 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..a1f74dd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..344766a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryMinusExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Addition.gif new file mode 100644 index 0000000..728fda5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AllExpression.gif new file mode 100644 index 0000000..8f1af02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AppendExpression.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..ae6b2e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..ce7fc4f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..978ee2b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..48f8111 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..2224a42 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..ae4714f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conditional.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conjunction.gif new file mode 100644 index 0000000..90a8446 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..efad8ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Disjunction.gif new file mode 100644 index 0000000..90a8446 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Division.gif new file mode 100644 index 0000000..2cbcfe1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..91e3ddb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..1c58915 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Expression.gif new file mode 100644 index 0000000..6219c0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..e2874af Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Implication.gif new file mode 100644 index 0000000..38cd8a0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..79bc043 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Modulo.gif new file mode 100644 index 0000000..ae6b2e6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Multiplication.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..6219c0d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Projection.gif new file mode 100644 index 0000000..fa6b936 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_QueueExpression.gif new file mode 100644 index 0000000..511800c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..160e652 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordExpression.gif new file mode 100644 index 0000000..9ad499c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..846943b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Substraction.gif new file mode 100644 index 0000000..07adaab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..5a705ee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..160cd18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..8f1af02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..6009177 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..a1aa376 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..efad8ec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..9dba3d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..e29b313 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..9ad499c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryNegationExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Addition.gif new file mode 100644 index 0000000..1de2244 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AllExpression.gif new file mode 100644 index 0000000..fff28cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AppendExpression.gif new file mode 100644 index 0000000..a3671be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayAccessExpression.gif new file mode 100644 index 0000000..911eb80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayExpression.gif new file mode 100644 index 0000000..d8d5fa9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_BooleanLiteral.gif new file mode 100644 index 0000000..e44bf16 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonEqual.gif new file mode 100644 index 0000000..c9a458c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreater.gif new file mode 100644 index 0000000..a3671be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..e6f8fad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesser.gif new file mode 100644 index 0000000..6f4abde Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesserEqual.gif new file mode 100644 index 0000000..911eb80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonNotEqual.gif new file mode 100644 index 0000000..214d0c2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conditional.gif new file mode 100644 index 0000000..23bed02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conjunction.gif new file mode 100644 index 0000000..5cfd2a8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ConstructionExpression.gif new file mode 100644 index 0000000..f7bae5f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Disjunction.gif new file mode 100644 index 0000000..5cfd2a8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Division.gif new file mode 100644 index 0000000..7bbad50 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_EnqueueExpression.gif new file mode 100644 index 0000000..8d9cbe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ExistsExpression.gif new file mode 100644 index 0000000..911eb80 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Expression.gif new file mode 100644 index 0000000..1c99c0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_FalseLiteral.gif new file mode 100644 index 0000000..df04640 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_IdentifierExpression.gif new file mode 100644 index 0000000..23bed02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Implication.gif new file mode 100644 index 0000000..e96c27f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_LiteralExpression.gif new file mode 100644 index 0000000..f02a6fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Modulo.gif new file mode 100644 index 0000000..d8d5fa9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Multiplication.gif new file mode 100644 index 0000000..a3671be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_NaturalLiteral.gif new file mode 100644 index 0000000..1c99c0a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Projection.gif new file mode 100644 index 0000000..a3671be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_QueueExpression.gif new file mode 100644 index 0000000..937120b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordAccessExpression.gif new file mode 100644 index 0000000..bfe2863 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordExpression.gif new file mode 100644 index 0000000..6f01122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ReferenceExpression.gif new file mode 100644 index 0000000..c01322f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Substraction.gif new file mode 100644 index 0000000..ea1edd7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_TrueLiteral.gif new file mode 100644 index 0000000..fa85724 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryCoerceExpression.gif new file mode 100644 index 0000000..23bed02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..23bed02 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryEmptyExpression.gif new file mode 100644 index 0000000..fff28cf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFirstExpression.gif new file mode 100644 index 0000000..1cff796 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFullExpression.gif new file mode 100644 index 0000000..fcfec34 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryLengthExpression.gif new file mode 100644 index 0000000..f7bae5f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryMinusExpression.gif new file mode 100644 index 0000000..07d4cba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryNegationExpression.gif new file mode 100644 index 0000000..054a42f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryPlusExpression.gif new file mode 100644 index 0000000..6f01122 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnaryPlusExpression_child_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_tags_UnionTagDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_tags_UnionTagDeclaration.gif new file mode 100644 index 0000000..25e4762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_tags_UnionTagDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ArrayType.gif new file mode 100644 index 0000000..232276b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BasicType.gif new file mode 100644 index 0000000..1d6c3b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BooleanType.gif new file mode 100644 index 0000000..d44bc94 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_IntegerType.gif new file mode 100644 index 0000000..d01836d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_NaturalType.gif new file mode 100644 index 0000000..90bc42c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_QueueType.gif new file mode 100644 index 0000000..5c0241e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RangeType.gif new file mode 100644 index 0000000..d799c18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RecordType.gif new file mode 100644 index 0000000..9bb3e39 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ReferencedType.gif new file mode 100644 index 0000000..f1e2d49 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_TupleType.gif new file mode 100644 index 0000000..25e4762 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_Type.gif new file mode 100644 index 0000000..b1d6682 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_UnionType.gif new file mode 100644 index 0000000..b2b20e5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionTags_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionType_tags_UnionTags.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionType_tags_UnionTags.gif new file mode 100644 index 0000000..c2235ab Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnionType_tags_UnionTags.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AnyPattern.gif new file mode 100644 index 0000000..621468e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ArrayAccessPattern.gif new file mode 100644 index 0000000..8f7d7ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignAnyStatement.gif new file mode 100644 index 0000000..535fd38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignStatement.gif new file mode 100644 index 0000000..5694faf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_BlockStatement.gif new file mode 100644 index 0000000..960fd9d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_CaseStatement.gif new file mode 100644 index 0000000..a488171 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConditionalStatement.gif new file mode 100644 index 0000000..f3fb35e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstantPattern.gif new file mode 100644 index 0000000..a488171 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstructorPattern.gif new file mode 100644 index 0000000..8e8c960 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ForeachStatement.gif new file mode 100644 index 0000000..ad594ff Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IdentifierPattern.gif new file mode 100644 index 0000000..a3f6215 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IntegerPattern.gif new file mode 100644 index 0000000..fb31e4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_LoopStatement.gif new file mode 100644 index 0000000..fb31e4b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_NullStatement.gif new file mode 100644 index 0000000..a259b8f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_OnStatement.gif new file mode 100644 index 0000000..2f9f86f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Pattern.gif new file mode 100644 index 0000000..66b7185 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_PatternStatement.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReceiveStatement.gif new file mode 100644 index 0000000..f3fb35e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_RecordAccessPattern.gif new file mode 100644 index 0000000..f3fb35e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReturnStatement.gif new file mode 100644 index 0000000..86fde1e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SelectStatement.gif new file mode 100644 index 0000000..f0b400c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SendStatement.gif new file mode 100644 index 0000000..3bed4f3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Statement.gif new file mode 100644 index 0000000..2c9fb7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementChoice.gif new file mode 100644 index 0000000..d2df954 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementSequence.gif new file mode 100644 index 0000000..19ae144 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_TaggedStatement.gif new file mode 100644 index 0000000..a7c98ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ToStatement.gif new file mode 100644 index 0000000..9f92d6f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_UnlessStatement.gif new file mode 100644 index 0000000..e01fab4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WaitStatement.gif new file mode 100644 index 0000000..e007789 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WhileStatement.gif new file mode 100644 index 0000000..7a6da4c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateUnlessStatement_followers_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Addition.gif new file mode 100644 index 0000000..7aaf033 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AllExpression.gif new file mode 100644 index 0000000..43bee18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AppendExpression.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayAccessExpression.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayExpression.gif new file mode 100644 index 0000000..b3aa688 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_BooleanLiteral.gif new file mode 100644 index 0000000..28d7cba Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonEqual.gif new file mode 100644 index 0000000..24dea84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreater.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..4e47629 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesser.gif new file mode 100644 index 0000000..8227f58 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesserEqual.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonNotEqual.gif new file mode 100644 index 0000000..d749f03 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conditional.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conjunction.gif new file mode 100644 index 0000000..457a698 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ConstructionExpression.gif new file mode 100644 index 0000000..9f85940 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Disjunction.gif new file mode 100644 index 0000000..457a698 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Division.gif new file mode 100644 index 0000000..05a82b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_EnqueueExpression.gif new file mode 100644 index 0000000..1edc5b9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ExistsExpression.gif new file mode 100644 index 0000000..3d8effb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Expression.gif new file mode 100644 index 0000000..2d4c8b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_FalseLiteral.gif new file mode 100644 index 0000000..40c20f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_IdentifierExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Implication.gif new file mode 100644 index 0000000..1cda1f2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_LiteralExpression.gif new file mode 100644 index 0000000..758dafb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Modulo.gif new file mode 100644 index 0000000..b3aa688 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Multiplication.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_NaturalLiteral.gif new file mode 100644 index 0000000..2d4c8b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Projection.gif new file mode 100644 index 0000000..bc633fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_QueueExpression.gif new file mode 100644 index 0000000..d8f5233 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordAccessExpression.gif new file mode 100644 index 0000000..fcd612e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordExpression.gif new file mode 100644 index 0000000..c707053 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ReferenceExpression.gif new file mode 100644 index 0000000..81bed35 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Substraction.gif new file mode 100644 index 0000000..d39e9f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_TrueLiteral.gif new file mode 100644 index 0000000..52da918 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryCoerceExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..83824fb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryEmptyExpression.gif new file mode 100644 index 0000000..43bee18 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFirstExpression.gif new file mode 100644 index 0000000..bcaa16d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFullExpression.gif new file mode 100644 index 0000000..cb3d509 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryLengthExpression.gif new file mode 100644 index 0000000..9f85940 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryMinusExpression.gif new file mode 100644 index 0000000..a1715d9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryNegationExpression.gif new file mode 100644 index 0000000..46075d8 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryPlusExpression.gif new file mode 100644 index 0000000..c707053 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateValueSubject_value_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ArrayType.gif new file mode 100644 index 0000000..62a1226 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BasicType.gif new file mode 100644 index 0000000..4583981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BooleanType.gif new file mode 100644 index 0000000..59c4ada Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_IntegerType.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_NaturalType.gif new file mode 100644 index 0000000..a0468c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_QueueType.gif new file mode 100644 index 0000000..4df8fc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RangeType.gif new file mode 100644 index 0000000..79edc2c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RecordType.gif new file mode 100644 index 0000000..ddb5cda Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ReferencedType.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_TupleType.gif new file mode 100644 index 0000000..02a8aee Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_Type.gif new file mode 100644 index 0000000..b6cc9ca Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_UnionType.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_type_UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Addition.gif new file mode 100644 index 0000000..6bdda3a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AllExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AppendExpression.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayAccessExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayExpression.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_BooleanLiteral.gif new file mode 100644 index 0000000..cb602a6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonEqual.gif new file mode 100644 index 0000000..59c4ada Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreater.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..a0a1713 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesser.gif new file mode 100644 index 0000000..4583981 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesserEqual.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonNotEqual.gif new file mode 100644 index 0000000..380ff1d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conditional.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ConstructionExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Disjunction.gif new file mode 100644 index 0000000..34d8303 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Division.gif new file mode 100644 index 0000000..4d9d692 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_EnqueueExpression.gif new file mode 100644 index 0000000..e84cfde Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ExistsExpression.gif new file mode 100644 index 0000000..8d6b7f5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Expression.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_FalseLiteral.gif new file mode 100644 index 0000000..62a1226 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_IdentifierExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Implication.gif new file mode 100644 index 0000000..a0468c1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_LiteralExpression.gif new file mode 100644 index 0000000..08d7d52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Modulo.gif new file mode 100644 index 0000000..3ba1d10 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Multiplication.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_NaturalLiteral.gif new file mode 100644 index 0000000..eeca32a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Projection.gif new file mode 100644 index 0000000..baaa3be Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_QueueExpression.gif new file mode 100644 index 0000000..4c59dd4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordAccessExpression.gif new file mode 100644 index 0000000..454398f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ReferenceExpression.gif new file mode 100644 index 0000000..ca79607 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Substraction.gif new file mode 100644 index 0000000..741b7da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_TrueLiteral.gif new file mode 100644 index 0000000..4375ccf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryCoerceExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..b643447 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryEmptyExpression.gif new file mode 100644 index 0000000..d7884ad Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFirstExpression.gif new file mode 100644 index 0000000..5d7a6e0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFullExpression.gif new file mode 100644 index 0000000..0f352d7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryLengthExpression.gif new file mode 100644 index 0000000..5d35ecb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryMinusExpression.gif new file mode 100644 index 0000000..66eed05 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryNegationExpression.gif new file mode 100644 index 0000000..4df8fc5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryPlusExpression.gif new file mode 100644 index 0000000..2255e98 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_value_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_variables_VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_variables_VariableDeclaration.gif new file mode 100644 index 0000000..741b7da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateVariablesDeclaration_variables_VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_DecimalLowerBound.gif new file mode 100644 index 0000000..4ac9c84 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_LowerBound.gif new file mode 100644 index 0000000..e9bdf38 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_NaturalLowerBound.gif new file mode 100644 index 0000000..0c30291 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_VariableLowerBound.gif new file mode 100644 index 0000000..c0dddc3 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_left_VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_DecimalUpperBound.gif new file mode 100644 index 0000000..40a3b01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_InfiniteUpperBound.gif new file mode 100644 index 0000000..011b758 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_NaturalUpperBound.gif new file mode 100644 index 0000000..7b5823c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_UpperBound.gif new file mode 100644 index 0000000..4e5ea6a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_VariableUpperBound.gif new file mode 100644 index 0000000..59d3029 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWaitStatement_right_VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AnyPattern.gif new file mode 100644 index 0000000..61e5d4d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ArrayAccessPattern.gif new file mode 100644 index 0000000..4f26f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignAnyStatement.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignStatement.gif new file mode 100644 index 0000000..968035a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_BlockStatement.gif new file mode 100644 index 0000000..a3d7b11 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_CaseStatement.gif new file mode 100644 index 0000000..7fd40f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConditionalStatement.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstantPattern.gif new file mode 100644 index 0000000..7fd40f1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstructorPattern.gif new file mode 100644 index 0000000..55d7be5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ForeachStatement.gif new file mode 100644 index 0000000..9167798 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IdentifierPattern.gif new file mode 100644 index 0000000..66a52f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IntegerPattern.gif new file mode 100644 index 0000000..cadd872 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_LoopStatement.gif new file mode 100644 index 0000000..cadd872 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_NullStatement.gif new file mode 100644 index 0000000..efc256e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_OnStatement.gif new file mode 100644 index 0000000..e9813e1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Pattern.gif new file mode 100644 index 0000000..de48ec6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_PatternStatement.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReceiveStatement.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_RecordAccessPattern.gif new file mode 100644 index 0000000..27a63b5 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReturnStatement.gif new file mode 100644 index 0000000..7ea4283 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SelectStatement.gif new file mode 100644 index 0000000..278cd8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SendStatement.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Statement.gif new file mode 100644 index 0000000..e6a5692 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementChoice.gif new file mode 100644 index 0000000..b55cd92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementSequence.gif new file mode 100644 index 0000000..a258504 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_TaggedStatement.gif new file mode 100644 index 0000000..12de541 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ToStatement.gif new file mode 100644 index 0000000..2b447c2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_UnlessStatement.gif new file mode 100644 index 0000000..2e9fe7e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WaitStatement.gif new file mode 100644 index 0000000..e12e1fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WhileStatement.gif new file mode 100644 index 0000000..f809a28 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_body_WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Addition.gif new file mode 100644 index 0000000..981b787 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AllExpression.gif new file mode 100644 index 0000000..de48ec6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AppendExpression.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayAccessExpression.gif new file mode 100644 index 0000000..11f3aea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayExpression.gif new file mode 100644 index 0000000..2e9fe7e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_BooleanLiteral.gif new file mode 100644 index 0000000..66a52f7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonEqual.gif new file mode 100644 index 0000000..9fe5500 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreater.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreaterEqual.gif new file mode 100644 index 0000000..278cd8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesser.gif new file mode 100644 index 0000000..1d3b859 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesserEqual.gif new file mode 100644 index 0000000..11f3aea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonNotEqual.gif new file mode 100644 index 0000000..8848b01 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conditional.gif new file mode 100644 index 0000000..96cdc6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conjunction.gif new file mode 100644 index 0000000..561bc08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ConstructionExpression.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Disjunction.gif new file mode 100644 index 0000000..561bc08 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Division.gif new file mode 100644 index 0000000..d990d5e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_EnqueueExpression.gif new file mode 100644 index 0000000..c6407cd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ExistsExpression.gif new file mode 100644 index 0000000..11f3aea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Expression.gif new file mode 100644 index 0000000..12de541 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_FalseLiteral.gif new file mode 100644 index 0000000..49e7eb9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_IdentifierExpression.gif new file mode 100644 index 0000000..96cdc6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Implication.gif new file mode 100644 index 0000000..8e6a767 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_LiteralExpression.gif new file mode 100644 index 0000000..cbc9f8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Modulo.gif new file mode 100644 index 0000000..2e9fe7e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Multiplication.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_NaturalLiteral.gif new file mode 100644 index 0000000..12de541 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Projection.gif new file mode 100644 index 0000000..2230e45 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_QueueExpression.gif new file mode 100644 index 0000000..7ea4283 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordAccessExpression.gif new file mode 100644 index 0000000..619a36c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordExpression.gif new file mode 100644 index 0000000..40ef08b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ReferenceExpression.gif new file mode 100644 index 0000000..a18b783 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Substraction.gif new file mode 100644 index 0000000..4f26f1b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_TrueLiteral.gif new file mode 100644 index 0000000..6555fbe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryCoerceExpression.gif new file mode 100644 index 0000000..96cdc6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryDeQueueExpression.gif new file mode 100644 index 0000000..96cdc6d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryEmptyExpression.gif new file mode 100644 index 0000000..de48ec6 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFirstExpression.gif new file mode 100644 index 0000000..78daa8e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFullExpression.gif new file mode 100644 index 0000000..3cdecb1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryLengthExpression.gif new file mode 100644 index 0000000..1b76a8a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryMinusExpression.gif new file mode 100644 index 0000000..b55cd92 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryNegationExpression.gif new file mode 100644 index 0000000..766d696 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryPlusExpression.gif new file mode 100644 index 0000000..40ef08b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/ctool16/CreateWhileStatement_condition_UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AbsencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AbsencePattern.gif new file mode 100644 index 0000000..90d10f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AbsencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Addition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Addition.gif new file mode 100644 index 0000000..c673a52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Addition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllExpression.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllProperty.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AllProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AlwaysPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AlwaysPattern.gif new file mode 100644 index 0000000..2124f3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AlwaysPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AnyPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AnyPattern.gif new file mode 100644 index 0000000..7c2aaac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AnyPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AppendExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AppendExpression.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AppendExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessExpression.gif new file mode 100644 index 0000000..ed87474 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessPattern.gif new file mode 100644 index 0000000..48e3cf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayExpression.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayType.gif new file mode 100644 index 0000000..a3908bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ArrayType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignAnyStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignAnyStatement.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignAnyStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignStatement.gif new file mode 100644 index 0000000..10d2229 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/AssignStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BasicType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BasicType.gif new file mode 100644 index 0000000..f8041d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BasicType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Block.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Block.gif new file mode 100644 index 0000000..89ad5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Block.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BlockStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BlockStatement.gif new file mode 100644 index 0000000..98b351f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BlockStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanLiteral.gif new file mode 100644 index 0000000..05dc74a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanType.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BooleanType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BoundDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BoundDeclarationUse.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/BoundDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CaseStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CaseStatement.gif new file mode 100644 index 0000000..30f0c48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CaseStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelDeclaration.gif new file mode 100644 index 0000000..1e5345f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelType.gif new file mode 100644 index 0000000..a3908bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ChannelType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonEqual.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreater.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreater.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreater.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreaterEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreaterEqual.gif new file mode 100644 index 0000000..35ef84e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonGreaterEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesser.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesser.gif new file mode 100644 index 0000000..f8041d2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesser.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesserEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesserEqual.gif new file mode 100644 index 0000000..ed87474 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonLesserEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonNotEqual.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonNotEqual.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComparisonNotEqual.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentDeclaration.gif new file mode 100644 index 0000000..be22463 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentInstance.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentInstance.gif new file mode 100644 index 0000000..b3643da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ComponentInstance.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CompositeBlock.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CompositeBlock.gif new file mode 100644 index 0000000..2b69256 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/CompositeBlock.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Composition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Composition.gif new file mode 100644 index 0000000..1e5345f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Composition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conditional.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conditional.gif new file mode 100644 index 0000000..c414fe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conditional.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConditionalStatement.gif new file mode 100644 index 0000000..b1f8afa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conjunction.gif new file mode 100644 index 0000000..33854e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Conjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclaration.gif new file mode 100644 index 0000000..ef56c14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclarationUse.gif new file mode 100644 index 0000000..35ef84e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantPattern.gif new file mode 100644 index 0000000..30f0c48 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstantPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructionExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructionExpression.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructionExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructorPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructorPattern.gif new file mode 100644 index 0000000..106881e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ConstructorPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DeadlockFreePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DeadlockFreePattern.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DeadlockFreePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalLowerBound.gif new file mode 100644 index 0000000..db7414e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalUpperBound.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/DecimalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Declaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Declaration.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Declaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Disjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Disjunction.gif new file mode 100644 index 0000000..33854e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Disjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Division.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Division.gif new file mode 100644 index 0000000..33a997a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Division.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnqueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnqueueExpression.gif new file mode 100644 index 0000000..cdd3b76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnqueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnterStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnterStateEvent.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EnterStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EventSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EventSubject.gif new file mode 100644 index 0000000..53500da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/EventSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsExpression.gif new file mode 100644 index 0000000..ed87474 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsProperty.gif new file mode 100644 index 0000000..94c953e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExistsProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Expression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Expression.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Expression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExpressionDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExpressionDeclarationUse.gif new file mode 100644 index 0000000..c3370c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExpressionDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExtendedConditionalStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExtendedConditionalStatement.gif new file mode 100644 index 0000000..05dc74a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ExtendedConditionalStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FalseLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FalseLiteral.gif new file mode 100644 index 0000000..a3908bc Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FalseLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FieldExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FieldExpression.gif new file mode 100644 index 0000000..7c2aaac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FieldExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ForeachStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ForeachStatement.gif new file mode 100644 index 0000000..338fb8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ForeachStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FunctionDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FunctionDeclaration.gif new file mode 100644 index 0000000..2b69256 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/FunctionDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierExpression.gif new file mode 100644 index 0000000..c414fe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierPattern.gif new file mode 100644 index 0000000..05dc74a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IdentifierPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Implication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Implication.gif new file mode 100644 index 0000000..9250fec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Implication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ImportDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ImportDeclaration.gif new file mode 100644 index 0000000..05dc74a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ImportDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfiniteUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfiniteUpperBound.gif new file mode 100644 index 0000000..4365960 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfiniteUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfinitelyOftenPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfinitelyOftenPattern.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InfinitelyOftenPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InstanceDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InstanceDeclaration.gif new file mode 100644 index 0000000..05dc74a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/InstanceDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerPattern.gif new file mode 100644 index 0000000..2124f3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerType.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/IntegerType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLAll.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLAll.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLAll.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLConjunction.gif new file mode 100644 index 0000000..338fb8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLDisjunction.gif new file mode 100644 index 0000000..338fb8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLExists.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLExists.gif new file mode 100644 index 0000000..7c2aaac Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLExists.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLImplication.gif new file mode 100644 index 0000000..ef56c14 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLPattern.gif new file mode 100644 index 0000000..35ef84e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLProperty.gif new file mode 100644 index 0000000..5915591 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLRelease.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLRelease.gif new file mode 100644 index 0000000..498364f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLRelease.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryAlways.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryAlways.gif new file mode 100644 index 0000000..caf2804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryAlways.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryEventually.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryEventually.gif new file mode 100644 index 0000000..33a997a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryEventually.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNegation.gif new file mode 100644 index 0000000..338fb8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNext.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNext.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUnaryNext.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUntil.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUntil.gif new file mode 100644 index 0000000..98b351f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLUntil.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLVariable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLVariable.gif new file mode 100644 index 0000000..8a5c70c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LTLVariable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeadsToPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeadsToPattern.gif new file mode 100644 index 0000000..c8d381f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeadsToPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeaveStateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeaveStateEvent.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LeaveStateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LiteralExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LiteralExpression.gif new file mode 100644 index 0000000..caf2804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LiteralExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LocalPortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LocalPortsDeclaration.gif new file mode 100644 index 0000000..33854e9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LocalPortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LoopStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LoopStatement.gif new file mode 100644 index 0000000..2124f3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LoopStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LowerBound.gif new file mode 100644 index 0000000..5a9bc75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/LowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Model.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Model.gif new file mode 100644 index 0000000..33a997a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Model.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Modulo.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Modulo.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Modulo.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/MortalPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/MortalPattern.gif new file mode 100644 index 0000000..89ad5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/MortalPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Multiplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Multiplication.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Multiplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedElement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedElement.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedElement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedItem.gif new file mode 100644 index 0000000..420eee1 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NamedItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalItem.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLiteral.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLowerBound.gif new file mode 100644 index 0000000..e4b530e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalType.gif new file mode 100644 index 0000000..9250fec Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalUpperBound.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NaturalUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NullStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NullStatement.gif new file mode 100644 index 0000000..badaab0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/NullStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Observable.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Observable.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Observable.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableConjunction.gif new file mode 100644 index 0000000..c8d381f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableDisjunction.gif new file mode 100644 index 0000000..c8d381f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableEvent.gif new file mode 100644 index 0000000..89ad5da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableImplication.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableNegation.gif new file mode 100644 index 0000000..4365960 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ObservableNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/OnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/OnStatement.gif new file mode 100644 index 0000000..4365960 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/OnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterDeclaration.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterizedDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterizedDeclaration.gif new file mode 100644 index 0000000..c673a52 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParameterizedDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParametersDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParametersDeclaration.gif new file mode 100644 index 0000000..5a9bc75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ParametersDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Path.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Path.gif new file mode 100644 index 0000000..caf2804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Path.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathDeclarationUse.gif new file mode 100644 index 0000000..2124f3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathEvent.gif new file mode 100644 index 0000000..739ebbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathItem.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathItem.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PathItem.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Pattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Pattern.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Pattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternDeclarationUse.gif new file mode 100644 index 0000000..caf2804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternProperty.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternProperty.gif new file mode 100644 index 0000000..caf2804 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternProperty.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternStatement.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PatternStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortDeclaration.gif new file mode 100644 index 0000000..be22463 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortSet.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortSet.gif new file mode 100644 index 0000000..db7414e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortSet.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortsDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortsDeclaration.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PortsDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PrecedesPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PrecedesPattern.gif new file mode 100644 index 0000000..2124f3e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PrecedesPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PresencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PresencePattern.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PresencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityDeclaration.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityGroup.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityGroup.gif new file mode 100644 index 0000000..90d10f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PriorityGroup.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ProcessDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ProcessDeclaration.gif new file mode 100644 index 0000000..b3643da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ProcessDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Projection.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Projection.gif new file mode 100644 index 0000000..83afb9b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Projection.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Property.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Property.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Property.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyConjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyConjunction.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyConjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclaration.gif new file mode 100644 index 0000000..10d2229 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclarationUse.gif new file mode 100644 index 0000000..106881e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDisjunction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDisjunction.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyDisjunction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyImplication.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyImplication.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyImplication.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyNegation.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyNegation.gif new file mode 100644 index 0000000..8a5c70c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/PropertyNegation.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueExpression.gif new file mode 100644 index 0000000..498364f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueType.gif new file mode 100644 index 0000000..a26660e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/QueueType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RangeType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RangeType.gif new file mode 100644 index 0000000..739ebbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RangeType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReceiveStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReceiveStatement.gif new file mode 100644 index 0000000..b1f8afa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReceiveStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessExpression.gif new file mode 100644 index 0000000..45731fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessPattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessPattern.gif new file mode 100644 index 0000000..b1f8afa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordAccessPattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordExpression.gif new file mode 100644 index 0000000..d92f34c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclaration.gif new file mode 100644 index 0000000..e4b530e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclarationUse.gif new file mode 100644 index 0000000..afb82ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFieldDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFields.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFields.gif new file mode 100644 index 0000000..badaab0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordFields.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordType.gif new file mode 100644 index 0000000..5a9bc75 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RecordType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceDeclarationUse.gif new file mode 100644 index 0000000..98b351f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceExpression.gif new file mode 100644 index 0000000..c00aedf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferenceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferencedType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferencedType.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReferencedType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Requirement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Requirement.gif new file mode 100644 index 0000000..94c953e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Requirement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReturnStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReturnStatement.gif new file mode 100644 index 0000000..498364f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ReturnStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Root.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Root.gif new file mode 100644 index 0000000..cb1755a Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Root.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RootDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RootDeclaration.gif new file mode 100644 index 0000000..badaab0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/RootDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SelectStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SelectStatement.gif new file mode 100644 index 0000000..35ef84e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SelectStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SendStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SendStatement.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SendStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SequencePattern.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SequencePattern.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/SequencePattern.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateDeclaration.gif new file mode 100644 index 0000000..badaab0 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateEvent.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateEvent.gif new file mode 100644 index 0000000..cdd3b76 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateEvent.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateSubject.gif new file mode 100644 index 0000000..c414fe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StateSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Statement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Statement.gif new file mode 100644 index 0000000..134551b Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Statement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementChoice.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementChoice.gif new file mode 100644 index 0000000..8a5c70c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementChoice.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementSequence.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementSequence.gif new file mode 100644 index 0000000..afb82ea Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/StatementSequence.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Subject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Subject.gif new file mode 100644 index 0000000..d92f34c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Subject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Substraction.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Substraction.gif new file mode 100644 index 0000000..48e3cf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Substraction.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TagSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TagSubject.gif new file mode 100644 index 0000000..739ebbf Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TagSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TaggedStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TaggedStatement.gif new file mode 100644 index 0000000..e4bc22d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TaggedStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ToStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ToStatement.gif new file mode 100644 index 0000000..90d10f9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ToStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Transition.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Transition.gif new file mode 100644 index 0000000..7bac4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Transition.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TransitionSource.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TransitionSource.gif new file mode 100644 index 0000000..5915591 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TransitionSource.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TrueLiteral.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TrueLiteral.gif new file mode 100644 index 0000000..e4b530e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TrueLiteral.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TupleType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TupleType.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TupleType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Type.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Type.gif new file mode 100644 index 0000000..b1f8afa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/Type.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclaration.gif new file mode 100644 index 0000000..1e5345f Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclarationUse.gif new file mode 100644 index 0000000..e4b530e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/TypeDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryCoerceExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryCoerceExpression.gif new file mode 100644 index 0000000..c414fe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryCoerceExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryDeQueueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryDeQueueExpression.gif new file mode 100644 index 0000000..c414fe9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryDeQueueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryEmptyExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryEmptyExpression.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryEmptyExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFirstExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFirstExpression.gif new file mode 100644 index 0000000..7bac4fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFirstExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFullExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFullExpression.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryFullExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryLengthExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryLengthExpression.gif new file mode 100644 index 0000000..ea58a65 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryLengthExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryMinusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryMinusExpression.gif new file mode 100644 index 0000000..8a5c70c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryMinusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryNegationExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryNegationExpression.gif new file mode 100644 index 0000000..a26660e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryNegationExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryPlusExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryPlusExpression.gif new file mode 100644 index 0000000..d92f34c Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnaryPlusExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclaration.gif new file mode 100644 index 0000000..c4a8af4 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclarationUse.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclarationUse.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTagDeclarationUse.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTags.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTags.gif new file mode 100644 index 0000000..14af8aa Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionTags.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionType.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionType.gif new file mode 100644 index 0000000..ed87474 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnionType.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnlessStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnlessStatement.gif new file mode 100644 index 0000000..d3dc5a9 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UnlessStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UpperBound.gif new file mode 100644 index 0000000..a26660e Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/UpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueExpression.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueExpression.gif new file mode 100644 index 0000000..136e3b2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueExpression.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueSubject.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueSubject.gif new file mode 100644 index 0000000..9041598 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/ValueSubject.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableDeclaration.gif new file mode 100644 index 0000000..48e3cf2 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableLowerBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableLowerBound.gif new file mode 100644 index 0000000..338fb8d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableLowerBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableUpperBound.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableUpperBound.gif new file mode 100644 index 0000000..a17dc7d Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariableUpperBound.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariablesDeclaration.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariablesDeclaration.gif new file mode 100644 index 0000000..b3643da Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/VariablesDeclaration.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WaitStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WaitStatement.gif new file mode 100644 index 0000000..c3370c7 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WaitStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WhileStatement.gif b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WhileStatement.gif new file mode 100644 index 0000000..be22463 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.edit/icons/full/obj16/WhileStatement.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.properties b/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.properties new file mode 100644 index 0000000..d3b23f4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.properties @@ -0,0 +1,521 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# generated by Xtext 2.10.0 + +pluginName = Fiacre Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_Model_type = Model +_UI_RootDeclaration_type = Root Declaration +_UI_Root_type = Root +_UI_NamedElement_type = Named Element +_UI_TypeDeclarationUse_type = Type Declaration Use +_UI_ConstantDeclarationUse_type = Constant Declaration Use +_UI_ExpressionDeclarationUse_type = Expression Declaration Use +_UI_ReferenceDeclarationUse_type = Reference Declaration Use +_UI_UnionTagDeclarationUse_type = Union Tag Declaration Use +_UI_RecordFieldDeclarationUse_type = Record Field Declaration Use +_UI_PatternDeclarationUse_type = Pattern Declaration Use +_UI_BoundDeclarationUse_type = Bound Declaration Use +_UI_PathDeclarationUse_type = Path Declaration Use +_UI_PropertyDeclarationUse_type = Property Declaration Use +_UI_ImportDeclaration_type = Import Declaration +_UI_Declaration_type = Declaration +_UI_ParameterizedDeclaration_type = Parameterized Declaration +_UI_FunctionDeclaration_type = Function Declaration +_UI_TypeDeclaration_type = Type Declaration +_UI_ChannelDeclaration_type = Channel Declaration +_UI_ChannelType_type = Channel Type +_UI_Type_type = Type +_UI_BasicType_type = Basic Type +_UI_RangeType_type = Range Type +_UI_UnionType_type = Union Type +_UI_UnionTags_type = Union Tags +_UI_UnionTagDeclaration_type = Union Tag Declaration +_UI_RecordType_type = Record Type +_UI_RecordFields_type = Record Fields +_UI_RecordFieldDeclaration_type = Record Field Declaration +_UI_QueueType_type = Queue Type +_UI_ArrayType_type = Array Type +_UI_ReferencedType_type = Referenced Type +_UI_ConstantDeclaration_type = Constant Declaration +_UI_ProcessDeclaration_type = Process Declaration +_UI_StateDeclaration_type = State Declaration +_UI_TransitionSource_type = Transition Source +_UI_Transition_type = Transition +_UI_ComponentDeclaration_type = Component Declaration +_UI_PortsDeclaration_type = Ports Declaration +_UI_PortDeclaration_type = Port Declaration +_UI_LocalPortsDeclaration_type = Local Ports Declaration +_UI_ParametersDeclaration_type = Parameters Declaration +_UI_ParameterDeclaration_type = Parameter Declaration +_UI_VariablesDeclaration_type = Variables Declaration +_UI_VariableDeclaration_type = Variable Declaration +_UI_PriorityDeclaration_type = Priority Declaration +_UI_PriorityGroup_type = Priority Group +_UI_Statement_type = Statement +_UI_BlockStatement_type = Block Statement +_UI_ReturnStatement_type = Return Statement +_UI_NullStatement_type = Null Statement +_UI_TaggedStatement_type = Tagged Statement +_UI_PatternStatement_type = Pattern Statement +_UI_Pattern_type = Pattern +_UI_AnyPattern_type = Any Pattern +_UI_ConstantPattern_type = Constant Pattern +_UI_IntegerPattern_type = Integer Pattern +_UI_IdentifierPattern_type = Identifier Pattern +_UI_ConditionalStatement_type = Conditional Statement +_UI_ExtendedConditionalStatement_type = Extended Conditional Statement +_UI_SelectStatement_type = Select Statement +_UI_WhileStatement_type = While Statement +_UI_ForeachStatement_type = Foreach Statement +_UI_ToStatement_type = To Statement +_UI_CaseStatement_type = Case Statement +_UI_LoopStatement_type = Loop Statement +_UI_OnStatement_type = On Statement +_UI_WaitStatement_type = Wait Statement +_UI_Composition_type = Composition +_UI_Block_type = Block +_UI_CompositeBlock_type = Composite Block +_UI_InstanceDeclaration_type = Instance Declaration +_UI_PortSet_type = Port Set +_UI_ComponentInstance_type = Component Instance +_UI_Expression_type = Expression +_UI_ValueExpression_type = Value Expression +_UI_ReferenceExpression_type = Reference Expression +_UI_IdentifierExpression_type = Identifier Expression +_UI_RecordExpression_type = Record Expression +_UI_FieldExpression_type = Field Expression +_UI_ArrayExpression_type = Array Expression +_UI_QueueExpression_type = Queue Expression +_UI_EnqueueExpression_type = Enqueue Expression +_UI_AppendExpression_type = Append Expression +_UI_LiteralExpression_type = Literal Expression +_UI_BooleanLiteral_type = Boolean Literal +_UI_NaturalLiteral_type = Natural Literal +_UI_LowerBound_type = Lower Bound +_UI_UpperBound_type = Upper Bound +_UI_NaturalLowerBound_type = Natural Lower Bound +_UI_NaturalUpperBound_type = Natural Upper Bound +_UI_DecimalLowerBound_type = Decimal Lower Bound +_UI_DecimalUpperBound_type = Decimal Upper Bound +_UI_VariableLowerBound_type = Variable Lower Bound +_UI_VariableUpperBound_type = Variable Upper Bound +_UI_InfiniteUpperBound_type = Infinite Upper Bound +_UI_Requirement_type = Requirement +_UI_PropertyDeclaration_type = Property Declaration +_UI_Property_type = Property +_UI_PatternProperty_type = Pattern Property +_UI_LTLPattern_type = LTL Pattern +_UI_DeadlockFreePattern_type = Deadlock Free Pattern +_UI_InfinitelyOftenPattern_type = Infinitely Often Pattern +_UI_MortalPattern_type = Mortal Pattern +_UI_PresencePattern_type = Presence Pattern +_UI_AbsencePattern_type = Absence Pattern +_UI_AlwaysPattern_type = Always Pattern +_UI_SequencePattern_type = Sequence Pattern +_UI_LTLProperty_type = LTL Property +_UI_StateEvent_type = State Event +_UI_EnterStateEvent_type = Enter State Event +_UI_LeaveStateEvent_type = Leave State Event +_UI_Observable_type = Observable +_UI_ObservableEvent_type = Observable Event +_UI_PathEvent_type = Path Event +_UI_Path_type = Path +_UI_PathItem_type = Path Item +_UI_NaturalItem_type = Natural Item +_UI_NamedItem_type = Named Item +_UI_Subject_type = Subject +_UI_StateSubject_type = State Subject +_UI_ValueSubject_type = Value Subject +_UI_TagSubject_type = Tag Subject +_UI_EventSubject_type = Event Subject +_UI_TupleType_type = Tuple Type +_UI_NaturalType_type = Natural Type +_UI_IntegerType_type = Integer Type +_UI_BooleanType_type = Boolean Type +_UI_UnlessStatement_type = Unless Statement +_UI_StatementChoice_type = Statement Choice +_UI_StatementSequence_type = Statement Sequence +_UI_AssignStatement_type = Assign Statement +_UI_AssignAnyStatement_type = Assign Any Statement +_UI_SendStatement_type = Send Statement +_UI_ReceiveStatement_type = Receive Statement +_UI_ConstructorPattern_type = Constructor Pattern +_UI_ArrayAccessPattern_type = Array Access Pattern +_UI_RecordAccessPattern_type = Record Access Pattern +_UI_AllExpression_type = All Expression +_UI_ExistsExpression_type = Exists Expression +_UI_Conditional_type = Conditional +_UI_Disjunction_type = Disjunction +_UI_Implication_type = Implication +_UI_Conjunction_type = Conjunction +_UI_ComparisonEqual_type = Comparison Equal +_UI_ComparisonNotEqual_type = Comparison Not Equal +_UI_ComparisonLesser_type = Comparison Lesser +_UI_ComparisonLesserEqual_type = Comparison Lesser Equal +_UI_ComparisonGreater_type = Comparison Greater +_UI_ComparisonGreaterEqual_type = Comparison Greater Equal +_UI_Addition_type = Addition +_UI_Substraction_type = Substraction +_UI_Multiplication_type = Multiplication +_UI_Division_type = Division +_UI_Modulo_type = Modulo +_UI_UnaryPlusExpression_type = Unary Plus Expression +_UI_UnaryMinusExpression_type = Unary Minus Expression +_UI_UnaryNegationExpression_type = Unary Negation Expression +_UI_UnaryFirstExpression_type = Unary First Expression +_UI_UnaryLengthExpression_type = Unary Length Expression +_UI_UnaryCoerceExpression_type = Unary Coerce Expression +_UI_UnaryFullExpression_type = Unary Full Expression +_UI_UnaryDeQueueExpression_type = Unary De Queue Expression +_UI_UnaryEmptyExpression_type = Unary Empty Expression +_UI_Projection_type = Projection +_UI_ConstructionExpression_type = Construction Expression +_UI_ArrayAccessExpression_type = Array Access Expression +_UI_RecordAccessExpression_type = Record Access Expression +_UI_TrueLiteral_type = True Literal +_UI_FalseLiteral_type = False Literal +_UI_AllProperty_type = All Property +_UI_ExistsProperty_type = Exists Property +_UI_PropertyDisjunction_type = Property Disjunction +_UI_PropertyImplication_type = Property Implication +_UI_PropertyConjunction_type = Property Conjunction +_UI_PropertyNegation_type = Property Negation +_UI_LeadsToPattern_type = Leads To Pattern +_UI_PrecedesPattern_type = Precedes Pattern +_UI_LTLAll_type = LTL All +_UI_LTLExists_type = LTL Exists +_UI_LTLDisjunction_type = LTL Disjunction +_UI_LTLImplication_type = LTL Implication +_UI_LTLConjunction_type = LTL Conjunction +_UI_LTLUntil_type = LTL Until +_UI_LTLRelease_type = LTL Release +_UI_LTLUnaryNegation_type = LTL Unary Negation +_UI_LTLUnaryNext_type = LTL Unary Next +_UI_LTLUnaryAlways_type = LTL Unary Always +_UI_LTLUnaryEventually_type = LTL Unary Eventually +_UI_LTLVariable_type = LTL Variable +_UI_ObservableDisjunction_type = Observable Disjunction +_UI_ObservableImplication_type = Observable Implication +_UI_ObservableConjunction_type = Observable Conjunction +_UI_ObservableNegation_type = Observable Negation +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_Model_imports_feature = Imports +_UI_Model_declarations_feature = Declarations +_UI_Model_requirements_feature = Requirements +_UI_Model_root_feature = Root +_UI_Root_declaration_feature = Declaration +_UI_Root_observed_feature = Observed +_UI_NamedElement_name_feature = Name +_UI_ImportDeclaration_importURI_feature = Import URI +_UI_ParameterizedDeclaration_parameters_feature = Parameters +_UI_ParameterizedDeclaration_variables_feature = Variables +_UI_FunctionDeclaration_type_feature = Type +_UI_FunctionDeclaration_statement_feature = Statement +_UI_TypeDeclaration_value_feature = Value +_UI_ChannelDeclaration_value_feature = Value +_UI_ChannelType_size_feature = Size +_UI_ChannelType_in_feature = In +_UI_ChannelType_out_feature = Out +_UI_ChannelType_type_feature = Type +_UI_RangeType_minimum_feature = Minimum +_UI_RangeType_maximum_feature = Maximum +_UI_UnionType_tags_feature = Tags +_UI_UnionTags_tags_feature = Tags +_UI_UnionTags_type_feature = Type +_UI_RecordType_fields_feature = Fields +_UI_RecordFields_fields_feature = Fields +_UI_RecordFields_type_feature = Type +_UI_QueueType_size_feature = Size +_UI_QueueType_type_feature = Type +_UI_ArrayType_size_feature = Size +_UI_ArrayType_type_feature = Type +_UI_ReferencedType_type_feature = Type +_UI_ConstantDeclaration_type_feature = Type +_UI_ConstantDeclaration_value_feature = Value +_UI_ProcessDeclaration_ports_feature = Ports +_UI_ProcessDeclaration_localPorts_feature = Local Ports +_UI_ProcessDeclaration_priorities_feature = Priorities +_UI_ProcessDeclaration_states_feature = States +_UI_ProcessDeclaration_prelude_feature = Prelude +_UI_ProcessDeclaration_transitions_feature = Transitions +_UI_TransitionSource_origin_feature = Origin +_UI_Transition_source_feature = Source +_UI_Transition_action_feature = Action +_UI_ComponentDeclaration_ports_feature = Ports +_UI_ComponentDeclaration_localPorts_feature = Local Ports +_UI_ComponentDeclaration_priorities_feature = Priorities +_UI_ComponentDeclaration_prelude_feature = Prelude +_UI_ComponentDeclaration_body_feature = Body +_UI_PortsDeclaration_ports_feature = Ports +_UI_PortsDeclaration_type_feature = Type +_UI_LocalPortsDeclaration_ports_feature = Ports +_UI_LocalPortsDeclaration_type_feature = Type +_UI_LocalPortsDeclaration_left_feature = Left +_UI_LocalPortsDeclaration_right_feature = Right +_UI_ParametersDeclaration_parameters_feature = Parameters +_UI_ParametersDeclaration_read_feature = Read +_UI_ParametersDeclaration_write_feature = Write +_UI_ParametersDeclaration_type_feature = Type +_UI_ParameterDeclaration_reference_feature = Reference +_UI_ParameterDeclaration_array_feature = Array +_UI_ParameterDeclaration_size_feature = Size +_UI_VariablesDeclaration_variables_feature = Variables +_UI_VariablesDeclaration_type_feature = Type +_UI_VariablesDeclaration_value_feature = Value +_UI_PriorityDeclaration_groups_feature = Groups +_UI_PriorityGroup_ports_feature = Ports +_UI_BlockStatement_body_feature = Body +_UI_ReturnStatement_expression_feature = Expression +_UI_TaggedStatement_name_feature = Name +_UI_ConstantPattern_value_feature = Value +_UI_IntegerPattern_negative_feature = Negative +_UI_IntegerPattern_value_feature = Value +_UI_IdentifierPattern_declaration_feature = Declaration +_UI_ConditionalStatement_condition_feature = Condition +_UI_ConditionalStatement_then_feature = Then +_UI_ConditionalStatement_elseif_feature = Elseif +_UI_ConditionalStatement_else_feature = Else +_UI_ExtendedConditionalStatement_condition_feature = Condition +_UI_ExtendedConditionalStatement_then_feature = Then +_UI_SelectStatement_body_feature = Body +_UI_SelectStatement_index_feature = Index +_UI_SelectStatement_type_feature = Type +_UI_WhileStatement_condition_feature = Condition +_UI_WhileStatement_body_feature = Body +_UI_ForeachStatement_variable_feature = Variable +_UI_ForeachStatement_body_feature = Body +_UI_ToStatement_state_feature = State +_UI_CaseStatement_value_feature = Value +_UI_CaseStatement_pattern_feature = Pattern +_UI_CaseStatement_body_feature = Body +_UI_OnStatement_condition_feature = Condition +_UI_WaitStatement_left_feature = Left +_UI_WaitStatement_right_feature = Right +_UI_Composition_global_feature = Global +_UI_Composition_blocks_feature = Blocks +_UI_Block_local_feature = Local +_UI_CompositeBlock_composition_feature = Composition +_UI_InstanceDeclaration_instance_feature = Instance +_UI_PortSet_allPorts_feature = All Ports +_UI_PortSet_ports_feature = Ports +_UI_ComponentInstance_component_feature = Component +_UI_ComponentInstance_ports_feature = Ports +_UI_ComponentInstance_parameters_feature = Parameters +_UI_ReferenceExpression_declaration_feature = Declaration +_UI_IdentifierExpression_declaration_feature = Declaration +_UI_RecordExpression_fields_feature = Fields +_UI_FieldExpression_field_feature = Field +_UI_FieldExpression_value_feature = Value +_UI_ArrayExpression_values_feature = Values +_UI_QueueExpression_values_feature = Values +_UI_EnqueueExpression_element_feature = Element +_UI_EnqueueExpression_queue_feature = Queue +_UI_AppendExpression_left_feature = Left +_UI_AppendExpression_right_feature = Right +_UI_NaturalLiteral_value_feature = Value +_UI_LowerBound_left_feature = Left +_UI_LowerBound_right_feature = Right +_UI_NaturalLowerBound_value_feature = Value +_UI_NaturalUpperBound_value_feature = Value +_UI_NaturalUpperBound_left_feature = Left +_UI_NaturalUpperBound_right_feature = Right +_UI_DecimalLowerBound_value_feature = Value +_UI_DecimalUpperBound_value_feature = Value +_UI_DecimalUpperBound_left_feature = Left +_UI_DecimalUpperBound_right_feature = Right +_UI_VariableLowerBound_variable_feature = Variable +_UI_VariableUpperBound_variable_feature = Variable +_UI_VariableUpperBound_left_feature = Left +_UI_VariableUpperBound_right_feature = Right +_UI_Requirement_property_feature = Property +_UI_Requirement_positive_feature = Positive +_UI_Requirement_negative_feature = Negative +_UI_PropertyDeclaration_property_feature = Property +_UI_LTLPattern_property_feature = Property +_UI_InfinitelyOftenPattern_subject_feature = Subject +_UI_MortalPattern_subject_feature = Subject +_UI_PresencePattern_subject_feature = Subject +_UI_PresencePattern_lasting_feature = Lasting +_UI_PresencePattern_after_feature = After +_UI_PresencePattern_lower_feature = Lower +_UI_PresencePattern_upper_feature = Upper +_UI_PresencePattern_until_feature = Until +_UI_PresencePattern_before_feature = Before +_UI_PresencePattern_min_feature = Min +_UI_PresencePattern_max_feature = Max +_UI_AbsencePattern_subject_feature = Subject +_UI_AbsencePattern_after_feature = After +_UI_AbsencePattern_lower_feature = Lower +_UI_AbsencePattern_upper_feature = Upper +_UI_AbsencePattern_until_feature = Until +_UI_AbsencePattern_before_feature = Before +_UI_AbsencePattern_min_feature = Min +_UI_AbsencePattern_max_feature = Max +_UI_AlwaysPattern_subject_feature = Subject +_UI_AlwaysPattern_before_feature = Before +_UI_AlwaysPattern_after_feature = After +_UI_AlwaysPattern_until_feature = Until +_UI_AlwaysPattern_min_feature = Min +_UI_AlwaysPattern_max_feature = Max +_UI_StateEvent_subject_feature = Subject +_UI_PathEvent_path_feature = Path +_UI_PathEvent_item_feature = Item +_UI_Path_items_feature = Items +_UI_NaturalItem_value_feature = Value +_UI_NamedItem_declaration_feature = Declaration +_UI_StateSubject_state_feature = State +_UI_ValueSubject_value_feature = Value +_UI_TagSubject_tag_feature = Tag +_UI_EventSubject_event_feature = Event +_UI_TupleType_types_feature = Types +_UI_UnlessStatement_followers_feature = Followers +_UI_StatementChoice_choices_feature = Choices +_UI_StatementSequence_statements_feature = Statements +_UI_AssignStatement_patterns_feature = Patterns +_UI_AssignStatement_values_feature = Values +_UI_AssignAnyStatement_patterns_feature = Patterns +_UI_AssignAnyStatement_exp_feature = Exp +_UI_SendStatement_port_feature = Port +_UI_SendStatement_values_feature = Values +_UI_ReceiveStatement_port_feature = Port +_UI_ReceiveStatement_patterns_feature = Patterns +_UI_ReceiveStatement_exp_feature = Exp +_UI_ConstructorPattern_parameters_feature = Parameters +_UI_ArrayAccessPattern_source_feature = Source +_UI_ArrayAccessPattern_index_feature = Index +_UI_RecordAccessPattern_source_feature = Source +_UI_RecordAccessPattern_field_feature = Field +_UI_AllExpression_index_feature = Index +_UI_AllExpression_type_feature = Type +_UI_AllExpression_child_feature = Child +_UI_ExistsExpression_index_feature = Index +_UI_ExistsExpression_type_feature = Type +_UI_ExistsExpression_child_feature = Child +_UI_Conditional_condition_feature = Condition +_UI_Conditional_then_feature = Then +_UI_Conditional_else_feature = Else +_UI_Disjunction_left_feature = Left +_UI_Disjunction_right_feature = Right +_UI_Implication_left_feature = Left +_UI_Implication_right_feature = Right +_UI_Conjunction_left_feature = Left +_UI_Conjunction_right_feature = Right +_UI_ComparisonEqual_left_feature = Left +_UI_ComparisonEqual_right_feature = Right +_UI_ComparisonNotEqual_left_feature = Left +_UI_ComparisonNotEqual_right_feature = Right +_UI_ComparisonLesser_left_feature = Left +_UI_ComparisonLesser_right_feature = Right +_UI_ComparisonLesserEqual_left_feature = Left +_UI_ComparisonLesserEqual_right_feature = Right +_UI_ComparisonGreater_left_feature = Left +_UI_ComparisonGreater_right_feature = Right +_UI_ComparisonGreaterEqual_left_feature = Left +_UI_ComparisonGreaterEqual_right_feature = Right +_UI_Addition_left_feature = Left +_UI_Addition_right_feature = Right +_UI_Substraction_left_feature = Left +_UI_Substraction_right_feature = Right +_UI_Multiplication_left_feature = Left +_UI_Multiplication_right_feature = Right +_UI_Division_left_feature = Left +_UI_Division_right_feature = Right +_UI_Modulo_left_feature = Left +_UI_Modulo_right_feature = Right +_UI_UnaryPlusExpression_child_feature = Child +_UI_UnaryMinusExpression_child_feature = Child +_UI_UnaryNegationExpression_child_feature = Child +_UI_UnaryFirstExpression_child_feature = Child +_UI_UnaryLengthExpression_child_feature = Child +_UI_UnaryCoerceExpression_child_feature = Child +_UI_UnaryFullExpression_child_feature = Child +_UI_UnaryDeQueueExpression_child_feature = Child +_UI_UnaryEmptyExpression_child_feature = Child +_UI_Projection_channel_feature = Channel +_UI_Projection_field_feature = Field +_UI_ConstructionExpression_parameters_feature = Parameters +_UI_ArrayAccessExpression_child_feature = Child +_UI_ArrayAccessExpression_indexes_feature = Indexes +_UI_RecordAccessExpression_child_feature = Child +_UI_RecordAccessExpression_field_feature = Field +_UI_AllProperty_variable_feature = Variable +_UI_AllProperty_type_feature = Type +_UI_AllProperty_child_feature = Child +_UI_ExistsProperty_variable_feature = Variable +_UI_ExistsProperty_type_feature = Type +_UI_ExistsProperty_child_feature = Child +_UI_PropertyDisjunction_left_feature = Left +_UI_PropertyDisjunction_right_feature = Right +_UI_PropertyImplication_left_feature = Left +_UI_PropertyImplication_right_feature = Right +_UI_PropertyConjunction_left_feature = Left +_UI_PropertyConjunction_right_feature = Right +_UI_PropertyNegation_child_feature = Child +_UI_LeadsToPattern_subject_feature = Subject +_UI_LeadsToPattern_follower_feature = Follower +_UI_LeadsToPattern_before_feature = Before +_UI_LeadsToPattern_lower_feature = Lower +_UI_LeadsToPattern_upper_feature = Upper +_UI_LeadsToPattern_after_feature = After +_UI_LeadsToPattern_until_feature = Until +_UI_LeadsToPattern_min_feature = Min +_UI_LeadsToPattern_max_feature = Max +_UI_PrecedesPattern_subject_feature = Subject +_UI_PrecedesPattern_follower_feature = Follower +_UI_PrecedesPattern_before_feature = Before +_UI_PrecedesPattern_after_feature = After +_UI_PrecedesPattern_until_feature = Until +_UI_PrecedesPattern_min_feature = Min +_UI_PrecedesPattern_max_feature = Max +_UI_LTLAll_index_feature = Index +_UI_LTLAll_type_feature = Type +_UI_LTLAll_child_feature = Child +_UI_LTLExists_index_feature = Index +_UI_LTLExists_type_feature = Type +_UI_LTLExists_child_feature = Child +_UI_LTLDisjunction_left_feature = Left +_UI_LTLDisjunction_right_feature = Right +_UI_LTLImplication_left_feature = Left +_UI_LTLImplication_right_feature = Right +_UI_LTLConjunction_left_feature = Left +_UI_LTLConjunction_right_feature = Right +_UI_LTLUntil_left_feature = Left +_UI_LTLUntil_right_feature = Right +_UI_LTLRelease_left_feature = Left +_UI_LTLRelease_right_feature = Right +_UI_LTLUnaryNegation_operand_feature = Operand +_UI_LTLUnaryNext_operand_feature = Operand +_UI_LTLUnaryAlways_operand_feature = Operand +_UI_LTLUnaryEventually_operand_feature = Operand +_UI_LTLVariable_declaration_feature = Declaration +_UI_ObservableDisjunction_left_feature = Left +_UI_ObservableDisjunction_right_feature = Right +_UI_ObservableImplication_left_feature = Left +_UI_ObservableImplication_right_feature = Right +_UI_ObservableConjunction_left_feature = Left +_UI_ObservableConjunction_right_feature = Right +_UI_ObservableNegation_child_feature = Child +_UI_Unknown_feature = Unspecified + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.xml b/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.xml new file mode 100644 index 0000000..f55a4e7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/plugin.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AbsencePatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AbsencePatternItemProvider.java new file mode 100644 index 0000000..7a490c5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AbsencePatternItemProvider.java @@ -0,0 +1,534 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AbsencePattern; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern} object. + * + * + * @generated + */ +public class AbsencePatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AbsencePatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Subject()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_After()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Lower()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Upper()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Until()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Before()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Min()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAbsencePattern_Max()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AbsencePattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AbsencePattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AbsencePattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AbsencePattern.class)) { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + case FiacrePackage.ABSENCE_PATTERN__AFTER: + case FiacrePackage.ABSENCE_PATTERN__LOWER: + case FiacrePackage.ABSENCE_PATTERN__UPPER: + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + case FiacrePackage.ABSENCE_PATTERN__MIN: + case FiacrePackage.ABSENCE_PATTERN__MAX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_After(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Lower(), + FiacreFactory.eINSTANCE.createLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Lower(), + FiacreFactory.eINSTANCE.createNaturalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Lower(), + FiacreFactory.eINSTANCE.createDecimalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Lower(), + FiacreFactory.eINSTANCE.createVariableLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Upper(), + FiacreFactory.eINSTANCE.createUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Upper(), + FiacreFactory.eINSTANCE.createNaturalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Upper(), + FiacreFactory.eINSTANCE.createDecimalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Upper(), + FiacreFactory.eINSTANCE.createVariableUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Upper(), + FiacreFactory.eINSTANCE.createInfiniteUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAbsencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_Subject() || + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_After() || + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_Until() || + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_Before() || + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_Min() || + childFeature == FiacrePackage.eINSTANCE.getAbsencePattern_Max(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AdditionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AdditionItemProvider.java new file mode 100644 index 0000000..ef8d91a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AdditionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Addition; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Addition} object. + * + * + * @generated + */ +public class AdditionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AdditionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAddition_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAddition_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Addition.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Addition")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Addition_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Addition.class)) { + case FiacrePackage.ADDITION__LEFT: + case FiacrePackage.ADDITION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAddition_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getAddition_Left() || + childFeature == FiacrePackage.eINSTANCE.getAddition_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllExpressionItemProvider.java new file mode 100644 index 0000000..96c784c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllExpressionItemProvider.java @@ -0,0 +1,377 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AllExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AllExpression} object. + * + * + * @generated + */ +public class AllExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AllExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllExpression_Index()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllExpression_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AllExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AllExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AllExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AllExpression.class)) { + case FiacrePackage.ALL_EXPRESSION__INDEX: + case FiacrePackage.ALL_EXPRESSION__TYPE: + case FiacrePackage.ALL_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Index(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllPropertyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllPropertyItemProvider.java new file mode 100644 index 0000000..237c9aa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AllPropertyItemProvider.java @@ -0,0 +1,302 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AllProperty; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AllProperty} object. + * + * + * @generated + */ +public class AllPropertyItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AllPropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllProperty_Variable()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllProperty_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAllProperty_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AllProperty.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AllProperty")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AllProperty_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AllProperty.class)) { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + case FiacrePackage.ALL_PROPERTY__TYPE: + case FiacrePackage.ALL_PROPERTY__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Variable(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAllProperty_Child(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AlwaysPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AlwaysPatternItemProvider.java new file mode 100644 index 0000000..f7abd7d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AlwaysPatternItemProvider.java @@ -0,0 +1,485 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AlwaysPattern; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern} object. + * + * + * @generated + */ +public class AlwaysPatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AlwaysPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_Subject()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_Before()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_After()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_Until()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_Min()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAlwaysPattern_Max()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AlwaysPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AlwaysPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AlwaysPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AlwaysPattern.class)) { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + case FiacrePackage.ALWAYS_PATTERN__AFTER: + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + case FiacrePackage.ALWAYS_PATTERN__MIN: + case FiacrePackage.ALWAYS_PATTERN__MAX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Before(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_After(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Until(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Min(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAlwaysPattern_Max(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_Subject() || + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_Before() || + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_After() || + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_Until() || + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_Min() || + childFeature == FiacrePackage.eINSTANCE.getAlwaysPattern_Max(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AnyPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AnyPatternItemProvider.java new file mode 100644 index 0000000..76029b4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AnyPatternItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AnyPattern} object. + * + * + * @generated + */ +public class AnyPatternItemProvider extends PatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AnyPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns AnyPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AnyPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AnyPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AppendExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AppendExpressionItemProvider.java new file mode 100644 index 0000000..3483a2e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AppendExpressionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AppendExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AppendExpression} object. + * + * + * @generated + */ +public class AppendExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AppendExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAppendExpression_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAppendExpression_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AppendExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AppendExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AppendExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AppendExpression.class)) { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAppendExpression_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getAppendExpression_Left() || + childFeature == FiacrePackage.eINSTANCE.getAppendExpression_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessExpressionItemProvider.java new file mode 100644 index 0000000..6259960 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessExpressionItemProvider.java @@ -0,0 +1,408 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression} object. + * + * + * @generated + */ +public class ArrayAccessExpressionItemProvider extends IdentifierExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ArrayAccessExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayAccessExpression_Child()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ArrayAccessExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ArrayAccessExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ArrayAccessExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ArrayAccessExpression.class)) { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getArrayAccessExpression_Child() || + childFeature == FiacrePackage.eINSTANCE.getArrayAccessExpression_Indexes(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessPatternItemProvider.java new file mode 100644 index 0000000..84caa06 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayAccessPatternItemProvider.java @@ -0,0 +1,385 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern} object. + * + * + * @generated + */ +public class ArrayAccessPatternItemProvider extends IdentifierPatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ArrayAccessPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayAccessPattern_Source()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayAccessPattern_Index()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ArrayAccessPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ArrayAccessPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ArrayAccessPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ArrayAccessPattern.class)) { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Source(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Source(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Source(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Source(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayAccessPattern_Index(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayExpressionItemProvider.java new file mode 100644 index 0000000..6154d22 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ArrayExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayExpression} object. + * + * + * @generated + */ +public class ArrayExpressionItemProvider extends ValueExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ArrayExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayExpression_Values()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ArrayExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ArrayExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ArrayExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ArrayExpression.class)) { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayExpression_Values(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayTypeItemProvider.java new file mode 100644 index 0000000..76fa60d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ArrayTypeItemProvider.java @@ -0,0 +1,425 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ArrayType; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayType} object. + * + * + * @generated + */ +public class ArrayTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ArrayTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayType_Size()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getArrayType_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ArrayType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ArrayType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ArrayType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ArrayType.class)) { + case FiacrePackage.ARRAY_TYPE__SIZE: + case FiacrePackage.ARRAY_TYPE__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Size(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getArrayType_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignAnyStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignAnyStatementItemProvider.java new file mode 100644 index 0000000..1a9402c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignAnyStatementItemProvider.java @@ -0,0 +1,405 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AssignAnyStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement} object. + * + * + * @generated + */ +public class AssignAnyStatementItemProvider extends PatternStatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AssignAnyStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AssignAnyStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AssignAnyStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AssignAnyStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AssignAnyStatement.class)) { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Patterns(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignAnyStatement_Exp(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignStatementItemProvider.java new file mode 100644 index 0000000..4e60a05 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/AssignStatementItemProvider.java @@ -0,0 +1,405 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.AssignStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.AssignStatement} object. + * + * + * @generated + */ +public class AssignStatementItemProvider extends PatternStatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public AssignStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAssignStatement_Patterns()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getAssignStatement_Values()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns AssignStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/AssignStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_AssignStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(AssignStatement.class)) { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Patterns(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getAssignStatement_Values(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BasicTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BasicTypeItemProvider.java new file mode 100644 index 0000000..01dd572 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BasicTypeItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.BasicType} object. + * + * + * @generated + */ +public class BasicTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BasicTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns BasicType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/BasicType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BasicType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockItemProvider.java new file mode 100644 index 0000000..1421d9f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockItemProvider.java @@ -0,0 +1,179 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Block; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Block} object. + * + * + * @generated + */ +public class BlockItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getBlock_Local()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Block.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Block")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Block_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Block.class)) { + case FiacrePackage.BLOCK__LOCAL: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlock_Local(), + FiacreFactory.eINSTANCE.createPortSet())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockStatementItemProvider.java new file mode 100644 index 0000000..96b9cfd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BlockStatementItemProvider.java @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.BlockStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.BlockStatement} object. + * + * + * @generated + */ +public class BlockStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BlockStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getBlockStatement_Body()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns BlockStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/BlockStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BlockStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(BlockStatement.class)) { + case FiacrePackage.BLOCK_STATEMENT__BODY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlockStatement_Body(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanLiteralItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanLiteralItemProvider.java new file mode 100644 index 0000000..4dd2108 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanLiteralItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.BooleanLiteral} object. + * + * + * @generated + */ +public class BooleanLiteralItemProvider extends LiteralExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BooleanLiteralItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns BooleanLiteral.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanLiteral")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BooleanLiteral_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanTypeItemProvider.java new file mode 100644 index 0000000..44b1866 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BooleanTypeItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.BooleanType} object. + * + * + * @generated + */ +public class BooleanTypeItemProvider extends BasicTypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BooleanTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns BooleanType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BooleanType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BoundDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BoundDeclarationUseItemProvider.java new file mode 100644 index 0000000..84af2de --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/BoundDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse} object. + * + * + * @generated + */ +public class BoundDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public BoundDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns BoundDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/BoundDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_BoundDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CaseStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CaseStatementItemProvider.java new file mode 100644 index 0000000..0207eb5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CaseStatementItemProvider.java @@ -0,0 +1,580 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.CaseStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.CaseStatement} object. + * + * + * @generated + */ +public class CaseStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public CaseStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getCaseStatement_Value()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getCaseStatement_Pattern()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getCaseStatement_Body()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns CaseStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/CaseStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_CaseStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CaseStatement.class)) { + case FiacrePackage.CASE_STATEMENT__VALUE: + case FiacrePackage.CASE_STATEMENT__PATTERN: + case FiacrePackage.CASE_STATEMENT__BODY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Pattern(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCaseStatement_Body(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getCaseStatement_Pattern() || + childFeature == FiacrePackage.eINSTANCE.getCaseStatement_Body(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelDeclarationItemProvider.java new file mode 100644 index 0000000..a136319 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelDeclarationItemProvider.java @@ -0,0 +1,184 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ChannelDeclaration; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration} object. + * + * + * @generated + */ +public class ChannelDeclarationItemProvider extends TypeDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ChannelDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getChannelDeclaration_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ChannelDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ChannelDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ChannelDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ChannelDeclaration_type") : + getString("_UI_ChannelDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ChannelDeclaration.class)) { + case FiacrePackage.CHANNEL_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelDeclaration_Value(), + FiacreFactory.eINSTANCE.createChannelType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelTypeItemProvider.java new file mode 100644 index 0000000..7cd9079 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ChannelTypeItemProvider.java @@ -0,0 +1,504 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ChannelType} object. + * + * + * @generated + */ +public class ChannelTypeItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ChannelTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addInPropertyDescriptor(object); + addOutPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the In feature. + * + * + * @generated + */ + protected void addInPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ChannelType_in_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ChannelType_in_feature", "_UI_ChannelType_type"), + FiacrePackage.eINSTANCE.getChannelType_In(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Out feature. + * + * + * @generated + */ + protected void addOutPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ChannelType_out_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ChannelType_out_feature", "_UI_ChannelType_type"), + FiacrePackage.eINSTANCE.getChannelType_Out(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getChannelType_Size()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getChannelType_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ChannelType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ChannelType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + ChannelType channelType = (ChannelType)object; + return getString("_UI_ChannelType_type") + " " + channelType.isIn(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ChannelType.class)) { + case FiacrePackage.CHANNEL_TYPE__IN: + case FiacrePackage.CHANNEL_TYPE__OUT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.CHANNEL_TYPE__SIZE: + case FiacrePackage.CHANNEL_TYPE__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Size(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getChannelType_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonEqualItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonEqualItemProvider.java new file mode 100644 index 0000000..2362c45 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonEqualItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonEqual; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual} object. + * + * + * @generated + */ +public class ComparisonEqualItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonEqualItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonEqual_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonEqual_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonEqual.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonEqual")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonEqual_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonEqual.class)) { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonEqual_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonEqual_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonEqual_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterEqualItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterEqualItemProvider.java new file mode 100644 index 0000000..806c56f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterEqualItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual} object. + * + * + * @generated + */ +public class ComparisonGreaterEqualItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonGreaterEqualItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonGreaterEqual.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonGreaterEqual")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonGreaterEqual_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonGreaterEqual.class)) { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterItemProvider.java new file mode 100644 index 0000000..5c225bd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonGreaterItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonGreater; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater} object. + * + * + * @generated + */ +public class ComparisonGreaterItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonGreaterItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonGreater_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonGreater_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonGreater.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonGreater")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonGreater_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonGreater.class)) { + case FiacrePackage.COMPARISON_GREATER__LEFT: + case FiacrePackage.COMPARISON_GREATER__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonGreater_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonGreater_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonGreater_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserEqualItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserEqualItemProvider.java new file mode 100644 index 0000000..0c49cb4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserEqualItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual} object. + * + * + * @generated + */ +public class ComparisonLesserEqualItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonLesserEqualItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonLesserEqual.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonLesserEqual")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonLesserEqual_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonLesserEqual.class)) { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserItemProvider.java new file mode 100644 index 0000000..85512da --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonLesserItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonLesser; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser} object. + * + * + * @generated + */ +public class ComparisonLesserItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonLesserItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonLesser_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonLesser_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonLesser.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonLesser")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonLesser_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonLesser.class)) { + case FiacrePackage.COMPARISON_LESSER__LEFT: + case FiacrePackage.COMPARISON_LESSER__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonLesser_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonLesser_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonLesser_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonNotEqualItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonNotEqualItemProvider.java new file mode 100644 index 0000000..b734a69 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComparisonNotEqualItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual} object. + * + * + * @generated + */ +public class ComparisonNotEqualItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComparisonNotEqualItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonNotEqual_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComparisonNotEqual_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComparisonNotEqual.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComparisonNotEqual")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComparisonNotEqual_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComparisonNotEqual.class)) { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComparisonNotEqual_Left() || + childFeature == FiacrePackage.eINSTANCE.getComparisonNotEqual_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentDeclarationItemProvider.java new file mode 100644 index 0000000..3a35d0f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentDeclarationItemProvider.java @@ -0,0 +1,371 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration} object. + * + * + * @generated + */ +public class ComponentDeclarationItemProvider extends RootDeclarationItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComponentDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentDeclaration_Ports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentDeclaration_LocalPorts()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentDeclaration_Priorities()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentDeclaration_Body()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComponentDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ComponentDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ComponentDeclaration_type") : + getString("_UI_ComponentDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComponentDeclaration.class)) { + case FiacrePackage.COMPONENT_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + case FiacrePackage.COMPONENT_DECLARATION__BODY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters(), + FiacreFactory.eINSTANCE.createParametersDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables(), + FiacreFactory.eINSTANCE.createVariablesDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Ports(), + FiacreFactory.eINSTANCE.createPortsDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_LocalPorts(), + FiacreFactory.eINSTANCE.createLocalPortsDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Priorities(), + FiacreFactory.eINSTANCE.createPriorityDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentDeclaration_Body(), + FiacreFactory.eINSTANCE.createComposition())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentInstanceItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentInstanceItemProvider.java new file mode 100644 index 0000000..749a9b7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ComponentInstanceItemProvider.java @@ -0,0 +1,653 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance} object. + * + * + * @generated + */ +public class ComponentInstanceItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ComponentInstanceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addComponentPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Component feature. + * + * + * @generated + */ + protected void addComponentPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ComponentInstance_component_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ComponentInstance_component_feature", "_UI_ComponentInstance_type"), + FiacrePackage.eINSTANCE.getComponentInstance_Component(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentInstance_Ports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComponentInstance_Parameters()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ComponentInstance.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentInstance")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ComponentInstance_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ComponentInstance.class)) { + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Ports(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComponentInstance_Parameters(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getComponentInstance_Ports() || + childFeature == FiacrePackage.eINSTANCE.getComponentInstance_Parameters(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositeBlockItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositeBlockItemProvider.java new file mode 100644 index 0000000..82389d5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositeBlockItemProvider.java @@ -0,0 +1,153 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.CompositeBlock; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.CompositeBlock} object. + * + * + * @generated + */ +public class CompositeBlockItemProvider extends BlockItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public CompositeBlockItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getCompositeBlock_Composition()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns CompositeBlock.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeBlock")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_CompositeBlock_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(CompositeBlock.class)) { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getCompositeBlock_Composition(), + FiacreFactory.eINSTANCE.createComposition())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositionItemProvider.java new file mode 100644 index 0000000..1c6f3d4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/CompositionItemProvider.java @@ -0,0 +1,196 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Composition; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Composition} object. + * + * + * @generated + */ +public class CompositionItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public CompositionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComposition_Global()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getComposition_Blocks()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Composition.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Composition")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Composition_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Composition.class)) { + case FiacrePackage.COMPOSITION__GLOBAL: + case FiacrePackage.COMPOSITION__BLOCKS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComposition_Global(), + FiacreFactory.eINSTANCE.createPortSet())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComposition_Blocks(), + FiacreFactory.eINSTANCE.createBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComposition_Blocks(), + FiacreFactory.eINSTANCE.createCompositeBlock())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getComposition_Blocks(), + FiacreFactory.eINSTANCE.createInstanceDeclaration())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalItemProvider.java new file mode 100644 index 0000000..e2fa9cb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalItemProvider.java @@ -0,0 +1,821 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Conditional; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Conditional} object. + * + * + * @generated + */ +public class ConditionalItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConditionalItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditional_Condition()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditional_Then()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditional_Else()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Conditional.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Conditional")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Conditional_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Conditional.class)) { + case FiacrePackage.CONDITIONAL__CONDITION: + case FiacrePackage.CONDITIONAL__THEN: + case FiacrePackage.CONDITIONAL__ELSE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Condition(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Then(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditional_Else(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getConditional_Condition() || + childFeature == FiacrePackage.eINSTANCE.getConditional_Then() || + childFeature == FiacrePackage.eINSTANCE.getConditional_Else(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalStatementItemProvider.java new file mode 100644 index 0000000..9683bc4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConditionalStatementItemProvider.java @@ -0,0 +1,697 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement} object. + * + * + * @generated + */ +public class ConditionalStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConditionalStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditionalStatement_Condition()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditionalStatement_Then()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditionalStatement_Elseif()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConditionalStatement_Else()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConditionalStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConditionalStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ConditionalStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConditionalStatement.class)) { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Elseif(), + FiacreFactory.eINSTANCE.createExtendedConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConditionalStatement_Else(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getConditionalStatement_Then() || + childFeature == FiacrePackage.eINSTANCE.getConditionalStatement_Else(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConjunctionItemProvider.java new file mode 100644 index 0000000..45a5120 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConjunctionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Conjunction; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Conjunction} object. + * + * + * @generated + */ +public class ConjunctionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Conjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Conjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Conjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Conjunction.class)) { + case FiacrePackage.CONJUNCTION__LEFT: + case FiacrePackage.CONJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConjunction_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getConjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getConjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationItemProvider.java new file mode 100644 index 0000000..228785b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationItemProvider.java @@ -0,0 +1,456 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ConstantDeclaration; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration} object. + * + * + * @generated + */ +public class ConstantDeclarationItemProvider extends ConstantDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConstantDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConstantDeclaration_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConstantDeclaration_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConstantDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstantDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ConstantDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ConstantDeclaration_type") : + getString("_UI_ConstantDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConstantDeclaration.class)) { + case FiacrePackage.CONSTANT_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantDeclaration_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationUseItemProvider.java new file mode 100644 index 0000000..c931794 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse} object. + * + * + * @generated + */ +public class ConstantDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConstantDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ConstantDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstantDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ConstantDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantPatternItemProvider.java new file mode 100644 index 0000000..5b9ebcd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstantPatternItemProvider.java @@ -0,0 +1,173 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ConstantPattern; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantPattern} object. + * + * + * @generated + */ +public class ConstantPatternItemProvider extends PatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConstantPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConstantPattern_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConstantPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstantPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ConstantPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConstantPattern.class)) { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantPattern_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantPattern_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantPattern_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantPattern_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstantPattern_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructionExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructionExpressionItemProvider.java new file mode 100644 index 0000000..1a79c96 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructionExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression} object. + * + * + * @generated + */ +public class ConstructionExpressionItemProvider extends IdentifierExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConstructionExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConstructionExpression_Parameters()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConstructionExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstructionExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ConstructionExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConstructionExpression.class)) { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructionExpression_Parameters(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructorPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructorPatternItemProvider.java new file mode 100644 index 0000000..0a0b5d1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ConstructorPatternItemProvider.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ConstructorPattern; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern} object. + * + * + * @generated + */ +public class ConstructorPatternItemProvider extends IdentifierPatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ConstructorPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getConstructorPattern_Parameters()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ConstructorPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstructorPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ConstructorPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ConstructorPattern.class)) { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getConstructorPattern_Parameters(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeadlockFreePatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeadlockFreePatternItemProvider.java new file mode 100644 index 0000000..4f62189 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeadlockFreePatternItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern} object. + * + * + * @generated + */ +public class DeadlockFreePatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DeadlockFreePatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns DeadlockFreePattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/DeadlockFreePattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_DeadlockFreePattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalLowerBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalLowerBoundItemProvider.java new file mode 100644 index 0000000..30093d8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalLowerBoundItemProvider.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.DecimalLowerBound; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound} object. + * + * + * @generated + */ +public class DecimalLowerBoundItemProvider extends LowerBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DecimalLowerBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DecimalLowerBound_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DecimalLowerBound_value_feature", "_UI_DecimalLowerBound_type"), + FiacrePackage.eINSTANCE.getDecimalLowerBound_Value(), + true, + false, + false, + ItemPropertyDescriptor.REAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns DecimalLowerBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/DecimalLowerBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + DecimalLowerBound decimalLowerBound = (DecimalLowerBound)object; + return getString("_UI_DecimalLowerBound_type") + " " + decimalLowerBound.isLeft(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DecimalLowerBound.class)) { + case FiacrePackage.DECIMAL_LOWER_BOUND__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalUpperBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalUpperBoundItemProvider.java new file mode 100644 index 0000000..445e26a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DecimalUpperBoundItemProvider.java @@ -0,0 +1,189 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.DecimalUpperBound; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound} object. + * + * + * @generated + */ +public class DecimalUpperBoundItemProvider extends UpperBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DecimalUpperBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + addLeftPropertyDescriptor(object); + addRightPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DecimalUpperBound_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DecimalUpperBound_value_feature", "_UI_DecimalUpperBound_type"), + FiacrePackage.eINSTANCE.getDecimalUpperBound_Value(), + true, + false, + false, + ItemPropertyDescriptor.REAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Left feature. + * + * + * @generated + */ + protected void addLeftPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DecimalUpperBound_left_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DecimalUpperBound_left_feature", "_UI_DecimalUpperBound_type"), + FiacrePackage.eINSTANCE.getDecimalUpperBound_Left(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Right feature. + * + * + * @generated + */ + protected void addRightPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_DecimalUpperBound_right_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_DecimalUpperBound_right_feature", "_UI_DecimalUpperBound_type"), + FiacrePackage.eINSTANCE.getDecimalUpperBound_Right(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns DecimalUpperBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/DecimalUpperBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + DecimalUpperBound decimalUpperBound = (DecimalUpperBound)object; + return getString("_UI_DecimalUpperBound_type") + " " + decimalUpperBound.getValue(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(DecimalUpperBound.class)) { + case FiacrePackage.DECIMAL_UPPER_BOUND__VALUE: + case FiacrePackage.DECIMAL_UPPER_BOUND__LEFT: + case FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeclarationItemProvider.java new file mode 100644 index 0000000..7ee64b0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Declaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Declaration} object. + * + * + * @generated + */ +public class DeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Declaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Declaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Declaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_Declaration_type") : + getString("_UI_Declaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DisjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DisjunctionItemProvider.java new file mode 100644 index 0000000..be5659c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DisjunctionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Disjunction; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Disjunction} object. + * + * + * @generated + */ +public class DisjunctionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DisjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getDisjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getDisjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Disjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Disjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Disjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Disjunction.class)) { + case FiacrePackage.DISJUNCTION__LEFT: + case FiacrePackage.DISJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDisjunction_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getDisjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getDisjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DivisionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DivisionItemProvider.java new file mode 100644 index 0000000..c785d91 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/DivisionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.Division; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Division} object. + * + * + * @generated + */ +public class DivisionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public DivisionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getDivision_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getDivision_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Division.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Division")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Division_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Division.class)) { + case FiacrePackage.DIVISION__LEFT: + case FiacrePackage.DIVISION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getDivision_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getDivision_Left() || + childFeature == FiacrePackage.eINSTANCE.getDivision_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnqueueExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnqueueExpressionItemProvider.java new file mode 100644 index 0000000..69599dc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnqueueExpressionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.EnqueueExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression} object. + * + * + * @generated + */ +public class EnqueueExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public EnqueueExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getEnqueueExpression_Element()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getEnqueueExpression_Queue()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns EnqueueExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EnqueueExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_EnqueueExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EnqueueExpression.class)) { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Element(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getEnqueueExpression_Element() || + childFeature == FiacrePackage.eINSTANCE.getEnqueueExpression_Queue(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnterStateEventItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnterStateEventItemProvider.java new file mode 100644 index 0000000..81403d1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EnterStateEventItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.EnterStateEvent} object. + * + * + * @generated + */ +public class EnterStateEventItemProvider extends StateEventItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public EnterStateEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns EnterStateEvent.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EnterStateEvent")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_EnterStateEvent_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EventSubjectItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EventSubjectItemProvider.java new file mode 100644 index 0000000..5d128ae --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/EventSubjectItemProvider.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.EventSubject; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.EventSubject} object. + * + * + * @generated + */ +public class EventSubjectItemProvider extends SubjectItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public EventSubjectItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addEventPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Event feature. + * + * + * @generated + */ + protected void addEventPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_EventSubject_event_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_EventSubject_event_feature", "_UI_EventSubject_type"), + FiacrePackage.eINSTANCE.getEventSubject_Event(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns EventSubject.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/EventSubject")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((EventSubject)object).getEvent(); + return label == null || label.length() == 0 ? + getString("_UI_EventSubject_type") : + getString("_UI_EventSubject_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(EventSubject.class)) { + case FiacrePackage.EVENT_SUBJECT__EVENT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsExpressionItemProvider.java new file mode 100644 index 0000000..f4e3de5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsExpressionItemProvider.java @@ -0,0 +1,377 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ExistsExpression; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression} object. + * + * + * @generated + */ +public class ExistsExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExistsExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsExpression_Index()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsExpression_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ExistsExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExistsExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ExistsExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExistsExpression.class)) { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Index(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsPropertyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsPropertyItemProvider.java new file mode 100644 index 0000000..8b383dd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExistsPropertyItemProvider.java @@ -0,0 +1,302 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ExistsProperty; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty} object. + * + * + * @generated + */ +public class ExistsPropertyItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExistsPropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsProperty_Variable()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsProperty_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExistsProperty_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ExistsProperty.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExistsProperty")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ExistsProperty_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExistsProperty.class)) { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + case FiacrePackage.EXISTS_PROPERTY__TYPE: + case FiacrePackage.EXISTS_PROPERTY__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Variable(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExistsProperty_Child(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionDeclarationUseItemProvider.java new file mode 100644 index 0000000..e135558 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse} object. + * + * + * @generated + */ +public class ExpressionDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExpressionDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ExpressionDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExpressionDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ExpressionDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionItemProvider.java new file mode 100644 index 0000000..6e416a4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExpressionItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Expression} object. + * + * + * @generated + */ +public class ExpressionItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Expression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Expression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Expression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExtendedConditionalStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExtendedConditionalStatementItemProvider.java new file mode 100644 index 0000000..83fb4e3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ExtendedConditionalStatementItemProvider.java @@ -0,0 +1,541 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement} object. + * + * + * @generated + */ +public class ExtendedConditionalStatementItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ExtendedConditionalStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ExtendedConditionalStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ExtendedConditionalStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ExtendedConditionalStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ExtendedConditionalStatement.class)) { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FalseLiteralItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FalseLiteralItemProvider.java new file mode 100644 index 0000000..d0e791a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FalseLiteralItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.FalseLiteral} object. + * + * + * @generated + */ +public class FalseLiteralItemProvider extends BooleanLiteralItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public FalseLiteralItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns FalseLiteral.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/FalseLiteral")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_FalseLiteral_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreEditPlugin.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreEditPlugin.java new file mode 100644 index 0000000..378d35d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreEditPlugin.java @@ -0,0 +1,100 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Fiacre edit plugin. + * + * + * @generated + */ +public final class FiacreEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final FiacreEditPlugin INSTANCE = new FiacreEditPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public FiacreEditPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreItemProviderAdapterFactory.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreItemProviderAdapterFactory.java new file mode 100644 index 0000000..ca0f039 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FiacreItemProviderAdapterFactory.java @@ -0,0 +1,4866 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + +import fr.irit.fiacre.xtext.fiacre.util.FiacreAdapterFactory; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * + * + * @generated + */ +public class FiacreItemProviderAdapterFactory extends FiacreAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * + * + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * + * + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * + * + * @generated + */ + protected Collection supportedTypes = new ArrayList(); + + /** + * This constructs an instance. + * + * + * @generated + */ + public FiacreItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Model} instances. + * + * + * @generated + */ + protected ModelItemProvider modelItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Model}. + * + * + * @generated + */ + @Override + public Adapter createModelAdapter() { + if (modelItemProvider == null) { + modelItemProvider = new ModelItemProvider(this); + } + + return modelItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RootDeclaration} instances. + * + * + * @generated + */ + protected RootDeclarationItemProvider rootDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RootDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createRootDeclarationAdapter() { + if (rootDeclarationItemProvider == null) { + rootDeclarationItemProvider = new RootDeclarationItemProvider(this); + } + + return rootDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Root} instances. + * + * + * @generated + */ + protected RootItemProvider rootItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Root}. + * + * + * @generated + */ + @Override + public Adapter createRootAdapter() { + if (rootItemProvider == null) { + rootItemProvider = new RootItemProvider(this); + } + + return rootItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NamedElement} instances. + * + * + * @generated + */ + protected NamedElementItemProvider namedElementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NamedElement}. + * + * + * @generated + */ + @Override + public Adapter createNamedElementAdapter() { + if (namedElementItemProvider == null) { + namedElementItemProvider = new NamedElementItemProvider(this); + } + + return namedElementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse} instances. + * + * + * @generated + */ + protected TypeDeclarationUseItemProvider typeDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createTypeDeclarationUseAdapter() { + if (typeDeclarationUseItemProvider == null) { + typeDeclarationUseItemProvider = new TypeDeclarationUseItemProvider(this); + } + + return typeDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse} instances. + * + * + * @generated + */ + protected ConstantDeclarationUseItemProvider constantDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createConstantDeclarationUseAdapter() { + if (constantDeclarationUseItemProvider == null) { + constantDeclarationUseItemProvider = new ConstantDeclarationUseItemProvider(this); + } + + return constantDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse} instances. + * + * + * @generated + */ + protected ExpressionDeclarationUseItemProvider expressionDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createExpressionDeclarationUseAdapter() { + if (expressionDeclarationUseItemProvider == null) { + expressionDeclarationUseItemProvider = new ExpressionDeclarationUseItemProvider(this); + } + + return expressionDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse} instances. + * + * + * @generated + */ + protected ReferenceDeclarationUseItemProvider referenceDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createReferenceDeclarationUseAdapter() { + if (referenceDeclarationUseItemProvider == null) { + referenceDeclarationUseItemProvider = new ReferenceDeclarationUseItemProvider(this); + } + + return referenceDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse} instances. + * + * + * @generated + */ + protected UnionTagDeclarationUseItemProvider unionTagDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createUnionTagDeclarationUseAdapter() { + if (unionTagDeclarationUseItemProvider == null) { + unionTagDeclarationUseItemProvider = new UnionTagDeclarationUseItemProvider(this); + } + + return unionTagDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse} instances. + * + * + * @generated + */ + protected RecordFieldDeclarationUseItemProvider recordFieldDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createRecordFieldDeclarationUseAdapter() { + if (recordFieldDeclarationUseItemProvider == null) { + recordFieldDeclarationUseItemProvider = new RecordFieldDeclarationUseItemProvider(this); + } + + return recordFieldDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse} instances. + * + * + * @generated + */ + protected PatternDeclarationUseItemProvider patternDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createPatternDeclarationUseAdapter() { + if (patternDeclarationUseItemProvider == null) { + patternDeclarationUseItemProvider = new PatternDeclarationUseItemProvider(this); + } + + return patternDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse} instances. + * + * + * @generated + */ + protected BoundDeclarationUseItemProvider boundDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createBoundDeclarationUseAdapter() { + if (boundDeclarationUseItemProvider == null) { + boundDeclarationUseItemProvider = new BoundDeclarationUseItemProvider(this); + } + + return boundDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PathDeclarationUse} instances. + * + * + * @generated + */ + protected PathDeclarationUseItemProvider pathDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createPathDeclarationUseAdapter() { + if (pathDeclarationUseItemProvider == null) { + pathDeclarationUseItemProvider = new PathDeclarationUseItemProvider(this); + } + + return pathDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse} instances. + * + * + * @generated + */ + protected PropertyDeclarationUseItemProvider propertyDeclarationUseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse}. + * + * + * @generated + */ + @Override + public Adapter createPropertyDeclarationUseAdapter() { + if (propertyDeclarationUseItemProvider == null) { + propertyDeclarationUseItemProvider = new PropertyDeclarationUseItemProvider(this); + } + + return propertyDeclarationUseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration} instances. + * + * + * @generated + */ + protected ImportDeclarationItemProvider importDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createImportDeclarationAdapter() { + if (importDeclarationItemProvider == null) { + importDeclarationItemProvider = new ImportDeclarationItemProvider(this); + } + + return importDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Declaration} instances. + * + * + * @generated + */ + protected DeclarationItemProvider declarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Declaration}. + * + * + * @generated + */ + @Override + public Adapter createDeclarationAdapter() { + if (declarationItemProvider == null) { + declarationItemProvider = new DeclarationItemProvider(this); + } + + return declarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration} instances. + * + * + * @generated + */ + protected ParameterizedDeclarationItemProvider parameterizedDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createParameterizedDeclarationAdapter() { + if (parameterizedDeclarationItemProvider == null) { + parameterizedDeclarationItemProvider = new ParameterizedDeclarationItemProvider(this); + } + + return parameterizedDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration} instances. + * + * + * @generated + */ + protected FunctionDeclarationItemProvider functionDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createFunctionDeclarationAdapter() { + if (functionDeclarationItemProvider == null) { + functionDeclarationItemProvider = new FunctionDeclarationItemProvider(this); + } + + return functionDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration} instances. + * + * + * @generated + */ + protected TypeDeclarationItemProvider typeDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createTypeDeclarationAdapter() { + if (typeDeclarationItemProvider == null) { + typeDeclarationItemProvider = new TypeDeclarationItemProvider(this); + } + + return typeDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration} instances. + * + * + * @generated + */ + protected ChannelDeclarationItemProvider channelDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createChannelDeclarationAdapter() { + if (channelDeclarationItemProvider == null) { + channelDeclarationItemProvider = new ChannelDeclarationItemProvider(this); + } + + return channelDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ChannelType} instances. + * + * + * @generated + */ + protected ChannelTypeItemProvider channelTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ChannelType}. + * + * + * @generated + */ + @Override + public Adapter createChannelTypeAdapter() { + if (channelTypeItemProvider == null) { + channelTypeItemProvider = new ChannelTypeItemProvider(this); + } + + return channelTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Type} instances. + * + * + * @generated + */ + protected TypeItemProvider typeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Type}. + * + * + * @generated + */ + @Override + public Adapter createTypeAdapter() { + if (typeItemProvider == null) { + typeItemProvider = new TypeItemProvider(this); + } + + return typeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.BasicType} instances. + * + * + * @generated + */ + protected BasicTypeItemProvider basicTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.BasicType}. + * + * + * @generated + */ + @Override + public Adapter createBasicTypeAdapter() { + if (basicTypeItemProvider == null) { + basicTypeItemProvider = new BasicTypeItemProvider(this); + } + + return basicTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RangeType} instances. + * + * + * @generated + */ + protected RangeTypeItemProvider rangeTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RangeType}. + * + * + * @generated + */ + @Override + public Adapter createRangeTypeAdapter() { + if (rangeTypeItemProvider == null) { + rangeTypeItemProvider = new RangeTypeItemProvider(this); + } + + return rangeTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnionType} instances. + * + * + * @generated + */ + protected UnionTypeItemProvider unionTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionType}. + * + * + * @generated + */ + @Override + public Adapter createUnionTypeAdapter() { + if (unionTypeItemProvider == null) { + unionTypeItemProvider = new UnionTypeItemProvider(this); + } + + return unionTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnionTags} instances. + * + * + * @generated + */ + protected UnionTagsItemProvider unionTagsItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTags}. + * + * + * @generated + */ + @Override + public Adapter createUnionTagsAdapter() { + if (unionTagsItemProvider == null) { + unionTagsItemProvider = new UnionTagsItemProvider(this); + } + + return unionTagsItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration} instances. + * + * + * @generated + */ + protected UnionTagDeclarationItemProvider unionTagDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createUnionTagDeclarationAdapter() { + if (unionTagDeclarationItemProvider == null) { + unionTagDeclarationItemProvider = new UnionTagDeclarationItemProvider(this); + } + + return unionTagDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordType} instances. + * + * + * @generated + */ + protected RecordTypeItemProvider recordTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordType}. + * + * + * @generated + */ + @Override + public Adapter createRecordTypeAdapter() { + if (recordTypeItemProvider == null) { + recordTypeItemProvider = new RecordTypeItemProvider(this); + } + + return recordTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordFields} instances. + * + * + * @generated + */ + protected RecordFieldsItemProvider recordFieldsItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFields}. + * + * + * @generated + */ + @Override + public Adapter createRecordFieldsAdapter() { + if (recordFieldsItemProvider == null) { + recordFieldsItemProvider = new RecordFieldsItemProvider(this); + } + + return recordFieldsItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration} instances. + * + * + * @generated + */ + protected RecordFieldDeclarationItemProvider recordFieldDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createRecordFieldDeclarationAdapter() { + if (recordFieldDeclarationItemProvider == null) { + recordFieldDeclarationItemProvider = new RecordFieldDeclarationItemProvider(this); + } + + return recordFieldDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.QueueType} instances. + * + * + * @generated + */ + protected QueueTypeItemProvider queueTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.QueueType}. + * + * + * @generated + */ + @Override + public Adapter createQueueTypeAdapter() { + if (queueTypeItemProvider == null) { + queueTypeItemProvider = new QueueTypeItemProvider(this); + } + + return queueTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ArrayType} instances. + * + * + * @generated + */ + protected ArrayTypeItemProvider arrayTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayType}. + * + * + * @generated + */ + @Override + public Adapter createArrayTypeAdapter() { + if (arrayTypeItemProvider == null) { + arrayTypeItemProvider = new ArrayTypeItemProvider(this); + } + + return arrayTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ReferencedType} instances. + * + * + * @generated + */ + protected ReferencedTypeItemProvider referencedTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferencedType}. + * + * + * @generated + */ + @Override + public Adapter createReferencedTypeAdapter() { + if (referencedTypeItemProvider == null) { + referencedTypeItemProvider = new ReferencedTypeItemProvider(this); + } + + return referencedTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration} instances. + * + * + * @generated + */ + protected ConstantDeclarationItemProvider constantDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createConstantDeclarationAdapter() { + if (constantDeclarationItemProvider == null) { + constantDeclarationItemProvider = new ConstantDeclarationItemProvider(this); + } + + return constantDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration} instances. + * + * + * @generated + */ + protected ProcessDeclarationItemProvider processDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createProcessDeclarationAdapter() { + if (processDeclarationItemProvider == null) { + processDeclarationItemProvider = new ProcessDeclarationItemProvider(this); + } + + return processDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.StateDeclaration} instances. + * + * + * @generated + */ + protected StateDeclarationItemProvider stateDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createStateDeclarationAdapter() { + if (stateDeclarationItemProvider == null) { + stateDeclarationItemProvider = new StateDeclarationItemProvider(this); + } + + return stateDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TransitionSource} instances. + * + * + * @generated + */ + protected TransitionSourceItemProvider transitionSourceItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TransitionSource}. + * + * + * @generated + */ + @Override + public Adapter createTransitionSourceAdapter() { + if (transitionSourceItemProvider == null) { + transitionSourceItemProvider = new TransitionSourceItemProvider(this); + } + + return transitionSourceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Transition} instances. + * + * + * @generated + */ + protected TransitionItemProvider transitionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Transition}. + * + * + * @generated + */ + @Override + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this); + } + + return transitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration} instances. + * + * + * @generated + */ + protected ComponentDeclarationItemProvider componentDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createComponentDeclarationAdapter() { + if (componentDeclarationItemProvider == null) { + componentDeclarationItemProvider = new ComponentDeclarationItemProvider(this); + } + + return componentDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration} instances. + * + * + * @generated + */ + protected PortsDeclarationItemProvider portsDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createPortsDeclarationAdapter() { + if (portsDeclarationItemProvider == null) { + portsDeclarationItemProvider = new PortsDeclarationItemProvider(this); + } + + return portsDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration} instances. + * + * + * @generated + */ + protected PortDeclarationItemProvider portDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createPortDeclarationAdapter() { + if (portDeclarationItemProvider == null) { + portDeclarationItemProvider = new PortDeclarationItemProvider(this); + } + + return portDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration} instances. + * + * + * @generated + */ + protected LocalPortsDeclarationItemProvider localPortsDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createLocalPortsDeclarationAdapter() { + if (localPortsDeclarationItemProvider == null) { + localPortsDeclarationItemProvider = new LocalPortsDeclarationItemProvider(this); + } + + return localPortsDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration} instances. + * + * + * @generated + */ + protected ParametersDeclarationItemProvider parametersDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createParametersDeclarationAdapter() { + if (parametersDeclarationItemProvider == null) { + parametersDeclarationItemProvider = new ParametersDeclarationItemProvider(this); + } + + return parametersDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration} instances. + * + * + * @generated + */ + protected ParameterDeclarationItemProvider parameterDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createParameterDeclarationAdapter() { + if (parameterDeclarationItemProvider == null) { + parameterDeclarationItemProvider = new ParameterDeclarationItemProvider(this); + } + + return parameterDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration} instances. + * + * + * @generated + */ + protected VariablesDeclarationItemProvider variablesDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createVariablesDeclarationAdapter() { + if (variablesDeclarationItemProvider == null) { + variablesDeclarationItemProvider = new VariablesDeclarationItemProvider(this); + } + + return variablesDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration} instances. + * + * + * @generated + */ + protected VariableDeclarationItemProvider variableDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createVariableDeclarationAdapter() { + if (variableDeclarationItemProvider == null) { + variableDeclarationItemProvider = new VariableDeclarationItemProvider(this); + } + + return variableDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration} instances. + * + * + * @generated + */ + protected PriorityDeclarationItemProvider priorityDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createPriorityDeclarationAdapter() { + if (priorityDeclarationItemProvider == null) { + priorityDeclarationItemProvider = new PriorityDeclarationItemProvider(this); + } + + return priorityDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PriorityGroup} instances. + * + * + * @generated + */ + protected PriorityGroupItemProvider priorityGroupItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PriorityGroup}. + * + * + * @generated + */ + @Override + public Adapter createPriorityGroupAdapter() { + if (priorityGroupItemProvider == null) { + priorityGroupItemProvider = new PriorityGroupItemProvider(this); + } + + return priorityGroupItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Statement} instances. + * + * + * @generated + */ + protected StatementItemProvider statementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + * + * @generated + */ + @Override + public Adapter createStatementAdapter() { + if (statementItemProvider == null) { + statementItemProvider = new StatementItemProvider(this); + } + + return statementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.BlockStatement} instances. + * + * + * @generated + */ + protected BlockStatementItemProvider blockStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.BlockStatement}. + * + * + * @generated + */ + @Override + public Adapter createBlockStatementAdapter() { + if (blockStatementItemProvider == null) { + blockStatementItemProvider = new BlockStatementItemProvider(this); + } + + return blockStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ReturnStatement} instances. + * + * + * @generated + */ + protected ReturnStatementItemProvider returnStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReturnStatement}. + * + * + * @generated + */ + @Override + public Adapter createReturnStatementAdapter() { + if (returnStatementItemProvider == null) { + returnStatementItemProvider = new ReturnStatementItemProvider(this); + } + + return returnStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NullStatement} instances. + * + * + * @generated + */ + protected NullStatementItemProvider nullStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NullStatement}. + * + * + * @generated + */ + @Override + public Adapter createNullStatementAdapter() { + if (nullStatementItemProvider == null) { + nullStatementItemProvider = new NullStatementItemProvider(this); + } + + return nullStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TaggedStatement} instances. + * + * + * @generated + */ + protected TaggedStatementItemProvider taggedStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TaggedStatement}. + * + * + * @generated + */ + @Override + public Adapter createTaggedStatementAdapter() { + if (taggedStatementItemProvider == null) { + taggedStatementItemProvider = new TaggedStatementItemProvider(this); + } + + return taggedStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PatternStatement} instances. + * + * + * @generated + */ + protected PatternStatementItemProvider patternStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternStatement}. + * + * + * @generated + */ + @Override + public Adapter createPatternStatementAdapter() { + if (patternStatementItemProvider == null) { + patternStatementItemProvider = new PatternStatementItemProvider(this); + } + + return patternStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Pattern} instances. + * + * + * @generated + */ + protected PatternItemProvider patternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + * + * @generated + */ + @Override + public Adapter createPatternAdapter() { + if (patternItemProvider == null) { + patternItemProvider = new PatternItemProvider(this); + } + + return patternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AnyPattern} instances. + * + * + * @generated + */ + protected AnyPatternItemProvider anyPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AnyPattern}. + * + * + * @generated + */ + @Override + public Adapter createAnyPatternAdapter() { + if (anyPatternItemProvider == null) { + anyPatternItemProvider = new AnyPatternItemProvider(this); + } + + return anyPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConstantPattern} instances. + * + * + * @generated + */ + protected ConstantPatternItemProvider constantPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstantPattern}. + * + * + * @generated + */ + @Override + public Adapter createConstantPatternAdapter() { + if (constantPatternItemProvider == null) { + constantPatternItemProvider = new ConstantPatternItemProvider(this); + } + + return constantPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.IntegerPattern} instances. + * + * + * @generated + */ + protected IntegerPatternItemProvider integerPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.IntegerPattern}. + * + * + * @generated + */ + @Override + public Adapter createIntegerPatternAdapter() { + if (integerPatternItemProvider == null) { + integerPatternItemProvider = new IntegerPatternItemProvider(this); + } + + return integerPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern} instances. + * + * + * @generated + */ + protected IdentifierPatternItemProvider identifierPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern}. + * + * + * @generated + */ + @Override + public Adapter createIdentifierPatternAdapter() { + if (identifierPatternItemProvider == null) { + identifierPatternItemProvider = new IdentifierPatternItemProvider(this); + } + + return identifierPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement} instances. + * + * + * @generated + */ + protected ConditionalStatementItemProvider conditionalStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement}. + * + * + * @generated + */ + @Override + public Adapter createConditionalStatementAdapter() { + if (conditionalStatementItemProvider == null) { + conditionalStatementItemProvider = new ConditionalStatementItemProvider(this); + } + + return conditionalStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement} instances. + * + * + * @generated + */ + protected ExtendedConditionalStatementItemProvider extendedConditionalStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement}. + * + * + * @generated + */ + @Override + public Adapter createExtendedConditionalStatementAdapter() { + if (extendedConditionalStatementItemProvider == null) { + extendedConditionalStatementItemProvider = new ExtendedConditionalStatementItemProvider(this); + } + + return extendedConditionalStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.SelectStatement} instances. + * + * + * @generated + */ + protected SelectStatementItemProvider selectStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.SelectStatement}. + * + * + * @generated + */ + @Override + public Adapter createSelectStatementAdapter() { + if (selectStatementItemProvider == null) { + selectStatementItemProvider = new SelectStatementItemProvider(this); + } + + return selectStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.WhileStatement} instances. + * + * + * @generated + */ + protected WhileStatementItemProvider whileStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.WhileStatement}. + * + * + * @generated + */ + @Override + public Adapter createWhileStatementAdapter() { + if (whileStatementItemProvider == null) { + whileStatementItemProvider = new WhileStatementItemProvider(this); + } + + return whileStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ForeachStatement} instances. + * + * + * @generated + */ + protected ForeachStatementItemProvider foreachStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ForeachStatement}. + * + * + * @generated + */ + @Override + public Adapter createForeachStatementAdapter() { + if (foreachStatementItemProvider == null) { + foreachStatementItemProvider = new ForeachStatementItemProvider(this); + } + + return foreachStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ToStatement} instances. + * + * + * @generated + */ + protected ToStatementItemProvider toStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ToStatement}. + * + * + * @generated + */ + @Override + public Adapter createToStatementAdapter() { + if (toStatementItemProvider == null) { + toStatementItemProvider = new ToStatementItemProvider(this); + } + + return toStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.CaseStatement} instances. + * + * + * @generated + */ + protected CaseStatementItemProvider caseStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.CaseStatement}. + * + * + * @generated + */ + @Override + public Adapter createCaseStatementAdapter() { + if (caseStatementItemProvider == null) { + caseStatementItemProvider = new CaseStatementItemProvider(this); + } + + return caseStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LoopStatement} instances. + * + * + * @generated + */ + protected LoopStatementItemProvider loopStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LoopStatement}. + * + * + * @generated + */ + @Override + public Adapter createLoopStatementAdapter() { + if (loopStatementItemProvider == null) { + loopStatementItemProvider = new LoopStatementItemProvider(this); + } + + return loopStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.OnStatement} instances. + * + * + * @generated + */ + protected OnStatementItemProvider onStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.OnStatement}. + * + * + * @generated + */ + @Override + public Adapter createOnStatementAdapter() { + if (onStatementItemProvider == null) { + onStatementItemProvider = new OnStatementItemProvider(this); + } + + return onStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.WaitStatement} instances. + * + * + * @generated + */ + protected WaitStatementItemProvider waitStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.WaitStatement}. + * + * + * @generated + */ + @Override + public Adapter createWaitStatementAdapter() { + if (waitStatementItemProvider == null) { + waitStatementItemProvider = new WaitStatementItemProvider(this); + } + + return waitStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Composition} instances. + * + * + * @generated + */ + protected CompositionItemProvider compositionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Composition}. + * + * + * @generated + */ + @Override + public Adapter createCompositionAdapter() { + if (compositionItemProvider == null) { + compositionItemProvider = new CompositionItemProvider(this); + } + + return compositionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Block} instances. + * + * + * @generated + */ + protected BlockItemProvider blockItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Block}. + * + * + * @generated + */ + @Override + public Adapter createBlockAdapter() { + if (blockItemProvider == null) { + blockItemProvider = new BlockItemProvider(this); + } + + return blockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.CompositeBlock} instances. + * + * + * @generated + */ + protected CompositeBlockItemProvider compositeBlockItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.CompositeBlock}. + * + * + * @generated + */ + @Override + public Adapter createCompositeBlockAdapter() { + if (compositeBlockItemProvider == null) { + compositeBlockItemProvider = new CompositeBlockItemProvider(this); + } + + return compositeBlockItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration} instances. + * + * + * @generated + */ + protected InstanceDeclarationItemProvider instanceDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createInstanceDeclarationAdapter() { + if (instanceDeclarationItemProvider == null) { + instanceDeclarationItemProvider = new InstanceDeclarationItemProvider(this); + } + + return instanceDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PortSet} instances. + * + * + * @generated + */ + protected PortSetItemProvider portSetItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortSet}. + * + * + * @generated + */ + @Override + public Adapter createPortSetAdapter() { + if (portSetItemProvider == null) { + portSetItemProvider = new PortSetItemProvider(this); + } + + return portSetItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance} instances. + * + * + * @generated + */ + protected ComponentInstanceItemProvider componentInstanceItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance}. + * + * + * @generated + */ + @Override + public Adapter createComponentInstanceAdapter() { + if (componentInstanceItemProvider == null) { + componentInstanceItemProvider = new ComponentInstanceItemProvider(this); + } + + return componentInstanceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Expression} instances. + * + * + * @generated + */ + protected ExpressionItemProvider expressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + * + * @generated + */ + @Override + public Adapter createExpressionAdapter() { + if (expressionItemProvider == null) { + expressionItemProvider = new ExpressionItemProvider(this); + } + + return expressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ValueExpression} instances. + * + * + * @generated + */ + protected ValueExpressionItemProvider valueExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ValueExpression}. + * + * + * @generated + */ + @Override + public Adapter createValueExpressionAdapter() { + if (valueExpressionItemProvider == null) { + valueExpressionItemProvider = new ValueExpressionItemProvider(this); + } + + return valueExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression} instances. + * + * + * @generated + */ + protected ReferenceExpressionItemProvider referenceExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression}. + * + * + * @generated + */ + @Override + public Adapter createReferenceExpressionAdapter() { + if (referenceExpressionItemProvider == null) { + referenceExpressionItemProvider = new ReferenceExpressionItemProvider(this); + } + + return referenceExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression} instances. + * + * + * @generated + */ + protected IdentifierExpressionItemProvider identifierExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression}. + * + * + * @generated + */ + @Override + public Adapter createIdentifierExpressionAdapter() { + if (identifierExpressionItemProvider == null) { + identifierExpressionItemProvider = new IdentifierExpressionItemProvider(this); + } + + return identifierExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordExpression} instances. + * + * + * @generated + */ + protected RecordExpressionItemProvider recordExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordExpression}. + * + * + * @generated + */ + @Override + public Adapter createRecordExpressionAdapter() { + if (recordExpressionItemProvider == null) { + recordExpressionItemProvider = new RecordExpressionItemProvider(this); + } + + return recordExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.FieldExpression} instances. + * + * + * @generated + */ + protected FieldExpressionItemProvider fieldExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.FieldExpression}. + * + * + * @generated + */ + @Override + public Adapter createFieldExpressionAdapter() { + if (fieldExpressionItemProvider == null) { + fieldExpressionItemProvider = new FieldExpressionItemProvider(this); + } + + return fieldExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ArrayExpression} instances. + * + * + * @generated + */ + protected ArrayExpressionItemProvider arrayExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayExpression}. + * + * + * @generated + */ + @Override + public Adapter createArrayExpressionAdapter() { + if (arrayExpressionItemProvider == null) { + arrayExpressionItemProvider = new ArrayExpressionItemProvider(this); + } + + return arrayExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.QueueExpression} instances. + * + * + * @generated + */ + protected QueueExpressionItemProvider queueExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.QueueExpression}. + * + * + * @generated + */ + @Override + public Adapter createQueueExpressionAdapter() { + if (queueExpressionItemProvider == null) { + queueExpressionItemProvider = new QueueExpressionItemProvider(this); + } + + return queueExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression} instances. + * + * + * @generated + */ + protected EnqueueExpressionItemProvider enqueueExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression}. + * + * + * @generated + */ + @Override + public Adapter createEnqueueExpressionAdapter() { + if (enqueueExpressionItemProvider == null) { + enqueueExpressionItemProvider = new EnqueueExpressionItemProvider(this); + } + + return enqueueExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AppendExpression} instances. + * + * + * @generated + */ + protected AppendExpressionItemProvider appendExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AppendExpression}. + * + * + * @generated + */ + @Override + public Adapter createAppendExpressionAdapter() { + if (appendExpressionItemProvider == null) { + appendExpressionItemProvider = new AppendExpressionItemProvider(this); + } + + return appendExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LiteralExpression} instances. + * + * + * @generated + */ + protected LiteralExpressionItemProvider literalExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LiteralExpression}. + * + * + * @generated + */ + @Override + public Adapter createLiteralExpressionAdapter() { + if (literalExpressionItemProvider == null) { + literalExpressionItemProvider = new LiteralExpressionItemProvider(this); + } + + return literalExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.BooleanLiteral} instances. + * + * + * @generated + */ + protected BooleanLiteralItemProvider booleanLiteralItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.BooleanLiteral}. + * + * + * @generated + */ + @Override + public Adapter createBooleanLiteralAdapter() { + if (booleanLiteralItemProvider == null) { + booleanLiteralItemProvider = new BooleanLiteralItemProvider(this); + } + + return booleanLiteralItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral} instances. + * + * + * @generated + */ + protected NaturalLiteralItemProvider naturalLiteralItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral}. + * + * + * @generated + */ + @Override + public Adapter createNaturalLiteralAdapter() { + if (naturalLiteralItemProvider == null) { + naturalLiteralItemProvider = new NaturalLiteralItemProvider(this); + } + + return naturalLiteralItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LowerBound} instances. + * + * + * @generated + */ + protected LowerBoundItemProvider lowerBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LowerBound}. + * + * + * @generated + */ + @Override + public Adapter createLowerBoundAdapter() { + if (lowerBoundItemProvider == null) { + lowerBoundItemProvider = new LowerBoundItemProvider(this); + } + + return lowerBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UpperBound} instances. + * + * + * @generated + */ + protected UpperBoundItemProvider upperBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UpperBound}. + * + * + * @generated + */ + @Override + public Adapter createUpperBoundAdapter() { + if (upperBoundItemProvider == null) { + upperBoundItemProvider = new UpperBoundItemProvider(this); + } + + return upperBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound} instances. + * + * + * @generated + */ + protected NaturalLowerBoundItemProvider naturalLowerBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound}. + * + * + * @generated + */ + @Override + public Adapter createNaturalLowerBoundAdapter() { + if (naturalLowerBoundItemProvider == null) { + naturalLowerBoundItemProvider = new NaturalLowerBoundItemProvider(this); + } + + return naturalLowerBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound} instances. + * + * + * @generated + */ + protected NaturalUpperBoundItemProvider naturalUpperBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound}. + * + * + * @generated + */ + @Override + public Adapter createNaturalUpperBoundAdapter() { + if (naturalUpperBoundItemProvider == null) { + naturalUpperBoundItemProvider = new NaturalUpperBoundItemProvider(this); + } + + return naturalUpperBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound} instances. + * + * + * @generated + */ + protected DecimalLowerBoundItemProvider decimalLowerBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound}. + * + * + * @generated + */ + @Override + public Adapter createDecimalLowerBoundAdapter() { + if (decimalLowerBoundItemProvider == null) { + decimalLowerBoundItemProvider = new DecimalLowerBoundItemProvider(this); + } + + return decimalLowerBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound} instances. + * + * + * @generated + */ + protected DecimalUpperBoundItemProvider decimalUpperBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound}. + * + * + * @generated + */ + @Override + public Adapter createDecimalUpperBoundAdapter() { + if (decimalUpperBoundItemProvider == null) { + decimalUpperBoundItemProvider = new DecimalUpperBoundItemProvider(this); + } + + return decimalUpperBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound} instances. + * + * + * @generated + */ + protected VariableLowerBoundItemProvider variableLowerBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound}. + * + * + * @generated + */ + @Override + public Adapter createVariableLowerBoundAdapter() { + if (variableLowerBoundItemProvider == null) { + variableLowerBoundItemProvider = new VariableLowerBoundItemProvider(this); + } + + return variableLowerBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound} instances. + * + * + * @generated + */ + protected VariableUpperBoundItemProvider variableUpperBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound}. + * + * + * @generated + */ + @Override + public Adapter createVariableUpperBoundAdapter() { + if (variableUpperBoundItemProvider == null) { + variableUpperBoundItemProvider = new VariableUpperBoundItemProvider(this); + } + + return variableUpperBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound} instances. + * + * + * @generated + */ + protected InfiniteUpperBoundItemProvider infiniteUpperBoundItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound}. + * + * + * @generated + */ + @Override + public Adapter createInfiniteUpperBoundAdapter() { + if (infiniteUpperBoundItemProvider == null) { + infiniteUpperBoundItemProvider = new InfiniteUpperBoundItemProvider(this); + } + + return infiniteUpperBoundItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Requirement} instances. + * + * + * @generated + */ + protected RequirementItemProvider requirementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Requirement}. + * + * + * @generated + */ + @Override + public Adapter createRequirementAdapter() { + if (requirementItemProvider == null) { + requirementItemProvider = new RequirementItemProvider(this); + } + + return requirementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration} instances. + * + * + * @generated + */ + protected PropertyDeclarationItemProvider propertyDeclarationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration}. + * + * + * @generated + */ + @Override + public Adapter createPropertyDeclarationAdapter() { + if (propertyDeclarationItemProvider == null) { + propertyDeclarationItemProvider = new PropertyDeclarationItemProvider(this); + } + + return propertyDeclarationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Property} instances. + * + * + * @generated + */ + protected PropertyItemProvider propertyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Property}. + * + * + * @generated + */ + @Override + public Adapter createPropertyAdapter() { + if (propertyItemProvider == null) { + propertyItemProvider = new PropertyItemProvider(this); + } + + return propertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PatternProperty} instances. + * + * + * @generated + */ + protected PatternPropertyItemProvider patternPropertyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternProperty}. + * + * + * @generated + */ + @Override + public Adapter createPatternPropertyAdapter() { + if (patternPropertyItemProvider == null) { + patternPropertyItemProvider = new PatternPropertyItemProvider(this); + } + + return patternPropertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLPattern} instances. + * + * + * @generated + */ + protected LTLPatternItemProvider ltlPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLPattern}. + * + * + * @generated + */ + @Override + public Adapter createLTLPatternAdapter() { + if (ltlPatternItemProvider == null) { + ltlPatternItemProvider = new LTLPatternItemProvider(this); + } + + return ltlPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern} instances. + * + * + * @generated + */ + protected DeadlockFreePatternItemProvider deadlockFreePatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern}. + * + * + * @generated + */ + @Override + public Adapter createDeadlockFreePatternAdapter() { + if (deadlockFreePatternItemProvider == null) { + deadlockFreePatternItemProvider = new DeadlockFreePatternItemProvider(this); + } + + return deadlockFreePatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern} instances. + * + * + * @generated + */ + protected InfinitelyOftenPatternItemProvider infinitelyOftenPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern}. + * + * + * @generated + */ + @Override + public Adapter createInfinitelyOftenPatternAdapter() { + if (infinitelyOftenPatternItemProvider == null) { + infinitelyOftenPatternItemProvider = new InfinitelyOftenPatternItemProvider(this); + } + + return infinitelyOftenPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.MortalPattern} instances. + * + * + * @generated + */ + protected MortalPatternItemProvider mortalPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.MortalPattern}. + * + * + * @generated + */ + @Override + public Adapter createMortalPatternAdapter() { + if (mortalPatternItemProvider == null) { + mortalPatternItemProvider = new MortalPatternItemProvider(this); + } + + return mortalPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PresencePattern} instances. + * + * + * @generated + */ + protected PresencePatternItemProvider presencePatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PresencePattern}. + * + * + * @generated + */ + @Override + public Adapter createPresencePatternAdapter() { + if (presencePatternItemProvider == null) { + presencePatternItemProvider = new PresencePatternItemProvider(this); + } + + return presencePatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern} instances. + * + * + * @generated + */ + protected AbsencePatternItemProvider absencePatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern}. + * + * + * @generated + */ + @Override + public Adapter createAbsencePatternAdapter() { + if (absencePatternItemProvider == null) { + absencePatternItemProvider = new AbsencePatternItemProvider(this); + } + + return absencePatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern} instances. + * + * + * @generated + */ + protected AlwaysPatternItemProvider alwaysPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern}. + * + * + * @generated + */ + @Override + public Adapter createAlwaysPatternAdapter() { + if (alwaysPatternItemProvider == null) { + alwaysPatternItemProvider = new AlwaysPatternItemProvider(this); + } + + return alwaysPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.SequencePattern} instances. + * + * + * @generated + */ + protected SequencePatternItemProvider sequencePatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.SequencePattern}. + * + * + * @generated + */ + @Override + public Adapter createSequencePatternAdapter() { + if (sequencePatternItemProvider == null) { + sequencePatternItemProvider = new SequencePatternItemProvider(this); + } + + return sequencePatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLProperty} instances. + * + * + * @generated + */ + protected LTLPropertyItemProvider ltlPropertyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLProperty}. + * + * + * @generated + */ + @Override + public Adapter createLTLPropertyAdapter() { + if (ltlPropertyItemProvider == null) { + ltlPropertyItemProvider = new LTLPropertyItemProvider(this); + } + + return ltlPropertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.StateEvent} instances. + * + * + * @generated + */ + protected StateEventItemProvider stateEventItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateEvent}. + * + * + * @generated + */ + @Override + public Adapter createStateEventAdapter() { + if (stateEventItemProvider == null) { + stateEventItemProvider = new StateEventItemProvider(this); + } + + return stateEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.EnterStateEvent} instances. + * + * + * @generated + */ + protected EnterStateEventItemProvider enterStateEventItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.EnterStateEvent}. + * + * + * @generated + */ + @Override + public Adapter createEnterStateEventAdapter() { + if (enterStateEventItemProvider == null) { + enterStateEventItemProvider = new EnterStateEventItemProvider(this); + } + + return enterStateEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LeaveStateEvent} instances. + * + * + * @generated + */ + protected LeaveStateEventItemProvider leaveStateEventItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LeaveStateEvent}. + * + * + * @generated + */ + @Override + public Adapter createLeaveStateEventAdapter() { + if (leaveStateEventItemProvider == null) { + leaveStateEventItemProvider = new LeaveStateEventItemProvider(this); + } + + return leaveStateEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Observable} instances. + * + * + * @generated + */ + protected ObservableItemProvider observableItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Observable}. + * + * + * @generated + */ + @Override + public Adapter createObservableAdapter() { + if (observableItemProvider == null) { + observableItemProvider = new ObservableItemProvider(this); + } + + return observableItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ObservableEvent} instances. + * + * + * @generated + */ + protected ObservableEventItemProvider observableEventItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableEvent}. + * + * + * @generated + */ + @Override + public Adapter createObservableEventAdapter() { + if (observableEventItemProvider == null) { + observableEventItemProvider = new ObservableEventItemProvider(this); + } + + return observableEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PathEvent} instances. + * + * + * @generated + */ + protected PathEventItemProvider pathEventItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathEvent}. + * + * + * @generated + */ + @Override + public Adapter createPathEventAdapter() { + if (pathEventItemProvider == null) { + pathEventItemProvider = new PathEventItemProvider(this); + } + + return pathEventItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Path} instances. + * + * + * @generated + */ + protected PathItemProvider pathItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Path}. + * + * + * @generated + */ + @Override + public Adapter createPathAdapter() { + if (pathItemProvider == null) { + pathItemProvider = new PathItemProvider(this); + } + + return pathItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PathItem} instances. + * + * + * @generated + */ + protected PathItemItemProvider pathItemItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathItem}. + * + * + * @generated + */ + @Override + public Adapter createPathItemAdapter() { + if (pathItemItemProvider == null) { + pathItemItemProvider = new PathItemItemProvider(this); + } + + return pathItemItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NaturalItem} instances. + * + * + * @generated + */ + protected NaturalItemItemProvider naturalItemItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalItem}. + * + * + * @generated + */ + @Override + public Adapter createNaturalItemAdapter() { + if (naturalItemItemProvider == null) { + naturalItemItemProvider = new NaturalItemItemProvider(this); + } + + return naturalItemItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NamedItem} instances. + * + * + * @generated + */ + protected NamedItemItemProvider namedItemItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NamedItem}. + * + * + * @generated + */ + @Override + public Adapter createNamedItemAdapter() { + if (namedItemItemProvider == null) { + namedItemItemProvider = new NamedItemItemProvider(this); + } + + return namedItemItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Subject} instances. + * + * + * @generated + */ + protected SubjectItemProvider subjectItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Subject}. + * + * + * @generated + */ + @Override + public Adapter createSubjectAdapter() { + if (subjectItemProvider == null) { + subjectItemProvider = new SubjectItemProvider(this); + } + + return subjectItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.StateSubject} instances. + * + * + * @generated + */ + protected StateSubjectItemProvider stateSubjectItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateSubject}. + * + * + * @generated + */ + @Override + public Adapter createStateSubjectAdapter() { + if (stateSubjectItemProvider == null) { + stateSubjectItemProvider = new StateSubjectItemProvider(this); + } + + return stateSubjectItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ValueSubject} instances. + * + * + * @generated + */ + protected ValueSubjectItemProvider valueSubjectItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ValueSubject}. + * + * + * @generated + */ + @Override + public Adapter createValueSubjectAdapter() { + if (valueSubjectItemProvider == null) { + valueSubjectItemProvider = new ValueSubjectItemProvider(this); + } + + return valueSubjectItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TagSubject} instances. + * + * + * @generated + */ + protected TagSubjectItemProvider tagSubjectItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TagSubject}. + * + * + * @generated + */ + @Override + public Adapter createTagSubjectAdapter() { + if (tagSubjectItemProvider == null) { + tagSubjectItemProvider = new TagSubjectItemProvider(this); + } + + return tagSubjectItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.EventSubject} instances. + * + * + * @generated + */ + protected EventSubjectItemProvider eventSubjectItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.EventSubject}. + * + * + * @generated + */ + @Override + public Adapter createEventSubjectAdapter() { + if (eventSubjectItemProvider == null) { + eventSubjectItemProvider = new EventSubjectItemProvider(this); + } + + return eventSubjectItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TupleType} instances. + * + * + * @generated + */ + protected TupleTypeItemProvider tupleTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TupleType}. + * + * + * @generated + */ + @Override + public Adapter createTupleTypeAdapter() { + if (tupleTypeItemProvider == null) { + tupleTypeItemProvider = new TupleTypeItemProvider(this); + } + + return tupleTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.NaturalType} instances. + * + * + * @generated + */ + protected NaturalTypeItemProvider naturalTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalType}. + * + * + * @generated + */ + @Override + public Adapter createNaturalTypeAdapter() { + if (naturalTypeItemProvider == null) { + naturalTypeItemProvider = new NaturalTypeItemProvider(this); + } + + return naturalTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.IntegerType} instances. + * + * + * @generated + */ + protected IntegerTypeItemProvider integerTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.IntegerType}. + * + * + * @generated + */ + @Override + public Adapter createIntegerTypeAdapter() { + if (integerTypeItemProvider == null) { + integerTypeItemProvider = new IntegerTypeItemProvider(this); + } + + return integerTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.BooleanType} instances. + * + * + * @generated + */ + protected BooleanTypeItemProvider booleanTypeItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.BooleanType}. + * + * + * @generated + */ + @Override + public Adapter createBooleanTypeAdapter() { + if (booleanTypeItemProvider == null) { + booleanTypeItemProvider = new BooleanTypeItemProvider(this); + } + + return booleanTypeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnlessStatement} instances. + * + * + * @generated + */ + protected UnlessStatementItemProvider unlessStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnlessStatement}. + * + * + * @generated + */ + @Override + public Adapter createUnlessStatementAdapter() { + if (unlessStatementItemProvider == null) { + unlessStatementItemProvider = new UnlessStatementItemProvider(this); + } + + return unlessStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.StatementChoice} instances. + * + * + * @generated + */ + protected StatementChoiceItemProvider statementChoiceItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.StatementChoice}. + * + * + * @generated + */ + @Override + public Adapter createStatementChoiceAdapter() { + if (statementChoiceItemProvider == null) { + statementChoiceItemProvider = new StatementChoiceItemProvider(this); + } + + return statementChoiceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.StatementSequence} instances. + * + * + * @generated + */ + protected StatementSequenceItemProvider statementSequenceItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.StatementSequence}. + * + * + * @generated + */ + @Override + public Adapter createStatementSequenceAdapter() { + if (statementSequenceItemProvider == null) { + statementSequenceItemProvider = new StatementSequenceItemProvider(this); + } + + return statementSequenceItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AssignStatement} instances. + * + * + * @generated + */ + protected AssignStatementItemProvider assignStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AssignStatement}. + * + * + * @generated + */ + @Override + public Adapter createAssignStatementAdapter() { + if (assignStatementItemProvider == null) { + assignStatementItemProvider = new AssignStatementItemProvider(this); + } + + return assignStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement} instances. + * + * + * @generated + */ + protected AssignAnyStatementItemProvider assignAnyStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement}. + * + * + * @generated + */ + @Override + public Adapter createAssignAnyStatementAdapter() { + if (assignAnyStatementItemProvider == null) { + assignAnyStatementItemProvider = new AssignAnyStatementItemProvider(this); + } + + return assignAnyStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.SendStatement} instances. + * + * + * @generated + */ + protected SendStatementItemProvider sendStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.SendStatement}. + * + * + * @generated + */ + @Override + public Adapter createSendStatementAdapter() { + if (sendStatementItemProvider == null) { + sendStatementItemProvider = new SendStatementItemProvider(this); + } + + return sendStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement} instances. + * + * + * @generated + */ + protected ReceiveStatementItemProvider receiveStatementItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement}. + * + * + * @generated + */ + @Override + public Adapter createReceiveStatementAdapter() { + if (receiveStatementItemProvider == null) { + receiveStatementItemProvider = new ReceiveStatementItemProvider(this); + } + + return receiveStatementItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern} instances. + * + * + * @generated + */ + protected ConstructorPatternItemProvider constructorPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern}. + * + * + * @generated + */ + @Override + public Adapter createConstructorPatternAdapter() { + if (constructorPatternItemProvider == null) { + constructorPatternItemProvider = new ConstructorPatternItemProvider(this); + } + + return constructorPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern} instances. + * + * + * @generated + */ + protected ArrayAccessPatternItemProvider arrayAccessPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern}. + * + * + * @generated + */ + @Override + public Adapter createArrayAccessPatternAdapter() { + if (arrayAccessPatternItemProvider == null) { + arrayAccessPatternItemProvider = new ArrayAccessPatternItemProvider(this); + } + + return arrayAccessPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern} instances. + * + * + * @generated + */ + protected RecordAccessPatternItemProvider recordAccessPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern}. + * + * + * @generated + */ + @Override + public Adapter createRecordAccessPatternAdapter() { + if (recordAccessPatternItemProvider == null) { + recordAccessPatternItemProvider = new RecordAccessPatternItemProvider(this); + } + + return recordAccessPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AllExpression} instances. + * + * + * @generated + */ + protected AllExpressionItemProvider allExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AllExpression}. + * + * + * @generated + */ + @Override + public Adapter createAllExpressionAdapter() { + if (allExpressionItemProvider == null) { + allExpressionItemProvider = new AllExpressionItemProvider(this); + } + + return allExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression} instances. + * + * + * @generated + */ + protected ExistsExpressionItemProvider existsExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression}. + * + * + * @generated + */ + @Override + public Adapter createExistsExpressionAdapter() { + if (existsExpressionItemProvider == null) { + existsExpressionItemProvider = new ExistsExpressionItemProvider(this); + } + + return existsExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Conditional} instances. + * + * + * @generated + */ + protected ConditionalItemProvider conditionalItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Conditional}. + * + * + * @generated + */ + @Override + public Adapter createConditionalAdapter() { + if (conditionalItemProvider == null) { + conditionalItemProvider = new ConditionalItemProvider(this); + } + + return conditionalItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Disjunction} instances. + * + * + * @generated + */ + protected DisjunctionItemProvider disjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Disjunction}. + * + * + * @generated + */ + @Override + public Adapter createDisjunctionAdapter() { + if (disjunctionItemProvider == null) { + disjunctionItemProvider = new DisjunctionItemProvider(this); + } + + return disjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Implication} instances. + * + * + * @generated + */ + protected ImplicationItemProvider implicationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Implication}. + * + * + * @generated + */ + @Override + public Adapter createImplicationAdapter() { + if (implicationItemProvider == null) { + implicationItemProvider = new ImplicationItemProvider(this); + } + + return implicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Conjunction} instances. + * + * + * @generated + */ + protected ConjunctionItemProvider conjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Conjunction}. + * + * + * @generated + */ + @Override + public Adapter createConjunctionAdapter() { + if (conjunctionItemProvider == null) { + conjunctionItemProvider = new ConjunctionItemProvider(this); + } + + return conjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual} instances. + * + * + * @generated + */ + protected ComparisonEqualItemProvider comparisonEqualItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual}. + * + * + * @generated + */ + @Override + public Adapter createComparisonEqualAdapter() { + if (comparisonEqualItemProvider == null) { + comparisonEqualItemProvider = new ComparisonEqualItemProvider(this); + } + + return comparisonEqualItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual} instances. + * + * + * @generated + */ + protected ComparisonNotEqualItemProvider comparisonNotEqualItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual}. + * + * + * @generated + */ + @Override + public Adapter createComparisonNotEqualAdapter() { + if (comparisonNotEqualItemProvider == null) { + comparisonNotEqualItemProvider = new ComparisonNotEqualItemProvider(this); + } + + return comparisonNotEqualItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser} instances. + * + * + * @generated + */ + protected ComparisonLesserItemProvider comparisonLesserItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser}. + * + * + * @generated + */ + @Override + public Adapter createComparisonLesserAdapter() { + if (comparisonLesserItemProvider == null) { + comparisonLesserItemProvider = new ComparisonLesserItemProvider(this); + } + + return comparisonLesserItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual} instances. + * + * + * @generated + */ + protected ComparisonLesserEqualItemProvider comparisonLesserEqualItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual}. + * + * + * @generated + */ + @Override + public Adapter createComparisonLesserEqualAdapter() { + if (comparisonLesserEqualItemProvider == null) { + comparisonLesserEqualItemProvider = new ComparisonLesserEqualItemProvider(this); + } + + return comparisonLesserEqualItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater} instances. + * + * + * @generated + */ + protected ComparisonGreaterItemProvider comparisonGreaterItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater}. + * + * + * @generated + */ + @Override + public Adapter createComparisonGreaterAdapter() { + if (comparisonGreaterItemProvider == null) { + comparisonGreaterItemProvider = new ComparisonGreaterItemProvider(this); + } + + return comparisonGreaterItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual} instances. + * + * + * @generated + */ + protected ComparisonGreaterEqualItemProvider comparisonGreaterEqualItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual}. + * + * + * @generated + */ + @Override + public Adapter createComparisonGreaterEqualAdapter() { + if (comparisonGreaterEqualItemProvider == null) { + comparisonGreaterEqualItemProvider = new ComparisonGreaterEqualItemProvider(this); + } + + return comparisonGreaterEqualItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Addition} instances. + * + * + * @generated + */ + protected AdditionItemProvider additionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Addition}. + * + * + * @generated + */ + @Override + public Adapter createAdditionAdapter() { + if (additionItemProvider == null) { + additionItemProvider = new AdditionItemProvider(this); + } + + return additionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Substraction} instances. + * + * + * @generated + */ + protected SubstractionItemProvider substractionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Substraction}. + * + * + * @generated + */ + @Override + public Adapter createSubstractionAdapter() { + if (substractionItemProvider == null) { + substractionItemProvider = new SubstractionItemProvider(this); + } + + return substractionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Multiplication} instances. + * + * + * @generated + */ + protected MultiplicationItemProvider multiplicationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Multiplication}. + * + * + * @generated + */ + @Override + public Adapter createMultiplicationAdapter() { + if (multiplicationItemProvider == null) { + multiplicationItemProvider = new MultiplicationItemProvider(this); + } + + return multiplicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Division} instances. + * + * + * @generated + */ + protected DivisionItemProvider divisionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Division}. + * + * + * @generated + */ + @Override + public Adapter createDivisionAdapter() { + if (divisionItemProvider == null) { + divisionItemProvider = new DivisionItemProvider(this); + } + + return divisionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Modulo} instances. + * + * + * @generated + */ + protected ModuloItemProvider moduloItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Modulo}. + * + * + * @generated + */ + @Override + public Adapter createModuloAdapter() { + if (moduloItemProvider == null) { + moduloItemProvider = new ModuloItemProvider(this); + } + + return moduloItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression} instances. + * + * + * @generated + */ + protected UnaryPlusExpressionItemProvider unaryPlusExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryPlusExpressionAdapter() { + if (unaryPlusExpressionItemProvider == null) { + unaryPlusExpressionItemProvider = new UnaryPlusExpressionItemProvider(this); + } + + return unaryPlusExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression} instances. + * + * + * @generated + */ + protected UnaryMinusExpressionItemProvider unaryMinusExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryMinusExpressionAdapter() { + if (unaryMinusExpressionItemProvider == null) { + unaryMinusExpressionItemProvider = new UnaryMinusExpressionItemProvider(this); + } + + return unaryMinusExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression} instances. + * + * + * @generated + */ + protected UnaryNegationExpressionItemProvider unaryNegationExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryNegationExpressionAdapter() { + if (unaryNegationExpressionItemProvider == null) { + unaryNegationExpressionItemProvider = new UnaryNegationExpressionItemProvider(this); + } + + return unaryNegationExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression} instances. + * + * + * @generated + */ + protected UnaryFirstExpressionItemProvider unaryFirstExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryFirstExpressionAdapter() { + if (unaryFirstExpressionItemProvider == null) { + unaryFirstExpressionItemProvider = new UnaryFirstExpressionItemProvider(this); + } + + return unaryFirstExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression} instances. + * + * + * @generated + */ + protected UnaryLengthExpressionItemProvider unaryLengthExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryLengthExpressionAdapter() { + if (unaryLengthExpressionItemProvider == null) { + unaryLengthExpressionItemProvider = new UnaryLengthExpressionItemProvider(this); + } + + return unaryLengthExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression} instances. + * + * + * @generated + */ + protected UnaryCoerceExpressionItemProvider unaryCoerceExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryCoerceExpressionAdapter() { + if (unaryCoerceExpressionItemProvider == null) { + unaryCoerceExpressionItemProvider = new UnaryCoerceExpressionItemProvider(this); + } + + return unaryCoerceExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression} instances. + * + * + * @generated + */ + protected UnaryFullExpressionItemProvider unaryFullExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryFullExpressionAdapter() { + if (unaryFullExpressionItemProvider == null) { + unaryFullExpressionItemProvider = new UnaryFullExpressionItemProvider(this); + } + + return unaryFullExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression} instances. + * + * + * @generated + */ + protected UnaryDeQueueExpressionItemProvider unaryDeQueueExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryDeQueueExpressionAdapter() { + if (unaryDeQueueExpressionItemProvider == null) { + unaryDeQueueExpressionItemProvider = new UnaryDeQueueExpressionItemProvider(this); + } + + return unaryDeQueueExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression} instances. + * + * + * @generated + */ + protected UnaryEmptyExpressionItemProvider unaryEmptyExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression}. + * + * + * @generated + */ + @Override + public Adapter createUnaryEmptyExpressionAdapter() { + if (unaryEmptyExpressionItemProvider == null) { + unaryEmptyExpressionItemProvider = new UnaryEmptyExpressionItemProvider(this); + } + + return unaryEmptyExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.Projection} instances. + * + * + * @generated + */ + protected ProjectionItemProvider projectionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.Projection}. + * + * + * @generated + */ + @Override + public Adapter createProjectionAdapter() { + if (projectionItemProvider == null) { + projectionItemProvider = new ProjectionItemProvider(this); + } + + return projectionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression} instances. + * + * + * @generated + */ + protected ConstructionExpressionItemProvider constructionExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression}. + * + * + * @generated + */ + @Override + public Adapter createConstructionExpressionAdapter() { + if (constructionExpressionItemProvider == null) { + constructionExpressionItemProvider = new ConstructionExpressionItemProvider(this); + } + + return constructionExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression} instances. + * + * + * @generated + */ + protected ArrayAccessExpressionItemProvider arrayAccessExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression}. + * + * + * @generated + */ + @Override + public Adapter createArrayAccessExpressionAdapter() { + if (arrayAccessExpressionItemProvider == null) { + arrayAccessExpressionItemProvider = new ArrayAccessExpressionItemProvider(this); + } + + return arrayAccessExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression} instances. + * + * + * @generated + */ + protected RecordAccessExpressionItemProvider recordAccessExpressionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression}. + * + * + * @generated + */ + @Override + public Adapter createRecordAccessExpressionAdapter() { + if (recordAccessExpressionItemProvider == null) { + recordAccessExpressionItemProvider = new RecordAccessExpressionItemProvider(this); + } + + return recordAccessExpressionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.TrueLiteral} instances. + * + * + * @generated + */ + protected TrueLiteralItemProvider trueLiteralItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.TrueLiteral}. + * + * + * @generated + */ + @Override + public Adapter createTrueLiteralAdapter() { + if (trueLiteralItemProvider == null) { + trueLiteralItemProvider = new TrueLiteralItemProvider(this); + } + + return trueLiteralItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.FalseLiteral} instances. + * + * + * @generated + */ + protected FalseLiteralItemProvider falseLiteralItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.FalseLiteral}. + * + * + * @generated + */ + @Override + public Adapter createFalseLiteralAdapter() { + if (falseLiteralItemProvider == null) { + falseLiteralItemProvider = new FalseLiteralItemProvider(this); + } + + return falseLiteralItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.AllProperty} instances. + * + * + * @generated + */ + protected AllPropertyItemProvider allPropertyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.AllProperty}. + * + * + * @generated + */ + @Override + public Adapter createAllPropertyAdapter() { + if (allPropertyItemProvider == null) { + allPropertyItemProvider = new AllPropertyItemProvider(this); + } + + return allPropertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty} instances. + * + * + * @generated + */ + protected ExistsPropertyItemProvider existsPropertyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty}. + * + * + * @generated + */ + @Override + public Adapter createExistsPropertyAdapter() { + if (existsPropertyItemProvider == null) { + existsPropertyItemProvider = new ExistsPropertyItemProvider(this); + } + + return existsPropertyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction} instances. + * + * + * @generated + */ + protected PropertyDisjunctionItemProvider propertyDisjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction}. + * + * + * @generated + */ + @Override + public Adapter createPropertyDisjunctionAdapter() { + if (propertyDisjunctionItemProvider == null) { + propertyDisjunctionItemProvider = new PropertyDisjunctionItemProvider(this); + } + + return propertyDisjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyImplication} instances. + * + * + * @generated + */ + protected PropertyImplicationItemProvider propertyImplicationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyImplication}. + * + * + * @generated + */ + @Override + public Adapter createPropertyImplicationAdapter() { + if (propertyImplicationItemProvider == null) { + propertyImplicationItemProvider = new PropertyImplicationItemProvider(this); + } + + return propertyImplicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction} instances. + * + * + * @generated + */ + protected PropertyConjunctionItemProvider propertyConjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction}. + * + * + * @generated + */ + @Override + public Adapter createPropertyConjunctionAdapter() { + if (propertyConjunctionItemProvider == null) { + propertyConjunctionItemProvider = new PropertyConjunctionItemProvider(this); + } + + return propertyConjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PropertyNegation} instances. + * + * + * @generated + */ + protected PropertyNegationItemProvider propertyNegationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyNegation}. + * + * + * @generated + */ + @Override + public Adapter createPropertyNegationAdapter() { + if (propertyNegationItemProvider == null) { + propertyNegationItemProvider = new PropertyNegationItemProvider(this); + } + + return propertyNegationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern} instances. + * + * + * @generated + */ + protected LeadsToPatternItemProvider leadsToPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern}. + * + * + * @generated + */ + @Override + public Adapter createLeadsToPatternAdapter() { + if (leadsToPatternItemProvider == null) { + leadsToPatternItemProvider = new LeadsToPatternItemProvider(this); + } + + return leadsToPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern} instances. + * + * + * @generated + */ + protected PrecedesPatternItemProvider precedesPatternItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern}. + * + * + * @generated + */ + @Override + public Adapter createPrecedesPatternAdapter() { + if (precedesPatternItemProvider == null) { + precedesPatternItemProvider = new PrecedesPatternItemProvider(this); + } + + return precedesPatternItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLAll} instances. + * + * + * @generated + */ + protected LTLAllItemProvider ltlAllItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLAll}. + * + * + * @generated + */ + @Override + public Adapter createLTLAllAdapter() { + if (ltlAllItemProvider == null) { + ltlAllItemProvider = new LTLAllItemProvider(this); + } + + return ltlAllItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLExists} instances. + * + * + * @generated + */ + protected LTLExistsItemProvider ltlExistsItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLExists}. + * + * + * @generated + */ + @Override + public Adapter createLTLExistsAdapter() { + if (ltlExistsItemProvider == null) { + ltlExistsItemProvider = new LTLExistsItemProvider(this); + } + + return ltlExistsItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction} instances. + * + * + * @generated + */ + protected LTLDisjunctionItemProvider ltlDisjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction}. + * + * + * @generated + */ + @Override + public Adapter createLTLDisjunctionAdapter() { + if (ltlDisjunctionItemProvider == null) { + ltlDisjunctionItemProvider = new LTLDisjunctionItemProvider(this); + } + + return ltlDisjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLImplication} instances. + * + * + * @generated + */ + protected LTLImplicationItemProvider ltlImplicationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLImplication}. + * + * + * @generated + */ + @Override + public Adapter createLTLImplicationAdapter() { + if (ltlImplicationItemProvider == null) { + ltlImplicationItemProvider = new LTLImplicationItemProvider(this); + } + + return ltlImplicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLConjunction} instances. + * + * + * @generated + */ + protected LTLConjunctionItemProvider ltlConjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLConjunction}. + * + * + * @generated + */ + @Override + public Adapter createLTLConjunctionAdapter() { + if (ltlConjunctionItemProvider == null) { + ltlConjunctionItemProvider = new LTLConjunctionItemProvider(this); + } + + return ltlConjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLUntil} instances. + * + * + * @generated + */ + protected LTLUntilItemProvider ltlUntilItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUntil}. + * + * + * @generated + */ + @Override + public Adapter createLTLUntilAdapter() { + if (ltlUntilItemProvider == null) { + ltlUntilItemProvider = new LTLUntilItemProvider(this); + } + + return ltlUntilItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLRelease} instances. + * + * + * @generated + */ + protected LTLReleaseItemProvider ltlReleaseItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLRelease}. + * + * + * @generated + */ + @Override + public Adapter createLTLReleaseAdapter() { + if (ltlReleaseItemProvider == null) { + ltlReleaseItemProvider = new LTLReleaseItemProvider(this); + } + + return ltlReleaseItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation} instances. + * + * + * @generated + */ + protected LTLUnaryNegationItemProvider ltlUnaryNegationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation}. + * + * + * @generated + */ + @Override + public Adapter createLTLUnaryNegationAdapter() { + if (ltlUnaryNegationItemProvider == null) { + ltlUnaryNegationItemProvider = new LTLUnaryNegationItemProvider(this); + } + + return ltlUnaryNegationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext} instances. + * + * + * @generated + */ + protected LTLUnaryNextItemProvider ltlUnaryNextItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext}. + * + * + * @generated + */ + @Override + public Adapter createLTLUnaryNextAdapter() { + if (ltlUnaryNextItemProvider == null) { + ltlUnaryNextItemProvider = new LTLUnaryNextItemProvider(this); + } + + return ltlUnaryNextItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways} instances. + * + * + * @generated + */ + protected LTLUnaryAlwaysItemProvider ltlUnaryAlwaysItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways}. + * + * + * @generated + */ + @Override + public Adapter createLTLUnaryAlwaysAdapter() { + if (ltlUnaryAlwaysItemProvider == null) { + ltlUnaryAlwaysItemProvider = new LTLUnaryAlwaysItemProvider(this); + } + + return ltlUnaryAlwaysItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually} instances. + * + * + * @generated + */ + protected LTLUnaryEventuallyItemProvider ltlUnaryEventuallyItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually}. + * + * + * @generated + */ + @Override + public Adapter createLTLUnaryEventuallyAdapter() { + if (ltlUnaryEventuallyItemProvider == null) { + ltlUnaryEventuallyItemProvider = new LTLUnaryEventuallyItemProvider(this); + } + + return ltlUnaryEventuallyItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.LTLVariable} instances. + * + * + * @generated + */ + protected LTLVariableItemProvider ltlVariableItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLVariable}. + * + * + * @generated + */ + @Override + public Adapter createLTLVariableAdapter() { + if (ltlVariableItemProvider == null) { + ltlVariableItemProvider = new LTLVariableItemProvider(this); + } + + return ltlVariableItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction} instances. + * + * + * @generated + */ + protected ObservableDisjunctionItemProvider observableDisjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction}. + * + * + * @generated + */ + @Override + public Adapter createObservableDisjunctionAdapter() { + if (observableDisjunctionItemProvider == null) { + observableDisjunctionItemProvider = new ObservableDisjunctionItemProvider(this); + } + + return observableDisjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ObservableImplication} instances. + * + * + * @generated + */ + protected ObservableImplicationItemProvider observableImplicationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableImplication}. + * + * + * @generated + */ + @Override + public Adapter createObservableImplicationAdapter() { + if (observableImplicationItemProvider == null) { + observableImplicationItemProvider = new ObservableImplicationItemProvider(this); + } + + return observableImplicationItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction} instances. + * + * + * @generated + */ + protected ObservableConjunctionItemProvider observableConjunctionItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction}. + * + * + * @generated + */ + @Override + public Adapter createObservableConjunctionAdapter() { + if (observableConjunctionItemProvider == null) { + observableConjunctionItemProvider = new ObservableConjunctionItemProvider(this); + } + + return observableConjunctionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link fr.irit.fiacre.xtext.fiacre.ObservableNegation} instances. + * + * + * @generated + */ + protected ObservableNegationItemProvider observableNegationItemProvider; + + /** + * This creates an adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableNegation}. + * + * + * @generated + */ + @Override + public Adapter createObservableNegationAdapter() { + if (observableNegationItemProvider == null) { + observableNegationItemProvider = new ObservableNegationItemProvider(this); + } + + return observableNegationItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * + * + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * + * + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * + * + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * + * + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * + * + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * + * + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * + * + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * + * + * @generated + */ + public void dispose() { + if (modelItemProvider != null) modelItemProvider.dispose(); + if (rootDeclarationItemProvider != null) rootDeclarationItemProvider.dispose(); + if (rootItemProvider != null) rootItemProvider.dispose(); + if (namedElementItemProvider != null) namedElementItemProvider.dispose(); + if (typeDeclarationUseItemProvider != null) typeDeclarationUseItemProvider.dispose(); + if (constantDeclarationUseItemProvider != null) constantDeclarationUseItemProvider.dispose(); + if (expressionDeclarationUseItemProvider != null) expressionDeclarationUseItemProvider.dispose(); + if (referenceDeclarationUseItemProvider != null) referenceDeclarationUseItemProvider.dispose(); + if (unionTagDeclarationUseItemProvider != null) unionTagDeclarationUseItemProvider.dispose(); + if (recordFieldDeclarationUseItemProvider != null) recordFieldDeclarationUseItemProvider.dispose(); + if (patternDeclarationUseItemProvider != null) patternDeclarationUseItemProvider.dispose(); + if (boundDeclarationUseItemProvider != null) boundDeclarationUseItemProvider.dispose(); + if (pathDeclarationUseItemProvider != null) pathDeclarationUseItemProvider.dispose(); + if (propertyDeclarationUseItemProvider != null) propertyDeclarationUseItemProvider.dispose(); + if (importDeclarationItemProvider != null) importDeclarationItemProvider.dispose(); + if (declarationItemProvider != null) declarationItemProvider.dispose(); + if (parameterizedDeclarationItemProvider != null) parameterizedDeclarationItemProvider.dispose(); + if (functionDeclarationItemProvider != null) functionDeclarationItemProvider.dispose(); + if (typeDeclarationItemProvider != null) typeDeclarationItemProvider.dispose(); + if (channelDeclarationItemProvider != null) channelDeclarationItemProvider.dispose(); + if (channelTypeItemProvider != null) channelTypeItemProvider.dispose(); + if (typeItemProvider != null) typeItemProvider.dispose(); + if (basicTypeItemProvider != null) basicTypeItemProvider.dispose(); + if (rangeTypeItemProvider != null) rangeTypeItemProvider.dispose(); + if (unionTypeItemProvider != null) unionTypeItemProvider.dispose(); + if (unionTagsItemProvider != null) unionTagsItemProvider.dispose(); + if (unionTagDeclarationItemProvider != null) unionTagDeclarationItemProvider.dispose(); + if (recordTypeItemProvider != null) recordTypeItemProvider.dispose(); + if (recordFieldsItemProvider != null) recordFieldsItemProvider.dispose(); + if (recordFieldDeclarationItemProvider != null) recordFieldDeclarationItemProvider.dispose(); + if (queueTypeItemProvider != null) queueTypeItemProvider.dispose(); + if (arrayTypeItemProvider != null) arrayTypeItemProvider.dispose(); + if (referencedTypeItemProvider != null) referencedTypeItemProvider.dispose(); + if (constantDeclarationItemProvider != null) constantDeclarationItemProvider.dispose(); + if (processDeclarationItemProvider != null) processDeclarationItemProvider.dispose(); + if (stateDeclarationItemProvider != null) stateDeclarationItemProvider.dispose(); + if (transitionSourceItemProvider != null) transitionSourceItemProvider.dispose(); + if (transitionItemProvider != null) transitionItemProvider.dispose(); + if (componentDeclarationItemProvider != null) componentDeclarationItemProvider.dispose(); + if (portsDeclarationItemProvider != null) portsDeclarationItemProvider.dispose(); + if (portDeclarationItemProvider != null) portDeclarationItemProvider.dispose(); + if (localPortsDeclarationItemProvider != null) localPortsDeclarationItemProvider.dispose(); + if (parametersDeclarationItemProvider != null) parametersDeclarationItemProvider.dispose(); + if (parameterDeclarationItemProvider != null) parameterDeclarationItemProvider.dispose(); + if (variablesDeclarationItemProvider != null) variablesDeclarationItemProvider.dispose(); + if (variableDeclarationItemProvider != null) variableDeclarationItemProvider.dispose(); + if (priorityDeclarationItemProvider != null) priorityDeclarationItemProvider.dispose(); + if (priorityGroupItemProvider != null) priorityGroupItemProvider.dispose(); + if (statementItemProvider != null) statementItemProvider.dispose(); + if (blockStatementItemProvider != null) blockStatementItemProvider.dispose(); + if (returnStatementItemProvider != null) returnStatementItemProvider.dispose(); + if (nullStatementItemProvider != null) nullStatementItemProvider.dispose(); + if (taggedStatementItemProvider != null) taggedStatementItemProvider.dispose(); + if (patternStatementItemProvider != null) patternStatementItemProvider.dispose(); + if (patternItemProvider != null) patternItemProvider.dispose(); + if (anyPatternItemProvider != null) anyPatternItemProvider.dispose(); + if (constantPatternItemProvider != null) constantPatternItemProvider.dispose(); + if (integerPatternItemProvider != null) integerPatternItemProvider.dispose(); + if (identifierPatternItemProvider != null) identifierPatternItemProvider.dispose(); + if (conditionalStatementItemProvider != null) conditionalStatementItemProvider.dispose(); + if (extendedConditionalStatementItemProvider != null) extendedConditionalStatementItemProvider.dispose(); + if (selectStatementItemProvider != null) selectStatementItemProvider.dispose(); + if (whileStatementItemProvider != null) whileStatementItemProvider.dispose(); + if (foreachStatementItemProvider != null) foreachStatementItemProvider.dispose(); + if (toStatementItemProvider != null) toStatementItemProvider.dispose(); + if (caseStatementItemProvider != null) caseStatementItemProvider.dispose(); + if (loopStatementItemProvider != null) loopStatementItemProvider.dispose(); + if (onStatementItemProvider != null) onStatementItemProvider.dispose(); + if (waitStatementItemProvider != null) waitStatementItemProvider.dispose(); + if (compositionItemProvider != null) compositionItemProvider.dispose(); + if (blockItemProvider != null) blockItemProvider.dispose(); + if (compositeBlockItemProvider != null) compositeBlockItemProvider.dispose(); + if (instanceDeclarationItemProvider != null) instanceDeclarationItemProvider.dispose(); + if (portSetItemProvider != null) portSetItemProvider.dispose(); + if (componentInstanceItemProvider != null) componentInstanceItemProvider.dispose(); + if (expressionItemProvider != null) expressionItemProvider.dispose(); + if (valueExpressionItemProvider != null) valueExpressionItemProvider.dispose(); + if (referenceExpressionItemProvider != null) referenceExpressionItemProvider.dispose(); + if (identifierExpressionItemProvider != null) identifierExpressionItemProvider.dispose(); + if (recordExpressionItemProvider != null) recordExpressionItemProvider.dispose(); + if (fieldExpressionItemProvider != null) fieldExpressionItemProvider.dispose(); + if (arrayExpressionItemProvider != null) arrayExpressionItemProvider.dispose(); + if (queueExpressionItemProvider != null) queueExpressionItemProvider.dispose(); + if (enqueueExpressionItemProvider != null) enqueueExpressionItemProvider.dispose(); + if (appendExpressionItemProvider != null) appendExpressionItemProvider.dispose(); + if (literalExpressionItemProvider != null) literalExpressionItemProvider.dispose(); + if (booleanLiteralItemProvider != null) booleanLiteralItemProvider.dispose(); + if (naturalLiteralItemProvider != null) naturalLiteralItemProvider.dispose(); + if (lowerBoundItemProvider != null) lowerBoundItemProvider.dispose(); + if (upperBoundItemProvider != null) upperBoundItemProvider.dispose(); + if (naturalLowerBoundItemProvider != null) naturalLowerBoundItemProvider.dispose(); + if (naturalUpperBoundItemProvider != null) naturalUpperBoundItemProvider.dispose(); + if (decimalLowerBoundItemProvider != null) decimalLowerBoundItemProvider.dispose(); + if (decimalUpperBoundItemProvider != null) decimalUpperBoundItemProvider.dispose(); + if (variableLowerBoundItemProvider != null) variableLowerBoundItemProvider.dispose(); + if (variableUpperBoundItemProvider != null) variableUpperBoundItemProvider.dispose(); + if (infiniteUpperBoundItemProvider != null) infiniteUpperBoundItemProvider.dispose(); + if (requirementItemProvider != null) requirementItemProvider.dispose(); + if (propertyDeclarationItemProvider != null) propertyDeclarationItemProvider.dispose(); + if (propertyItemProvider != null) propertyItemProvider.dispose(); + if (patternPropertyItemProvider != null) patternPropertyItemProvider.dispose(); + if (ltlPatternItemProvider != null) ltlPatternItemProvider.dispose(); + if (deadlockFreePatternItemProvider != null) deadlockFreePatternItemProvider.dispose(); + if (infinitelyOftenPatternItemProvider != null) infinitelyOftenPatternItemProvider.dispose(); + if (mortalPatternItemProvider != null) mortalPatternItemProvider.dispose(); + if (presencePatternItemProvider != null) presencePatternItemProvider.dispose(); + if (absencePatternItemProvider != null) absencePatternItemProvider.dispose(); + if (alwaysPatternItemProvider != null) alwaysPatternItemProvider.dispose(); + if (sequencePatternItemProvider != null) sequencePatternItemProvider.dispose(); + if (ltlPropertyItemProvider != null) ltlPropertyItemProvider.dispose(); + if (stateEventItemProvider != null) stateEventItemProvider.dispose(); + if (enterStateEventItemProvider != null) enterStateEventItemProvider.dispose(); + if (leaveStateEventItemProvider != null) leaveStateEventItemProvider.dispose(); + if (observableItemProvider != null) observableItemProvider.dispose(); + if (observableEventItemProvider != null) observableEventItemProvider.dispose(); + if (pathEventItemProvider != null) pathEventItemProvider.dispose(); + if (pathItemProvider != null) pathItemProvider.dispose(); + if (pathItemItemProvider != null) pathItemItemProvider.dispose(); + if (naturalItemItemProvider != null) naturalItemItemProvider.dispose(); + if (namedItemItemProvider != null) namedItemItemProvider.dispose(); + if (subjectItemProvider != null) subjectItemProvider.dispose(); + if (stateSubjectItemProvider != null) stateSubjectItemProvider.dispose(); + if (valueSubjectItemProvider != null) valueSubjectItemProvider.dispose(); + if (tagSubjectItemProvider != null) tagSubjectItemProvider.dispose(); + if (eventSubjectItemProvider != null) eventSubjectItemProvider.dispose(); + if (tupleTypeItemProvider != null) tupleTypeItemProvider.dispose(); + if (naturalTypeItemProvider != null) naturalTypeItemProvider.dispose(); + if (integerTypeItemProvider != null) integerTypeItemProvider.dispose(); + if (booleanTypeItemProvider != null) booleanTypeItemProvider.dispose(); + if (unlessStatementItemProvider != null) unlessStatementItemProvider.dispose(); + if (statementChoiceItemProvider != null) statementChoiceItemProvider.dispose(); + if (statementSequenceItemProvider != null) statementSequenceItemProvider.dispose(); + if (assignStatementItemProvider != null) assignStatementItemProvider.dispose(); + if (assignAnyStatementItemProvider != null) assignAnyStatementItemProvider.dispose(); + if (sendStatementItemProvider != null) sendStatementItemProvider.dispose(); + if (receiveStatementItemProvider != null) receiveStatementItemProvider.dispose(); + if (constructorPatternItemProvider != null) constructorPatternItemProvider.dispose(); + if (arrayAccessPatternItemProvider != null) arrayAccessPatternItemProvider.dispose(); + if (recordAccessPatternItemProvider != null) recordAccessPatternItemProvider.dispose(); + if (allExpressionItemProvider != null) allExpressionItemProvider.dispose(); + if (existsExpressionItemProvider != null) existsExpressionItemProvider.dispose(); + if (conditionalItemProvider != null) conditionalItemProvider.dispose(); + if (disjunctionItemProvider != null) disjunctionItemProvider.dispose(); + if (implicationItemProvider != null) implicationItemProvider.dispose(); + if (conjunctionItemProvider != null) conjunctionItemProvider.dispose(); + if (comparisonEqualItemProvider != null) comparisonEqualItemProvider.dispose(); + if (comparisonNotEqualItemProvider != null) comparisonNotEqualItemProvider.dispose(); + if (comparisonLesserItemProvider != null) comparisonLesserItemProvider.dispose(); + if (comparisonLesserEqualItemProvider != null) comparisonLesserEqualItemProvider.dispose(); + if (comparisonGreaterItemProvider != null) comparisonGreaterItemProvider.dispose(); + if (comparisonGreaterEqualItemProvider != null) comparisonGreaterEqualItemProvider.dispose(); + if (additionItemProvider != null) additionItemProvider.dispose(); + if (substractionItemProvider != null) substractionItemProvider.dispose(); + if (multiplicationItemProvider != null) multiplicationItemProvider.dispose(); + if (divisionItemProvider != null) divisionItemProvider.dispose(); + if (moduloItemProvider != null) moduloItemProvider.dispose(); + if (unaryPlusExpressionItemProvider != null) unaryPlusExpressionItemProvider.dispose(); + if (unaryMinusExpressionItemProvider != null) unaryMinusExpressionItemProvider.dispose(); + if (unaryNegationExpressionItemProvider != null) unaryNegationExpressionItemProvider.dispose(); + if (unaryFirstExpressionItemProvider != null) unaryFirstExpressionItemProvider.dispose(); + if (unaryLengthExpressionItemProvider != null) unaryLengthExpressionItemProvider.dispose(); + if (unaryCoerceExpressionItemProvider != null) unaryCoerceExpressionItemProvider.dispose(); + if (unaryFullExpressionItemProvider != null) unaryFullExpressionItemProvider.dispose(); + if (unaryDeQueueExpressionItemProvider != null) unaryDeQueueExpressionItemProvider.dispose(); + if (unaryEmptyExpressionItemProvider != null) unaryEmptyExpressionItemProvider.dispose(); + if (projectionItemProvider != null) projectionItemProvider.dispose(); + if (constructionExpressionItemProvider != null) constructionExpressionItemProvider.dispose(); + if (arrayAccessExpressionItemProvider != null) arrayAccessExpressionItemProvider.dispose(); + if (recordAccessExpressionItemProvider != null) recordAccessExpressionItemProvider.dispose(); + if (trueLiteralItemProvider != null) trueLiteralItemProvider.dispose(); + if (falseLiteralItemProvider != null) falseLiteralItemProvider.dispose(); + if (allPropertyItemProvider != null) allPropertyItemProvider.dispose(); + if (existsPropertyItemProvider != null) existsPropertyItemProvider.dispose(); + if (propertyDisjunctionItemProvider != null) propertyDisjunctionItemProvider.dispose(); + if (propertyImplicationItemProvider != null) propertyImplicationItemProvider.dispose(); + if (propertyConjunctionItemProvider != null) propertyConjunctionItemProvider.dispose(); + if (propertyNegationItemProvider != null) propertyNegationItemProvider.dispose(); + if (leadsToPatternItemProvider != null) leadsToPatternItemProvider.dispose(); + if (precedesPatternItemProvider != null) precedesPatternItemProvider.dispose(); + if (ltlAllItemProvider != null) ltlAllItemProvider.dispose(); + if (ltlExistsItemProvider != null) ltlExistsItemProvider.dispose(); + if (ltlDisjunctionItemProvider != null) ltlDisjunctionItemProvider.dispose(); + if (ltlImplicationItemProvider != null) ltlImplicationItemProvider.dispose(); + if (ltlConjunctionItemProvider != null) ltlConjunctionItemProvider.dispose(); + if (ltlUntilItemProvider != null) ltlUntilItemProvider.dispose(); + if (ltlReleaseItemProvider != null) ltlReleaseItemProvider.dispose(); + if (ltlUnaryNegationItemProvider != null) ltlUnaryNegationItemProvider.dispose(); + if (ltlUnaryNextItemProvider != null) ltlUnaryNextItemProvider.dispose(); + if (ltlUnaryAlwaysItemProvider != null) ltlUnaryAlwaysItemProvider.dispose(); + if (ltlUnaryEventuallyItemProvider != null) ltlUnaryEventuallyItemProvider.dispose(); + if (ltlVariableItemProvider != null) ltlVariableItemProvider.dispose(); + if (observableDisjunctionItemProvider != null) observableDisjunctionItemProvider.dispose(); + if (observableImplicationItemProvider != null) observableImplicationItemProvider.dispose(); + if (observableConjunctionItemProvider != null) observableConjunctionItemProvider.dispose(); + if (observableNegationItemProvider != null) observableNegationItemProvider.dispose(); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FieldExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FieldExpressionItemProvider.java new file mode 100644 index 0000000..69ce24b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FieldExpressionItemProvider.java @@ -0,0 +1,413 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.FieldExpression} object. + * + * + * @generated + */ +public class FieldExpressionItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public FieldExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFieldPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Field feature. + * + * + * @generated + */ + protected void addFieldPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_FieldExpression_field_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_FieldExpression_field_feature", "_UI_FieldExpression_type"), + FiacrePackage.eINSTANCE.getFieldExpression_Field(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getFieldExpression_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns FieldExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/FieldExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_FieldExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(FieldExpression.class)) { + case FiacrePackage.FIELD_EXPRESSION__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFieldExpression_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ForeachStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ForeachStatementItemProvider.java new file mode 100644 index 0000000..43eb1fc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ForeachStatementItemProvider.java @@ -0,0 +1,305 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ForeachStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ForeachStatement} object. + * + * + * @generated + */ +public class ForeachStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ForeachStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getForeachStatement_Variable()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getForeachStatement_Body()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ForeachStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ForeachStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ForeachStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ForeachStatement.class)) { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + case FiacrePackage.FOREACH_STATEMENT__BODY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Variable(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getForeachStatement_Body(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FunctionDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FunctionDeclarationItemProvider.java new file mode 100644 index 0000000..9ba19a6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/FunctionDeclarationItemProvider.java @@ -0,0 +1,405 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FunctionDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration} object. + * + * + * @generated + */ +public class FunctionDeclarationItemProvider extends ExpressionDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public FunctionDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getFunctionDeclaration_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns FunctionDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/FunctionDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((FunctionDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_FunctionDeclaration_type") : + getString("_UI_FunctionDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(FunctionDeclaration.class)) { + case FiacrePackage.FUNCTION_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters(), + FiacreFactory.eINSTANCE.createParametersDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables(), + FiacreFactory.eINSTANCE.createVariablesDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getFunctionDeclaration_Statement(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierExpressionItemProvider.java new file mode 100644 index 0000000..be57561 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierExpressionItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression} object. + * + * + * @generated + */ +public class IdentifierExpressionItemProvider extends ValueExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public IdentifierExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_IdentifierExpression_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IdentifierExpression_declaration_feature", "_UI_IdentifierExpression_type"), + FiacrePackage.eINSTANCE.getIdentifierExpression_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns IdentifierExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/IdentifierExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_IdentifierExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierPatternItemProvider.java new file mode 100644 index 0000000..bfc5b71 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IdentifierPatternItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern} object. + * + * + * @generated + */ +public class IdentifierPatternItemProvider extends PatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public IdentifierPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_IdentifierPattern_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IdentifierPattern_declaration_feature", "_UI_IdentifierPattern_type"), + FiacrePackage.eINSTANCE.getIdentifierPattern_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns IdentifierPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/IdentifierPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_IdentifierPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImplicationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImplicationItemProvider.java new file mode 100644 index 0000000..a606365 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImplicationItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Implication; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Implication} object. + * + * + * @generated + */ +public class ImplicationItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ImplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getImplication_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getImplication_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Implication.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Implication")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Implication_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Implication.class)) { + case FiacrePackage.IMPLICATION__LEFT: + case FiacrePackage.IMPLICATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getImplication_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getImplication_Left() || + childFeature == FiacrePackage.eINSTANCE.getImplication_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImportDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImportDeclarationItemProvider.java new file mode 100644 index 0000000..7a1c866 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ImportDeclarationItemProvider.java @@ -0,0 +1,169 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ImportDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration} object. + * + * + * @generated + */ +public class ImportDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ImportDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addImportURIPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Import URI feature. + * + * + * @generated + */ + protected void addImportURIPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ImportDeclaration_importURI_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ImportDeclaration_importURI_feature", "_UI_ImportDeclaration_type"), + FiacrePackage.eINSTANCE.getImportDeclaration_ImportURI(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns ImportDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ImportDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ImportDeclaration)object).getImportURI(); + return label == null || label.length() == 0 ? + getString("_UI_ImportDeclaration_type") : + getString("_UI_ImportDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ImportDeclaration.class)) { + case FiacrePackage.IMPORT_DECLARATION__IMPORT_URI: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfiniteUpperBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfiniteUpperBoundItemProvider.java new file mode 100644 index 0000000..b5df4a5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfiniteUpperBoundItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound} object. + * + * + * @generated + */ +public class InfiniteUpperBoundItemProvider extends UpperBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InfiniteUpperBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns InfiniteUpperBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InfiniteUpperBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_InfiniteUpperBound_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfinitelyOftenPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfinitelyOftenPatternItemProvider.java new file mode 100644 index 0000000..d4e889e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InfinitelyOftenPatternItemProvider.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern} object. + * + * + * @generated + */ +public class InfinitelyOftenPatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InfinitelyOftenPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InfinitelyOftenPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InfinitelyOftenPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_InfinitelyOftenPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InfinitelyOftenPattern.class)) { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InstanceDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InstanceDeclarationItemProvider.java new file mode 100644 index 0000000..3d1e7e0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/InstanceDeclarationItemProvider.java @@ -0,0 +1,160 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.InstanceDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration} object. + * + * + * @generated + */ +public class InstanceDeclarationItemProvider extends PathDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public InstanceDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getBlock_Local()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getInstanceDeclaration_Instance()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns InstanceDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/InstanceDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_InstanceDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(InstanceDeclaration.class)) { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getBlock_Local(), + FiacreFactory.eINSTANCE.createPortSet())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getInstanceDeclaration_Instance(), + FiacreFactory.eINSTANCE.createComponentInstance())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerPatternItemProvider.java new file mode 100644 index 0000000..a7d870f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerPatternItemProvider.java @@ -0,0 +1,165 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IntegerPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.IntegerPattern} object. + * + * + * @generated + */ +public class IntegerPatternItemProvider extends PatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public IntegerPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNegativePropertyDescriptor(object); + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Negative feature. + * + * + * @generated + */ + protected void addNegativePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_IntegerPattern_negative_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IntegerPattern_negative_feature", "_UI_IntegerPattern_type"), + FiacrePackage.eINSTANCE.getIntegerPattern_Negative(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_IntegerPattern_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_IntegerPattern_value_feature", "_UI_IntegerPattern_type"), + FiacrePackage.eINSTANCE.getIntegerPattern_Value(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns IntegerPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/IntegerPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + IntegerPattern integerPattern = (IntegerPattern)object; + return getString("_UI_IntegerPattern_type") + " " + integerPattern.isNegative(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(IntegerPattern.class)) { + case FiacrePackage.INTEGER_PATTERN__NEGATIVE: + case FiacrePackage.INTEGER_PATTERN__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerTypeItemProvider.java new file mode 100644 index 0000000..98f0b58 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/IntegerTypeItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.IntegerType} object. + * + * + * @generated + */ +public class IntegerTypeItemProvider extends BasicTypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public IntegerTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns IntegerType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/IntegerType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_IntegerType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLAllItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLAllItemProvider.java new file mode 100644 index 0000000..a8c8787 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLAllItemProvider.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLAll; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLAll} object. + * + * + * @generated + */ +public class LTLAllItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLAllItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLAll_Index()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLAll_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLAll_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLAll.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLAll")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLAll_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLAll.class)) { + case FiacrePackage.LTL_ALL__INDEX: + case FiacrePackage.LTL_ALL__TYPE: + case FiacrePackage.LTL_ALL__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Index(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLAll_Child(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLConjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLConjunctionItemProvider.java new file mode 100644 index 0000000..1ac585f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLConjunctionItemProvider.java @@ -0,0 +1,353 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLConjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLConjunction} object. + * + * + * @generated + */ +public class LTLConjunctionItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLConjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLConjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLConjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLConjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLConjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLConjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLConjunction.class)) { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLVariable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLTLConjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getLTLConjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLDisjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLDisjunctionItemProvider.java new file mode 100644 index 0000000..6d34fbd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLDisjunctionItemProvider.java @@ -0,0 +1,353 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLDisjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction} object. + * + * + * @generated + */ +public class LTLDisjunctionItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLDisjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLDisjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLDisjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLDisjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLDisjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLDisjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLDisjunction.class)) { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLVariable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLTLDisjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getLTLDisjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLExistsItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLExistsItemProvider.java new file mode 100644 index 0000000..6c5b8d1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLExistsItemProvider.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLExists; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLExists} object. + * + * + * @generated + */ +public class LTLExistsItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLExistsItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLExists_Index()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLExists_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLExists_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLExists.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLExists")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLExists_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLExists.class)) { + case FiacrePackage.LTL_EXISTS__INDEX: + case FiacrePackage.LTL_EXISTS__TYPE: + case FiacrePackage.LTL_EXISTS__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Index(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLExists_Child(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLImplicationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLImplicationItemProvider.java new file mode 100644 index 0000000..f2c9f1b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLImplicationItemProvider.java @@ -0,0 +1,353 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLImplication; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLImplication} object. + * + * + * @generated + */ +public class LTLImplicationItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLImplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLImplication_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLImplication_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLImplication.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLImplication")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLImplication_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLImplication.class)) { + case FiacrePackage.LTL_IMPLICATION__LEFT: + case FiacrePackage.LTL_IMPLICATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Left(), + FiacreFactory.eINSTANCE.createLTLVariable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLImplication_Right(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLTLImplication_Left() || + childFeature == FiacrePackage.eINSTANCE.getLTLImplication_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPatternItemProvider.java new file mode 100644 index 0000000..e71407c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPatternItemProvider.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLPattern} object. + * + * + * @generated + */ +public class LTLPatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLPattern_Property()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLPattern.class)) { + case FiacrePackage.LTL_PATTERN__PROPERTY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLPattern_Property(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPropertyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPropertyItemProvider.java new file mode 100644 index 0000000..ea31c49 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLPropertyItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLProperty} object. + * + * + * @generated + */ +public class LTLPropertyItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLPropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns LTLProperty.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLProperty")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLProperty_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLReleaseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLReleaseItemProvider.java new file mode 100644 index 0000000..74d9b9e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLReleaseItemProvider.java @@ -0,0 +1,353 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLRelease; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLRelease} object. + * + * + * @generated + */ +public class LTLReleaseItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLReleaseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLRelease_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLRelease_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLRelease.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLRelease")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLRelease_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLRelease.class)) { + case FiacrePackage.LTL_RELEASE__LEFT: + case FiacrePackage.LTL_RELEASE__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Left(), + FiacreFactory.eINSTANCE.createLTLVariable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLRelease_Right(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLTLRelease_Left() || + childFeature == FiacrePackage.eINSTANCE.getLTLRelease_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryAlwaysItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryAlwaysItemProvider.java new file mode 100644 index 0000000..7bfa050 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryAlwaysItemProvider.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways} object. + * + * + * @generated + */ +public class LTLUnaryAlwaysItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLUnaryAlwaysItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLUnaryAlways.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLUnaryAlways")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLUnaryAlways_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLUnaryAlways.class)) { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryEventuallyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryEventuallyItemProvider.java new file mode 100644 index 0000000..2b45786 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryEventuallyItemProvider.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually} object. + * + * + * @generated + */ +public class LTLUnaryEventuallyItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLUnaryEventuallyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLUnaryEventually.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLUnaryEventually")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLUnaryEventually_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLUnaryEventually.class)) { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNegationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNegationItemProvider.java new file mode 100644 index 0000000..634b52e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNegationItemProvider.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation} object. + * + * + * @generated + */ +public class LTLUnaryNegationItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLUnaryNegationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLUnaryNegation.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLUnaryNegation")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLUnaryNegation_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLUnaryNegation.class)) { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNextItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNextItemProvider.java new file mode 100644 index 0000000..b34d904 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUnaryNextItemProvider.java @@ -0,0 +1,238 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNext; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext} object. + * + * + * @generated + */ +public class LTLUnaryNextItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLUnaryNextItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLUnaryNext.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLUnaryNext")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLUnaryNext_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLUnaryNext.class)) { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUntilItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUntilItemProvider.java new file mode 100644 index 0000000..c2f0519 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLUntilItemProvider.java @@ -0,0 +1,353 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLUntil; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLUntil} object. + * + * + * @generated + */ +public class LTLUntilItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLUntilItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUntil_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLTLUntil_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LTLUntil.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLUntil")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLUntil_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LTLUntil.class)) { + case FiacrePackage.LTL_UNTIL__LEFT: + case FiacrePackage.LTL_UNTIL__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Left(), + FiacreFactory.eINSTANCE.createLTLVariable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLAll())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLExists())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLUntil())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLRelease())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryNext())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryAlways())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLUnaryEventually())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLTLUntil_Right(), + FiacreFactory.eINSTANCE.createLTLVariable())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLTLUntil_Left() || + childFeature == FiacrePackage.eINSTANCE.getLTLUntil_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLVariableItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLVariableItemProvider.java new file mode 100644 index 0000000..75234d9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LTLVariableItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LTLVariable} object. + * + * + * @generated + */ +public class LTLVariableItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LTLVariableItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LTLVariable_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_LTLVariable_declaration_feature", "_UI_LTLVariable_type"), + FiacrePackage.eINSTANCE.getLTLVariable_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns LTLVariable.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LTLVariable")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LTLVariable_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeadsToPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeadsToPatternItemProvider.java new file mode 100644 index 0000000..f3880bd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeadsToPatternItemProvider.java @@ -0,0 +1,587 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LeadsToPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern} object. + * + * + * @generated + */ +public class LeadsToPatternItemProvider extends SequencePatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LeadsToPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Subject()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Follower()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Before()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Lower()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Upper()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_After()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Until()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Min()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLeadsToPattern_Max()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LeadsToPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LeadsToPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LeadsToPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LeadsToPattern.class)) { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + case FiacrePackage.LEADS_TO_PATTERN__MIN: + case FiacrePackage.LEADS_TO_PATTERN__MAX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Before(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Lower(), + FiacreFactory.eINSTANCE.createLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Lower(), + FiacreFactory.eINSTANCE.createNaturalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Lower(), + FiacreFactory.eINSTANCE.createDecimalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Lower(), + FiacreFactory.eINSTANCE.createVariableLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Upper(), + FiacreFactory.eINSTANCE.createUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Upper(), + FiacreFactory.eINSTANCE.createNaturalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Upper(), + FiacreFactory.eINSTANCE.createDecimalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Upper(), + FiacreFactory.eINSTANCE.createVariableUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Upper(), + FiacreFactory.eINSTANCE.createInfiniteUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_After(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Until(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Min(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLeadsToPattern_Max(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Subject() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Follower() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Before() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_After() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Until() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Min() || + childFeature == FiacrePackage.eINSTANCE.getLeadsToPattern_Max(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeaveStateEventItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeaveStateEventItemProvider.java new file mode 100644 index 0000000..b8d3b23 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LeaveStateEventItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LeaveStateEvent} object. + * + * + * @generated + */ +public class LeaveStateEventItemProvider extends StateEventItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LeaveStateEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns LeaveStateEvent.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LeaveStateEvent")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LeaveStateEvent_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LiteralExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LiteralExpressionItemProvider.java new file mode 100644 index 0000000..2ad1d17 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LiteralExpressionItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LiteralExpression} object. + * + * + * @generated + */ +public class LiteralExpressionItemProvider extends ValueExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LiteralExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns LiteralExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LiteralExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LiteralExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LocalPortsDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LocalPortsDeclarationItemProvider.java new file mode 100644 index 0000000..79d8fea --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LocalPortsDeclarationItemProvider.java @@ -0,0 +1,235 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration} object. + * + * + * @generated + */ +public class LocalPortsDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LocalPortsDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Ports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns LocalPortsDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LocalPortsDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LocalPortsDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LocalPortsDeclaration.class)) { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Ports(), + FiacreFactory.eINSTANCE.createPortDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Type(), + FiacreFactory.eINSTANCE.createChannelType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Left(), + FiacreFactory.eINSTANCE.createLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Left(), + FiacreFactory.eINSTANCE.createNaturalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Left(), + FiacreFactory.eINSTANCE.createDecimalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Left(), + FiacreFactory.eINSTANCE.createVariableLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right(), + FiacreFactory.eINSTANCE.createUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right(), + FiacreFactory.eINSTANCE.createNaturalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right(), + FiacreFactory.eINSTANCE.createDecimalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right(), + FiacreFactory.eINSTANCE.createVariableUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getLocalPortsDeclaration_Right(), + FiacreFactory.eINSTANCE.createInfiniteUpperBound())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LoopStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LoopStatementItemProvider.java new file mode 100644 index 0000000..b9fe82e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LoopStatementItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LoopStatement} object. + * + * + * @generated + */ +public class LoopStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LoopStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns LoopStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_LoopStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LowerBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LowerBoundItemProvider.java new file mode 100644 index 0000000..31cf5f1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/LowerBoundItemProvider.java @@ -0,0 +1,191 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LowerBound; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.LowerBound} object. + * + * + * @generated + */ +public class LowerBoundItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public LowerBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addLeftPropertyDescriptor(object); + addRightPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Left feature. + * + * + * @generated + */ + protected void addLeftPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LowerBound_left_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_LowerBound_left_feature", "_UI_LowerBound_type"), + FiacrePackage.eINSTANCE.getLowerBound_Left(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Right feature. + * + * + * @generated + */ + protected void addRightPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_LowerBound_right_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_LowerBound_right_feature", "_UI_LowerBound_type"), + FiacrePackage.eINSTANCE.getLowerBound_Right(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns LowerBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/LowerBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + LowerBound lowerBound = (LowerBound)object; + return getString("_UI_LowerBound_type") + " " + lowerBound.isLeft(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(LowerBound.class)) { + case FiacrePackage.LOWER_BOUND__LEFT: + case FiacrePackage.LOWER_BOUND__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModelItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModelItemProvider.java new file mode 100644 index 0000000..c6b7871 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModelItemProvider.java @@ -0,0 +1,240 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Model; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Model} object. + * + * + * @generated + */ +public class ModelItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ModelItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModel_Imports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModel_Declarations()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModel_Requirements()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModel_Root()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Model.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Model")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Model_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Model.class)) { + case FiacrePackage.MODEL__IMPORTS: + case FiacrePackage.MODEL__DECLARATIONS: + case FiacrePackage.MODEL__REQUIREMENTS: + case FiacrePackage.MODEL__ROOT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Imports(), + FiacreFactory.eINSTANCE.createImportDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createParameterizedDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createFunctionDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createTypeDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createChannelDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createConstantDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createProcessDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createComponentDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Declarations(), + FiacreFactory.eINSTANCE.createPropertyDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Requirements(), + FiacreFactory.eINSTANCE.createRequirement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModel_Root(), + FiacreFactory.eINSTANCE.createRoot())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModuloItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModuloItemProvider.java new file mode 100644 index 0000000..36497cf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ModuloItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Modulo; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Modulo} object. + * + * + * @generated + */ +public class ModuloItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ModuloItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModulo_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getModulo_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Modulo.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Modulo")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Modulo_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Modulo.class)) { + case FiacrePackage.MODULO__LEFT: + case FiacrePackage.MODULO__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getModulo_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getModulo_Left() || + childFeature == FiacrePackage.eINSTANCE.getModulo_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MortalPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MortalPatternItemProvider.java new file mode 100644 index 0000000..36a4245 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MortalPatternItemProvider.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.MortalPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.MortalPattern} object. + * + * + * @generated + */ +public class MortalPatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public MortalPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getMortalPattern_Subject()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns MortalPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/MortalPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_MortalPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(MortalPattern.class)) { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMortalPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MultiplicationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MultiplicationItemProvider.java new file mode 100644 index 0000000..293a3e5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/MultiplicationItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Multiplication; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Multiplication} object. + * + * + * @generated + */ +public class MultiplicationItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public MultiplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getMultiplication_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getMultiplication_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Multiplication.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Multiplication")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Multiplication_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Multiplication.class)) { + case FiacrePackage.MULTIPLICATION__LEFT: + case FiacrePackage.MULTIPLICATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getMultiplication_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getMultiplication_Left() || + childFeature == FiacrePackage.eINSTANCE.getMultiplication_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedElementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedElementItemProvider.java new file mode 100644 index 0000000..ff33c86 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedElementItemProvider.java @@ -0,0 +1,169 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NamedElement} object. + * + * + * @generated + */ +public class NamedElementItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NamedElementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns NamedElement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NamedElement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((NamedElement)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_NamedElement_type") : + getString("_UI_NamedElement_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NamedElement.class)) { + case FiacrePackage.NAMED_ELEMENT__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedItemItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedItemItemProvider.java new file mode 100644 index 0000000..d689dd2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NamedItemItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NamedItem} object. + * + * + * @generated + */ +public class NamedItemItemProvider extends PathItemItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NamedItemItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedItem_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedItem_declaration_feature", "_UI_NamedItem_type"), + FiacrePackage.eINSTANCE.getNamedItem_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns NamedItem.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NamedItem")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_NamedItem_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalItemItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalItemItemProvider.java new file mode 100644 index 0000000..ed4e65d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalItemItemProvider.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalItem; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalItem} object. + * + * + * @generated + */ +public class NaturalItemItemProvider extends PathItemItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NaturalItemItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalItem_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalItem_value_feature", "_UI_NaturalItem_type"), + FiacrePackage.eINSTANCE.getNaturalItem_Value(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns NaturalItem.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NaturalItem")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + NaturalItem naturalItem = (NaturalItem)object; + return getString("_UI_NaturalItem_type") + " " + naturalItem.getValue(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NaturalItem.class)) { + case FiacrePackage.NATURAL_ITEM__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLiteralItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLiteralItemProvider.java new file mode 100644 index 0000000..5f3b971 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLiteralItemProvider.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral} object. + * + * + * @generated + */ +public class NaturalLiteralItemProvider extends LiteralExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NaturalLiteralItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalLiteral_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalLiteral_value_feature", "_UI_NaturalLiteral_type"), + FiacrePackage.eINSTANCE.getNaturalLiteral_Value(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns NaturalLiteral.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NaturalLiteral")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + NaturalLiteral naturalLiteral = (NaturalLiteral)object; + return getString("_UI_NaturalLiteral_type") + " " + naturalLiteral.getValue(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NaturalLiteral.class)) { + case FiacrePackage.NATURAL_LITERAL__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLowerBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLowerBoundItemProvider.java new file mode 100644 index 0000000..5b2b261 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalLowerBoundItemProvider.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalLowerBound; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound} object. + * + * + * @generated + */ +public class NaturalLowerBoundItemProvider extends LowerBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NaturalLowerBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalLowerBound_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalLowerBound_value_feature", "_UI_NaturalLowerBound_type"), + FiacrePackage.eINSTANCE.getNaturalLowerBound_Value(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns NaturalLowerBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NaturalLowerBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + NaturalLowerBound naturalLowerBound = (NaturalLowerBound)object; + return getString("_UI_NaturalLowerBound_type") + " " + naturalLowerBound.isLeft(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NaturalLowerBound.class)) { + case FiacrePackage.NATURAL_LOWER_BOUND__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalTypeItemProvider.java new file mode 100644 index 0000000..c6845b0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalTypeItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalType} object. + * + * + * @generated + */ +public class NaturalTypeItemProvider extends BasicTypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NaturalTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns NaturalType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NaturalType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_NaturalType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalUpperBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalUpperBoundItemProvider.java new file mode 100644 index 0000000..b5fab28 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NaturalUpperBoundItemProvider.java @@ -0,0 +1,189 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalUpperBound; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound} object. + * + * + * @generated + */ +public class NaturalUpperBoundItemProvider extends UpperBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NaturalUpperBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addValuePropertyDescriptor(object); + addLeftPropertyDescriptor(object); + addRightPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Value feature. + * + * + * @generated + */ + protected void addValuePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalUpperBound_value_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalUpperBound_value_feature", "_UI_NaturalUpperBound_type"), + FiacrePackage.eINSTANCE.getNaturalUpperBound_Value(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Left feature. + * + * + * @generated + */ + protected void addLeftPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalUpperBound_left_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalUpperBound_left_feature", "_UI_NaturalUpperBound_type"), + FiacrePackage.eINSTANCE.getNaturalUpperBound_Left(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Right feature. + * + * + * @generated + */ + protected void addRightPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NaturalUpperBound_right_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NaturalUpperBound_right_feature", "_UI_NaturalUpperBound_type"), + FiacrePackage.eINSTANCE.getNaturalUpperBound_Right(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns NaturalUpperBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NaturalUpperBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + NaturalUpperBound naturalUpperBound = (NaturalUpperBound)object; + return getString("_UI_NaturalUpperBound_type") + " " + naturalUpperBound.getValue(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(NaturalUpperBound.class)) { + case FiacrePackage.NATURAL_UPPER_BOUND__VALUE: + case FiacrePackage.NATURAL_UPPER_BOUND__LEFT: + case FiacrePackage.NATURAL_UPPER_BOUND__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NullStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NullStatementItemProvider.java new file mode 100644 index 0000000..a8c72b2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/NullStatementItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.NullStatement} object. + * + * + * @generated + */ +public class NullStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public NullStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns NullStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/NullStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_NullStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableConjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableConjunctionItemProvider.java new file mode 100644 index 0000000..07b2e27 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableConjunctionItemProvider.java @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ObservableConjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction} object. + * + * + * @generated + */ +public class ObservableConjunctionItemProvider extends ObservableItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableConjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableConjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableConjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ObservableConjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ObservableConjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ObservableConjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObservableConjunction.class)) { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getObservableConjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getObservableConjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableDisjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableDisjunctionItemProvider.java new file mode 100644 index 0000000..c0628df --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableDisjunctionItemProvider.java @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ObservableDisjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction} object. + * + * + * @generated + */ +public class ObservableDisjunctionItemProvider extends ObservableItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableDisjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableDisjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableDisjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ObservableDisjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ObservableDisjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ObservableDisjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObservableDisjunction.class)) { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getObservableDisjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getObservableDisjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableEventItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableEventItemProvider.java new file mode 100644 index 0000000..70014c4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableEventItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableEvent} object. + * + * + * @generated + */ +public class ObservableEventItemProvider extends LTLPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ObservableEvent.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ObservableEvent")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ObservableEvent_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableImplicationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableImplicationItemProvider.java new file mode 100644 index 0000000..1fa87d2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableImplicationItemProvider.java @@ -0,0 +1,273 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ObservableImplication; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableImplication} object. + * + * + * @generated + */ +public class ObservableImplicationItemProvider extends ObservableItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableImplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableImplication_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableImplication_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ObservableImplication.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ObservableImplication")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ObservableImplication_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObservableImplication.class)) { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableImplication_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getObservableImplication_Left() || + childFeature == FiacrePackage.eINSTANCE.getObservableImplication_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableItemProvider.java new file mode 100644 index 0000000..2fb01a9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Observable} object. + * + * + * @generated + */ +public class ObservableItemProvider extends SequencePatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Observable.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Observable")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Observable_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableNegationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableNegationItemProvider.java new file mode 100644 index 0000000..907ae54 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ObservableNegationItemProvider.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ObservableNegation; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ObservableNegation} object. + * + * + * @generated + */ +public class ObservableNegationItemProvider extends ObservableItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ObservableNegationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getObservableNegation_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ObservableNegation.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ObservableNegation")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ObservableNegation_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ObservableNegation.class)) { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getObservableNegation_Child(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/OnStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/OnStatementItemProvider.java new file mode 100644 index 0000000..a77713a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/OnStatementItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.OnStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.OnStatement} object. + * + * + * @generated + */ +public class OnStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public OnStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getOnStatement_Condition()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns OnStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/OnStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_OnStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(OnStatement.class)) { + case FiacrePackage.ON_STATEMENT__CONDITION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getOnStatement_Condition(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterDeclarationItemProvider.java new file mode 100644 index 0000000..febd6f9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterDeclarationItemProvider.java @@ -0,0 +1,418 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration} object. + * + * + * @generated + */ +public class ParameterDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ParameterDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addReferencePropertyDescriptor(object); + addArrayPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Reference feature. + * + * + * @generated + */ + protected void addReferencePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterDeclaration_reference_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ParameterDeclaration_reference_feature", "_UI_ParameterDeclaration_type"), + FiacrePackage.eINSTANCE.getParameterDeclaration_Reference(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Array feature. + * + * + * @generated + */ + protected void addArrayPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParameterDeclaration_array_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ParameterDeclaration_array_feature", "_UI_ParameterDeclaration_type"), + FiacrePackage.eINSTANCE.getParameterDeclaration_Array(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterDeclaration_Size()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ParameterDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ParameterDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ParameterDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ParameterDeclaration_type") : + getString("_UI_ParameterDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ParameterDeclaration.class)) { + case FiacrePackage.PARAMETER_DECLARATION__REFERENCE: + case FiacrePackage.PARAMETER_DECLARATION__ARRAY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterDeclaration_Size(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterizedDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterizedDeclarationItemProvider.java new file mode 100644 index 0000000..20fe537 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParameterizedDeclarationItemProvider.java @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration} object. + * + * + * @generated + */ +public class ParameterizedDeclarationItemProvider extends DeclarationItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ParameterizedDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ParameterizedDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ParameterizedDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ParameterizedDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ParameterizedDeclaration_type") : + getString("_UI_ParameterizedDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ParameterizedDeclaration.class)) { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters(), + FiacreFactory.eINSTANCE.createParametersDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables(), + FiacreFactory.eINSTANCE.createVariablesDeclaration())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParametersDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParametersDeclarationItemProvider.java new file mode 100644 index 0000000..afb1909 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ParametersDeclarationItemProvider.java @@ -0,0 +1,294 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration} object. + * + * + * @generated + */ +public class ParametersDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ParametersDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addReadPropertyDescriptor(object); + addWritePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Read feature. + * + * + * @generated + */ + protected void addReadPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParametersDeclaration_read_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ParametersDeclaration_read_feature", "_UI_ParametersDeclaration_type"), + FiacrePackage.eINSTANCE.getParametersDeclaration_Read(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Write feature. + * + * + * @generated + */ + protected void addWritePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ParametersDeclaration_write_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ParametersDeclaration_write_feature", "_UI_ParametersDeclaration_type"), + FiacrePackage.eINSTANCE.getParametersDeclaration_Write(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParametersDeclaration_Parameters()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParametersDeclaration_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ParametersDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ParametersDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + ParametersDeclaration parametersDeclaration = (ParametersDeclaration)object; + return getString("_UI_ParametersDeclaration_type") + " " + parametersDeclaration.isRead(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ParametersDeclaration.class)) { + case FiacrePackage.PARAMETERS_DECLARATION__READ: + case FiacrePackage.PARAMETERS_DECLARATION__WRITE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Parameters(), + FiacreFactory.eINSTANCE.createParameterDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParametersDeclaration_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathDeclarationUseItemProvider.java new file mode 100644 index 0000000..ba64324 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathDeclarationUse} object. + * + * + * @generated + */ +public class PathDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PathDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PathDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PathDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PathDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathEventItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathEventItemProvider.java new file mode 100644 index 0000000..7f6feb2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathEventItemProvider.java @@ -0,0 +1,180 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PathEvent; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathEvent} object. + * + * + * @generated + */ +public class PathEventItemProvider extends ObservableEventItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PathEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPathEvent_Path()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPathEvent_Item()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PathEvent.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PathEvent")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PathEvent_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PathEvent.class)) { + case FiacrePackage.PATH_EVENT__PATH: + case FiacrePackage.PATH_EVENT__ITEM: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Path(), + FiacreFactory.eINSTANCE.createPath())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Item(), + FiacreFactory.eINSTANCE.createSubject())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Item(), + FiacreFactory.eINSTANCE.createStateSubject())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Item(), + FiacreFactory.eINSTANCE.createValueSubject())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Item(), + FiacreFactory.eINSTANCE.createTagSubject())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPathEvent_Item(), + FiacreFactory.eINSTANCE.createEventSubject())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemItemProvider.java new file mode 100644 index 0000000..185c3dd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PathItem} object. + * + * + * @generated + */ +public class PathItemItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PathItemItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PathItem.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PathItem")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PathItem_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemProvider.java new file mode 100644 index 0000000..c0e1677 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PathItemProvider.java @@ -0,0 +1,189 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Path; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Path} object. + * + * + * @generated + */ +public class PathItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PathItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPath_Items()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Path.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Path")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Path_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Path.class)) { + case FiacrePackage.PATH__ITEMS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPath_Items(), + FiacreFactory.eINSTANCE.createPathItem())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPath_Items(), + FiacreFactory.eINSTANCE.createNaturalItem())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPath_Items(), + FiacreFactory.eINSTANCE.createNamedItem())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternDeclarationUseItemProvider.java new file mode 100644 index 0000000..a42a6a4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse} object. + * + * + * @generated + */ +public class PatternDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PatternDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PatternDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PatternDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PatternDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternItemProvider.java new file mode 100644 index 0000000..94ecfaa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Pattern} object. + * + * + * @generated + */ +public class PatternItemProvider extends PatternStatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Pattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Pattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Pattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternPropertyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternPropertyItemProvider.java new file mode 100644 index 0000000..d90a609 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternPropertyItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternProperty} object. + * + * + * @generated + */ +public class PatternPropertyItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PatternPropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PatternProperty.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PatternProperty")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PatternProperty_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternStatementItemProvider.java new file mode 100644 index 0000000..79def69 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PatternStatementItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PatternStatement} object. + * + * + * @generated + */ +public class PatternStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PatternStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PatternStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PatternStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PatternStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortDeclarationItemProvider.java new file mode 100644 index 0000000..5f12f7f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortDeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration} object. + * + * + * @generated + */ +public class PortDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PortDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PortDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PortDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((PortDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_PortDeclaration_type") : + getString("_UI_PortDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortSetItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortSetItemProvider.java new file mode 100644 index 0000000..113ea38 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortSetItemProvider.java @@ -0,0 +1,418 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortSet; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortSet} object. + * + * + * @generated + */ +public class PortSetItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PortSetItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addAllPortsPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the All Ports feature. + * + * + * @generated + */ + protected void addAllPortsPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PortSet_allPorts_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_PortSet_allPorts_feature", "_UI_PortSet_type"), + FiacrePackage.eINSTANCE.getPortSet_AllPorts(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPortSet_Ports()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PortSet.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PortSet")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + PortSet portSet = (PortSet)object; + return getString("_UI_PortSet_type") + " " + portSet.isAllPorts(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PortSet.class)) { + case FiacrePackage.PORT_SET__ALL_PORTS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PORT_SET__PORTS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortSet_Ports(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortsDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortsDeclarationItemProvider.java new file mode 100644 index 0000000..289d541 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PortsDeclarationItemProvider.java @@ -0,0 +1,186 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortsDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration} object. + * + * + * @generated + */ +public class PortsDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PortsDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPortsDeclaration_Ports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPortsDeclaration_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PortsDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PortsDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PortsDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PortsDeclaration.class)) { + case FiacrePackage.PORTS_DECLARATION__PORTS: + case FiacrePackage.PORTS_DECLARATION__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortsDeclaration_Ports(), + FiacreFactory.eINSTANCE.createPortDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPortsDeclaration_Type(), + FiacreFactory.eINSTANCE.createChannelType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PrecedesPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PrecedesPatternItemProvider.java new file mode 100644 index 0000000..43d7667 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PrecedesPatternItemProvider.java @@ -0,0 +1,538 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PrecedesPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern} object. + * + * + * @generated + */ +public class PrecedesPatternItemProvider extends SequencePatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PrecedesPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Subject()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Follower()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Before()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_After()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Until()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Min()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPrecedesPattern_Max()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PrecedesPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PrecedesPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PrecedesPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PrecedesPattern.class)) { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + case FiacrePackage.PRECEDES_PATTERN__AFTER: + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + case FiacrePackage.PRECEDES_PATTERN__MIN: + case FiacrePackage.PRECEDES_PATTERN__MAX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Follower(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Before(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_After(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Until(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Min(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPrecedesPattern_Max(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Subject() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Follower() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Before() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_After() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Until() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Min() || + childFeature == FiacrePackage.eINSTANCE.getPrecedesPattern_Max(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PresencePatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PresencePatternItemProvider.java new file mode 100644 index 0000000..503f88c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PresencePatternItemProvider.java @@ -0,0 +1,563 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PresencePattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PresencePattern} object. + * + * + * @generated + */ +public class PresencePatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PresencePatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addLastingPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Lasting feature. + * + * + * @generated + */ + protected void addLastingPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PresencePattern_lasting_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_PresencePattern_lasting_feature", "_UI_PresencePattern_type"), + FiacrePackage.eINSTANCE.getPresencePattern_Lasting(), + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Subject()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_After()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Lower()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Upper()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Until()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Before()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Min()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPresencePattern_Max()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PresencePattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PresencePattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + PresencePattern presencePattern = (PresencePattern)object; + return getString("_UI_PresencePattern_type") + " " + presencePattern.getLasting(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PresencePattern.class)) { + case FiacrePackage.PRESENCE_PATTERN__LASTING: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + case FiacrePackage.PRESENCE_PATTERN__AFTER: + case FiacrePackage.PRESENCE_PATTERN__LOWER: + case FiacrePackage.PRESENCE_PATTERN__UPPER: + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + case FiacrePackage.PRESENCE_PATTERN__MIN: + case FiacrePackage.PRESENCE_PATTERN__MAX: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_After(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Lower(), + FiacreFactory.eINSTANCE.createLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Lower(), + FiacreFactory.eINSTANCE.createNaturalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Lower(), + FiacreFactory.eINSTANCE.createDecimalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Lower(), + FiacreFactory.eINSTANCE.createVariableLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Upper(), + FiacreFactory.eINSTANCE.createUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Upper(), + FiacreFactory.eINSTANCE.createNaturalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Upper(), + FiacreFactory.eINSTANCE.createDecimalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Upper(), + FiacreFactory.eINSTANCE.createVariableUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Upper(), + FiacreFactory.eINSTANCE.createInfiniteUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Until(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Before(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Min(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPresencePattern_Max(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_Subject() || + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_After() || + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_Until() || + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_Before() || + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_Min() || + childFeature == FiacrePackage.eINSTANCE.getPresencePattern_Max(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityDeclarationItemProvider.java new file mode 100644 index 0000000..be9c2ea --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityDeclarationItemProvider.java @@ -0,0 +1,179 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PriorityDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration} object. + * + * + * @generated + */ +public class PriorityDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PriorityDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPriorityDeclaration_Groups()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PriorityDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PriorityDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PriorityDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PriorityDeclaration.class)) { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPriorityDeclaration_Groups(), + FiacreFactory.eINSTANCE.createPriorityGroup())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityGroupItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityGroupItemProvider.java new file mode 100644 index 0000000..458cbed --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PriorityGroupItemProvider.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PriorityGroup} object. + * + * + * @generated + */ +public class PriorityGroupItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PriorityGroupItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addPortsPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Ports feature. + * + * + * @generated + */ + protected void addPortsPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_PriorityGroup_ports_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_PriorityGroup_ports_feature", "_UI_PriorityGroup_type"), + FiacrePackage.eINSTANCE.getPriorityGroup_Ports(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns PriorityGroup.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PriorityGroup")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PriorityGroup_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProcessDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProcessDeclarationItemProvider.java new file mode 100644 index 0000000..d81a164 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProcessDeclarationItemProvider.java @@ -0,0 +1,401 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration} object. + * + * + * @generated + */ +public class ProcessDeclarationItemProvider extends RootDeclarationItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ProcessDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_Ports()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_LocalPorts()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_Priorities()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_States()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProcessDeclaration_Transitions()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ProcessDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ProcessDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((ProcessDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_ProcessDeclaration_type") : + getString("_UI_ProcessDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ProcessDeclaration.class)) { + case FiacrePackage.PROCESS_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + case FiacrePackage.PROCESS_DECLARATION__PORTS: + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + case FiacrePackage.PROCESS_DECLARATION__STATES: + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Parameters(), + FiacreFactory.eINSTANCE.createParametersDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getParameterizedDeclaration_Variables(), + FiacreFactory.eINSTANCE.createVariablesDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Ports(), + FiacreFactory.eINSTANCE.createPortsDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_LocalPorts(), + FiacreFactory.eINSTANCE.createPortsDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Priorities(), + FiacreFactory.eINSTANCE.createPriorityDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_States(), + FiacreFactory.eINSTANCE.createStateDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Prelude(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProcessDeclaration_Transitions(), + FiacreFactory.eINSTANCE.createTransition())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getProcessDeclaration_Ports() || + childFeature == FiacrePackage.eINSTANCE.getProcessDeclaration_LocalPorts(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProjectionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProjectionItemProvider.java new file mode 100644 index 0000000..e654379 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ProjectionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Projection; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Projection} object. + * + * + * @generated + */ +public class ProjectionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ProjectionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProjection_Channel()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getProjection_Field()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Projection.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Projection")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Projection_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Projection.class)) { + case FiacrePackage.PROJECTION__CHANNEL: + case FiacrePackage.PROJECTION__FIELD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Channel(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getProjection_Field(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getProjection_Channel() || + childFeature == FiacrePackage.eINSTANCE.getProjection_Field(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyConjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyConjunctionItemProvider.java new file mode 100644 index 0000000..2018d1f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyConjunctionItemProvider.java @@ -0,0 +1,453 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyConjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction} object. + * + * + * @generated + */ +public class PropertyConjunctionItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyConjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyConjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyConjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PropertyConjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyConjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PropertyConjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PropertyConjunction.class)) { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyConjunction_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getPropertyConjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getPropertyConjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationItemProvider.java new file mode 100644 index 0000000..b9fd8d5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationItemProvider.java @@ -0,0 +1,319 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration} object. + * + * + * @generated + */ +public class PropertyDeclarationItemProvider extends PropertyDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyDeclaration_Property()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PropertyDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((PropertyDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_PropertyDeclaration_type") : + getString("_UI_PropertyDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PropertyDeclaration.class)) { + case FiacrePackage.PROPERTY_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDeclaration_Property(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationUseItemProvider.java new file mode 100644 index 0000000..42a9796 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse} object. + * + * + * @generated + */ +public class PropertyDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns PropertyDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PropertyDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDisjunctionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDisjunctionItemProvider.java new file mode 100644 index 0000000..1b55d66 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyDisjunctionItemProvider.java @@ -0,0 +1,453 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyDisjunction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction} object. + * + * + * @generated + */ +public class PropertyDisjunctionItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyDisjunctionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyDisjunction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyDisjunction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PropertyDisjunction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyDisjunction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PropertyDisjunction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PropertyDisjunction.class)) { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getPropertyDisjunction_Left() || + childFeature == FiacrePackage.eINSTANCE.getPropertyDisjunction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyImplicationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyImplicationItemProvider.java new file mode 100644 index 0000000..06a1f34 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyImplicationItemProvider.java @@ -0,0 +1,453 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyImplication; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyImplication} object. + * + * + * @generated + */ +public class PropertyImplicationItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyImplicationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyImplication_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyImplication_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PropertyImplication.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyImplication")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PropertyImplication_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PropertyImplication.class)) { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Left(), + FiacreFactory.eINSTANCE.createObservableNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyImplication_Right(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getPropertyImplication_Left() || + childFeature == FiacrePackage.eINSTANCE.getPropertyImplication_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyItemProvider.java new file mode 100644 index 0000000..815c6ea --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Property} object. + * + * + * @generated + */ +public class PropertyItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Property.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Property")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Property_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyNegationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyNegationItemProvider.java new file mode 100644 index 0000000..8c1ac1f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/PropertyNegationItemProvider.java @@ -0,0 +1,288 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyNegation; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.PropertyNegation} object. + * + * + * @generated + */ +public class PropertyNegationItemProvider extends PropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public PropertyNegationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getPropertyNegation_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns PropertyNegation.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertyNegation")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_PropertyNegation_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(PropertyNegation.class)) { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPatternProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createLTLPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createDeadlockFreePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createInfinitelyOftenPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createMortalPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPresencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createAbsencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createAlwaysPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createSequencePattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createAllProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createExistsProperty())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPropertyDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPropertyImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPropertyConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPropertyNegation())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createLeadsToPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createPrecedesPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getPropertyNegation_Child(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueExpressionItemProvider.java new file mode 100644 index 0000000..e86cd9a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.QueueExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.QueueExpression} object. + * + * + * @generated + */ +public class QueueExpressionItemProvider extends ValueExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public QueueExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getQueueExpression_Values()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns QueueExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/QueueExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_QueueExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(QueueExpression.class)) { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueExpression_Values(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueTypeItemProvider.java new file mode 100644 index 0000000..1d817f7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/QueueTypeItemProvider.java @@ -0,0 +1,425 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.QueueType; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.QueueType} object. + * + * + * @generated + */ +public class QueueTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public QueueTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getQueueType_Size()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getQueueType_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns QueueType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/QueueType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_QueueType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(QueueType.class)) { + case FiacrePackage.QUEUE_TYPE__SIZE: + case FiacrePackage.QUEUE_TYPE__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Size(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getQueueType_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RangeTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RangeTypeItemProvider.java new file mode 100644 index 0000000..72695d3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RangeTypeItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RangeType; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RangeType} object. + * + * + * @generated + */ +public class RangeTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RangeTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRangeType_Minimum()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRangeType_Maximum()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RangeType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RangeType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RangeType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RangeType.class)) { + case FiacrePackage.RANGE_TYPE__MINIMUM: + case FiacrePackage.RANGE_TYPE__MAXIMUM: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Minimum(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRangeType_Maximum(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getRangeType_Minimum() || + childFeature == FiacrePackage.eINSTANCE.getRangeType_Maximum(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReceiveStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReceiveStatementItemProvider.java new file mode 100644 index 0000000..2c11a4e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReceiveStatementItemProvider.java @@ -0,0 +1,470 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReceiveStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement} object. + * + * + * @generated + */ +public class ReceiveStatementItemProvider extends PatternStatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReceiveStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getReceiveStatement_Port()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getReceiveStatement_Patterns()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getReceiveStatement_Exp()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReceiveStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ReceiveStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ReceiveStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReceiveStatement.class)) { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + case FiacrePackage.RECEIVE_STATEMENT__EXP: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Port(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReceiveStatement_Exp(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getReceiveStatement_Port() || + childFeature == FiacrePackage.eINSTANCE.getReceiveStatement_Patterns(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessExpressionItemProvider.java new file mode 100644 index 0000000..86fdaa4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessExpressionItemProvider.java @@ -0,0 +1,192 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordAccessExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression} object. + * + * + * @generated + */ +public class RecordAccessExpressionItemProvider extends IdentifierExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordAccessExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFieldPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Field feature. + * + * + * @generated + */ + protected void addFieldPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RecordAccessExpression_field_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_RecordAccessExpression_field_feature", "_UI_RecordAccessExpression_type"), + FiacrePackage.eINSTANCE.getRecordAccessExpression_Field(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordAccessExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RecordAccessExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordAccessExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordAccessExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RecordAccessExpression.class)) { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessPatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessPatternItemProvider.java new file mode 100644 index 0000000..6928bd9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordAccessPatternItemProvider.java @@ -0,0 +1,192 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordAccessPattern; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern} object. + * + * + * @generated + */ +public class RecordAccessPatternItemProvider extends IdentifierPatternItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordAccessPatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addFieldPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Field feature. + * + * + * @generated + */ + protected void addFieldPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_RecordAccessPattern_field_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_RecordAccessPattern_field_feature", "_UI_RecordAccessPattern_type"), + FiacrePackage.eINSTANCE.getRecordAccessPattern_Field(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordAccessPattern_Source()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RecordAccessPattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordAccessPattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordAccessPattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RecordAccessPattern.class)) { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessPattern_Source(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessPattern_Source(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessPattern_Source(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordAccessPattern_Source(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordExpressionItemProvider.java new file mode 100644 index 0000000..702a74f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordExpressionItemProvider.java @@ -0,0 +1,153 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordExpression} object. + * + * + * @generated + */ +public class RecordExpressionItemProvider extends ValueExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordExpression_Fields()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RecordExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RecordExpression.class)) { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordExpression_Fields(), + FiacreFactory.eINSTANCE.createFieldExpression())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationItemProvider.java new file mode 100644 index 0000000..4b6e724 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration} object. + * + * + * @generated + */ +public class RecordFieldDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordFieldDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns RecordFieldDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordFieldDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((RecordFieldDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_RecordFieldDeclaration_type") : + getString("_UI_RecordFieldDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationUseItemProvider.java new file mode 100644 index 0000000..26d7ce4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse} object. + * + * + * @generated + */ +public class RecordFieldDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordFieldDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns RecordFieldDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordFieldDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordFieldDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldsItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldsItemProvider.java new file mode 100644 index 0000000..ab09787 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordFieldsItemProvider.java @@ -0,0 +1,241 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordFields; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordFields} object. + * + * + * @generated + */ +public class RecordFieldsItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordFieldsItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordFields_Fields()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordFields_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RecordFields.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordFields")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordFields_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RecordFields.class)) { + case FiacrePackage.RECORD_FIELDS__FIELDS: + case FiacrePackage.RECORD_FIELDS__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Fields(), + FiacreFactory.eINSTANCE.createRecordFieldDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordFields_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordTypeItemProvider.java new file mode 100644 index 0000000..2255bb8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RecordTypeItemProvider.java @@ -0,0 +1,153 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordType; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RecordType} object. + * + * + * @generated + */ +public class RecordTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RecordTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getRecordType_Fields()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns RecordType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RecordType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RecordType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(RecordType.class)) { + case FiacrePackage.RECORD_TYPE__FIELDS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getRecordType_Fields(), + FiacreFactory.eINSTANCE.createRecordFields())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceDeclarationUseItemProvider.java new file mode 100644 index 0000000..b480453 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse} object. + * + * + * @generated + */ +public class ReferenceDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReferenceDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ReferenceDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ReferenceDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ReferenceDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceExpressionItemProvider.java new file mode 100644 index 0000000..edc0445 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferenceExpressionItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression} object. + * + * + * @generated + */ +public class ReferenceExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReferenceExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReferenceExpression_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ReferenceExpression_declaration_feature", "_UI_ReferenceExpression_type"), + FiacrePackage.eINSTANCE.getReferenceExpression_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns ReferenceExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ReferenceExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ReferenceExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferencedTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferencedTypeItemProvider.java new file mode 100644 index 0000000..ba8d4a3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReferencedTypeItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReferencedType} object. + * + * + * @generated + */ +public class ReferencedTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReferencedTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTypePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Type feature. + * + * + * @generated + */ + protected void addTypePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ReferencedType_type_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ReferencedType_type_feature", "_UI_ReferencedType_type"), + FiacrePackage.eINSTANCE.getReferencedType_Type(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns ReferencedType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ReferencedType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ReferencedType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RequirementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RequirementItemProvider.java new file mode 100644 index 0000000..36f286d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RequirementItemProvider.java @@ -0,0 +1,216 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Requirement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Requirement} object. + * + * + * @generated + */ +public class RequirementItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RequirementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addPropertyPropertyDescriptor(object); + addPositivePropertyDescriptor(object); + addNegativePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Property feature. + * + * + * @generated + */ + protected void addPropertyPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Requirement_property_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Requirement_property_feature", "_UI_Requirement_type"), + FiacrePackage.eINSTANCE.getRequirement_Property(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Positive feature. + * + * + * @generated + */ + protected void addPositivePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Requirement_positive_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Requirement_positive_feature", "_UI_Requirement_type"), + FiacrePackage.eINSTANCE.getRequirement_Positive(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Negative feature. + * + * + * @generated + */ + protected void addNegativePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Requirement_negative_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Requirement_negative_feature", "_UI_Requirement_type"), + FiacrePackage.eINSTANCE.getRequirement_Negative(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns Requirement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Requirement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Requirement)object).getPositive(); + return label == null || label.length() == 0 ? + getString("_UI_Requirement_type") : + getString("_UI_Requirement_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Requirement.class)) { + case FiacrePackage.REQUIREMENT__POSITIVE: + case FiacrePackage.REQUIREMENT__NEGATIVE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReturnStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReturnStatementItemProvider.java new file mode 100644 index 0000000..5d435ca --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ReturnStatementItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReturnStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ReturnStatement} object. + * + * + * @generated + */ +public class ReturnStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReturnStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getReturnStatement_Expression()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ReturnStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ReturnStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ReturnStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ReturnStatement.class)) { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getReturnStatement_Expression(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootDeclarationItemProvider.java new file mode 100644 index 0000000..6c573a9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootDeclarationItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.RootDeclaration} object. + * + * + * @generated + */ +public class RootDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RootDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns RootDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/RootDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_RootDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootItemProvider.java new file mode 100644 index 0000000..f33f571 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/RootItemProvider.java @@ -0,0 +1,180 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Root} object. + * + * + * @generated + */ +public class RootItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public RootItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addDeclarationPropertyDescriptor(object); + addObservedPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Declaration feature. + * + * + * @generated + */ + protected void addDeclarationPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Root_declaration_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Root_declaration_feature", "_UI_Root_type"), + FiacrePackage.eINSTANCE.getRoot_Declaration(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Observed feature. + * + * + * @generated + */ + protected void addObservedPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Root_observed_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Root_observed_feature", "_UI_Root_type"), + FiacrePackage.eINSTANCE.getRoot_Observed(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns Root.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Root")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Root_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SelectStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SelectStatementItemProvider.java new file mode 100644 index 0000000..7de279b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SelectStatementItemProvider.java @@ -0,0 +1,312 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.SelectStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.SelectStatement} object. + * + * + * @generated + */ +public class SelectStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SelectStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSelectStatement_Body()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSelectStatement_Index()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSelectStatement_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns SelectStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/SelectStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_SelectStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(SelectStatement.class)) { + case FiacrePackage.SELECT_STATEMENT__BODY: + case FiacrePackage.SELECT_STATEMENT__INDEX: + case FiacrePackage.SELECT_STATEMENT__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Body(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Index(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSelectStatement_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SendStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SendStatementItemProvider.java new file mode 100644 index 0000000..18e5170 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SendStatementItemProvider.java @@ -0,0 +1,405 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.SendStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.SendStatement} object. + * + * + * @generated + */ +public class SendStatementItemProvider extends PatternStatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SendStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSendStatement_Port()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSendStatement_Values()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns SendStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/SendStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_SendStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(SendStatement.class)) { + case FiacrePackage.SEND_STATEMENT__PORT: + case FiacrePackage.SEND_STATEMENT__VALUES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Port(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSendStatement_Values(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SequencePatternItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SequencePatternItemProvider.java new file mode 100644 index 0000000..52a4326 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SequencePatternItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.SequencePattern} object. + * + * + * @generated + */ +public class SequencePatternItemProvider extends PatternPropertyItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SequencePatternItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns SequencePattern.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/SequencePattern")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_SequencePattern_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateDeclarationItemProvider.java new file mode 100644 index 0000000..bc2e7b7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateDeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateDeclaration} object. + * + * + * @generated + */ +public class StateDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StateDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns StateDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StateDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((StateDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_StateDeclaration_type") : + getString("_UI_StateDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateEventItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateEventItemProvider.java new file mode 100644 index 0000000..0a08bc9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateEventItemProvider.java @@ -0,0 +1,198 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StateEvent; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateEvent} object. + * + * + * @generated + */ +public class StateEventItemProvider extends ObservableEventItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StateEventItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getStateEvent_Subject()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StateEvent.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StateEvent")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_StateEvent_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StateEvent.class)) { + case FiacrePackage.STATE_EVENT__SUBJECT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservableEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createEnterStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createLeaveStateEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservable())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createPathEvent())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservableDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservableImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservableConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStateEvent_Subject(), + FiacreFactory.eINSTANCE.createObservableNegation())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateSubjectItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateSubjectItemProvider.java new file mode 100644 index 0000000..d48895e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StateSubjectItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.StateSubject} object. + * + * + * @generated + */ +public class StateSubjectItemProvider extends SubjectItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StateSubjectItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addStatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the State feature. + * + * + * @generated + */ + protected void addStatePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_StateSubject_state_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_StateSubject_state_feature", "_UI_StateSubject_type"), + FiacrePackage.eINSTANCE.getStateSubject_State(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns StateSubject.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StateSubject")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_StateSubject_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementChoiceItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementChoiceItemProvider.java new file mode 100644 index 0000000..f138529 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementChoiceItemProvider.java @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StatementChoice; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.StatementChoice} object. + * + * + * @generated + */ +public class StatementChoiceItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StatementChoiceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getStatementChoice_Choices()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StatementChoice.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StatementChoice")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_StatementChoice_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StatementChoice.class)) { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementChoice_Choices(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementItemProvider.java new file mode 100644 index 0000000..2ee9d53 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Statement} object. + * + * + * @generated + */ +public class StatementItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Statement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Statement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Statement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementSequenceItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementSequenceItemProvider.java new file mode 100644 index 0000000..5a85b50 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/StatementSequenceItemProvider.java @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StatementSequence; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.StatementSequence} object. + * + * + * @generated + */ +public class StatementSequenceItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public StatementSequenceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getStatementSequence_Statements()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns StatementSequence.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/StatementSequence")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_StatementSequence_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(StatementSequence.class)) { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getStatementSequence_Statements(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubjectItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubjectItemProvider.java new file mode 100644 index 0000000..8f60e19 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubjectItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Subject} object. + * + * + * @generated + */ +public class SubjectItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SubjectItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Subject.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Subject")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Subject_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubstractionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubstractionItemProvider.java new file mode 100644 index 0000000..6298e09 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/SubstractionItemProvider.java @@ -0,0 +1,603 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Substraction; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Substraction} object. + * + * + * @generated + */ +public class SubstractionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public SubstractionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSubstraction_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getSubstraction_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Substraction.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Substraction")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Substraction_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Substraction.class)) { + case FiacrePackage.SUBSTRACTION__LEFT: + case FiacrePackage.SUBSTRACTION__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Left(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getSubstraction_Right(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}. + * + * + * @generated + */ + @Override + public String getCreateChildText(Object owner, Object feature, Object child, Collection selection) { + Object childFeature = feature; + Object childObject = child; + + boolean qualify = + childFeature == FiacrePackage.eINSTANCE.getSubstraction_Left() || + childFeature == FiacrePackage.eINSTANCE.getSubstraction_Right(); + + if (qualify) { + return getString + ("_UI_CreateChild_text2", + new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) }); + } + return super.getCreateChildText(owner, feature, child, selection); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TagSubjectItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TagSubjectItemProvider.java new file mode 100644 index 0000000..1686cd5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TagSubjectItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TagSubject} object. + * + * + * @generated + */ +public class TagSubjectItemProvider extends SubjectItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TagSubjectItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addTagPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Tag feature. + * + * + * @generated + */ + protected void addTagPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TagSubject_tag_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_TagSubject_tag_feature", "_UI_TagSubject_type"), + FiacrePackage.eINSTANCE.getTagSubject_Tag(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns TagSubject.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TagSubject")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_TagSubject_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TaggedStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TaggedStatementItemProvider.java new file mode 100644 index 0000000..42e1aa5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TaggedStatementItemProvider.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TaggedStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TaggedStatement} object. + * + * + * @generated + */ +public class TaggedStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TaggedStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TaggedStatement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_TaggedStatement_name_feature", "_UI_TaggedStatement_type"), + FiacrePackage.eINSTANCE.getTaggedStatement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns TaggedStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TaggedStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((TaggedStatement)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_TaggedStatement_type") : + getString("_UI_TaggedStatement_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TaggedStatement.class)) { + case FiacrePackage.TAGGED_STATEMENT__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ToStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ToStatementItemProvider.java new file mode 100644 index 0000000..dfe7b10 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ToStatementItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ToStatement} object. + * + * + * @generated + */ +public class ToStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ToStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addStatePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the State feature. + * + * + * @generated + */ + protected void addStatePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_ToStatement_state_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_ToStatement_state_feature", "_UI_ToStatement_type"), + FiacrePackage.eINSTANCE.getToStatement_State(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns ToStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ToStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ToStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionItemProvider.java new file mode 100644 index 0000000..1fd5438 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionItemProvider.java @@ -0,0 +1,331 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Transition; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Transition} object. + * + * + * @generated + */ +public class TransitionItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TransitionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getTransition_Source()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getTransition_Action()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Transition.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Transition")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Transition_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Transition.class)) { + case FiacrePackage.TRANSITION__SOURCE: + case FiacrePackage.TRANSITION__ACTION: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Source(), + FiacreFactory.eINSTANCE.createTransitionSource())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTransition_Action(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionSourceItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionSourceItemProvider.java new file mode 100644 index 0000000..e665c3e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TransitionSourceItemProvider.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TransitionSource} object. + * + * + * @generated + */ +public class TransitionSourceItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TransitionSourceItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addOriginPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Origin feature. + * + * + * @generated + */ + protected void addOriginPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_TransitionSource_origin_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_TransitionSource_origin_feature", "_UI_TransitionSource_type"), + FiacrePackage.eINSTANCE.getTransitionSource_Origin(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns TransitionSource.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TransitionSource")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_TransitionSource_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TrueLiteralItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TrueLiteralItemProvider.java new file mode 100644 index 0000000..0f00182 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TrueLiteralItemProvider.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TrueLiteral} object. + * + * + * @generated + */ +public class TrueLiteralItemProvider extends BooleanLiteralItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TrueLiteralItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns TrueLiteral.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TrueLiteral")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_TrueLiteral_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TupleTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TupleTypeItemProvider.java new file mode 100644 index 0000000..6727424 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TupleTypeItemProvider.java @@ -0,0 +1,208 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TupleType; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TupleType} object. + * + * + * @generated + */ +public class TupleTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TupleTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getTupleType_Types()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns TupleType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TupleType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_TupleType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TupleType.class)) { + case FiacrePackage.TUPLE_TYPE__TYPES: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTupleType_Types(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationItemProvider.java new file mode 100644 index 0000000..2088784 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationItemProvider.java @@ -0,0 +1,239 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TypeDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration} object. + * + * + * @generated + */ +public class TypeDeclarationItemProvider extends TypeDeclarationUseItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TypeDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_NamedElement_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_NamedElement_name_feature", "_UI_NamedElement_type"), + FiacrePackage.eINSTANCE.getNamedElement_Name(), + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getTypeDeclaration_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns TypeDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TypeDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((TypeDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_TypeDeclaration_type") : + getString("_UI_TypeDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(TypeDeclaration.class)) { + case FiacrePackage.TYPE_DECLARATION__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case FiacrePackage.TYPE_DECLARATION__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getTypeDeclaration_Value(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationUseItemProvider.java new file mode 100644 index 0000000..60ebe06 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse} object. + * + * + * @generated + */ +public class TypeDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TypeDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns TypeDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/TypeDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_TypeDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeItemProvider.java new file mode 100644 index 0000000..1a921ca --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/TypeItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.Type} object. + * + * + * @generated + */ +public class TypeItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public TypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns Type.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Type")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_Type_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryCoerceExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryCoerceExpressionItemProvider.java new file mode 100644 index 0000000..ab844f0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryCoerceExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression} object. + * + * + * @generated + */ +public class UnaryCoerceExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryCoerceExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryCoerceExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryCoerceExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryCoerceExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryCoerceExpression.class)) { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryDeQueueExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryDeQueueExpressionItemProvider.java new file mode 100644 index 0000000..0564c5f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryDeQueueExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression} object. + * + * + * @generated + */ +public class UnaryDeQueueExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryDeQueueExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryDeQueueExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryDeQueueExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryDeQueueExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryDeQueueExpression.class)) { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryEmptyExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryEmptyExpressionItemProvider.java new file mode 100644 index 0000000..04d2dd7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryEmptyExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression} object. + * + * + * @generated + */ +public class UnaryEmptyExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryEmptyExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryEmptyExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryEmptyExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryEmptyExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryEmptyExpression.class)) { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFirstExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFirstExpressionItemProvider.java new file mode 100644 index 0000000..906d159 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFirstExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression} object. + * + * + * @generated + */ +public class UnaryFirstExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryFirstExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryFirstExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryFirstExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryFirstExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryFirstExpression.class)) { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFullExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFullExpressionItemProvider.java new file mode 100644 index 0000000..f956819 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryFullExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryFullExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression} object. + * + * + * @generated + */ +public class UnaryFullExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryFullExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryFullExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryFullExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryFullExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryFullExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryFullExpression.class)) { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryFullExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryLengthExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryLengthExpressionItemProvider.java new file mode 100644 index 0000000..b3ac644 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryLengthExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression} object. + * + * + * @generated + */ +public class UnaryLengthExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryLengthExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryLengthExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryLengthExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryLengthExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryLengthExpression.class)) { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryMinusExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryMinusExpressionItemProvider.java new file mode 100644 index 0000000..bf3add5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryMinusExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression} object. + * + * + * @generated + */ +public class UnaryMinusExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryMinusExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryMinusExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryMinusExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryMinusExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryMinusExpression.class)) { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryNegationExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryNegationExpressionItemProvider.java new file mode 100644 index 0000000..45bf81b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryNegationExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression} object. + * + * + * @generated + */ +public class UnaryNegationExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryNegationExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryNegationExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryNegationExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryNegationExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryNegationExpression.class)) { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryPlusExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryPlusExpressionItemProvider.java new file mode 100644 index 0000000..08808f1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnaryPlusExpressionItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression} object. + * + * + * @generated + */ +public class UnaryPlusExpressionItemProvider extends ExpressionItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnaryPlusExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnaryPlusExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryPlusExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnaryPlusExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnaryPlusExpression.class)) { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationItemProvider.java new file mode 100644 index 0000000..4633737 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration} object. + * + * + * @generated + */ +public class UnionTagDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnionTagDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns UnionTagDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnionTagDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((UnionTagDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_UnionTagDeclaration_type") : + getString("_UI_UnionTagDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationUseItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationUseItemProvider.java new file mode 100644 index 0000000..c61aaaf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagDeclarationUseItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse} object. + * + * + * @generated + */ +public class UnionTagDeclarationUseItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnionTagDeclarationUseItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns UnionTagDeclarationUse.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnionTagDeclarationUse")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnionTagDeclarationUse_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagsItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagsItemProvider.java new file mode 100644 index 0000000..187aad2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTagsItemProvider.java @@ -0,0 +1,241 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnionTags; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionTags} object. + * + * + * @generated + */ +public class UnionTagsItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnionTagsItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnionTags_Tags()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnionTags_Type()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnionTags.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnionTags")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnionTags_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnionTags.class)) { + case FiacrePackage.UNION_TAGS__TAGS: + case FiacrePackage.UNION_TAGS__TYPE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Tags(), + FiacreFactory.eINSTANCE.createUnionTagDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionTags_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTypeItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTypeItemProvider.java new file mode 100644 index 0000000..8825421 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnionTypeItemProvider.java @@ -0,0 +1,153 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnionType; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnionType} object. + * + * + * @generated + */ +public class UnionTypeItemProvider extends TypeItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnionTypeItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnionType_Tags()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnionType.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnionType")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnionType_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnionType.class)) { + case FiacrePackage.UNION_TYPE__TAGS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnionType_Tags(), + FiacreFactory.eINSTANCE.createUnionTags())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnlessStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnlessStatementItemProvider.java new file mode 100644 index 0000000..4d86b1e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UnlessStatementItemProvider.java @@ -0,0 +1,298 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnlessStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UnlessStatement} object. + * + * + * @generated + */ +public class UnlessStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UnlessStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getUnlessStatement_Followers()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns UnlessStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UnlessStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UnlessStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(UnlessStatement.class)) { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getUnlessStatement_Followers(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UpperBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UpperBoundItemProvider.java new file mode 100644 index 0000000..e959402 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/UpperBoundItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.UpperBound} object. + * + * + * @generated + */ +public class UpperBoundItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public UpperBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns UpperBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/UpperBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_UpperBound_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueExpressionItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueExpressionItemProvider.java new file mode 100644 index 0000000..9dda229 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueExpressionItemProvider.java @@ -0,0 +1,131 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ValueExpression} object. + * + * + * @generated + */ +public class ValueExpressionItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ValueExpressionItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns ValueExpression.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ValueExpression")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ValueExpression_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueSubjectItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueSubjectItemProvider.java new file mode 100644 index 0000000..b7c3375 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/ValueSubjectItemProvider.java @@ -0,0 +1,363 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ValueSubject; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.ValueSubject} object. + * + * + * @generated + */ +public class ValueSubjectItemProvider extends SubjectItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ValueSubjectItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getValueSubject_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns ValueSubject.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/ValueSubject")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_ValueSubject_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(ValueSubject.class)) { + case FiacrePackage.VALUE_SUBJECT__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getValueSubject_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableDeclarationItemProvider.java new file mode 100644 index 0000000..47b309c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableDeclarationItemProvider.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration} object. + * + * + * @generated + */ +public class VariableDeclarationItemProvider extends NamedElementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public VariableDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This returns VariableDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/VariableDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((VariableDeclaration)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_VariableDeclaration_type") : + getString("_UI_VariableDeclaration_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableLowerBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableLowerBoundItemProvider.java new file mode 100644 index 0000000..72d3b25 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableLowerBoundItemProvider.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariableLowerBound; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound} object. + * + * + * @generated + */ +public class VariableLowerBoundItemProvider extends LowerBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public VariableLowerBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVariablePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Variable feature. + * + * + * @generated + */ + protected void addVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableLowerBound_variable_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_VariableLowerBound_variable_feature", "_UI_VariableLowerBound_type"), + FiacrePackage.eINSTANCE.getVariableLowerBound_Variable(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns VariableLowerBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/VariableLowerBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + VariableLowerBound variableLowerBound = (VariableLowerBound)object; + return getString("_UI_VariableLowerBound_type") + " " + variableLowerBound.isLeft(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableUpperBoundItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableUpperBoundItemProvider.java new file mode 100644 index 0000000..a60a176 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariableUpperBoundItemProvider.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariableUpperBound; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound} object. + * + * + * @generated + */ +public class VariableUpperBoundItemProvider extends UpperBoundItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public VariableUpperBoundItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addVariablePropertyDescriptor(object); + addLeftPropertyDescriptor(object); + addRightPropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Variable feature. + * + * + * @generated + */ + protected void addVariablePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableUpperBound_variable_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_VariableUpperBound_variable_feature", "_UI_VariableUpperBound_type"), + FiacrePackage.eINSTANCE.getVariableUpperBound_Variable(), + true, + false, + true, + null, + null, + null)); + } + + /** + * This adds a property descriptor for the Left feature. + * + * + * @generated + */ + protected void addLeftPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableUpperBound_left_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_VariableUpperBound_left_feature", "_UI_VariableUpperBound_type"), + FiacrePackage.eINSTANCE.getVariableUpperBound_Left(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Right feature. + * + * + * @generated + */ + protected void addRightPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_VariableUpperBound_right_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_VariableUpperBound_right_feature", "_UI_VariableUpperBound_type"), + FiacrePackage.eINSTANCE.getVariableUpperBound_Right(), + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This returns VariableUpperBound.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/VariableUpperBound")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + VariableUpperBound variableUpperBound = (VariableUpperBound)object; + return getString("_UI_VariableUpperBound_type") + " " + variableUpperBound.isLeft(); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(VariableUpperBound.class)) { + case FiacrePackage.VARIABLE_UPPER_BOUND__LEFT: + case FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariablesDeclarationItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariablesDeclarationItemProvider.java new file mode 100644 index 0000000..039232e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/VariablesDeclarationItemProvider.java @@ -0,0 +1,458 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration} object. + * + * + * @generated + */ +public class VariablesDeclarationItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public VariablesDeclarationItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getVariablesDeclaration_Variables()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getVariablesDeclaration_Type()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getVariablesDeclaration_Value()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns VariablesDeclaration.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/VariablesDeclaration")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_VariablesDeclaration_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(VariablesDeclaration.class)) { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Variables(), + FiacreFactory.eINSTANCE.createVariableDeclaration())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createBasicType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createRangeType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createUnionType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createRecordType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createQueueType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createArrayType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createReferencedType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createTupleType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createNaturalType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createIntegerType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Type(), + FiacreFactory.eINSTANCE.createBooleanType())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getVariablesDeclaration_Value(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return FiacreEditPlugin.INSTANCE; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WaitStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WaitStatementItemProvider.java new file mode 100644 index 0000000..fcb79ab --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WaitStatementItemProvider.java @@ -0,0 +1,195 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.WaitStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.WaitStatement} object. + * + * + * @generated + */ +public class WaitStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public WaitStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getWaitStatement_Left()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getWaitStatement_Right()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns WaitStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/WaitStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_WaitStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(WaitStatement.class)) { + case FiacrePackage.WAIT_STATEMENT__LEFT: + case FiacrePackage.WAIT_STATEMENT__RIGHT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Left(), + FiacreFactory.eINSTANCE.createLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Left(), + FiacreFactory.eINSTANCE.createNaturalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Left(), + FiacreFactory.eINSTANCE.createDecimalLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Left(), + FiacreFactory.eINSTANCE.createVariableLowerBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Right(), + FiacreFactory.eINSTANCE.createUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Right(), + FiacreFactory.eINSTANCE.createNaturalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Right(), + FiacreFactory.eINSTANCE.createDecimalUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Right(), + FiacreFactory.eINSTANCE.createVariableUpperBound())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWaitStatement_Right(), + FiacreFactory.eINSTANCE.createInfiniteUpperBound())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WhileStatementItemProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WhileStatementItemProvider.java new file mode 100644 index 0000000..4dffb71 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.edit/src/fr/irit/fiacre/xtext/fiacre/provider/WhileStatementItemProvider.java @@ -0,0 +1,515 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.provider; + + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.WhileStatement; + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ViewerNotification; + +/** + * This is the item provider adapter for a {@link fr.irit.fiacre.xtext.fiacre.WhileStatement} object. + * + * + * @generated + */ +public class WhileStatementItemProvider extends StatementItemProvider { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public WhileStatementItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + } + return itemPropertyDescriptors; + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(FiacrePackage.eINSTANCE.getWhileStatement_Condition()); + childrenFeatures.add(FiacrePackage.eINSTANCE.getWhileStatement_Body()); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns WhileStatement.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/WhileStatement")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + return getString("_UI_WhileStatement_type"); + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(WhileStatement.class)) { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + case FiacrePackage.WHILE_STATEMENT__BODY: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createReferenceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createIdentifierExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createEnqueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createAppendExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createLiteralExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createBooleanLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createNaturalLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createAllExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createExistsExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createConditional())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createDisjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createImplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createConjunction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonNotEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesser())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonLesserEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreater())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createComparisonGreaterEqual())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createAddition())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createSubstraction())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createMultiplication())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createDivision())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createModulo())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryPlusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryMinusExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryNegationExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFirstExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryLengthExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryCoerceExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryFullExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryDeQueueExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createUnaryEmptyExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createProjection())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createConstructionExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createArrayAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createRecordAccessExpression())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createTrueLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Condition(), + FiacreFactory.eINSTANCE.createFalseLiteral())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createBlockStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createReturnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createNullStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createTaggedStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createPatternStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createAnyPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createConstantPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createIntegerPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createIdentifierPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createConditionalStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createSelectStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createWhileStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createForeachStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createToStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createCaseStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createLoopStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createOnStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createWaitStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createUnlessStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createStatementChoice())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createStatementSequence())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createAssignStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createAssignAnyStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createSendStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createReceiveStatement())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createConstructorPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createArrayAccessPattern())); + + newChildDescriptors.add + (createChildParameter + (FiacrePackage.eINSTANCE.getWhileStatement_Body(), + FiacreFactory.eINSTANCE.createRecordAccessPattern())); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/.classpath b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.classpath new file mode 100644 index 0000000..22f3064 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/.project b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.project new file mode 100644 index 0000000..36a9b8e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/.project @@ -0,0 +1,28 @@ + + + fr.irit.fiacre.xtext.editor + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.fiacre.xtext.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..8d7a1d8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: fr.irit.fiacre.xtext.editor;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: fr.irit.fiacre.xtext.fiacre.presentation.FiacreEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Export-Package: fr.irit.fiacre.xtext.fiacre.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + fr.irit.fiacre.xtext.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/build.properties b/eclipse/plugins/fr.irit.fiacre.xtext.editor/build.properties new file mode 100644 index 0000000..3d5a0e5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/build.properties @@ -0,0 +1,20 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# generated by Xtext 2.10.0 + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/obj16/FiacreModelFile.gif b/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/obj16/FiacreModelFile.gif new file mode 100644 index 0000000..7cd31fe Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/obj16/FiacreModelFile.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/wizban/NewFiacre.gif b/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/wizban/NewFiacre.gif new file mode 100644 index 0000000..1c82778 Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext.editor/icons/full/wizban/NewFiacre.gif differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.properties b/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.properties new file mode 100644 index 0000000..0aa8691 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.properties @@ -0,0 +1,63 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# generated by Xtext 2.10.0 + +pluginName = Fiacre Editor +providerName = www.example.org + +_UI_FiacreEditor_menu = &Fiacre Editor + +_UI_CreateChild_menu_item = &New Child +_UI_CreateSibling_menu_item = N&ew Sibling + +_UI_ShowPropertiesView_menu_item = Show &Properties View +_UI_RefreshViewer_menu_item = &Refresh + +_UI_SelectionPage_label = Selection +_UI_ParentPage_label = Parent +_UI_ListPage_label = List +_UI_TreePage_label = Tree +_UI_TablePage_label = Table +_UI_TreeWithColumnsPage_label = Tree with Columns +_UI_ObjectColumn_label = Object +_UI_SelfColumn_label = Self + +_UI_NoObjectSelected = Selected Nothing +_UI_SingleObjectSelected = Selected Object: {0} +_UI_MultiObjectSelected = Selected {0} Objects + +_UI_OpenEditorError_label = Open Editor + +_UI_Wizard_category = Example EMF Model Creation Wizards + +_UI_CreateModelError_message = Problems encountered in file "{0}" + +_UI_FiacreModelWizard_label = Fiacre Model +_UI_FiacreModelWizard_description = Create a new Fiacre model + +_UI_FiacreEditor_label = Fiacre Model Editor + +_UI_FiacreEditorFilenameDefaultBase = My +_UI_FiacreEditorFilenameExtensions = fcr + +_UI_Wizard_label = New + +_WARN_FilenameExtension = The file name must end in ''.{0}'' +_WARN_FilenameExtensions = The file name must have one of the following extensions: {0} + +_UI_ModelObject = &Model Object +_UI_XMLEncoding = &XML Encoding +_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1 +_UI_Wizard_initial_object_description = Select a model object to create + +_UI_FileConflict_label = File Conflict +_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes? + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.xml b/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.xml new file mode 100644 index 0000000..1ffba0e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/plugin.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + %_UI_FiacreModelWizard_description + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreActionBarContributor.java b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreActionBarContributor.java new file mode 100644 index 0000000..5a13a56 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreActionBarContributor.java @@ -0,0 +1,434 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Fiacre model editor. + * + * + * @generated + */ +public class FiacreActionBarContributor + extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * + * + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * + * + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * + * + * @generated + */ + protected IAction showPropertiesViewAction = + new Action(FiacreEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } + catch (PartInitException exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * + * + * @generated + */ + protected IAction refreshViewerAction = + new Action(FiacreEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * + * + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * + * + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * + * + * @generated + */ + public FiacreActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * + * + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + toolBarManager.add(new Separator("fiacre-settings")); + toolBarManager.add(new Separator("fiacre-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * + * + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreEditor_menu"), "fr.irit.fiacre.xtext.fiacreMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(FiacreEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager(FiacreEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener + (new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * + * + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } + else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * + * + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection newChildDescriptors = null; + Collection newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) { + Object object = ((IStructuredSelection)selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateChildActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateSiblingActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified manager with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection, + * by inserting them before the specified contribution item contributionID. + * If contributionID is null, they are simply added. + * + * + * @generated + */ + protected void populateManager(IContributionManager manager, Collection actions, String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } + else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified manager all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection. + * + * + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem)contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem)contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * + * + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(FiacreEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(FiacreEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * + * + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * + * + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditor.java b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditor.java new file mode 100644 index 0000000..74cb0a8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditor.java @@ -0,0 +1,1830 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.presentation; + + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import fr.irit.fiacre.xtext.fiacre.provider.FiacreItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + + +/** + * This is an example of a Fiacre model editor. + * + * + * @generated + */ +public class FiacreEditor + extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * + * + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * + * + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * + * + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * + * + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * + * + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * + * + * @generated + */ + protected List propertySheetPages = new ArrayList(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * + * + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * + * + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * + * + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * + * + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * + * + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * + * + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * + * + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * + * + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * + * + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * + * + * @generated + */ + protected Collection selectionChangedListeners = new ArrayList(); + + /** + * This keeps track of the selection of the editor as a whole. + * + * + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * + * + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * + * + * @generated + */ + protected IPartListener partListener = + new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(FiacreEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } + else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(FiacreEditor.this); + handleActivate(); + } + } + else if (p == FiacreEditor.this) { + handleActivate(); + } + } + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * + * + * @generated + */ + protected Collection removedResources = new ArrayList(); + + /** + * Resources that have been changed since last activation. + * + * + * @generated + */ + protected Collection changedResources = new ArrayList(); + + /** + * Resources that have been saved. + * + * + * @generated + */ + protected Collection savedResources = new ArrayList(); + + /** + * Map to store the diagnostic associated with a resource. + * + * + * @generated + */ + protected Map resourceToDiagnosticMap = new LinkedHashMap(); + + /** + * Controls whether the problem indication should be updated. + * + * + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * + * + * @generated + */ + protected EContentAdapter problemIndicationAdapter = + new EContentAdapter() { + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource)notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } + else { + resourceToDiagnosticMap.remove(resource); + } + + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + break; + } + } + } + else { + super.notifyChanged(notification); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + if (updateProblemIndication) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + } + }; + + /** + * This listens for workspace changes. + * + * + * @generated + */ + protected IResourceChangeListener resourceChangeListener = + new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection changedResources = new ArrayList(); + protected Collection removedResources = new ArrayList(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || + delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } + else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection getChangedResources() { + return changedResources; + } + + public Collection getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(FiacreEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == FiacreEditor.this) { + handleActivate(); + } + } + }); + } + } + catch (CoreException exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * + * + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(FiacreEditor.this, false); + } + else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } + else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * + * + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + if (isDirty()) { + changedResources.addAll(editingDomain.getResourceSet().getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(Collections.EMPTY_MAP); + } + catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * + * + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = + new BasicDiagnostic + (Diagnostic.OK, + "fr.irit.fiacre.xtext.editor", + 0, + null, + new Object [] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } + else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } + catch (PartInitException exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + markerHelper.deleteMarkers(editingDomain.getResourceSet()); + if (diagnostic.getSeverity() != Diagnostic.OK) { + try { + markerHelper.createMarkers(diagnostic); + } + catch (CoreException exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + } + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * + * + * @generated + */ + protected boolean handleDirtyConflict() { + return + MessageDialog.openQuestion + (getSite().getShell(), + getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * + * + * @generated + */ + public FiacreEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * + * + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new FiacreItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener + (new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec + (new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator i = propertySheetPages.iterator(); i.hasNext(); ) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl().isDisposed()) { + i.remove(); + } + else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap()); + } + + /** + * This is here for the listener to be able to call it. + * + * + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * + * + * @generated + */ + public void setSelectionToViewer(Collection collection) { + final Collection theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = + new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * + * + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * + * + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * + * + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * + * + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * + * + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * + * + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = + new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * + * + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * + * + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu= contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * + * + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } + catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * + * + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = + new BasicDiagnostic + (hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "fr.irit.fiacre.xtext.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object [] { exception == null ? (Object)resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } + else if (exception != null) { + return + new BasicDiagnostic + (Diagnostic.ERROR, + "fr.irit.fiacre.xtext.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception }); + } + else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * + * + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer)viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer)viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer)viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer)viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer)viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String [] {"a", "b"}); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), FiacreEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer)viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"}); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + setActivePage(0); + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener + (new ControlAdapter() { + boolean guard = false; + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * + * + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(1); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y + 6); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * + * + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + ((CTabFolder)getContainer()).setTabHeight(SWT.DEFAULT); + Point point = getContainer().getSize(); + getContainer().setSize(point.x, point.y - 6); + } + } + } + + /** + * This is used to track the active viewer. + * + * + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * + * + * @generated + */ + @SuppressWarnings("rawtypes") + @Override + public Object getAdapter(Class key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? getContentOutlinePage() : null; + } + else if (key.equals(IPropertySheetPage.class)) { + return getPropertySheetPage(); + } + else if (key.equals(IGotoMarker.class)) { + return this; + } + else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * + * + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener + (new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * + * + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = + new ExtendedPropertySheetPage(editingDomain) { + @Override + public void setSelectionToViewer(List selection) { + FiacreEditor.this.setSelectionToViewer(selection); + FiacreEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * + * + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator selectedElements = ((IStructuredSelection)selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList selectionList = new ArrayList(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } + else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * + * + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * + * + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map saveOptions = new HashMap(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + for (Resource resource : editingDomain.getResourceSet().getResources()) { + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } + catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } + catch (Exception exception) { + // Something went wrong that shouldn't. + // + FiacreEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * + * + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } + catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * + * + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * + * + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * + * + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = + getActionBars().getStatusLineManager() != null ? + getActionBars().getStatusLineManager().getProgressMonitor() : + new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * + * + * @generated + */ + public void gotoMarker(IMarker marker) { + List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * + * + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE); + } + + /** + * + * + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } + else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * + * + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * + * + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * + * + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? + contentOutlineStatusLineManager : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection collection = ((IStructuredSelection)selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } + else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * + * + * @generated + */ + private static String getString(String key) { + return FiacreEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * + * + * @generated + */ + private static String getString(String key, Object s1) { + return FiacreEditorPlugin.INSTANCE.getString(key, new Object [] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * + * + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * + * + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor(); + } + + /** + * + * + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * + * + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * + * + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditorPlugin.java b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditorPlugin.java new file mode 100644 index 0000000..8e78d79 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreEditorPlugin.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.presentation; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the Fiacre editor plugin. + * + * + * @generated + */ +public final class FiacreEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final FiacreEditorPlugin INSTANCE = new FiacreEditorPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public FiacreEditorPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreModelWizard.java b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreModelWizard.java new file mode 100644 index 0000000..da86ad0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.editor/src/fr/irit/fiacre/xtext/fiacre/presentation/FiacreModelWizard.java @@ -0,0 +1,639 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.presentation; + + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.MissingResourceException; +import java.util.StringTokenizer; + +import org.eclipse.emf.common.CommonPlugin; + +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; + +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +import org.eclipse.emf.ecore.EObject; + +import org.eclipse.emf.ecore.xmi.XMLResource; + +import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry; + +import org.eclipse.core.resources.IContainer; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IFolder; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.IProgressMonitor; + +import org.eclipse.jface.dialogs.MessageDialog; + +import org.eclipse.jface.viewers.IStructuredSelection; + +import org.eclipse.jface.wizard.Wizard; +import org.eclipse.jface.wizard.WizardPage; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.ModifyEvent; + +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; + +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; + +import org.eclipse.ui.INewWizard; +import org.eclipse.ui.IWorkbench; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + +import org.eclipse.ui.dialogs.WizardNewFileCreationPage; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.ISetSelectionTarget; + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.provider.FiacreEditPlugin; + + +import org.eclipse.core.runtime.Path; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; + + +/** + * This is a simple wizard for creating a new model file. + * + * + * @generated + */ +public class FiacreModelWizard extends Wizard implements INewWizard { + /** + * The supported extensions for created files. + * + * + * @generated + */ + public static final List FILE_EXTENSIONS = + Collections.unmodifiableList(Arrays.asList(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreEditorFilenameExtensions").split("\\s*,\\s*"))); + + /** + * A formatted list of supported file extensions, suitable for display. + * + * + * @generated + */ + public static final String FORMATTED_FILE_EXTENSIONS = + FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + + /** + * This caches an instance of the model package. + * + * + * @generated + */ + protected FiacrePackage fiacrePackage = FiacrePackage.eINSTANCE; + + /** + * This caches an instance of the model factory. + * + * + * @generated + */ + protected FiacreFactory fiacreFactory = fiacrePackage.getFiacreFactory(); + + /** + * This is the file creation page. + * + * + * @generated + */ + protected FiacreModelWizardNewFileCreationPage newFileCreationPage; + + /** + * This is the initial object creation page. + * + * + * @generated + */ + protected FiacreModelWizardInitialObjectCreationPage initialObjectCreationPage; + + /** + * Remember the selection during initialization for populating the default container. + * + * + * @generated + */ + protected IStructuredSelection selection; + + /** + * Remember the workbench during initialization. + * + * + * @generated + */ + protected IWorkbench workbench; + + /** + * Caches the names of the types that can be created as the root object. + * + * + * @generated + */ + protected List initialObjectNames; + + /** + * This just records the information. + * + * + * @generated + */ + public void init(IWorkbench workbench, IStructuredSelection selection) { + this.workbench = workbench; + this.selection = selection; + setWindowTitle(FiacreEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(FiacreEditorPlugin.INSTANCE.getImage("full/wizban/NewFiacre"))); + } + + /** + * Returns the names of the types that can be created as the root object. + * + * + * @generated + */ + protected Collection getInitialObjectNames() { + if (initialObjectNames == null) { + initialObjectNames = new ArrayList(); + for (EClassifier eClassifier : fiacrePackage.getEClassifiers()) { + if (eClassifier instanceof EClass) { + EClass eClass = (EClass)eClassifier; + if (!eClass.isAbstract()) { + initialObjectNames.add(eClass.getName()); + } + } + } + Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator()); + } + return initialObjectNames; + } + + /** + * Create a new model. + * + * + * @generated + */ + protected EObject createInitialModel() { + EClass eClass = (EClass)fiacrePackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = fiacreFactory.create(eClass); + return rootObject; + } + + /** + * Do the work after everything is specified. + * + * + * @generated + */ + @Override + public boolean performFinish() { + try { + // Remember the file. + // + final IFile modelFile = getModelFile(); + + // Do the work within an operation. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + @Override + protected void execute(IProgressMonitor progressMonitor) { + try { + // Create a resource set + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Get the URI of the model file. + // + URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true); + + // Create a resource for this file. + // + Resource resource = resourceSet.createResource(fileURI); + + // Add the initial model object to the contents. + // + EObject rootObject = createInitialModel(); + if (rootObject != null) { + resource.getContents().add(rootObject); + } + + // Save the contents of the resource to the file system. + // + Map options = new HashMap(); + options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding()); + resource.save(options); + } + catch (Exception exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + } + finally { + progressMonitor.done(); + } + } + }; + + getContainer().run(false, false, operation); + + // Select the new file resource in the current view. + // + IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); + IWorkbenchPage page = workbenchWindow.getActivePage(); + final IWorkbenchPart activePart = page.getActivePart(); + if (activePart instanceof ISetSelectionTarget) { + final ISelection targetSelection = new StructuredSelection(modelFile); + getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + ((ISetSelectionTarget)activePart).selectReveal(targetSelection); + } + }); + } + + // Open an editor on the new file. + // + try { + page.openEditor + (new FileEditorInput(modelFile), + workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); + } + catch (PartInitException exception) { + MessageDialog.openError(workbenchWindow.getShell(), FiacreEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); + return false; + } + + return true; + } + catch (Exception exception) { + FiacreEditorPlugin.INSTANCE.log(exception); + return false; + } + } + + /** + * This is the one page of the wizard. + * + * + * @generated + */ + public class FiacreModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + /** + * Pass in the selection. + * + * + * @generated + */ + public FiacreModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + super(pageId, selection); + } + + /** + * The framework calls this to see if the file is correct. + * + * + * @generated + */ + @Override + protected boolean validatePage() { + if (super.validatePage()) { + String extension = new Path(getFileName()).getFileExtension(); + if (extension == null || !FILE_EXTENSIONS.contains(extension)) { + String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; + setErrorMessage(FiacreEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS })); + return false; + } + return true; + } + return false; + } + + /** + * + * + * @generated + */ + public IFile getModelFile() { + return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName())); + } + } + + /** + * This is the page where the type of object to create is selected. + * + * + * @generated + */ + public class FiacreModelWizardInitialObjectCreationPage extends WizardPage { + /** + * + * + * @generated + */ + protected Combo initialObjectField; + + /** + * @generated + * + * + */ + protected List encodings; + + /** + * + * + * @generated + */ + protected Combo encodingField; + + /** + * Pass in the selection. + * + * + * @generated + */ + public FiacreModelWizardInitialObjectCreationPage(String pageId) { + super(pageId); + } + + /** + * + * + * @generated + */ + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + { + GridLayout layout = new GridLayout(); + layout.numColumns = 1; + layout.verticalSpacing = 12; + composite.setLayout(layout); + + GridData data = new GridData(); + data.verticalAlignment = GridData.FILL; + data.grabExcessVerticalSpace = true; + data.horizontalAlignment = GridData.FILL; + composite.setLayoutData(data); + } + + Label containerLabel = new Label(composite, SWT.LEFT); + { + containerLabel.setText(FiacreEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + containerLabel.setLayoutData(data); + } + + initialObjectField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + initialObjectField.setLayoutData(data); + } + + for (String objectName : getInitialObjectNames()) { + initialObjectField.add(getLabel(objectName)); + } + + if (initialObjectField.getItemCount() == 1) { + initialObjectField.select(0); + } + initialObjectField.addModifyListener(validator); + + Label encodingLabel = new Label(composite, SWT.LEFT); + { + encodingLabel.setText(FiacreEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + encodingLabel.setLayoutData(data); + } + encodingField = new Combo(composite, SWT.BORDER); + { + GridData data = new GridData(); + data.horizontalAlignment = GridData.FILL; + data.grabExcessHorizontalSpace = true; + encodingField.setLayoutData(data); + } + + for (String encoding : getEncodings()) { + encodingField.add(encoding); + } + + encodingField.select(0); + encodingField.addModifyListener(validator); + + setPageComplete(validatePage()); + setControl(composite); + } + + /** + * + * + * @generated + */ + protected ModifyListener validator = + new ModifyListener() { + public void modifyText(ModifyEvent e) { + setPageComplete(validatePage()); + } + }; + + /** + * + * + * @generated + */ + protected boolean validatePage() { + return getInitialObjectName() != null && getEncodings().contains(encodingField.getText()); + } + + /** + * + * + * @generated + */ + @Override + public void setVisible(boolean visible) { + super.setVisible(visible); + if (visible) { + if (initialObjectField.getItemCount() == 1) { + initialObjectField.clearSelection(); + encodingField.setFocus(); + } + else { + encodingField.clearSelection(); + initialObjectField.setFocus(); + } + } + } + + /** + * + * + * @generated + */ + public String getInitialObjectName() { + String label = initialObjectField.getText(); + + for (String name : getInitialObjectNames()) { + if (getLabel(name).equals(label)) { + return name; + } + } + return null; + } + + /** + * + * + * @generated + */ + public String getEncoding() { + return encodingField.getText(); + } + + /** + * Returns the label for the specified type name. + * + * + * @generated + */ + protected String getLabel(String typeName) { + try { + return FiacreEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + } + catch(MissingResourceException mre) { + FiacreEditorPlugin.INSTANCE.log(mre); + } + return typeName; + } + + /** + * + * + * @generated + */ + protected Collection getEncodings() { + if (encodings == null) { + encodings = new ArrayList(); + for (StringTokenizer stringTokenizer = new StringTokenizer(FiacreEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) { + encodings.add(stringTokenizer.nextToken()); + } + } + return encodings; + } + } + + /** + * The framework calls this to create the contents of the wizard. + * + * + * @generated + */ + @Override + public void addPages() { + // Create a page, set the title, and the initial model file name. + // + newFileCreationPage = new FiacreModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreModelWizard_label")); + newFileCreationPage.setDescription(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreModelWizard_description")); + newFileCreationPage.setFileName(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); + addPage(newFileCreationPage); + + // Try and get the resource selection to determine a current directory for the file dialog. + // + if (selection != null && !selection.isEmpty()) { + // Get the resource... + // + Object selectedElement = selection.iterator().next(); + if (selectedElement instanceof IResource) { + // Get the resource parent, if its a file. + // + IResource selectedResource = (IResource)selectedElement; + if (selectedResource.getType() == IResource.FILE) { + selectedResource = selectedResource.getParent(); + } + + // This gives us a directory... + // + if (selectedResource instanceof IFolder || selectedResource instanceof IProject) { + // Set this for the container. + // + newFileCreationPage.setContainerFullPath(selectedResource.getFullPath()); + + // Make up a unique new name here. + // + String defaultModelBaseFilename = FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreEditorFilenameDefaultBase"); + String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); + String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; + for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) { + modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension; + } + newFileCreationPage.setFileName(modelFilename); + } + } + } + initialObjectCreationPage = new FiacreModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage.setTitle(FiacreEditorPlugin.INSTANCE.getString("_UI_FiacreModelWizard_label")); + initialObjectCreationPage.setDescription(FiacreEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + addPage(initialObjectCreationPage); + } + + /** + * Get the file from the page. + * + * + * @generated + */ + public IFile getModelFile() { + return newFileCreationPage.getModelFile(); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/.classpath b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.classpath new file mode 100644 index 0000000..9081d4f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/.project b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.project new file mode 100644 index 0000000..fd4ce08 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.project @@ -0,0 +1,34 @@ + + + fr.irit.fiacre.xtext.ide + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.core.resources.prefs b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.fiacre.xtext.ide/META-INF/MANIFEST.MF new file mode 100644 index 0000000..48c8413 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/META-INF/MANIFEST.MF @@ -0,0 +1,14 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: fr.irit.fiacre.xtext.ide +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: fr.irit.fiacre.xtext.ide; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: fr.irit.fiacre.xtext, + org.eclipse.xtext.ide, + org.eclipse.xtext.xbase.ide +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: fr.irit.fiacre.xtext.ide.contentassist.antlr, + fr.irit.fiacre.xtext.ide.contentassist.antlr.internal + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/build.properties b/eclipse/plugins/fr.irit.fiacre.xtext.ide/build.properties new file mode 100644 index 0000000..ac95e8a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/build.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/FiacreParser.java b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/FiacreParser.java new file mode 100644 index 0000000..1cda154 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/FiacreParser.java @@ -0,0 +1,768 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ide.contentassist.antlr; + +import com.google.inject.Inject; +import fr.irit.fiacre.xtext.ide.contentassist.antlr.internal.InternalFiacreParser; +import fr.irit.fiacre.xtext.services.FiacreGrammarAccess; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; +import org.antlr.runtime.RecognitionException; +import org.eclipse.xtext.AbstractElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; + +public class FiacreParser extends AbstractContentAssistParser { + + @Inject + private FiacreGrammarAccess grammarAccess; + + private Map nameMappings; + + @Override + protected InternalFiacreParser createParser() { + InternalFiacreParser result = new InternalFiacreParser(null); + result.setGrammarAccess(grammarAccess); + return result; + } + + @Override + protected String getRuleName(AbstractElement element) { + if (nameMappings == null) { + nameMappings = new HashMap() { + private static final long serialVersionUID = 1L; + { + put(grammarAccess.getModelAccess().getAlternatives_2(), "rule__Model__Alternatives_2"); + put(grammarAccess.getRootDeclarationAccess().getAlternatives(), "rule__RootDeclaration__Alternatives"); + put(grammarAccess.getNamedElementAccess().getAlternatives(), "rule__NamedElement__Alternatives"); + put(grammarAccess.getTypeDeclarationUseAccess().getAlternatives(), "rule__TypeDeclarationUse__Alternatives"); + put(grammarAccess.getExpressionDeclarationUseAccess().getAlternatives(), "rule__ExpressionDeclarationUse__Alternatives"); + put(grammarAccess.getReferenceDeclarationUseAccess().getAlternatives(), "rule__ReferenceDeclarationUse__Alternatives"); + put(grammarAccess.getPatternDeclarationUseAccess().getAlternatives(), "rule__PatternDeclarationUse__Alternatives"); + put(grammarAccess.getBoundDeclarationUseAccess().getAlternatives(), "rule__BoundDeclarationUse__Alternatives"); + put(grammarAccess.getPathDeclarationUseAccess().getAlternatives(), "rule__PathDeclarationUse__Alternatives"); + put(grammarAccess.getPropertyDeclarationUseAccess().getAlternatives(), "rule__PropertyDeclarationUse__Alternatives"); + put(grammarAccess.getDeclarationAccess().getAlternatives(), "rule__Declaration__Alternatives"); + put(grammarAccess.getParameterizedDeclarationAccess().getAlternatives(), "rule__ParameterizedDeclaration__Alternatives"); + put(grammarAccess.getChannelTypeAccess().getAlternatives_2(), "rule__ChannelType__Alternatives_2"); + put(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_0(), "rule__ChannelType__Alternatives_2_0_0"); + put(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_1(), "rule__ChannelType__Alternatives_2_0_1"); + put(grammarAccess.getTypeAccess().getAlternatives(), "rule__Type__Alternatives"); + put(grammarAccess.getBasicTypeAccess().getAlternatives(), "rule__BasicType__Alternatives"); + put(grammarAccess.getStatementAccess().getAlternatives(), "rule__Statement__Alternatives"); + put(grammarAccess.getPatternStatementAccess().getAlternatives_1(), "rule__PatternStatement__Alternatives_1"); + put(grammarAccess.getPatternAccess().getAlternatives(), "rule__Pattern__Alternatives"); + put(grammarAccess.getIntegerPatternAccess().getAlternatives_0(), "rule__IntegerPattern__Alternatives_0"); + put(grammarAccess.getIdentifierPatternAccess().getAlternatives(), "rule__IdentifierPattern__Alternatives"); + put(grammarAccess.getIdentifierPatternAccess().getAlternatives_1_1(), "rule__IdentifierPattern__Alternatives_1_1"); + put(grammarAccess.getBlockAccess().getAlternatives(), "rule__Block__Alternatives"); + put(grammarAccess.getCompositeBlockAccess().getAlternatives_0(), "rule__CompositeBlock__Alternatives_0"); + put(grammarAccess.getInstanceDeclarationAccess().getAlternatives_0(), "rule__InstanceDeclaration__Alternatives_0"); + put(grammarAccess.getPortSetAccess().getAlternatives(), "rule__PortSet__Alternatives"); + put(grammarAccess.getQuantifiedExpressionAccess().getAlternatives(), "rule__QuantifiedExpression__Alternatives"); + put(grammarAccess.getQuantifiedExpressionAccess().getAlternatives_0_0(), "rule__QuantifiedExpression__Alternatives_0_0"); + put(grammarAccess.getComparisonAccess().getAlternatives_1_0(), "rule__Comparison__Alternatives_1_0"); + put(grammarAccess.getUnaryExpressionAccess().getAlternatives(), "rule__UnaryExpression__Alternatives"); + put(grammarAccess.getUnaryExpressionAccess().getAlternatives_0_0(), "rule__UnaryExpression__Alternatives_0_0"); + put(grammarAccess.getValueExpressionAccess().getAlternatives(), "rule__ValueExpression__Alternatives"); + put(grammarAccess.getAtomicExpressionAccess().getAlternatives(), "rule__AtomicExpression__Alternatives"); + put(grammarAccess.getIdentifierExpressionAccess().getAlternatives(), "rule__IdentifierExpression__Alternatives"); + put(grammarAccess.getIdentifierExpressionAccess().getAlternatives_1_1(), "rule__IdentifierExpression__Alternatives_1_1"); + put(grammarAccess.getLiteralExpressionAccess().getAlternatives(), "rule__LiteralExpression__Alternatives"); + put(grammarAccess.getBooleanLiteralAccess().getAlternatives(), "rule__BooleanLiteral__Alternatives"); + put(grammarAccess.getLowerBoundAccess().getAlternatives(), "rule__LowerBound__Alternatives"); + put(grammarAccess.getUpperBoundAccess().getAlternatives(), "rule__UpperBound__Alternatives"); + put(grammarAccess.getNaturalLowerBoundAccess().getAlternatives_0(), "rule__NaturalLowerBound__Alternatives_0"); + put(grammarAccess.getNaturalUpperBoundAccess().getAlternatives_1(), "rule__NaturalUpperBound__Alternatives_1"); + put(grammarAccess.getDecimalLowerBoundAccess().getAlternatives_0(), "rule__DecimalLowerBound__Alternatives_0"); + put(grammarAccess.getDecimalUpperBoundAccess().getAlternatives_1(), "rule__DecimalUpperBound__Alternatives_1"); + put(grammarAccess.getVariableLowerBoundAccess().getAlternatives_0(), "rule__VariableLowerBound__Alternatives_0"); + put(grammarAccess.getVariableUpperBoundAccess().getAlternatives_1(), "rule__VariableUpperBound__Alternatives_1"); + put(grammarAccess.getQuantifiedPropertyAccess().getAlternatives(), "rule__QuantifiedProperty__Alternatives"); + put(grammarAccess.getQuantifiedPropertyAccess().getAlternatives_0_0(), "rule__QuantifiedProperty__Alternatives_0_0"); + put(grammarAccess.getPropertyNegationAccess().getAlternatives(), "rule__PropertyNegation__Alternatives"); + put(grammarAccess.getAtomicPropertyAccess().getAlternatives(), "rule__AtomicProperty__Alternatives"); + put(grammarAccess.getPatternPropertyAccess().getAlternatives(), "rule__PatternProperty__Alternatives"); + put(grammarAccess.getPresencePatternAccess().getAlternatives_2(), "rule__PresencePattern__Alternatives_2"); + put(grammarAccess.getPresencePatternAccess().getAlternatives_2_1_1(), "rule__PresencePattern__Alternatives_2_1_1"); + put(grammarAccess.getAbsencePatternAccess().getAlternatives_2(), "rule__AbsencePattern__Alternatives_2"); + put(grammarAccess.getAbsencePatternAccess().getAlternatives_2_0_1(), "rule__AbsencePattern__Alternatives_2_0_1"); + put(grammarAccess.getAlwaysPatternAccess().getAlternatives_2(), "rule__AlwaysPattern__Alternatives_2"); + put(grammarAccess.getSequencePatternAccess().getAlternatives_1(), "rule__SequencePattern__Alternatives_1"); + put(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3(), "rule__SequencePattern__Alternatives_1_0_3"); + put(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3_2_2(), "rule__SequencePattern__Alternatives_1_0_3_2_2"); + put(grammarAccess.getSequencePatternAccess().getAlternatives_1_1_3(), "rule__SequencePattern__Alternatives_1_1_3"); + put(grammarAccess.getLTLQuantifiedAccess().getAlternatives(), "rule__LTLQuantified__Alternatives"); + put(grammarAccess.getLTLQuantifiedAccess().getAlternatives_0_0(), "rule__LTLQuantified__Alternatives_0_0"); + put(grammarAccess.getLTLBinaryAccess().getAlternatives_1(), "rule__LTLBinary__Alternatives_1"); + put(grammarAccess.getLTLUnaryAccess().getAlternatives(), "rule__LTLUnary__Alternatives"); + put(grammarAccess.getLTLUnaryAccess().getAlternatives_0_0(), "rule__LTLUnary__Alternatives_0_0"); + put(grammarAccess.getAtomicLTLAccess().getAlternatives(), "rule__AtomicLTL__Alternatives"); + put(grammarAccess.getStateEventAccess().getAlternatives(), "rule__StateEvent__Alternatives"); + put(grammarAccess.getObservableNegationAccess().getAlternatives(), "rule__ObservableNegation__Alternatives"); + put(grammarAccess.getAtomicObservableAccess().getAlternatives(), "rule__AtomicObservable__Alternatives"); + put(grammarAccess.getObservableEventAccess().getAlternatives(), "rule__ObservableEvent__Alternatives"); + put(grammarAccess.getPathItemAccess().getAlternatives(), "rule__PathItem__Alternatives"); + put(grammarAccess.getSubjectAccess().getAlternatives(), "rule__Subject__Alternatives"); + put(grammarAccess.getModelAccess().getGroup(), "rule__Model__Group__0"); + put(grammarAccess.getRootAccess().getGroup(), "rule__Root__Group__0"); + put(grammarAccess.getRootAccess().getGroup_2(), "rule__Root__Group_2__0"); + put(grammarAccess.getRootAccess().getGroup_2_1(), "rule__Root__Group_2_1__0"); + put(grammarAccess.getRootAccess().getGroup_2_1_1(), "rule__Root__Group_2_1_1__0"); + put(grammarAccess.getImportDeclarationAccess().getGroup(), "rule__ImportDeclaration__Group__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup(), "rule__FunctionDeclaration__Group__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup_2(), "rule__FunctionDeclaration__Group_2__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1(), "rule__FunctionDeclaration__Group_2_1__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1_1(), "rule__FunctionDeclaration__Group_2_1_1__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup_6(), "rule__FunctionDeclaration__Group_6__0"); + put(grammarAccess.getFunctionDeclarationAccess().getGroup_6_2(), "rule__FunctionDeclaration__Group_6_2__0"); + put(grammarAccess.getTypeDeclarationAccess().getGroup(), "rule__TypeDeclaration__Group__0"); + put(grammarAccess.getChannelDeclarationAccess().getGroup(), "rule__ChannelDeclaration__Group__0"); + put(grammarAccess.getChannelTypeAccess().getGroup(), "rule__ChannelType__Group__0"); + put(grammarAccess.getChannelTypeAccess().getGroup_1(), "rule__ChannelType__Group_1__0"); + put(grammarAccess.getChannelTypeAccess().getGroup_2_0(), "rule__ChannelType__Group_2_0__0"); + put(grammarAccess.getChannelTypeAccess().getGroup_2_0_0_0(), "rule__ChannelType__Group_2_0_0_0__0"); + put(grammarAccess.getTupleTypeAccess().getGroup(), "rule__TupleType__Group__0"); + put(grammarAccess.getTupleTypeAccess().getGroup_1(), "rule__TupleType__Group_1__0"); + put(grammarAccess.getBasicTypeAccess().getGroup_0(), "rule__BasicType__Group_0__0"); + put(grammarAccess.getBasicTypeAccess().getGroup_1(), "rule__BasicType__Group_1__0"); + put(grammarAccess.getBasicTypeAccess().getGroup_2(), "rule__BasicType__Group_2__0"); + put(grammarAccess.getRangeTypeAccess().getGroup(), "rule__RangeType__Group__0"); + put(grammarAccess.getUnionTypeAccess().getGroup(), "rule__UnionType__Group__0"); + put(grammarAccess.getUnionTypeAccess().getGroup_2(), "rule__UnionType__Group_2__0"); + put(grammarAccess.getUnionTagsAccess().getGroup(), "rule__UnionTags__Group__0"); + put(grammarAccess.getUnionTagsAccess().getGroup_1(), "rule__UnionTags__Group_1__0"); + put(grammarAccess.getUnionTagsAccess().getGroup_2(), "rule__UnionTags__Group_2__0"); + put(grammarAccess.getRecordTypeAccess().getGroup(), "rule__RecordType__Group__0"); + put(grammarAccess.getRecordTypeAccess().getGroup_2(), "rule__RecordType__Group_2__0"); + put(grammarAccess.getRecordFieldsAccess().getGroup(), "rule__RecordFields__Group__0"); + put(grammarAccess.getRecordFieldsAccess().getGroup_1(), "rule__RecordFields__Group_1__0"); + put(grammarAccess.getQueueTypeAccess().getGroup(), "rule__QueueType__Group__0"); + put(grammarAccess.getArrayTypeAccess().getGroup(), "rule__ArrayType__Group__0"); + put(grammarAccess.getConstantDeclarationAccess().getGroup(), "rule__ConstantDeclaration__Group__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup(), "rule__ProcessDeclaration__Group__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_2(), "rule__ProcessDeclaration__Group_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_2_2(), "rule__ProcessDeclaration__Group_2_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_3(), "rule__ProcessDeclaration__Group_3__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_3_2(), "rule__ProcessDeclaration__Group_3_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_5(), "rule__ProcessDeclaration__Group_5__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_5_2(), "rule__ProcessDeclaration__Group_5_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_6(), "rule__ProcessDeclaration__Group_6__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_6_2(), "rule__ProcessDeclaration__Group_6_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_9(), "rule__ProcessDeclaration__Group_9__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_10(), "rule__ProcessDeclaration__Group_10__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_10_2(), "rule__ProcessDeclaration__Group_10_2__0"); + put(grammarAccess.getProcessDeclarationAccess().getGroup_11(), "rule__ProcessDeclaration__Group_11__0"); + put(grammarAccess.getTransitionSourceAccess().getGroup(), "rule__TransitionSource__Group__0"); + put(grammarAccess.getTransitionAccess().getGroup(), "rule__Transition__Group__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup(), "rule__ComponentDeclaration__Group__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_2(), "rule__ComponentDeclaration__Group_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_2_2(), "rule__ComponentDeclaration__Group_2_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_3(), "rule__ComponentDeclaration__Group_3__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_3_2(), "rule__ComponentDeclaration__Group_3_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_5(), "rule__ComponentDeclaration__Group_5__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_5_2(), "rule__ComponentDeclaration__Group_5_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_6(), "rule__ComponentDeclaration__Group_6__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_6_2(), "rule__ComponentDeclaration__Group_6_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_7(), "rule__ComponentDeclaration__Group_7__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_7_2(), "rule__ComponentDeclaration__Group_7_2__0"); + put(grammarAccess.getComponentDeclarationAccess().getGroup_8(), "rule__ComponentDeclaration__Group_8__0"); + put(grammarAccess.getPortsDeclarationAccess().getGroup(), "rule__PortsDeclaration__Group__0"); + put(grammarAccess.getPortsDeclarationAccess().getGroup_1(), "rule__PortsDeclaration__Group_1__0"); + put(grammarAccess.getLocalPortsDeclarationAccess().getGroup(), "rule__LocalPortsDeclaration__Group__0"); + put(grammarAccess.getLocalPortsDeclarationAccess().getGroup_1(), "rule__LocalPortsDeclaration__Group_1__0"); + put(grammarAccess.getLocalPortsDeclarationAccess().getGroup_4(), "rule__LocalPortsDeclaration__Group_4__0"); + put(grammarAccess.getParametersDeclarationAccess().getGroup(), "rule__ParametersDeclaration__Group__0"); + put(grammarAccess.getParametersDeclarationAccess().getGroup_1(), "rule__ParametersDeclaration__Group_1__0"); + put(grammarAccess.getParameterDeclarationAccess().getGroup(), "rule__ParameterDeclaration__Group__0"); + put(grammarAccess.getParameterDeclarationAccess().getGroup_0(), "rule__ParameterDeclaration__Group_0__0"); + put(grammarAccess.getParameterDeclarationAccess().getGroup_0_1(), "rule__ParameterDeclaration__Group_0_1__0"); + put(grammarAccess.getVariablesDeclarationAccess().getGroup(), "rule__VariablesDeclaration__Group__0"); + put(grammarAccess.getVariablesDeclarationAccess().getGroup_1(), "rule__VariablesDeclaration__Group_1__0"); + put(grammarAccess.getVariablesDeclarationAccess().getGroup_4(), "rule__VariablesDeclaration__Group_4__0"); + put(grammarAccess.getPriorityDeclarationAccess().getGroup(), "rule__PriorityDeclaration__Group__0"); + put(grammarAccess.getPriorityDeclarationAccess().getGroup_1(), "rule__PriorityDeclaration__Group_1__0"); + put(grammarAccess.getPriorityGroupAccess().getGroup(), "rule__PriorityGroup__Group__0"); + put(grammarAccess.getPriorityGroupAccess().getGroup_1(), "rule__PriorityGroup__Group_1__0"); + put(grammarAccess.getUnlessStatementAccess().getGroup(), "rule__UnlessStatement__Group__0"); + put(grammarAccess.getUnlessStatementAccess().getGroup_1(), "rule__UnlessStatement__Group_1__0"); + put(grammarAccess.getStatementChoiceAccess().getGroup(), "rule__StatementChoice__Group__0"); + put(grammarAccess.getStatementChoiceAccess().getGroup_1(), "rule__StatementChoice__Group_1__0"); + put(grammarAccess.getStatementSequenceAccess().getGroup(), "rule__StatementSequence__Group__0"); + put(grammarAccess.getStatementSequenceAccess().getGroup_1(), "rule__StatementSequence__Group_1__0"); + put(grammarAccess.getBlockStatementAccess().getGroup(), "rule__BlockStatement__Group__0"); + put(grammarAccess.getReturnStatementAccess().getGroup(), "rule__ReturnStatement__Group__0"); + put(grammarAccess.getNullStatementAccess().getGroup(), "rule__NullStatement__Group__0"); + put(grammarAccess.getTaggedStatementAccess().getGroup(), "rule__TaggedStatement__Group__0"); + put(grammarAccess.getPatternStatementAccess().getGroup(), "rule__PatternStatement__Group__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_0(), "rule__PatternStatement__Group_1_0__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_0_3(), "rule__PatternStatement__Group_1_0_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_0_6(), "rule__PatternStatement__Group_1_0_6__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_1(), "rule__PatternStatement__Group_1_1__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_1_2(), "rule__PatternStatement__Group_1_1_2__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_1_2_1(), "rule__PatternStatement__Group_1_1_2_1__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_2(), "rule__PatternStatement__Group_1_2__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_2_3(), "rule__PatternStatement__Group_1_2_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_2_6(), "rule__PatternStatement__Group_1_2_6__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_3(), "rule__PatternStatement__Group_1_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_3_3(), "rule__PatternStatement__Group_1_3_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_4(), "rule__PatternStatement__Group_1_4__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_4_3(), "rule__PatternStatement__Group_1_4_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_5(), "rule__PatternStatement__Group_1_5__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_5_3(), "rule__PatternStatement__Group_1_5_3__0"); + put(grammarAccess.getPatternStatementAccess().getGroup_1_5_4(), "rule__PatternStatement__Group_1_5_4__0"); + put(grammarAccess.getPatternAccess().getGroup_3(), "rule__Pattern__Group_3__0"); + put(grammarAccess.getAnyPatternAccess().getGroup(), "rule__AnyPattern__Group__0"); + put(grammarAccess.getIntegerPatternAccess().getGroup(), "rule__IntegerPattern__Group__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_0(), "rule__IdentifierPattern__Group_0__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_0_3(), "rule__IdentifierPattern__Group_0_3__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_0_3_1(), "rule__IdentifierPattern__Group_0_3_1__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_1(), "rule__IdentifierPattern__Group_1__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_0(), "rule__IdentifierPattern__Group_1_1_0__0"); + put(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_1(), "rule__IdentifierPattern__Group_1_1_1__0"); + put(grammarAccess.getConditionalStatementAccess().getGroup(), "rule__ConditionalStatement__Group__0"); + put(grammarAccess.getConditionalStatementAccess().getGroup_5(), "rule__ConditionalStatement__Group_5__0"); + put(grammarAccess.getExtendedConditionalStatementAccess().getGroup(), "rule__ExtendedConditionalStatement__Group__0"); + put(grammarAccess.getSelectStatementAccess().getGroup(), "rule__SelectStatement__Group__0"); + put(grammarAccess.getSelectStatementAccess().getGroup_2(), "rule__SelectStatement__Group_2__0"); + put(grammarAccess.getWhileStatementAccess().getGroup(), "rule__WhileStatement__Group__0"); + put(grammarAccess.getForeachStatementAccess().getGroup(), "rule__ForeachStatement__Group__0"); + put(grammarAccess.getToStatementAccess().getGroup(), "rule__ToStatement__Group__0"); + put(grammarAccess.getCaseStatementAccess().getGroup(), "rule__CaseStatement__Group__0"); + put(grammarAccess.getCaseStatementAccess().getGroup_6(), "rule__CaseStatement__Group_6__0"); + put(grammarAccess.getLoopStatementAccess().getGroup(), "rule__LoopStatement__Group__0"); + put(grammarAccess.getOnStatementAccess().getGroup(), "rule__OnStatement__Group__0"); + put(grammarAccess.getWaitStatementAccess().getGroup(), "rule__WaitStatement__Group__0"); + put(grammarAccess.getCompositionAccess().getGroup(), "rule__Composition__Group__0"); + put(grammarAccess.getCompositionAccess().getGroup_1(), "rule__Composition__Group_1__0"); + put(grammarAccess.getCompositionAccess().getGroup_3(), "rule__Composition__Group_3__0"); + put(grammarAccess.getCompositeBlockAccess().getGroup(), "rule__CompositeBlock__Group__0"); + put(grammarAccess.getCompositeBlockAccess().getGroup_0_0(), "rule__CompositeBlock__Group_0_0__0"); + put(grammarAccess.getInstanceDeclarationAccess().getGroup(), "rule__InstanceDeclaration__Group__0"); + put(grammarAccess.getInstanceDeclarationAccess().getGroup_0_0(), "rule__InstanceDeclaration__Group_0_0__0"); + put(grammarAccess.getPortSetAccess().getGroup_1(), "rule__PortSet__Group_1__0"); + put(grammarAccess.getPortSetAccess().getGroup_1_1(), "rule__PortSet__Group_1_1__0"); + put(grammarAccess.getComponentInstanceAccess().getGroup(), "rule__ComponentInstance__Group__0"); + put(grammarAccess.getComponentInstanceAccess().getGroup_1(), "rule__ComponentInstance__Group_1__0"); + put(grammarAccess.getComponentInstanceAccess().getGroup_1_2(), "rule__ComponentInstance__Group_1_2__0"); + put(grammarAccess.getComponentInstanceAccess().getGroup_2(), "rule__ComponentInstance__Group_2__0"); + put(grammarAccess.getComponentInstanceAccess().getGroup_2_2(), "rule__ComponentInstance__Group_2_2__0"); + put(grammarAccess.getQuantifiedExpressionAccess().getGroup_0(), "rule__QuantifiedExpression__Group_0__0"); + put(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_0(), "rule__QuantifiedExpression__Group_0_0_0__0"); + put(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_1(), "rule__QuantifiedExpression__Group_0_0_1__0"); + put(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_2(), "rule__QuantifiedExpression__Group_0_2__0"); + put(grammarAccess.getConditionalAccess().getGroup(), "rule__Conditional__Group__0"); + put(grammarAccess.getConditionalAccess().getGroup_1(), "rule__Conditional__Group_1__0"); + put(grammarAccess.getDisjunctionAccess().getGroup(), "rule__Disjunction__Group__0"); + put(grammarAccess.getDisjunctionAccess().getGroup_1(), "rule__Disjunction__Group_1__0"); + put(grammarAccess.getImplicationAccess().getGroup(), "rule__Implication__Group__0"); + put(grammarAccess.getImplicationAccess().getGroup_1(), "rule__Implication__Group_1__0"); + put(grammarAccess.getConjunctionAccess().getGroup(), "rule__Conjunction__Group__0"); + put(grammarAccess.getConjunctionAccess().getGroup_1(), "rule__Conjunction__Group_1__0"); + put(grammarAccess.getComparisonAccess().getGroup(), "rule__Comparison__Group__0"); + put(grammarAccess.getComparisonAccess().getGroup_1(), "rule__Comparison__Group_1__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_0(), "rule__Comparison__Group_1_0_0__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_1(), "rule__Comparison__Group_1_0_1__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_2(), "rule__Comparison__Group_1_0_2__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_3(), "rule__Comparison__Group_1_0_3__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_4(), "rule__Comparison__Group_1_0_4__0"); + put(grammarAccess.getComparisonAccess().getGroup_1_0_5(), "rule__Comparison__Group_1_0_5__0"); + put(grammarAccess.getAdditionAccess().getGroup(), "rule__Addition__Group__0"); + put(grammarAccess.getAdditionAccess().getGroup_1(), "rule__Addition__Group_1__0"); + put(grammarAccess.getSubstractionAccess().getGroup(), "rule__Substraction__Group__0"); + put(grammarAccess.getSubstractionAccess().getGroup_1(), "rule__Substraction__Group_1__0"); + put(grammarAccess.getMultiplicationAccess().getGroup(), "rule__Multiplication__Group__0"); + put(grammarAccess.getMultiplicationAccess().getGroup_1(), "rule__Multiplication__Group_1__0"); + put(grammarAccess.getDivisionAccess().getGroup(), "rule__Division__Group__0"); + put(grammarAccess.getDivisionAccess().getGroup_1(), "rule__Division__Group_1__0"); + put(grammarAccess.getModuloAccess().getGroup(), "rule__Modulo__Group__0"); + put(grammarAccess.getModuloAccess().getGroup_1(), "rule__Modulo__Group_1__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0(), "rule__UnaryExpression__Group_0__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_0(), "rule__UnaryExpression__Group_0_0_0__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_1(), "rule__UnaryExpression__Group_0_0_1__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_2(), "rule__UnaryExpression__Group_0_0_2__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_3(), "rule__UnaryExpression__Group_0_0_3__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_4(), "rule__UnaryExpression__Group_0_0_4__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_5(), "rule__UnaryExpression__Group_0_0_5__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_6(), "rule__UnaryExpression__Group_0_0_6__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_7(), "rule__UnaryExpression__Group_0_0_7__0"); + put(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_8(), "rule__UnaryExpression__Group_0_0_8__0"); + put(grammarAccess.getProjectionAccess().getGroup(), "rule__Projection__Group__0"); + put(grammarAccess.getProjectionAccess().getGroup_1(), "rule__Projection__Group_1__0"); + put(grammarAccess.getAtomicExpressionAccess().getGroup_8(), "rule__AtomicExpression__Group_8__0"); + put(grammarAccess.getReferenceExpressionAccess().getGroup(), "rule__ReferenceExpression__Group__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_0(), "rule__IdentifierExpression__Group_0__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3(), "rule__IdentifierExpression__Group_0_3__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3_1(), "rule__IdentifierExpression__Group_0_3_1__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_1(), "rule__IdentifierExpression__Group_1__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0(), "rule__IdentifierExpression__Group_1_1_0__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0_3(), "rule__IdentifierExpression__Group_1_1_0_3__0"); + put(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_1(), "rule__IdentifierExpression__Group_1_1_1__0"); + put(grammarAccess.getRecordExpressionAccess().getGroup(), "rule__RecordExpression__Group__0"); + put(grammarAccess.getRecordExpressionAccess().getGroup_2(), "rule__RecordExpression__Group_2__0"); + put(grammarAccess.getFieldExpressionAccess().getGroup(), "rule__FieldExpression__Group__0"); + put(grammarAccess.getArrayExpressionAccess().getGroup(), "rule__ArrayExpression__Group__0"); + put(grammarAccess.getArrayExpressionAccess().getGroup_2(), "rule__ArrayExpression__Group_2__0"); + put(grammarAccess.getArrayExpressionAccess().getGroup_2_1(), "rule__ArrayExpression__Group_2_1__0"); + put(grammarAccess.getQueueExpressionAccess().getGroup(), "rule__QueueExpression__Group__0"); + put(grammarAccess.getQueueExpressionAccess().getGroup_2(), "rule__QueueExpression__Group_2__0"); + put(grammarAccess.getQueueExpressionAccess().getGroup_2_1(), "rule__QueueExpression__Group_2_1__0"); + put(grammarAccess.getEnqueueExpressionAccess().getGroup(), "rule__EnqueueExpression__Group__0"); + put(grammarAccess.getAppendExpressionAccess().getGroup(), "rule__AppendExpression__Group__0"); + put(grammarAccess.getBooleanLiteralAccess().getGroup_0(), "rule__BooleanLiteral__Group_0__0"); + put(grammarAccess.getBooleanLiteralAccess().getGroup_1(), "rule__BooleanLiteral__Group_1__0"); + put(grammarAccess.getNaturalLowerBoundAccess().getGroup(), "rule__NaturalLowerBound__Group__0"); + put(grammarAccess.getNaturalUpperBoundAccess().getGroup(), "rule__NaturalUpperBound__Group__0"); + put(grammarAccess.getDecimalLowerBoundAccess().getGroup(), "rule__DecimalLowerBound__Group__0"); + put(grammarAccess.getDecimalUpperBoundAccess().getGroup(), "rule__DecimalUpperBound__Group__0"); + put(grammarAccess.getVariableLowerBoundAccess().getGroup(), "rule__VariableLowerBound__Group__0"); + put(grammarAccess.getVariableUpperBoundAccess().getGroup(), "rule__VariableUpperBound__Group__0"); + put(grammarAccess.getInfiniteUpperBoundAccess().getGroup(), "rule__InfiniteUpperBound__Group__0"); + put(grammarAccess.getRequirementAccess().getGroup(), "rule__Requirement__Group__0"); + put(grammarAccess.getRequirementAccess().getGroup_2(), "rule__Requirement__Group_2__0"); + put(grammarAccess.getRequirementAccess().getGroup_3(), "rule__Requirement__Group_3__0"); + put(grammarAccess.getPropertyDeclarationAccess().getGroup(), "rule__PropertyDeclaration__Group__0"); + put(grammarAccess.getQuantifiedPropertyAccess().getGroup_0(), "rule__QuantifiedProperty__Group_0__0"); + put(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_0(), "rule__QuantifiedProperty__Group_0_0_0__0"); + put(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_1(), "rule__QuantifiedProperty__Group_0_0_1__0"); + put(grammarAccess.getPropertyDisjunctionAccess().getGroup(), "rule__PropertyDisjunction__Group__0"); + put(grammarAccess.getPropertyDisjunctionAccess().getGroup_1(), "rule__PropertyDisjunction__Group_1__0"); + put(grammarAccess.getPropertyImplicationAccess().getGroup(), "rule__PropertyImplication__Group__0"); + put(grammarAccess.getPropertyImplicationAccess().getGroup_1(), "rule__PropertyImplication__Group_1__0"); + put(grammarAccess.getPropertyConjunctionAccess().getGroup(), "rule__PropertyConjunction__Group__0"); + put(grammarAccess.getPropertyConjunctionAccess().getGroup_1(), "rule__PropertyConjunction__Group_1__0"); + put(grammarAccess.getPropertyNegationAccess().getGroup_0(), "rule__PropertyNegation__Group_0__0"); + put(grammarAccess.getAtomicPropertyAccess().getGroup_1(), "rule__AtomicProperty__Group_1__0"); + put(grammarAccess.getLTLPatternAccess().getGroup(), "rule__LTLPattern__Group__0"); + put(grammarAccess.getDeadlockFreePatternAccess().getGroup(), "rule__DeadlockFreePattern__Group__0"); + put(grammarAccess.getInfinitelyOftenPatternAccess().getGroup(), "rule__InfinitelyOftenPattern__Group__0"); + put(grammarAccess.getMortalPatternAccess().getGroup(), "rule__MortalPattern__Group__0"); + put(grammarAccess.getPresencePatternAccess().getGroup(), "rule__PresencePattern__Group__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_0(), "rule__PresencePattern__Group_2_0__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_1(), "rule__PresencePattern__Group_2_1__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_1_0(), "rule__PresencePattern__Group_2_1_0__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_0(), "rule__PresencePattern__Group_2_1_1_0__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_1(), "rule__PresencePattern__Group_2_1_1_1__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_2(), "rule__PresencePattern__Group_2_2__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_2_0(), "rule__PresencePattern__Group_2_2_0__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_2_1(), "rule__PresencePattern__Group_2_2_1__0"); + put(grammarAccess.getPresencePatternAccess().getGroup_2_3(), "rule__PresencePattern__Group_2_3__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup(), "rule__AbsencePattern__Group__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_0(), "rule__AbsencePattern__Group_2_0__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_0_0(), "rule__AbsencePattern__Group_2_0_0__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_0(), "rule__AbsencePattern__Group_2_0_1_0__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_1(), "rule__AbsencePattern__Group_2_0_1_1__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_1(), "rule__AbsencePattern__Group_2_1__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_1_0(), "rule__AbsencePattern__Group_2_1_0__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_1_1(), "rule__AbsencePattern__Group_2_1_1__0"); + put(grammarAccess.getAbsencePatternAccess().getGroup_2_2(), "rule__AbsencePattern__Group_2_2__0"); + put(grammarAccess.getAlwaysPatternAccess().getGroup(), "rule__AlwaysPattern__Group__0"); + put(grammarAccess.getAlwaysPatternAccess().getGroup_2_0(), "rule__AlwaysPattern__Group_2_0__0"); + put(grammarAccess.getAlwaysPatternAccess().getGroup_2_1(), "rule__AlwaysPattern__Group_2_1__0"); + put(grammarAccess.getAlwaysPatternAccess().getGroup_2_1_2(), "rule__AlwaysPattern__Group_2_1_2__0"); + put(grammarAccess.getAlwaysPatternAccess().getGroup_2_2(), "rule__AlwaysPattern__Group_2_2__0"); + put(grammarAccess.getSequencePatternAccess().getGroup(), "rule__SequencePattern__Group__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0(), "rule__SequencePattern__Group_1_0__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0(), "rule__SequencePattern__Group_1_0_3_0__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0_2(), "rule__SequencePattern__Group_1_0_3_0_2__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_1(), "rule__SequencePattern__Group_1_0_3_1__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2(), "rule__SequencePattern__Group_1_0_3_2__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_0(), "rule__SequencePattern__Group_1_0_3_2_2_0__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_1(), "rule__SequencePattern__Group_1_0_3_2_2_1__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_3(), "rule__SequencePattern__Group_1_0_3_3__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_1(), "rule__SequencePattern__Group_1_1__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_0(), "rule__SequencePattern__Group_1_1_3_0__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1(), "rule__SequencePattern__Group_1_1_3_1__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1_2(), "rule__SequencePattern__Group_1_1_3_1_2__0"); + put(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_2(), "rule__SequencePattern__Group_1_1_3_2__0"); + put(grammarAccess.getLTLQuantifiedAccess().getGroup_0(), "rule__LTLQuantified__Group_0__0"); + put(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_0(), "rule__LTLQuantified__Group_0_0_0__0"); + put(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_1(), "rule__LTLQuantified__Group_0_0_1__0"); + put(grammarAccess.getLTLDisjunctionAccess().getGroup(), "rule__LTLDisjunction__Group__0"); + put(grammarAccess.getLTLDisjunctionAccess().getGroup_1(), "rule__LTLDisjunction__Group_1__0"); + put(grammarAccess.getLTLImplicationAccess().getGroup(), "rule__LTLImplication__Group__0"); + put(grammarAccess.getLTLImplicationAccess().getGroup_1(), "rule__LTLImplication__Group_1__0"); + put(grammarAccess.getLTLConjunctionAccess().getGroup(), "rule__LTLConjunction__Group__0"); + put(grammarAccess.getLTLConjunctionAccess().getGroup_1(), "rule__LTLConjunction__Group_1__0"); + put(grammarAccess.getLTLBinaryAccess().getGroup(), "rule__LTLBinary__Group__0"); + put(grammarAccess.getLTLBinaryAccess().getGroup_1_0(), "rule__LTLBinary__Group_1_0__0"); + put(grammarAccess.getLTLBinaryAccess().getGroup_1_1(), "rule__LTLBinary__Group_1_1__0"); + put(grammarAccess.getLTLUnaryAccess().getGroup_0(), "rule__LTLUnary__Group_0__0"); + put(grammarAccess.getLTLUnaryAccess().getGroup_0_0_0(), "rule__LTLUnary__Group_0_0_0__0"); + put(grammarAccess.getLTLUnaryAccess().getGroup_0_0_1(), "rule__LTLUnary__Group_0_0_1__0"); + put(grammarAccess.getLTLUnaryAccess().getGroup_0_0_2(), "rule__LTLUnary__Group_0_0_2__0"); + put(grammarAccess.getLTLUnaryAccess().getGroup_0_0_3(), "rule__LTLUnary__Group_0_0_3__0"); + put(grammarAccess.getAtomicLTLAccess().getGroup_0(), "rule__AtomicLTL__Group_0__0"); + put(grammarAccess.getAtomicLTLAccess().getGroup_2(), "rule__AtomicLTL__Group_2__0"); + put(grammarAccess.getEnterStateEventAccess().getGroup(), "rule__EnterStateEvent__Group__0"); + put(grammarAccess.getLeaveStateEventAccess().getGroup(), "rule__LeaveStateEvent__Group__0"); + put(grammarAccess.getObservableDisjunctionAccess().getGroup(), "rule__ObservableDisjunction__Group__0"); + put(grammarAccess.getObservableDisjunctionAccess().getGroup_1(), "rule__ObservableDisjunction__Group_1__0"); + put(grammarAccess.getObservableImplicationAccess().getGroup(), "rule__ObservableImplication__Group__0"); + put(grammarAccess.getObservableImplicationAccess().getGroup_1(), "rule__ObservableImplication__Group_1__0"); + put(grammarAccess.getObservableConjunctionAccess().getGroup(), "rule__ObservableConjunction__Group__0"); + put(grammarAccess.getObservableConjunctionAccess().getGroup_1(), "rule__ObservableConjunction__Group_1__0"); + put(grammarAccess.getObservableNegationAccess().getGroup_0(), "rule__ObservableNegation__Group_0__0"); + put(grammarAccess.getAtomicObservableAccess().getGroup_0(), "rule__AtomicObservable__Group_0__0"); + put(grammarAccess.getPathEventAccess().getGroup(), "rule__PathEvent__Group__0"); + put(grammarAccess.getPathAccess().getGroup(), "rule__Path__Group__0"); + put(grammarAccess.getStateSubjectAccess().getGroup(), "rule__StateSubject__Group__0"); + put(grammarAccess.getValueSubjectAccess().getGroup(), "rule__ValueSubject__Group__0"); + put(grammarAccess.getTagSubjectAccess().getGroup(), "rule__TagSubject__Group__0"); + put(grammarAccess.getEventSubjectAccess().getGroup(), "rule__EventSubject__Group__0"); + put(grammarAccess.getModelAccess().getImportsAssignment_1(), "rule__Model__ImportsAssignment_1"); + put(grammarAccess.getModelAccess().getDeclarationsAssignment_2_0(), "rule__Model__DeclarationsAssignment_2_0"); + put(grammarAccess.getModelAccess().getRequirementsAssignment_2_1(), "rule__Model__RequirementsAssignment_2_1"); + put(grammarAccess.getModelAccess().getRootAssignment_2_2(), "rule__Model__RootAssignment_2_2"); + put(grammarAccess.getRootAccess().getDeclarationAssignment_1(), "rule__Root__DeclarationAssignment_1"); + put(grammarAccess.getRootAccess().getObservedAssignment_2_1_0(), "rule__Root__ObservedAssignment_2_1_0"); + put(grammarAccess.getRootAccess().getObservedAssignment_2_1_1_1(), "rule__Root__ObservedAssignment_2_1_1_1"); + put(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1(), "rule__ImportDeclaration__ImportURIAssignment_1"); + put(grammarAccess.getFunctionDeclarationAccess().getNameAssignment_1(), "rule__FunctionDeclaration__NameAssignment_1"); + put(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_0(), "rule__FunctionDeclaration__ParametersAssignment_2_1_0"); + put(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_1_1(), "rule__FunctionDeclaration__ParametersAssignment_2_1_1_1"); + put(grammarAccess.getFunctionDeclarationAccess().getTypeAssignment_4(), "rule__FunctionDeclaration__TypeAssignment_4"); + put(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_1(), "rule__FunctionDeclaration__VariablesAssignment_6_1"); + put(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_2_1(), "rule__FunctionDeclaration__VariablesAssignment_6_2_1"); + put(grammarAccess.getFunctionDeclarationAccess().getStatementAssignment_7(), "rule__FunctionDeclaration__StatementAssignment_7"); + put(grammarAccess.getTypeDeclarationAccess().getNameAssignment_1(), "rule__TypeDeclaration__NameAssignment_1"); + put(grammarAccess.getTypeDeclarationAccess().getValueAssignment_3(), "rule__TypeDeclaration__ValueAssignment_3"); + put(grammarAccess.getChannelDeclarationAccess().getNameAssignment_1(), "rule__ChannelDeclaration__NameAssignment_1"); + put(grammarAccess.getChannelDeclarationAccess().getValueAssignment_3(), "rule__ChannelDeclaration__ValueAssignment_3"); + put(grammarAccess.getChannelTypeAccess().getSizeAssignment_1_1(), "rule__ChannelType__SizeAssignment_1_1"); + put(grammarAccess.getChannelTypeAccess().getInAssignment_2_0_0_0_0(), "rule__ChannelType__InAssignment_2_0_0_0_0"); + put(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_0_1(), "rule__ChannelType__OutAssignment_2_0_0_0_1"); + put(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_1(), "rule__ChannelType__OutAssignment_2_0_0_1"); + put(grammarAccess.getChannelTypeAccess().getTypeAssignment_2_0_1_0(), "rule__ChannelType__TypeAssignment_2_0_1_0"); + put(grammarAccess.getTupleTypeAccess().getTypesAssignment_1_2(), "rule__TupleType__TypesAssignment_1_2"); + put(grammarAccess.getRangeTypeAccess().getMinimumAssignment_0(), "rule__RangeType__MinimumAssignment_0"); + put(grammarAccess.getRangeTypeAccess().getMaximumAssignment_2(), "rule__RangeType__MaximumAssignment_2"); + put(grammarAccess.getUnionTypeAccess().getTagsAssignment_1(), "rule__UnionType__TagsAssignment_1"); + put(grammarAccess.getUnionTypeAccess().getTagsAssignment_2_1(), "rule__UnionType__TagsAssignment_2_1"); + put(grammarAccess.getUnionTagsAccess().getTagsAssignment_0(), "rule__UnionTags__TagsAssignment_0"); + put(grammarAccess.getUnionTagsAccess().getTagsAssignment_1_1(), "rule__UnionTags__TagsAssignment_1_1"); + put(grammarAccess.getUnionTagsAccess().getTypeAssignment_2_1(), "rule__UnionTags__TypeAssignment_2_1"); + put(grammarAccess.getUnionTagDeclarationAccess().getNameAssignment(), "rule__UnionTagDeclaration__NameAssignment"); + put(grammarAccess.getRecordTypeAccess().getFieldsAssignment_1(), "rule__RecordType__FieldsAssignment_1"); + put(grammarAccess.getRecordTypeAccess().getFieldsAssignment_2_1(), "rule__RecordType__FieldsAssignment_2_1"); + put(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_0(), "rule__RecordFields__FieldsAssignment_0"); + put(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_1_1(), "rule__RecordFields__FieldsAssignment_1_1"); + put(grammarAccess.getRecordFieldsAccess().getTypeAssignment_3(), "rule__RecordFields__TypeAssignment_3"); + put(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment(), "rule__RecordFieldDeclaration__NameAssignment"); + put(grammarAccess.getQueueTypeAccess().getSizeAssignment_1(), "rule__QueueType__SizeAssignment_1"); + put(grammarAccess.getQueueTypeAccess().getTypeAssignment_3(), "rule__QueueType__TypeAssignment_3"); + put(grammarAccess.getArrayTypeAccess().getSizeAssignment_1(), "rule__ArrayType__SizeAssignment_1"); + put(grammarAccess.getArrayTypeAccess().getTypeAssignment_3(), "rule__ArrayType__TypeAssignment_3"); + put(grammarAccess.getReferencedTypeAccess().getTypeAssignment(), "rule__ReferencedType__TypeAssignment"); + put(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1(), "rule__ConstantDeclaration__NameAssignment_1"); + put(grammarAccess.getConstantDeclarationAccess().getTypeAssignment_3(), "rule__ConstantDeclaration__TypeAssignment_3"); + put(grammarAccess.getConstantDeclarationAccess().getValueAssignment_5(), "rule__ConstantDeclaration__ValueAssignment_5"); + put(grammarAccess.getProcessDeclarationAccess().getNameAssignment_1(), "rule__ProcessDeclaration__NameAssignment_1"); + put(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_1(), "rule__ProcessDeclaration__PortsAssignment_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_2_1(), "rule__ProcessDeclaration__PortsAssignment_2_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_1(), "rule__ProcessDeclaration__ParametersAssignment_3_1"); + put(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_2_1(), "rule__ProcessDeclaration__ParametersAssignment_3_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_1(), "rule__ProcessDeclaration__LocalPortsAssignment_5_1"); + put(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_2_1(), "rule__ProcessDeclaration__LocalPortsAssignment_5_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_1(), "rule__ProcessDeclaration__PrioritiesAssignment_6_1"); + put(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_2_1(), "rule__ProcessDeclaration__PrioritiesAssignment_6_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_8(), "rule__ProcessDeclaration__StatesAssignment_8"); + put(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_9_1(), "rule__ProcessDeclaration__StatesAssignment_9_1"); + put(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_1(), "rule__ProcessDeclaration__VariablesAssignment_10_1"); + put(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_2_1(), "rule__ProcessDeclaration__VariablesAssignment_10_2_1"); + put(grammarAccess.getProcessDeclarationAccess().getPreludeAssignment_11_1(), "rule__ProcessDeclaration__PreludeAssignment_11_1"); + put(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12(), "rule__ProcessDeclaration__TransitionsAssignment_12"); + put(grammarAccess.getStateDeclarationAccess().getNameAssignment(), "rule__StateDeclaration__NameAssignment"); + put(grammarAccess.getTransitionSourceAccess().getOriginAssignment_1(), "rule__TransitionSource__OriginAssignment_1"); + put(grammarAccess.getTransitionAccess().getSourceAssignment_0(), "rule__Transition__SourceAssignment_0"); + put(grammarAccess.getTransitionAccess().getActionAssignment_1(), "rule__Transition__ActionAssignment_1"); + put(grammarAccess.getComponentDeclarationAccess().getNameAssignment_1(), "rule__ComponentDeclaration__NameAssignment_1"); + put(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_1(), "rule__ComponentDeclaration__PortsAssignment_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_2_1(), "rule__ComponentDeclaration__PortsAssignment_2_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_1(), "rule__ComponentDeclaration__ParametersAssignment_3_1"); + put(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_2_1(), "rule__ComponentDeclaration__ParametersAssignment_3_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_1(), "rule__ComponentDeclaration__VariablesAssignment_5_1"); + put(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_2_1(), "rule__ComponentDeclaration__VariablesAssignment_5_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_1(), "rule__ComponentDeclaration__LocalPortsAssignment_6_1"); + put(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_2_1(), "rule__ComponentDeclaration__LocalPortsAssignment_6_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_1(), "rule__ComponentDeclaration__PrioritiesAssignment_7_1"); + put(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_2_1(), "rule__ComponentDeclaration__PrioritiesAssignment_7_2_1"); + put(grammarAccess.getComponentDeclarationAccess().getPreludeAssignment_8_1(), "rule__ComponentDeclaration__PreludeAssignment_8_1"); + put(grammarAccess.getComponentDeclarationAccess().getBodyAssignment_9(), "rule__ComponentDeclaration__BodyAssignment_9"); + put(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_0(), "rule__PortsDeclaration__PortsAssignment_0"); + put(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_1_1(), "rule__PortsDeclaration__PortsAssignment_1_1"); + put(grammarAccess.getPortsDeclarationAccess().getTypeAssignment_3(), "rule__PortsDeclaration__TypeAssignment_3"); + put(grammarAccess.getPortDeclarationAccess().getNameAssignment(), "rule__PortDeclaration__NameAssignment"); + put(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_0(), "rule__LocalPortsDeclaration__PortsAssignment_0"); + put(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_1_1(), "rule__LocalPortsDeclaration__PortsAssignment_1_1"); + put(grammarAccess.getLocalPortsDeclarationAccess().getTypeAssignment_3(), "rule__LocalPortsDeclaration__TypeAssignment_3"); + put(grammarAccess.getLocalPortsDeclarationAccess().getLeftAssignment_4_1(), "rule__LocalPortsDeclaration__LeftAssignment_4_1"); + put(grammarAccess.getLocalPortsDeclarationAccess().getRightAssignment_4_3(), "rule__LocalPortsDeclaration__RightAssignment_4_3"); + put(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_0(), "rule__ParametersDeclaration__ParametersAssignment_0"); + put(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_1_1(), "rule__ParametersDeclaration__ParametersAssignment_1_1"); + put(grammarAccess.getParametersDeclarationAccess().getReadAssignment_3(), "rule__ParametersDeclaration__ReadAssignment_3"); + put(grammarAccess.getParametersDeclarationAccess().getWriteAssignment_4(), "rule__ParametersDeclaration__WriteAssignment_4"); + put(grammarAccess.getParametersDeclarationAccess().getTypeAssignment_5(), "rule__ParametersDeclaration__TypeAssignment_5"); + put(grammarAccess.getParameterDeclarationAccess().getReferenceAssignment_0_0(), "rule__ParameterDeclaration__ReferenceAssignment_0_0"); + put(grammarAccess.getParameterDeclarationAccess().getArrayAssignment_0_1_0(), "rule__ParameterDeclaration__ArrayAssignment_0_1_0"); + put(grammarAccess.getParameterDeclarationAccess().getSizeAssignment_0_1_1(), "rule__ParameterDeclaration__SizeAssignment_0_1_1"); + put(grammarAccess.getParameterDeclarationAccess().getNameAssignment_1(), "rule__ParameterDeclaration__NameAssignment_1"); + put(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_0(), "rule__VariablesDeclaration__VariablesAssignment_0"); + put(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_1_1(), "rule__VariablesDeclaration__VariablesAssignment_1_1"); + put(grammarAccess.getVariablesDeclarationAccess().getTypeAssignment_3(), "rule__VariablesDeclaration__TypeAssignment_3"); + put(grammarAccess.getVariablesDeclarationAccess().getValueAssignment_4_1(), "rule__VariablesDeclaration__ValueAssignment_4_1"); + put(grammarAccess.getVariableDeclarationAccess().getNameAssignment(), "rule__VariableDeclaration__NameAssignment"); + put(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_0(), "rule__PriorityDeclaration__GroupsAssignment_0"); + put(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_1_1(), "rule__PriorityDeclaration__GroupsAssignment_1_1"); + put(grammarAccess.getPriorityGroupAccess().getPortsAssignment_0(), "rule__PriorityGroup__PortsAssignment_0"); + put(grammarAccess.getPriorityGroupAccess().getPortsAssignment_1_1(), "rule__PriorityGroup__PortsAssignment_1_1"); + put(grammarAccess.getUnlessStatementAccess().getFollowersAssignment_1_2(), "rule__UnlessStatement__FollowersAssignment_1_2"); + put(grammarAccess.getStatementChoiceAccess().getChoicesAssignment_1_2(), "rule__StatementChoice__ChoicesAssignment_1_2"); + put(grammarAccess.getStatementSequenceAccess().getStatementsAssignment_1_2(), "rule__StatementSequence__StatementsAssignment_1_2"); + put(grammarAccess.getBlockStatementAccess().getBodyAssignment_1(), "rule__BlockStatement__BodyAssignment_1"); + put(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1(), "rule__ReturnStatement__ExpressionAssignment_1"); + put(grammarAccess.getTaggedStatementAccess().getNameAssignment_1(), "rule__TaggedStatement__NameAssignment_1"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_2(), "rule__PatternStatement__PatternsAssignment_1_0_2"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_3_1(), "rule__PatternStatement__PatternsAssignment_1_0_3_1"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_5(), "rule__PatternStatement__ValuesAssignment_1_0_5"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_6_1(), "rule__PatternStatement__ValuesAssignment_1_0_6_1"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_0(), "rule__PatternStatement__ValuesAssignment_1_1_2_0"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_1_1(), "rule__PatternStatement__ValuesAssignment_1_1_2_1_1"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_2(), "rule__PatternStatement__PatternsAssignment_1_2_2"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_3_1(), "rule__PatternStatement__PatternsAssignment_1_2_3_1"); + put(grammarAccess.getPatternStatementAccess().getExpAssignment_1_2_6_1(), "rule__PatternStatement__ExpAssignment_1_2_6_1"); + put(grammarAccess.getPatternStatementAccess().getExpAssignment_1_3_3_1(), "rule__PatternStatement__ExpAssignment_1_3_3_1"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_2(), "rule__PatternStatement__ValuesAssignment_1_4_2"); + put(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_3_1(), "rule__PatternStatement__ValuesAssignment_1_4_3_1"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_2(), "rule__PatternStatement__PatternsAssignment_1_5_2"); + put(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_3_1(), "rule__PatternStatement__PatternsAssignment_1_5_3_1"); + put(grammarAccess.getPatternStatementAccess().getExpAssignment_1_5_4_1(), "rule__PatternStatement__ExpAssignment_1_5_4_1"); + put(grammarAccess.getConstantPatternAccess().getValueAssignment(), "rule__ConstantPattern__ValueAssignment"); + put(grammarAccess.getIntegerPatternAccess().getNegativeAssignment_0_1(), "rule__IntegerPattern__NegativeAssignment_0_1"); + put(grammarAccess.getIntegerPatternAccess().getValueAssignment_1(), "rule__IntegerPattern__ValueAssignment_1"); + put(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_0_1(), "rule__IdentifierPattern__DeclarationAssignment_0_1"); + put(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_0(), "rule__IdentifierPattern__ParametersAssignment_0_3_0"); + put(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_1_1(), "rule__IdentifierPattern__ParametersAssignment_0_3_1_1"); + put(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_1_0(), "rule__IdentifierPattern__DeclarationAssignment_1_0"); + put(grammarAccess.getIdentifierPatternAccess().getIndexAssignment_1_1_0_2(), "rule__IdentifierPattern__IndexAssignment_1_1_0_2"); + put(grammarAccess.getIdentifierPatternAccess().getFieldAssignment_1_1_1_2(), "rule__IdentifierPattern__FieldAssignment_1_1_1_2"); + put(grammarAccess.getConditionalStatementAccess().getConditionAssignment_1(), "rule__ConditionalStatement__ConditionAssignment_1"); + put(grammarAccess.getConditionalStatementAccess().getThenAssignment_3(), "rule__ConditionalStatement__ThenAssignment_3"); + put(grammarAccess.getConditionalStatementAccess().getElseifAssignment_4(), "rule__ConditionalStatement__ElseifAssignment_4"); + put(grammarAccess.getConditionalStatementAccess().getElseAssignment_5_1(), "rule__ConditionalStatement__ElseAssignment_5_1"); + put(grammarAccess.getExtendedConditionalStatementAccess().getConditionAssignment_1(), "rule__ExtendedConditionalStatement__ConditionAssignment_1"); + put(grammarAccess.getExtendedConditionalStatementAccess().getThenAssignment_3(), "rule__ExtendedConditionalStatement__ThenAssignment_3"); + put(grammarAccess.getSelectStatementAccess().getBodyAssignment_1(), "rule__SelectStatement__BodyAssignment_1"); + put(grammarAccess.getSelectStatementAccess().getIndexAssignment_2_1(), "rule__SelectStatement__IndexAssignment_2_1"); + put(grammarAccess.getSelectStatementAccess().getTypeAssignment_2_3(), "rule__SelectStatement__TypeAssignment_2_3"); + put(grammarAccess.getWhileStatementAccess().getConditionAssignment_1(), "rule__WhileStatement__ConditionAssignment_1"); + put(grammarAccess.getWhileStatementAccess().getBodyAssignment_3(), "rule__WhileStatement__BodyAssignment_3"); + put(grammarAccess.getForeachStatementAccess().getVariableAssignment_1(), "rule__ForeachStatement__VariableAssignment_1"); + put(grammarAccess.getForeachStatementAccess().getBodyAssignment_3(), "rule__ForeachStatement__BodyAssignment_3"); + put(grammarAccess.getToStatementAccess().getStateAssignment_1(), "rule__ToStatement__StateAssignment_1"); + put(grammarAccess.getCaseStatementAccess().getValueAssignment_1(), "rule__CaseStatement__ValueAssignment_1"); + put(grammarAccess.getCaseStatementAccess().getPatternAssignment_3(), "rule__CaseStatement__PatternAssignment_3"); + put(grammarAccess.getCaseStatementAccess().getBodyAssignment_5(), "rule__CaseStatement__BodyAssignment_5"); + put(grammarAccess.getCaseStatementAccess().getPatternAssignment_6_1(), "rule__CaseStatement__PatternAssignment_6_1"); + put(grammarAccess.getCaseStatementAccess().getBodyAssignment_6_3(), "rule__CaseStatement__BodyAssignment_6_3"); + put(grammarAccess.getOnStatementAccess().getConditionAssignment_1(), "rule__OnStatement__ConditionAssignment_1"); + put(grammarAccess.getWaitStatementAccess().getLeftAssignment_1(), "rule__WaitStatement__LeftAssignment_1"); + put(grammarAccess.getWaitStatementAccess().getRightAssignment_3(), "rule__WaitStatement__RightAssignment_3"); + put(grammarAccess.getCompositionAccess().getGlobalAssignment_1_0(), "rule__Composition__GlobalAssignment_1_0"); + put(grammarAccess.getCompositionAccess().getBlocksAssignment_2(), "rule__Composition__BlocksAssignment_2"); + put(grammarAccess.getCompositionAccess().getBlocksAssignment_3_1(), "rule__Composition__BlocksAssignment_3_1"); + put(grammarAccess.getCompositeBlockAccess().getLocalAssignment_0_0_0(), "rule__CompositeBlock__LocalAssignment_0_0_0"); + put(grammarAccess.getCompositeBlockAccess().getCompositionAssignment_1(), "rule__CompositeBlock__CompositionAssignment_1"); + put(grammarAccess.getInstanceDeclarationAccess().getLocalAssignment_0_0_0(), "rule__InstanceDeclaration__LocalAssignment_0_0_0"); + put(grammarAccess.getInstanceDeclarationAccess().getInstanceAssignment_1(), "rule__InstanceDeclaration__InstanceAssignment_1"); + put(grammarAccess.getPortSetAccess().getAllPortsAssignment_0(), "rule__PortSet__AllPortsAssignment_0"); + put(grammarAccess.getPortSetAccess().getPortsAssignment_1_0(), "rule__PortSet__PortsAssignment_1_0"); + put(grammarAccess.getPortSetAccess().getPortsAssignment_1_1_1(), "rule__PortSet__PortsAssignment_1_1_1"); + put(grammarAccess.getComponentInstanceAccess().getComponentAssignment_0(), "rule__ComponentInstance__ComponentAssignment_0"); + put(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_1(), "rule__ComponentInstance__PortsAssignment_1_1"); + put(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_2_1(), "rule__ComponentInstance__PortsAssignment_1_2_1"); + put(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_1(), "rule__ComponentInstance__ParametersAssignment_2_1"); + put(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_2_1(), "rule__ComponentInstance__ParametersAssignment_2_2_1"); + put(grammarAccess.getQuantifiedExpressionAccess().getIndexAssignment_0_1(), "rule__QuantifiedExpression__IndexAssignment_0_1"); + put(grammarAccess.getQuantifiedExpressionAccess().getTypeAssignment_0_2_1(), "rule__QuantifiedExpression__TypeAssignment_0_2_1"); + put(grammarAccess.getQuantifiedExpressionAccess().getChildAssignment_0_4(), "rule__QuantifiedExpression__ChildAssignment_0_4"); + put(grammarAccess.getConditionalAccess().getThenAssignment_1_2(), "rule__Conditional__ThenAssignment_1_2"); + put(grammarAccess.getConditionalAccess().getElseAssignment_1_4(), "rule__Conditional__ElseAssignment_1_4"); + put(grammarAccess.getDisjunctionAccess().getRightAssignment_1_2(), "rule__Disjunction__RightAssignment_1_2"); + put(grammarAccess.getImplicationAccess().getRightAssignment_1_2(), "rule__Implication__RightAssignment_1_2"); + put(grammarAccess.getConjunctionAccess().getRightAssignment_1_2(), "rule__Conjunction__RightAssignment_1_2"); + put(grammarAccess.getComparisonAccess().getRightAssignment_1_1(), "rule__Comparison__RightAssignment_1_1"); + put(grammarAccess.getAdditionAccess().getRightAssignment_1_2(), "rule__Addition__RightAssignment_1_2"); + put(grammarAccess.getSubstractionAccess().getRightAssignment_1_2(), "rule__Substraction__RightAssignment_1_2"); + put(grammarAccess.getMultiplicationAccess().getRightAssignment_1_2(), "rule__Multiplication__RightAssignment_1_2"); + put(grammarAccess.getDivisionAccess().getRightAssignment_1_2(), "rule__Division__RightAssignment_1_2"); + put(grammarAccess.getModuloAccess().getRightAssignment_1_2(), "rule__Modulo__RightAssignment_1_2"); + put(grammarAccess.getUnaryExpressionAccess().getChildAssignment_0_1(), "rule__UnaryExpression__ChildAssignment_0_1"); + put(grammarAccess.getProjectionAccess().getFieldAssignment_1_2(), "rule__Projection__FieldAssignment_1_2"); + put(grammarAccess.getReferenceExpressionAccess().getDeclarationAssignment_1(), "rule__ReferenceExpression__DeclarationAssignment_1"); + put(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_0_1(), "rule__IdentifierExpression__DeclarationAssignment_0_1"); + put(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_0(), "rule__IdentifierExpression__ParametersAssignment_0_3_0"); + put(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_1_1(), "rule__IdentifierExpression__ParametersAssignment_0_3_1_1"); + put(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_1_0(), "rule__IdentifierExpression__DeclarationAssignment_1_0"); + put(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_2(), "rule__IdentifierExpression__IndexesAssignment_1_1_0_2"); + put(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_3_1(), "rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1"); + put(grammarAccess.getIdentifierExpressionAccess().getFieldAssignment_1_1_1_2(), "rule__IdentifierExpression__FieldAssignment_1_1_1_2"); + put(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_1(), "rule__RecordExpression__FieldsAssignment_1"); + put(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_2_1(), "rule__RecordExpression__FieldsAssignment_2_1"); + put(grammarAccess.getFieldExpressionAccess().getFieldAssignment_0(), "rule__FieldExpression__FieldAssignment_0"); + put(grammarAccess.getFieldExpressionAccess().getValueAssignment_2(), "rule__FieldExpression__ValueAssignment_2"); + put(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_0(), "rule__ArrayExpression__ValuesAssignment_2_0"); + put(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_1_1(), "rule__ArrayExpression__ValuesAssignment_2_1_1"); + put(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_0(), "rule__QueueExpression__ValuesAssignment_2_0"); + put(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_1_1(), "rule__QueueExpression__ValuesAssignment_2_1_1"); + put(grammarAccess.getEnqueueExpressionAccess().getElementAssignment_2(), "rule__EnqueueExpression__ElementAssignment_2"); + put(grammarAccess.getEnqueueExpressionAccess().getQueueAssignment_4(), "rule__EnqueueExpression__QueueAssignment_4"); + put(grammarAccess.getAppendExpressionAccess().getLeftAssignment_2(), "rule__AppendExpression__LeftAssignment_2"); + put(grammarAccess.getAppendExpressionAccess().getRightAssignment_4(), "rule__AppendExpression__RightAssignment_4"); + put(grammarAccess.getNaturalLiteralAccess().getValueAssignment(), "rule__NaturalLiteral__ValueAssignment"); + put(grammarAccess.getNaturalLowerBoundAccess().getLeftAssignment_0_0(), "rule__NaturalLowerBound__LeftAssignment_0_0"); + put(grammarAccess.getNaturalLowerBoundAccess().getRightAssignment_0_1(), "rule__NaturalLowerBound__RightAssignment_0_1"); + put(grammarAccess.getNaturalLowerBoundAccess().getValueAssignment_1(), "rule__NaturalLowerBound__ValueAssignment_1"); + put(grammarAccess.getNaturalUpperBoundAccess().getValueAssignment_0(), "rule__NaturalUpperBound__ValueAssignment_0"); + put(grammarAccess.getNaturalUpperBoundAccess().getLeftAssignment_1_0(), "rule__NaturalUpperBound__LeftAssignment_1_0"); + put(grammarAccess.getNaturalUpperBoundAccess().getRightAssignment_1_1(), "rule__NaturalUpperBound__RightAssignment_1_1"); + put(grammarAccess.getDecimalLowerBoundAccess().getLeftAssignment_0_0(), "rule__DecimalLowerBound__LeftAssignment_0_0"); + put(grammarAccess.getDecimalLowerBoundAccess().getRightAssignment_0_1(), "rule__DecimalLowerBound__RightAssignment_0_1"); + put(grammarAccess.getDecimalLowerBoundAccess().getValueAssignment_1(), "rule__DecimalLowerBound__ValueAssignment_1"); + put(grammarAccess.getDecimalUpperBoundAccess().getValueAssignment_0(), "rule__DecimalUpperBound__ValueAssignment_0"); + put(grammarAccess.getDecimalUpperBoundAccess().getLeftAssignment_1_0(), "rule__DecimalUpperBound__LeftAssignment_1_0"); + put(grammarAccess.getDecimalUpperBoundAccess().getRightAssignment_1_1(), "rule__DecimalUpperBound__RightAssignment_1_1"); + put(grammarAccess.getVariableLowerBoundAccess().getLeftAssignment_0_0(), "rule__VariableLowerBound__LeftAssignment_0_0"); + put(grammarAccess.getVariableLowerBoundAccess().getRightAssignment_0_1(), "rule__VariableLowerBound__RightAssignment_0_1"); + put(grammarAccess.getVariableLowerBoundAccess().getVariableAssignment_1(), "rule__VariableLowerBound__VariableAssignment_1"); + put(grammarAccess.getVariableUpperBoundAccess().getVariableAssignment_0(), "rule__VariableUpperBound__VariableAssignment_0"); + put(grammarAccess.getVariableUpperBoundAccess().getLeftAssignment_1_0(), "rule__VariableUpperBound__LeftAssignment_1_0"); + put(grammarAccess.getVariableUpperBoundAccess().getRightAssignment_1_1(), "rule__VariableUpperBound__RightAssignment_1_1"); + put(grammarAccess.getRequirementAccess().getPropertyAssignment_1(), "rule__Requirement__PropertyAssignment_1"); + put(grammarAccess.getRequirementAccess().getPositiveAssignment_2_1(), "rule__Requirement__PositiveAssignment_2_1"); + put(grammarAccess.getRequirementAccess().getNegativeAssignment_3_1(), "rule__Requirement__NegativeAssignment_3_1"); + put(grammarAccess.getPropertyDeclarationAccess().getNameAssignment_1(), "rule__PropertyDeclaration__NameAssignment_1"); + put(grammarAccess.getPropertyDeclarationAccess().getPropertyAssignment_3(), "rule__PropertyDeclaration__PropertyAssignment_3"); + put(grammarAccess.getQuantifiedPropertyAccess().getVariableAssignment_0_1(), "rule__QuantifiedProperty__VariableAssignment_0_1"); + put(grammarAccess.getQuantifiedPropertyAccess().getTypeAssignment_0_3(), "rule__QuantifiedProperty__TypeAssignment_0_3"); + put(grammarAccess.getQuantifiedPropertyAccess().getChildAssignment_0_5(), "rule__QuantifiedProperty__ChildAssignment_0_5"); + put(grammarAccess.getPropertyDisjunctionAccess().getRightAssignment_1_2(), "rule__PropertyDisjunction__RightAssignment_1_2"); + put(grammarAccess.getPropertyImplicationAccess().getRightAssignment_1_2(), "rule__PropertyImplication__RightAssignment_1_2"); + put(grammarAccess.getPropertyConjunctionAccess().getRightAssignment_1_2(), "rule__PropertyConjunction__RightAssignment_1_2"); + put(grammarAccess.getPropertyNegationAccess().getChildAssignment_0_2(), "rule__PropertyNegation__ChildAssignment_0_2"); + put(grammarAccess.getLTLPatternAccess().getPropertyAssignment_1(), "rule__LTLPattern__PropertyAssignment_1"); + put(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAssignment_1(), "rule__InfinitelyOftenPattern__SubjectAssignment_1"); + put(grammarAccess.getMortalPatternAccess().getSubjectAssignment_1(), "rule__MortalPattern__SubjectAssignment_1"); + put(grammarAccess.getPresencePatternAccess().getSubjectAssignment_1(), "rule__PresencePattern__SubjectAssignment_1"); + put(grammarAccess.getPresencePatternAccess().getLastingAssignment_2_0_1(), "rule__PresencePattern__LastingAssignment_2_0_1"); + put(grammarAccess.getPresencePatternAccess().getAfterAssignment_2_1_0_1(), "rule__PresencePattern__AfterAssignment_2_1_0_1"); + put(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_1_1_0_1(), "rule__PresencePattern__LowerAssignment_2_1_1_0_1"); + put(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_1_1_0_3(), "rule__PresencePattern__UpperAssignment_2_1_1_0_3"); + put(grammarAccess.getPresencePatternAccess().getUntilAssignment_2_1_1_1_1(), "rule__PresencePattern__UntilAssignment_2_1_1_1_1"); + put(grammarAccess.getPresencePatternAccess().getBeforeAssignment_2_2_0_1(), "rule__PresencePattern__BeforeAssignment_2_2_0_1"); + put(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_2_1_1(), "rule__PresencePattern__LowerAssignment_2_2_1_1"); + put(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_2_1_3(), "rule__PresencePattern__UpperAssignment_2_2_1_3"); + put(grammarAccess.getPresencePatternAccess().getMinAssignment_2_3_1(), "rule__PresencePattern__MinAssignment_2_3_1"); + put(grammarAccess.getPresencePatternAccess().getMaxAssignment_2_3_3(), "rule__PresencePattern__MaxAssignment_2_3_3"); + put(grammarAccess.getAbsencePatternAccess().getSubjectAssignment_1(), "rule__AbsencePattern__SubjectAssignment_1"); + put(grammarAccess.getAbsencePatternAccess().getAfterAssignment_2_0_0_1(), "rule__AbsencePattern__AfterAssignment_2_0_0_1"); + put(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_0_1_0_1(), "rule__AbsencePattern__LowerAssignment_2_0_1_0_1"); + put(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_0_1_0_3(), "rule__AbsencePattern__UpperAssignment_2_0_1_0_3"); + put(grammarAccess.getAbsencePatternAccess().getUntilAssignment_2_0_1_1_1(), "rule__AbsencePattern__UntilAssignment_2_0_1_1_1"); + put(grammarAccess.getAbsencePatternAccess().getBeforeAssignment_2_1_0_1(), "rule__AbsencePattern__BeforeAssignment_2_1_0_1"); + put(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_1_1_1(), "rule__AbsencePattern__LowerAssignment_2_1_1_1"); + put(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_1_1_3(), "rule__AbsencePattern__UpperAssignment_2_1_1_3"); + put(grammarAccess.getAbsencePatternAccess().getMinAssignment_2_2_1(), "rule__AbsencePattern__MinAssignment_2_2_1"); + put(grammarAccess.getAbsencePatternAccess().getMaxAssignment_2_2_3(), "rule__AbsencePattern__MaxAssignment_2_2_3"); + put(grammarAccess.getAlwaysPatternAccess().getSubjectAssignment_1(), "rule__AlwaysPattern__SubjectAssignment_1"); + put(grammarAccess.getAlwaysPatternAccess().getBeforeAssignment_2_0_1(), "rule__AlwaysPattern__BeforeAssignment_2_0_1"); + put(grammarAccess.getAlwaysPatternAccess().getAfterAssignment_2_1_1(), "rule__AlwaysPattern__AfterAssignment_2_1_1"); + put(grammarAccess.getAlwaysPatternAccess().getUntilAssignment_2_1_2_1(), "rule__AlwaysPattern__UntilAssignment_2_1_2_1"); + put(grammarAccess.getAlwaysPatternAccess().getMinAssignment_2_2_1(), "rule__AlwaysPattern__MinAssignment_2_2_1"); + put(grammarAccess.getAlwaysPatternAccess().getMaxAssignment_2_2_3(), "rule__AlwaysPattern__MaxAssignment_2_2_3"); + put(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_0_2(), "rule__SequencePattern__FollowerAssignment_1_0_2"); + put(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_0_3_0_1(), "rule__SequencePattern__BeforeAssignment_1_0_3_0_1"); + put(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_0_2_1(), "rule__SequencePattern__LowerAssignment_1_0_3_0_2_1"); + put(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_0_2_3(), "rule__SequencePattern__UpperAssignment_1_0_3_0_2_3"); + put(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_1_1(), "rule__SequencePattern__LowerAssignment_1_0_3_1_1"); + put(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_1_3(), "rule__SequencePattern__UpperAssignment_1_0_3_1_3"); + put(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_0_3_2_1(), "rule__SequencePattern__AfterAssignment_1_0_3_2_1"); + put(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_2_2_0_1(), "rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1"); + put(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_2_2_0_3(), "rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3"); + put(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_0_3_2_2_1_1(), "rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1"); + put(grammarAccess.getSequencePatternAccess().getMinAssignment_1_0_3_3_1(), "rule__SequencePattern__MinAssignment_1_0_3_3_1"); + put(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_0_3_3_3(), "rule__SequencePattern__MaxAssignment_1_0_3_3_3"); + put(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_1_2(), "rule__SequencePattern__FollowerAssignment_1_1_2"); + put(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_1_3_0_1(), "rule__SequencePattern__BeforeAssignment_1_1_3_0_1"); + put(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_1_3_1_1(), "rule__SequencePattern__AfterAssignment_1_1_3_1_1"); + put(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_1_3_1_2_1(), "rule__SequencePattern__UntilAssignment_1_1_3_1_2_1"); + put(grammarAccess.getSequencePatternAccess().getMinAssignment_1_1_3_2_1(), "rule__SequencePattern__MinAssignment_1_1_3_2_1"); + put(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_1_3_2_3(), "rule__SequencePattern__MaxAssignment_1_1_3_2_3"); + put(grammarAccess.getLTLQuantifiedAccess().getIndexAssignment_0_1(), "rule__LTLQuantified__IndexAssignment_0_1"); + put(grammarAccess.getLTLQuantifiedAccess().getTypeAssignment_0_3(), "rule__LTLQuantified__TypeAssignment_0_3"); + put(grammarAccess.getLTLQuantifiedAccess().getChildAssignment_0_5(), "rule__LTLQuantified__ChildAssignment_0_5"); + put(grammarAccess.getLTLDisjunctionAccess().getRightAssignment_1_2(), "rule__LTLDisjunction__RightAssignment_1_2"); + put(grammarAccess.getLTLImplicationAccess().getRightAssignment_1_2(), "rule__LTLImplication__RightAssignment_1_2"); + put(grammarAccess.getLTLConjunctionAccess().getRightAssignment_1_2(), "rule__LTLConjunction__RightAssignment_1_2"); + put(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_0_2(), "rule__LTLBinary__RightAssignment_1_0_2"); + put(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_1_2(), "rule__LTLBinary__RightAssignment_1_1_2"); + put(grammarAccess.getLTLUnaryAccess().getOperandAssignment_0_1(), "rule__LTLUnary__OperandAssignment_0_1"); + put(grammarAccess.getAtomicLTLAccess().getDeclarationAssignment_0_1(), "rule__AtomicLTL__DeclarationAssignment_0_1"); + put(grammarAccess.getEnterStateEventAccess().getSubjectAssignment_1(), "rule__EnterStateEvent__SubjectAssignment_1"); + put(grammarAccess.getLeaveStateEventAccess().getSubjectAssignment_1(), "rule__LeaveStateEvent__SubjectAssignment_1"); + put(grammarAccess.getObservableDisjunctionAccess().getRightAssignment_1_2(), "rule__ObservableDisjunction__RightAssignment_1_2"); + put(grammarAccess.getObservableImplicationAccess().getRightAssignment_1_2(), "rule__ObservableImplication__RightAssignment_1_2"); + put(grammarAccess.getObservableConjunctionAccess().getRightAssignment_1_2(), "rule__ObservableConjunction__RightAssignment_1_2"); + put(grammarAccess.getObservableNegationAccess().getChildAssignment_0_2(), "rule__ObservableNegation__ChildAssignment_0_2"); + put(grammarAccess.getPathEventAccess().getPathAssignment_0(), "rule__PathEvent__PathAssignment_0"); + put(grammarAccess.getPathEventAccess().getItemAssignment_1(), "rule__PathEvent__ItemAssignment_1"); + put(grammarAccess.getPathAccess().getItemsAssignment_0(), "rule__Path__ItemsAssignment_0"); + put(grammarAccess.getNaturalItemAccess().getValueAssignment(), "rule__NaturalItem__ValueAssignment"); + put(grammarAccess.getNamedItemAccess().getDeclarationAssignment(), "rule__NamedItem__DeclarationAssignment"); + put(grammarAccess.getStateSubjectAccess().getStateAssignment_1(), "rule__StateSubject__StateAssignment_1"); + put(grammarAccess.getValueSubjectAccess().getValueAssignment_1(), "rule__ValueSubject__ValueAssignment_1"); + put(grammarAccess.getTagSubjectAccess().getTagAssignment_1(), "rule__TagSubject__TagAssignment_1"); + put(grammarAccess.getEventSubjectAccess().getEventAssignment_1(), "rule__EventSubject__EventAssignment_1"); + } + }; + } + return nameMappings.get(element); + } + + @Override + protected Collection getFollowElements(AbstractInternalContentAssistParser parser) { + try { + InternalFiacreParser typedParser = (InternalFiacreParser) parser; + typedParser.entryRuleModel(); + return typedParser.getFollowElements(); + } catch(RecognitionException ex) { + throw new RuntimeException(ex); + } + } + + @Override + protected String[] getInitialHiddenTokens() { + return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; + } + + public FiacreGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(FiacreGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/PartialFiacreContentAssistParser.java b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/PartialFiacreContentAssistParser.java new file mode 100644 index 0000000..ebe6b9a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/PartialFiacreContentAssistParser.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.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.ide.editor.partialEditing.IPartialEditingContentAssistParser; +import org.eclipse.xtext.util.PolymorphicDispatcher; + +public class PartialFiacreContentAssistParser extends FiacreParser implements IPartialEditingContentAssistParser { + + private AbstractRule rule; + + @Override + public void initializeFor(AbstractRule rule) { + this.rule = rule; + } + + @Override + protected Collection getFollowElements(AbstractInternalContentAssistParser parser) { + if (rule == null || rule.eIsProxy()) + return Collections.emptyList(); + String methodName = "entryRule" + rule.getName(); + PolymorphicDispatcher> dispatcher = + new PolymorphicDispatcher>(methodName, 0, 0, Collections.singletonList(parser)); + dispatcher.invoke(); + return parser.getFollowElements(); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.g b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.g new file mode 100644 index 0000000..a1c8d4f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.g @@ -0,0 +1,33794 @@ +/* + * generated by Xtext 2.10.0 + */ +grammar InternalFiacre; + +options { + superClass=AbstractInternalContentAssistParser; + backtrack=true; +} + +@lexer::header { +package fr.irit.fiacre.xtext.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 fr.irit.fiacre.xtext.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 fr.irit.fiacre.xtext.services.FiacreGrammarAccess; + +} +@parser::members { + private FiacreGrammarAccess grammarAccess; + + public void setGrammarAccess(FiacreGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } +} + +// Entry rule entryRuleModel +entryRuleModel +: +{ before(grammarAccess.getModelRule()); } + ruleModel +{ after(grammarAccess.getModelRule()); } + EOF +; + +// Rule Model +ruleModel + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getModelAccess().getGroup()); } + (rule__Model__Group__0) + { after(grammarAccess.getModelAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRoot +entryRuleRoot +: +{ before(grammarAccess.getRootRule()); } + ruleRoot +{ after(grammarAccess.getRootRule()); } + EOF +; + +// Rule Root +ruleRoot + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRootAccess().getGroup()); } + (rule__Root__Group__0) + { after(grammarAccess.getRootAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleImportDeclaration +entryRuleImportDeclaration +: +{ before(grammarAccess.getImportDeclarationRule()); } + ruleImportDeclaration +{ after(grammarAccess.getImportDeclarationRule()); } + EOF +; + +// Rule ImportDeclaration +ruleImportDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getImportDeclarationAccess().getGroup()); } + (rule__ImportDeclaration__Group__0) + { after(grammarAccess.getImportDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDeclaration +entryRuleDeclaration +: +{ before(grammarAccess.getDeclarationRule()); } + ruleDeclaration +{ after(grammarAccess.getDeclarationRule()); } + EOF +; + +// Rule Declaration +ruleDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDeclarationAccess().getAlternatives()); } + (rule__Declaration__Alternatives) + { after(grammarAccess.getDeclarationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParameterizedDeclaration +entryRuleParameterizedDeclaration +: +{ before(grammarAccess.getParameterizedDeclarationRule()); } + ruleParameterizedDeclaration +{ after(grammarAccess.getParameterizedDeclarationRule()); } + EOF +; + +// Rule ParameterizedDeclaration +ruleParameterizedDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParameterizedDeclarationAccess().getAlternatives()); } + (rule__ParameterizedDeclaration__Alternatives) + { after(grammarAccess.getParameterizedDeclarationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionDeclaration +entryRuleFunctionDeclaration +: +{ before(grammarAccess.getFunctionDeclarationRule()); } + ruleFunctionDeclaration +{ after(grammarAccess.getFunctionDeclarationRule()); } + EOF +; + +// Rule FunctionDeclaration +ruleFunctionDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup()); } + (rule__FunctionDeclaration__Group__0) + { after(grammarAccess.getFunctionDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTypeDeclaration +entryRuleTypeDeclaration +: +{ before(grammarAccess.getTypeDeclarationRule()); } + ruleTypeDeclaration +{ after(grammarAccess.getTypeDeclarationRule()); } + EOF +; + +// Rule TypeDeclaration +ruleTypeDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTypeDeclarationAccess().getGroup()); } + (rule__TypeDeclaration__Group__0) + { after(grammarAccess.getTypeDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleChannelDeclaration +entryRuleChannelDeclaration +: +{ before(grammarAccess.getChannelDeclarationRule()); } + ruleChannelDeclaration +{ after(grammarAccess.getChannelDeclarationRule()); } + EOF +; + +// Rule ChannelDeclaration +ruleChannelDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getChannelDeclarationAccess().getGroup()); } + (rule__ChannelDeclaration__Group__0) + { after(grammarAccess.getChannelDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleChannelType +entryRuleChannelType +: +{ before(grammarAccess.getChannelTypeRule()); } + ruleChannelType +{ after(grammarAccess.getChannelTypeRule()); } + EOF +; + +// Rule ChannelType +ruleChannelType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getChannelTypeAccess().getGroup()); } + (rule__ChannelType__Group__0) + { after(grammarAccess.getChannelTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleType +entryRuleType +: +{ before(grammarAccess.getTypeRule()); } + ruleType +{ after(grammarAccess.getTypeRule()); } + EOF +; + +// Rule Type +ruleType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTypeAccess().getAlternatives()); } + (rule__Type__Alternatives) + { after(grammarAccess.getTypeAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTupleType +entryRuleTupleType +: +{ before(grammarAccess.getTupleTypeRule()); } + ruleTupleType +{ after(grammarAccess.getTupleTypeRule()); } + EOF +; + +// Rule TupleType +ruleTupleType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTupleTypeAccess().getGroup()); } + (rule__TupleType__Group__0) + { after(grammarAccess.getTupleTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBasicType +entryRuleBasicType +: +{ before(grammarAccess.getBasicTypeRule()); } + ruleBasicType +{ after(grammarAccess.getBasicTypeRule()); } + EOF +; + +// Rule BasicType +ruleBasicType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBasicTypeAccess().getAlternatives()); } + (rule__BasicType__Alternatives) + { after(grammarAccess.getBasicTypeAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRangeType +entryRuleRangeType +: +{ before(grammarAccess.getRangeTypeRule()); } + ruleRangeType +{ after(grammarAccess.getRangeTypeRule()); } + EOF +; + +// Rule RangeType +ruleRangeType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRangeTypeAccess().getGroup()); } + (rule__RangeType__Group__0) + { after(grammarAccess.getRangeTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnionType +entryRuleUnionType +: +{ before(grammarAccess.getUnionTypeRule()); } + ruleUnionType +{ after(grammarAccess.getUnionTypeRule()); } + EOF +; + +// Rule UnionType +ruleUnionType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnionTypeAccess().getGroup()); } + (rule__UnionType__Group__0) + { after(grammarAccess.getUnionTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnionTags +entryRuleUnionTags +: +{ before(grammarAccess.getUnionTagsRule()); } + ruleUnionTags +{ after(grammarAccess.getUnionTagsRule()); } + EOF +; + +// Rule UnionTags +ruleUnionTags + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnionTagsAccess().getGroup()); } + (rule__UnionTags__Group__0) + { after(grammarAccess.getUnionTagsAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnionTagDeclaration +entryRuleUnionTagDeclaration +: +{ before(grammarAccess.getUnionTagDeclarationRule()); } + ruleUnionTagDeclaration +{ after(grammarAccess.getUnionTagDeclarationRule()); } + EOF +; + +// Rule UnionTagDeclaration +ruleUnionTagDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnionTagDeclarationAccess().getNameAssignment()); } + (rule__UnionTagDeclaration__NameAssignment) + { after(grammarAccess.getUnionTagDeclarationAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRecordType +entryRuleRecordType +: +{ before(grammarAccess.getRecordTypeRule()); } + ruleRecordType +{ after(grammarAccess.getRecordTypeRule()); } + EOF +; + +// Rule RecordType +ruleRecordType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRecordTypeAccess().getGroup()); } + (rule__RecordType__Group__0) + { after(grammarAccess.getRecordTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRecordFields +entryRuleRecordFields +: +{ before(grammarAccess.getRecordFieldsRule()); } + ruleRecordFields +{ after(grammarAccess.getRecordFieldsRule()); } + EOF +; + +// Rule RecordFields +ruleRecordFields + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRecordFieldsAccess().getGroup()); } + (rule__RecordFields__Group__0) + { after(grammarAccess.getRecordFieldsAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRecordFieldDeclaration +entryRuleRecordFieldDeclaration +: +{ before(grammarAccess.getRecordFieldDeclarationRule()); } + ruleRecordFieldDeclaration +{ after(grammarAccess.getRecordFieldDeclarationRule()); } + EOF +; + +// Rule RecordFieldDeclaration +ruleRecordFieldDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment()); } + (rule__RecordFieldDeclaration__NameAssignment) + { after(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQueueType +entryRuleQueueType +: +{ before(grammarAccess.getQueueTypeRule()); } + ruleQueueType +{ after(grammarAccess.getQueueTypeRule()); } + EOF +; + +// Rule QueueType +ruleQueueType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQueueTypeAccess().getGroup()); } + (rule__QueueType__Group__0) + { after(grammarAccess.getQueueTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayType +entryRuleArrayType +: +{ before(grammarAccess.getArrayTypeRule()); } + ruleArrayType +{ after(grammarAccess.getArrayTypeRule()); } + EOF +; + +// Rule ArrayType +ruleArrayType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayTypeAccess().getGroup()); } + (rule__ArrayType__Group__0) + { after(grammarAccess.getArrayTypeAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleReferencedType +entryRuleReferencedType +: +{ before(grammarAccess.getReferencedTypeRule()); } + ruleReferencedType +{ after(grammarAccess.getReferencedTypeRule()); } + EOF +; + +// Rule ReferencedType +ruleReferencedType + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getReferencedTypeAccess().getTypeAssignment()); } + (rule__ReferencedType__TypeAssignment) + { after(grammarAccess.getReferencedTypeAccess().getTypeAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleConstantDeclaration +entryRuleConstantDeclaration +: +{ before(grammarAccess.getConstantDeclarationRule()); } + ruleConstantDeclaration +{ after(grammarAccess.getConstantDeclarationRule()); } + EOF +; + +// Rule ConstantDeclaration +ruleConstantDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConstantDeclarationAccess().getGroup()); } + (rule__ConstantDeclaration__Group__0) + { after(grammarAccess.getConstantDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleProcessDeclaration +entryRuleProcessDeclaration +: +{ before(grammarAccess.getProcessDeclarationRule()); } + ruleProcessDeclaration +{ after(grammarAccess.getProcessDeclarationRule()); } + EOF +; + +// Rule ProcessDeclaration +ruleProcessDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getProcessDeclarationAccess().getGroup()); } + (rule__ProcessDeclaration__Group__0) + { after(grammarAccess.getProcessDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStateDeclaration +entryRuleStateDeclaration +: +{ before(grammarAccess.getStateDeclarationRule()); } + ruleStateDeclaration +{ after(grammarAccess.getStateDeclarationRule()); } + EOF +; + +// Rule StateDeclaration +ruleStateDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStateDeclarationAccess().getNameAssignment()); } + (rule__StateDeclaration__NameAssignment) + { after(grammarAccess.getStateDeclarationAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTransitionSource +entryRuleTransitionSource +: +{ before(grammarAccess.getTransitionSourceRule()); } + ruleTransitionSource +{ after(grammarAccess.getTransitionSourceRule()); } + EOF +; + +// Rule TransitionSource +ruleTransitionSource + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTransitionSourceAccess().getGroup()); } + (rule__TransitionSource__Group__0) + { after(grammarAccess.getTransitionSourceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTransition +entryRuleTransition +: +{ before(grammarAccess.getTransitionRule()); } + ruleTransition +{ after(grammarAccess.getTransitionRule()); } + EOF +; + +// Rule Transition +ruleTransition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTransitionAccess().getGroup()); } + (rule__Transition__Group__0) + { after(grammarAccess.getTransitionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComponentDeclaration +entryRuleComponentDeclaration +: +{ before(grammarAccess.getComponentDeclarationRule()); } + ruleComponentDeclaration +{ after(grammarAccess.getComponentDeclarationRule()); } + EOF +; + +// Rule ComponentDeclaration +ruleComponentDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComponentDeclarationAccess().getGroup()); } + (rule__ComponentDeclaration__Group__0) + { after(grammarAccess.getComponentDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePortsDeclaration +entryRulePortsDeclaration +: +{ before(grammarAccess.getPortsDeclarationRule()); } + rulePortsDeclaration +{ after(grammarAccess.getPortsDeclarationRule()); } + EOF +; + +// Rule PortsDeclaration +rulePortsDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPortsDeclarationAccess().getGroup()); } + (rule__PortsDeclaration__Group__0) + { after(grammarAccess.getPortsDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePortDeclaration +entryRulePortDeclaration +: +{ before(grammarAccess.getPortDeclarationRule()); } + rulePortDeclaration +{ after(grammarAccess.getPortDeclarationRule()); } + EOF +; + +// Rule PortDeclaration +rulePortDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPortDeclarationAccess().getNameAssignment()); } + (rule__PortDeclaration__NameAssignment) + { after(grammarAccess.getPortDeclarationAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLocalPortsDeclaration +entryRuleLocalPortsDeclaration +: +{ before(grammarAccess.getLocalPortsDeclarationRule()); } + ruleLocalPortsDeclaration +{ after(grammarAccess.getLocalPortsDeclarationRule()); } + EOF +; + +// Rule LocalPortsDeclaration +ruleLocalPortsDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getGroup()); } + (rule__LocalPortsDeclaration__Group__0) + { after(grammarAccess.getLocalPortsDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParametersDeclaration +entryRuleParametersDeclaration +: +{ before(grammarAccess.getParametersDeclarationRule()); } + ruleParametersDeclaration +{ after(grammarAccess.getParametersDeclarationRule()); } + EOF +; + +// Rule ParametersDeclaration +ruleParametersDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParametersDeclarationAccess().getGroup()); } + (rule__ParametersDeclaration__Group__0) + { after(grammarAccess.getParametersDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParameterDeclaration +entryRuleParameterDeclaration +: +{ before(grammarAccess.getParameterDeclarationRule()); } + ruleParameterDeclaration +{ after(grammarAccess.getParameterDeclarationRule()); } + EOF +; + +// Rule ParameterDeclaration +ruleParameterDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParameterDeclarationAccess().getGroup()); } + (rule__ParameterDeclaration__Group__0) + { after(grammarAccess.getParameterDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleVariablesDeclaration +entryRuleVariablesDeclaration +: +{ before(grammarAccess.getVariablesDeclarationRule()); } + ruleVariablesDeclaration +{ after(grammarAccess.getVariablesDeclarationRule()); } + EOF +; + +// Rule VariablesDeclaration +ruleVariablesDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getVariablesDeclarationAccess().getGroup()); } + (rule__VariablesDeclaration__Group__0) + { after(grammarAccess.getVariablesDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleVariableDeclaration +entryRuleVariableDeclaration +: +{ before(grammarAccess.getVariableDeclarationRule()); } + ruleVariableDeclaration +{ after(grammarAccess.getVariableDeclarationRule()); } + EOF +; + +// Rule VariableDeclaration +ruleVariableDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getVariableDeclarationAccess().getNameAssignment()); } + (rule__VariableDeclaration__NameAssignment) + { after(grammarAccess.getVariableDeclarationAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePriorityDeclaration +entryRulePriorityDeclaration +: +{ before(grammarAccess.getPriorityDeclarationRule()); } + rulePriorityDeclaration +{ after(grammarAccess.getPriorityDeclarationRule()); } + EOF +; + +// Rule PriorityDeclaration +rulePriorityDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPriorityDeclarationAccess().getGroup()); } + (rule__PriorityDeclaration__Group__0) + { after(grammarAccess.getPriorityDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePriorityGroup +entryRulePriorityGroup +: +{ before(grammarAccess.getPriorityGroupRule()); } + rulePriorityGroup +{ after(grammarAccess.getPriorityGroupRule()); } + EOF +; + +// Rule PriorityGroup +rulePriorityGroup + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPriorityGroupAccess().getGroup()); } + (rule__PriorityGroup__Group__0) + { after(grammarAccess.getPriorityGroupAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnlessStatement +entryRuleUnlessStatement +: +{ before(grammarAccess.getUnlessStatementRule()); } + ruleUnlessStatement +{ after(grammarAccess.getUnlessStatementRule()); } + EOF +; + +// Rule UnlessStatement +ruleUnlessStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnlessStatementAccess().getGroup()); } + (rule__UnlessStatement__Group__0) + { after(grammarAccess.getUnlessStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStatementChoice +entryRuleStatementChoice +: +{ before(grammarAccess.getStatementChoiceRule()); } + ruleStatementChoice +{ after(grammarAccess.getStatementChoiceRule()); } + EOF +; + +// Rule StatementChoice +ruleStatementChoice + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStatementChoiceAccess().getGroup()); } + (rule__StatementChoice__Group__0) + { after(grammarAccess.getStatementChoiceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStatementSequence +entryRuleStatementSequence +: +{ before(grammarAccess.getStatementSequenceRule()); } + ruleStatementSequence +{ after(grammarAccess.getStatementSequenceRule()); } + EOF +; + +// Rule StatementSequence +ruleStatementSequence + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStatementSequenceAccess().getGroup()); } + (rule__StatementSequence__Group__0) + { after(grammarAccess.getStatementSequenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStatement +entryRuleStatement +: +{ before(grammarAccess.getStatementRule()); } + ruleStatement +{ after(grammarAccess.getStatementRule()); } + EOF +; + +// Rule Statement +ruleStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStatementAccess().getAlternatives()); } + (rule__Statement__Alternatives) + { after(grammarAccess.getStatementAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBlockStatement +entryRuleBlockStatement +: +{ before(grammarAccess.getBlockStatementRule()); } + ruleBlockStatement +{ after(grammarAccess.getBlockStatementRule()); } + EOF +; + +// Rule BlockStatement +ruleBlockStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBlockStatementAccess().getGroup()); } + (rule__BlockStatement__Group__0) + { after(grammarAccess.getBlockStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleReturnStatement +entryRuleReturnStatement +: +{ before(grammarAccess.getReturnStatementRule()); } + ruleReturnStatement +{ after(grammarAccess.getReturnStatementRule()); } + EOF +; + +// Rule ReturnStatement +ruleReturnStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getReturnStatementAccess().getGroup()); } + (rule__ReturnStatement__Group__0) + { after(grammarAccess.getReturnStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNullStatement +entryRuleNullStatement +: +{ before(grammarAccess.getNullStatementRule()); } + ruleNullStatement +{ after(grammarAccess.getNullStatementRule()); } + EOF +; + +// Rule NullStatement +ruleNullStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNullStatementAccess().getGroup()); } + (rule__NullStatement__Group__0) + { after(grammarAccess.getNullStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTaggedStatement +entryRuleTaggedStatement +: +{ before(grammarAccess.getTaggedStatementRule()); } + ruleTaggedStatement +{ after(grammarAccess.getTaggedStatementRule()); } + EOF +; + +// Rule TaggedStatement +ruleTaggedStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTaggedStatementAccess().getGroup()); } + (rule__TaggedStatement__Group__0) + { after(grammarAccess.getTaggedStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePatternStatement +entryRulePatternStatement +: +{ before(grammarAccess.getPatternStatementRule()); } + rulePatternStatement +{ after(grammarAccess.getPatternStatementRule()); } + EOF +; + +// Rule PatternStatement +rulePatternStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPatternStatementAccess().getGroup()); } + (rule__PatternStatement__Group__0) + { after(grammarAccess.getPatternStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePattern +entryRulePattern +: +{ before(grammarAccess.getPatternRule()); } + rulePattern +{ after(grammarAccess.getPatternRule()); } + EOF +; + +// Rule Pattern +rulePattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPatternAccess().getAlternatives()); } + (rule__Pattern__Alternatives) + { after(grammarAccess.getPatternAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAnyPattern +entryRuleAnyPattern +: +{ before(grammarAccess.getAnyPatternRule()); } + ruleAnyPattern +{ after(grammarAccess.getAnyPatternRule()); } + EOF +; + +// Rule AnyPattern +ruleAnyPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAnyPatternAccess().getGroup()); } + (rule__AnyPattern__Group__0) + { after(grammarAccess.getAnyPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleConstantPattern +entryRuleConstantPattern +: +{ before(grammarAccess.getConstantPatternRule()); } + ruleConstantPattern +{ after(grammarAccess.getConstantPatternRule()); } + EOF +; + +// Rule ConstantPattern +ruleConstantPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConstantPatternAccess().getValueAssignment()); } + (rule__ConstantPattern__ValueAssignment) + { after(grammarAccess.getConstantPatternAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIntegerPattern +entryRuleIntegerPattern +: +{ before(grammarAccess.getIntegerPatternRule()); } + ruleIntegerPattern +{ after(grammarAccess.getIntegerPatternRule()); } + EOF +; + +// Rule IntegerPattern +ruleIntegerPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIntegerPatternAccess().getGroup()); } + (rule__IntegerPattern__Group__0) + { after(grammarAccess.getIntegerPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIdentifierPattern +entryRuleIdentifierPattern +: +{ before(grammarAccess.getIdentifierPatternRule()); } + ruleIdentifierPattern +{ after(grammarAccess.getIdentifierPatternRule()); } + EOF +; + +// Rule IdentifierPattern +ruleIdentifierPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIdentifierPatternAccess().getAlternatives()); } + (rule__IdentifierPattern__Alternatives) + { after(grammarAccess.getIdentifierPatternAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleConditionalStatement +entryRuleConditionalStatement +: +{ before(grammarAccess.getConditionalStatementRule()); } + ruleConditionalStatement +{ after(grammarAccess.getConditionalStatementRule()); } + EOF +; + +// Rule ConditionalStatement +ruleConditionalStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConditionalStatementAccess().getGroup()); } + (rule__ConditionalStatement__Group__0) + { after(grammarAccess.getConditionalStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleExtendedConditionalStatement +entryRuleExtendedConditionalStatement +: +{ before(grammarAccess.getExtendedConditionalStatementRule()); } + ruleExtendedConditionalStatement +{ after(grammarAccess.getExtendedConditionalStatementRule()); } + EOF +; + +// Rule ExtendedConditionalStatement +ruleExtendedConditionalStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getExtendedConditionalStatementAccess().getGroup()); } + (rule__ExtendedConditionalStatement__Group__0) + { after(grammarAccess.getExtendedConditionalStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleSelectStatement +entryRuleSelectStatement +: +{ before(grammarAccess.getSelectStatementRule()); } + ruleSelectStatement +{ after(grammarAccess.getSelectStatementRule()); } + EOF +; + +// Rule SelectStatement +ruleSelectStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getSelectStatementAccess().getGroup()); } + (rule__SelectStatement__Group__0) + { after(grammarAccess.getSelectStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleWhileStatement +entryRuleWhileStatement +: +{ before(grammarAccess.getWhileStatementRule()); } + ruleWhileStatement +{ after(grammarAccess.getWhileStatementRule()); } + EOF +; + +// Rule WhileStatement +ruleWhileStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getWhileStatementAccess().getGroup()); } + (rule__WhileStatement__Group__0) + { after(grammarAccess.getWhileStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleForeachStatement +entryRuleForeachStatement +: +{ before(grammarAccess.getForeachStatementRule()); } + ruleForeachStatement +{ after(grammarAccess.getForeachStatementRule()); } + EOF +; + +// Rule ForeachStatement +ruleForeachStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getForeachStatementAccess().getGroup()); } + (rule__ForeachStatement__Group__0) + { after(grammarAccess.getForeachStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleToStatement +entryRuleToStatement +: +{ before(grammarAccess.getToStatementRule()); } + ruleToStatement +{ after(grammarAccess.getToStatementRule()); } + EOF +; + +// Rule ToStatement +ruleToStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getToStatementAccess().getGroup()); } + (rule__ToStatement__Group__0) + { after(grammarAccess.getToStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleCaseStatement +entryRuleCaseStatement +: +{ before(grammarAccess.getCaseStatementRule()); } + ruleCaseStatement +{ after(grammarAccess.getCaseStatementRule()); } + EOF +; + +// Rule CaseStatement +ruleCaseStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCaseStatementAccess().getGroup()); } + (rule__CaseStatement__Group__0) + { after(grammarAccess.getCaseStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLoopStatement +entryRuleLoopStatement +: +{ before(grammarAccess.getLoopStatementRule()); } + ruleLoopStatement +{ after(grammarAccess.getLoopStatementRule()); } + EOF +; + +// Rule LoopStatement +ruleLoopStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLoopStatementAccess().getGroup()); } + (rule__LoopStatement__Group__0) + { after(grammarAccess.getLoopStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOnStatement +entryRuleOnStatement +: +{ before(grammarAccess.getOnStatementRule()); } + ruleOnStatement +{ after(grammarAccess.getOnStatementRule()); } + EOF +; + +// Rule OnStatement +ruleOnStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getOnStatementAccess().getGroup()); } + (rule__OnStatement__Group__0) + { after(grammarAccess.getOnStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleWaitStatement +entryRuleWaitStatement +: +{ before(grammarAccess.getWaitStatementRule()); } + ruleWaitStatement +{ after(grammarAccess.getWaitStatementRule()); } + EOF +; + +// Rule WaitStatement +ruleWaitStatement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getWaitStatementAccess().getGroup()); } + (rule__WaitStatement__Group__0) + { after(grammarAccess.getWaitStatementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComposition +entryRuleComposition +: +{ before(grammarAccess.getCompositionRule()); } + ruleComposition +{ after(grammarAccess.getCompositionRule()); } + EOF +; + +// Rule Composition +ruleComposition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCompositionAccess().getGroup()); } + (rule__Composition__Group__0) + { after(grammarAccess.getCompositionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBlock +entryRuleBlock +: +{ before(grammarAccess.getBlockRule()); } + ruleBlock +{ after(grammarAccess.getBlockRule()); } + EOF +; + +// Rule Block +ruleBlock + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBlockAccess().getAlternatives()); } + (rule__Block__Alternatives) + { after(grammarAccess.getBlockAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleCompositeBlock +entryRuleCompositeBlock +: +{ before(grammarAccess.getCompositeBlockRule()); } + ruleCompositeBlock +{ after(grammarAccess.getCompositeBlockRule()); } + EOF +; + +// Rule CompositeBlock +ruleCompositeBlock + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCompositeBlockAccess().getGroup()); } + (rule__CompositeBlock__Group__0) + { after(grammarAccess.getCompositeBlockAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInstanceDeclaration +entryRuleInstanceDeclaration +: +{ before(grammarAccess.getInstanceDeclarationRule()); } + ruleInstanceDeclaration +{ after(grammarAccess.getInstanceDeclarationRule()); } + EOF +; + +// Rule InstanceDeclaration +ruleInstanceDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInstanceDeclarationAccess().getGroup()); } + (rule__InstanceDeclaration__Group__0) + { after(grammarAccess.getInstanceDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePortSet +entryRulePortSet +: +{ before(grammarAccess.getPortSetRule()); } + rulePortSet +{ after(grammarAccess.getPortSetRule()); } + EOF +; + +// Rule PortSet +rulePortSet + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPortSetAccess().getAlternatives()); } + (rule__PortSet__Alternatives) + { after(grammarAccess.getPortSetAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComponentInstance +entryRuleComponentInstance +: +{ before(grammarAccess.getComponentInstanceRule()); } + ruleComponentInstance +{ after(grammarAccess.getComponentInstanceRule()); } + EOF +; + +// Rule ComponentInstance +ruleComponentInstance + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComponentInstanceAccess().getGroup()); } + (rule__ComponentInstance__Group__0) + { after(grammarAccess.getComponentInstanceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleExpression +entryRuleExpression +: +{ before(grammarAccess.getExpressionRule()); } + ruleExpression +{ after(grammarAccess.getExpressionRule()); } + EOF +; + +// Rule Expression +ruleExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); } + ruleQuantifiedExpression + { after(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQuantifiedExpression +entryRuleQuantifiedExpression +: +{ before(grammarAccess.getQuantifiedExpressionRule()); } + ruleQuantifiedExpression +{ after(grammarAccess.getQuantifiedExpressionRule()); } + EOF +; + +// Rule QuantifiedExpression +ruleQuantifiedExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getAlternatives()); } + (rule__QuantifiedExpression__Alternatives) + { after(grammarAccess.getQuantifiedExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleConditional +entryRuleConditional +: +{ before(grammarAccess.getConditionalRule()); } + ruleConditional +{ after(grammarAccess.getConditionalRule()); } + EOF +; + +// Rule Conditional +ruleConditional + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConditionalAccess().getGroup()); } + (rule__Conditional__Group__0) + { after(grammarAccess.getConditionalAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDisjunction +entryRuleDisjunction +: +{ before(grammarAccess.getDisjunctionRule()); } + ruleDisjunction +{ after(grammarAccess.getDisjunctionRule()); } + EOF +; + +// Rule Disjunction +ruleDisjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDisjunctionAccess().getGroup()); } + (rule__Disjunction__Group__0) + { after(grammarAccess.getDisjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleImplication +entryRuleImplication +: +{ before(grammarAccess.getImplicationRule()); } + ruleImplication +{ after(grammarAccess.getImplicationRule()); } + EOF +; + +// Rule Implication +ruleImplication + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getImplicationAccess().getGroup()); } + (rule__Implication__Group__0) + { after(grammarAccess.getImplicationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleConjunction +entryRuleConjunction +: +{ before(grammarAccess.getConjunctionRule()); } + ruleConjunction +{ after(grammarAccess.getConjunctionRule()); } + EOF +; + +// Rule Conjunction +ruleConjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConjunctionAccess().getGroup()); } + (rule__Conjunction__Group__0) + { after(grammarAccess.getConjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComparison +entryRuleComparison +: +{ before(grammarAccess.getComparisonRule()); } + ruleComparison +{ after(grammarAccess.getComparisonRule()); } + EOF +; + +// Rule Comparison +ruleComparison + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComparisonAccess().getGroup()); } + (rule__Comparison__Group__0) + { after(grammarAccess.getComparisonAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAddition +entryRuleAddition +: +{ before(grammarAccess.getAdditionRule()); } + ruleAddition +{ after(grammarAccess.getAdditionRule()); } + EOF +; + +// Rule Addition +ruleAddition + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAdditionAccess().getGroup()); } + (rule__Addition__Group__0) + { after(grammarAccess.getAdditionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleSubstraction +entryRuleSubstraction +: +{ before(grammarAccess.getSubstractionRule()); } + ruleSubstraction +{ after(grammarAccess.getSubstractionRule()); } + EOF +; + +// Rule Substraction +ruleSubstraction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getSubstractionAccess().getGroup()); } + (rule__Substraction__Group__0) + { after(grammarAccess.getSubstractionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMultiplication +entryRuleMultiplication +: +{ before(grammarAccess.getMultiplicationRule()); } + ruleMultiplication +{ after(grammarAccess.getMultiplicationRule()); } + EOF +; + +// Rule Multiplication +ruleMultiplication + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMultiplicationAccess().getGroup()); } + (rule__Multiplication__Group__0) + { after(grammarAccess.getMultiplicationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDivision +entryRuleDivision +: +{ before(grammarAccess.getDivisionRule()); } + ruleDivision +{ after(grammarAccess.getDivisionRule()); } + EOF +; + +// Rule Division +ruleDivision + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDivisionAccess().getGroup()); } + (rule__Division__Group__0) + { after(grammarAccess.getDivisionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleModulo +entryRuleModulo +: +{ before(grammarAccess.getModuloRule()); } + ruleModulo +{ after(grammarAccess.getModuloRule()); } + EOF +; + +// Rule Modulo +ruleModulo + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getModuloAccess().getGroup()); } + (rule__Modulo__Group__0) + { after(grammarAccess.getModuloAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnaryExpression +entryRuleUnaryExpression +: +{ before(grammarAccess.getUnaryExpressionRule()); } + ruleUnaryExpression +{ after(grammarAccess.getUnaryExpressionRule()); } + EOF +; + +// Rule UnaryExpression +ruleUnaryExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); } + (rule__UnaryExpression__Alternatives) + { after(grammarAccess.getUnaryExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleProjection +entryRuleProjection +: +{ before(grammarAccess.getProjectionRule()); } + ruleProjection +{ after(grammarAccess.getProjectionRule()); } + EOF +; + +// Rule Projection +ruleProjection + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getProjectionAccess().getGroup()); } + (rule__Projection__Group__0) + { after(grammarAccess.getProjectionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAtomicExpression +entryRuleAtomicExpression +: +{ before(grammarAccess.getAtomicExpressionRule()); } + ruleAtomicExpression +{ after(grammarAccess.getAtomicExpressionRule()); } + EOF +; + +// Rule AtomicExpression +ruleAtomicExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); } + (rule__AtomicExpression__Alternatives) + { after(grammarAccess.getAtomicExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleReferenceExpression +entryRuleReferenceExpression +: +{ before(grammarAccess.getReferenceExpressionRule()); } + ruleReferenceExpression +{ after(grammarAccess.getReferenceExpressionRule()); } + EOF +; + +// Rule ReferenceExpression +ruleReferenceExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getReferenceExpressionAccess().getGroup()); } + (rule__ReferenceExpression__Group__0) + { after(grammarAccess.getReferenceExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIdentifierExpression +entryRuleIdentifierExpression +: +{ before(grammarAccess.getIdentifierExpressionRule()); } + ruleIdentifierExpression +{ after(grammarAccess.getIdentifierExpressionRule()); } + EOF +; + +// Rule IdentifierExpression +ruleIdentifierExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIdentifierExpressionAccess().getAlternatives()); } + (rule__IdentifierExpression__Alternatives) + { after(grammarAccess.getIdentifierExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRecordExpression +entryRuleRecordExpression +: +{ before(grammarAccess.getRecordExpressionRule()); } + ruleRecordExpression +{ after(grammarAccess.getRecordExpressionRule()); } + EOF +; + +// Rule RecordExpression +ruleRecordExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRecordExpressionAccess().getGroup()); } + (rule__RecordExpression__Group__0) + { after(grammarAccess.getRecordExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFieldExpression +entryRuleFieldExpression +: +{ before(grammarAccess.getFieldExpressionRule()); } + ruleFieldExpression +{ after(grammarAccess.getFieldExpressionRule()); } + EOF +; + +// Rule FieldExpression +ruleFieldExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFieldExpressionAccess().getGroup()); } + (rule__FieldExpression__Group__0) + { after(grammarAccess.getFieldExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayExpression +entryRuleArrayExpression +: +{ before(grammarAccess.getArrayExpressionRule()); } + ruleArrayExpression +{ after(grammarAccess.getArrayExpressionRule()); } + EOF +; + +// Rule ArrayExpression +ruleArrayExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayExpressionAccess().getGroup()); } + (rule__ArrayExpression__Group__0) + { after(grammarAccess.getArrayExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQueueExpression +entryRuleQueueExpression +: +{ before(grammarAccess.getQueueExpressionRule()); } + ruleQueueExpression +{ after(grammarAccess.getQueueExpressionRule()); } + EOF +; + +// Rule QueueExpression +ruleQueueExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQueueExpressionAccess().getGroup()); } + (rule__QueueExpression__Group__0) + { after(grammarAccess.getQueueExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEnqueueExpression +entryRuleEnqueueExpression +: +{ before(grammarAccess.getEnqueueExpressionRule()); } + ruleEnqueueExpression +{ after(grammarAccess.getEnqueueExpressionRule()); } + EOF +; + +// Rule EnqueueExpression +ruleEnqueueExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEnqueueExpressionAccess().getGroup()); } + (rule__EnqueueExpression__Group__0) + { after(grammarAccess.getEnqueueExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAppendExpression +entryRuleAppendExpression +: +{ before(grammarAccess.getAppendExpressionRule()); } + ruleAppendExpression +{ after(grammarAccess.getAppendExpressionRule()); } + EOF +; + +// Rule AppendExpression +ruleAppendExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAppendExpressionAccess().getGroup()); } + (rule__AppendExpression__Group__0) + { after(grammarAccess.getAppendExpressionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLiteralExpression +entryRuleLiteralExpression +: +{ before(grammarAccess.getLiteralExpressionRule()); } + ruleLiteralExpression +{ after(grammarAccess.getLiteralExpressionRule()); } + EOF +; + +// Rule LiteralExpression +ruleLiteralExpression + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLiteralExpressionAccess().getAlternatives()); } + (rule__LiteralExpression__Alternatives) + { after(grammarAccess.getLiteralExpressionAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBooleanLiteral +entryRuleBooleanLiteral +: +{ before(grammarAccess.getBooleanLiteralRule()); } + ruleBooleanLiteral +{ after(grammarAccess.getBooleanLiteralRule()); } + EOF +; + +// Rule BooleanLiteral +ruleBooleanLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBooleanLiteralAccess().getAlternatives()); } + (rule__BooleanLiteral__Alternatives) + { after(grammarAccess.getBooleanLiteralAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNaturalLiteral +entryRuleNaturalLiteral +: +{ before(grammarAccess.getNaturalLiteralRule()); } + ruleNaturalLiteral +{ after(grammarAccess.getNaturalLiteralRule()); } + EOF +; + +// Rule NaturalLiteral +ruleNaturalLiteral + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNaturalLiteralAccess().getValueAssignment()); } + (rule__NaturalLiteral__ValueAssignment) + { after(grammarAccess.getNaturalLiteralAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLowerBound +entryRuleLowerBound +: +{ before(grammarAccess.getLowerBoundRule()); } + ruleLowerBound +{ after(grammarAccess.getLowerBoundRule()); } + EOF +; + +// Rule LowerBound +ruleLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLowerBoundAccess().getAlternatives()); } + (rule__LowerBound__Alternatives) + { after(grammarAccess.getLowerBoundAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUpperBound +entryRuleUpperBound +: +{ before(grammarAccess.getUpperBoundRule()); } + ruleUpperBound +{ after(grammarAccess.getUpperBoundRule()); } + EOF +; + +// Rule UpperBound +ruleUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUpperBoundAccess().getAlternatives()); } + (rule__UpperBound__Alternatives) + { after(grammarAccess.getUpperBoundAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNaturalLowerBound +entryRuleNaturalLowerBound +: +{ before(grammarAccess.getNaturalLowerBoundRule()); } + ruleNaturalLowerBound +{ after(grammarAccess.getNaturalLowerBoundRule()); } + EOF +; + +// Rule NaturalLowerBound +ruleNaturalLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getGroup()); } + (rule__NaturalLowerBound__Group__0) + { after(grammarAccess.getNaturalLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNaturalUpperBound +entryRuleNaturalUpperBound +: +{ before(grammarAccess.getNaturalUpperBoundRule()); } + ruleNaturalUpperBound +{ after(grammarAccess.getNaturalUpperBoundRule()); } + EOF +; + +// Rule NaturalUpperBound +ruleNaturalUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getGroup()); } + (rule__NaturalUpperBound__Group__0) + { after(grammarAccess.getNaturalUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDecimalLowerBound +entryRuleDecimalLowerBound +: +{ before(grammarAccess.getDecimalLowerBoundRule()); } + ruleDecimalLowerBound +{ after(grammarAccess.getDecimalLowerBoundRule()); } + EOF +; + +// Rule DecimalLowerBound +ruleDecimalLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getGroup()); } + (rule__DecimalLowerBound__Group__0) + { after(grammarAccess.getDecimalLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDecimalUpperBound +entryRuleDecimalUpperBound +: +{ before(grammarAccess.getDecimalUpperBoundRule()); } + ruleDecimalUpperBound +{ after(grammarAccess.getDecimalUpperBoundRule()); } + EOF +; + +// Rule DecimalUpperBound +ruleDecimalUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getGroup()); } + (rule__DecimalUpperBound__Group__0) + { after(grammarAccess.getDecimalUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleVariableLowerBound +entryRuleVariableLowerBound +: +{ before(grammarAccess.getVariableLowerBoundRule()); } + ruleVariableLowerBound +{ after(grammarAccess.getVariableLowerBoundRule()); } + EOF +; + +// Rule VariableLowerBound +ruleVariableLowerBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getVariableLowerBoundAccess().getGroup()); } + (rule__VariableLowerBound__Group__0) + { after(grammarAccess.getVariableLowerBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleVariableUpperBound +entryRuleVariableUpperBound +: +{ before(grammarAccess.getVariableUpperBoundRule()); } + ruleVariableUpperBound +{ after(grammarAccess.getVariableUpperBoundRule()); } + EOF +; + +// Rule VariableUpperBound +ruleVariableUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getVariableUpperBoundAccess().getGroup()); } + (rule__VariableUpperBound__Group__0) + { after(grammarAccess.getVariableUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInfiniteUpperBound +entryRuleInfiniteUpperBound +: +{ before(grammarAccess.getInfiniteUpperBoundRule()); } + ruleInfiniteUpperBound +{ after(grammarAccess.getInfiniteUpperBoundRule()); } + EOF +; + +// Rule InfiniteUpperBound +ruleInfiniteUpperBound + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInfiniteUpperBoundAccess().getGroup()); } + (rule__InfiniteUpperBound__Group__0) + { after(grammarAccess.getInfiniteUpperBoundAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRequirement +entryRuleRequirement +: +{ before(grammarAccess.getRequirementRule()); } + ruleRequirement +{ after(grammarAccess.getRequirementRule()); } + EOF +; + +// Rule Requirement +ruleRequirement + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRequirementAccess().getGroup()); } + (rule__Requirement__Group__0) + { after(grammarAccess.getRequirementAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePropertyDeclaration +entryRulePropertyDeclaration +: +{ before(grammarAccess.getPropertyDeclarationRule()); } + rulePropertyDeclaration +{ after(grammarAccess.getPropertyDeclarationRule()); } + EOF +; + +// Rule PropertyDeclaration +rulePropertyDeclaration + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyDeclarationAccess().getGroup()); } + (rule__PropertyDeclaration__Group__0) + { after(grammarAccess.getPropertyDeclarationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleProperty +entryRuleProperty +: +{ before(grammarAccess.getPropertyRule()); } + ruleProperty +{ after(grammarAccess.getPropertyRule()); } + EOF +; + +// Rule Property +ruleProperty + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); } + ruleQuantifiedProperty + { after(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleQuantifiedProperty +entryRuleQuantifiedProperty +: +{ before(grammarAccess.getQuantifiedPropertyRule()); } + ruleQuantifiedProperty +{ after(grammarAccess.getQuantifiedPropertyRule()); } + EOF +; + +// Rule QuantifiedProperty +ruleQuantifiedProperty + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getAlternatives()); } + (rule__QuantifiedProperty__Alternatives) + { after(grammarAccess.getQuantifiedPropertyAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePropertyDisjunction +entryRulePropertyDisjunction +: +{ before(grammarAccess.getPropertyDisjunctionRule()); } + rulePropertyDisjunction +{ after(grammarAccess.getPropertyDisjunctionRule()); } + EOF +; + +// Rule PropertyDisjunction +rulePropertyDisjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyDisjunctionAccess().getGroup()); } + (rule__PropertyDisjunction__Group__0) + { after(grammarAccess.getPropertyDisjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePropertyImplication +entryRulePropertyImplication +: +{ before(grammarAccess.getPropertyImplicationRule()); } + rulePropertyImplication +{ after(grammarAccess.getPropertyImplicationRule()); } + EOF +; + +// Rule PropertyImplication +rulePropertyImplication + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyImplicationAccess().getGroup()); } + (rule__PropertyImplication__Group__0) + { after(grammarAccess.getPropertyImplicationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePropertyConjunction +entryRulePropertyConjunction +: +{ before(grammarAccess.getPropertyConjunctionRule()); } + rulePropertyConjunction +{ after(grammarAccess.getPropertyConjunctionRule()); } + EOF +; + +// Rule PropertyConjunction +rulePropertyConjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyConjunctionAccess().getGroup()); } + (rule__PropertyConjunction__Group__0) + { after(grammarAccess.getPropertyConjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePropertyNegation +entryRulePropertyNegation +: +{ before(grammarAccess.getPropertyNegationRule()); } + rulePropertyNegation +{ after(grammarAccess.getPropertyNegationRule()); } + EOF +; + +// Rule PropertyNegation +rulePropertyNegation + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPropertyNegationAccess().getAlternatives()); } + (rule__PropertyNegation__Alternatives) + { after(grammarAccess.getPropertyNegationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAtomicProperty +entryRuleAtomicProperty +: +{ before(grammarAccess.getAtomicPropertyRule()); } + ruleAtomicProperty +{ after(grammarAccess.getAtomicPropertyRule()); } + EOF +; + +// Rule AtomicProperty +ruleAtomicProperty + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAtomicPropertyAccess().getAlternatives()); } + (rule__AtomicProperty__Alternatives) + { after(grammarAccess.getAtomicPropertyAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePatternProperty +entryRulePatternProperty +: +{ before(grammarAccess.getPatternPropertyRule()); } + rulePatternProperty +{ after(grammarAccess.getPatternPropertyRule()); } + EOF +; + +// Rule PatternProperty +rulePatternProperty + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPatternPropertyAccess().getAlternatives()); } + (rule__PatternProperty__Alternatives) + { after(grammarAccess.getPatternPropertyAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLPattern +entryRuleLTLPattern +: +{ before(grammarAccess.getLTLPatternRule()); } + ruleLTLPattern +{ after(grammarAccess.getLTLPatternRule()); } + EOF +; + +// Rule LTLPattern +ruleLTLPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLPatternAccess().getGroup()); } + (rule__LTLPattern__Group__0) + { after(grammarAccess.getLTLPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDeadlockFreePattern +entryRuleDeadlockFreePattern +: +{ before(grammarAccess.getDeadlockFreePatternRule()); } + ruleDeadlockFreePattern +{ after(grammarAccess.getDeadlockFreePatternRule()); } + EOF +; + +// Rule DeadlockFreePattern +ruleDeadlockFreePattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDeadlockFreePatternAccess().getGroup()); } + (rule__DeadlockFreePattern__Group__0) + { after(grammarAccess.getDeadlockFreePatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInfinitelyOftenPattern +entryRuleInfinitelyOftenPattern +: +{ before(grammarAccess.getInfinitelyOftenPatternRule()); } + ruleInfinitelyOftenPattern +{ after(grammarAccess.getInfinitelyOftenPatternRule()); } + EOF +; + +// Rule InfinitelyOftenPattern +ruleInfinitelyOftenPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInfinitelyOftenPatternAccess().getGroup()); } + (rule__InfinitelyOftenPattern__Group__0) + { after(grammarAccess.getInfinitelyOftenPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMortalPattern +entryRuleMortalPattern +: +{ before(grammarAccess.getMortalPatternRule()); } + ruleMortalPattern +{ after(grammarAccess.getMortalPatternRule()); } + EOF +; + +// Rule MortalPattern +ruleMortalPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMortalPatternAccess().getGroup()); } + (rule__MortalPattern__Group__0) + { after(grammarAccess.getMortalPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePresencePattern +entryRulePresencePattern +: +{ before(grammarAccess.getPresencePatternRule()); } + rulePresencePattern +{ after(grammarAccess.getPresencePatternRule()); } + EOF +; + +// Rule PresencePattern +rulePresencePattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPresencePatternAccess().getGroup()); } + (rule__PresencePattern__Group__0) + { after(grammarAccess.getPresencePatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAbsencePattern +entryRuleAbsencePattern +: +{ before(grammarAccess.getAbsencePatternRule()); } + ruleAbsencePattern +{ after(grammarAccess.getAbsencePatternRule()); } + EOF +; + +// Rule AbsencePattern +ruleAbsencePattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup()); } + (rule__AbsencePattern__Group__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAlwaysPattern +entryRuleAlwaysPattern +: +{ before(grammarAccess.getAlwaysPatternRule()); } + ruleAlwaysPattern +{ after(grammarAccess.getAlwaysPatternRule()); } + EOF +; + +// Rule AlwaysPattern +ruleAlwaysPattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAlwaysPatternAccess().getGroup()); } + (rule__AlwaysPattern__Group__0) + { after(grammarAccess.getAlwaysPatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleSequencePattern +entryRuleSequencePattern +: +{ before(grammarAccess.getSequencePatternRule()); } + ruleSequencePattern +{ after(grammarAccess.getSequencePatternRule()); } + EOF +; + +// Rule SequencePattern +ruleSequencePattern + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getSequencePatternAccess().getGroup()); } + (rule__SequencePattern__Group__0) + { after(grammarAccess.getSequencePatternAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLProperty +entryRuleLTLProperty +: +{ before(grammarAccess.getLTLPropertyRule()); } + ruleLTLProperty +{ after(grammarAccess.getLTLPropertyRule()); } + EOF +; + +// Rule LTLProperty +ruleLTLProperty + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); } + ruleLTLQuantified + { after(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLQuantified +entryRuleLTLQuantified +: +{ before(grammarAccess.getLTLQuantifiedRule()); } + ruleLTLQuantified +{ after(grammarAccess.getLTLQuantifiedRule()); } + EOF +; + +// Rule LTLQuantified +ruleLTLQuantified + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLQuantifiedAccess().getAlternatives()); } + (rule__LTLQuantified__Alternatives) + { after(grammarAccess.getLTLQuantifiedAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLDisjunction +entryRuleLTLDisjunction +: +{ before(grammarAccess.getLTLDisjunctionRule()); } + ruleLTLDisjunction +{ after(grammarAccess.getLTLDisjunctionRule()); } + EOF +; + +// Rule LTLDisjunction +ruleLTLDisjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLDisjunctionAccess().getGroup()); } + (rule__LTLDisjunction__Group__0) + { after(grammarAccess.getLTLDisjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLImplication +entryRuleLTLImplication +: +{ before(grammarAccess.getLTLImplicationRule()); } + ruleLTLImplication +{ after(grammarAccess.getLTLImplicationRule()); } + EOF +; + +// Rule LTLImplication +ruleLTLImplication + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLImplicationAccess().getGroup()); } + (rule__LTLImplication__Group__0) + { after(grammarAccess.getLTLImplicationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLConjunction +entryRuleLTLConjunction +: +{ before(grammarAccess.getLTLConjunctionRule()); } + ruleLTLConjunction +{ after(grammarAccess.getLTLConjunctionRule()); } + EOF +; + +// Rule LTLConjunction +ruleLTLConjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLConjunctionAccess().getGroup()); } + (rule__LTLConjunction__Group__0) + { after(grammarAccess.getLTLConjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLBinary +entryRuleLTLBinary +: +{ before(grammarAccess.getLTLBinaryRule()); } + ruleLTLBinary +{ after(grammarAccess.getLTLBinaryRule()); } + EOF +; + +// Rule LTLBinary +ruleLTLBinary + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLBinaryAccess().getGroup()); } + (rule__LTLBinary__Group__0) + { after(grammarAccess.getLTLBinaryAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLTLUnary +entryRuleLTLUnary +: +{ before(grammarAccess.getLTLUnaryRule()); } + ruleLTLUnary +{ after(grammarAccess.getLTLUnaryRule()); } + EOF +; + +// Rule LTLUnary +ruleLTLUnary + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLTLUnaryAccess().getAlternatives()); } + (rule__LTLUnary__Alternatives) + { after(grammarAccess.getLTLUnaryAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAtomicLTL +entryRuleAtomicLTL +: +{ before(grammarAccess.getAtomicLTLRule()); } + ruleAtomicLTL +{ after(grammarAccess.getAtomicLTLRule()); } + EOF +; + +// Rule AtomicLTL +ruleAtomicLTL + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAtomicLTLAccess().getAlternatives()); } + (rule__AtomicLTL__Alternatives) + { after(grammarAccess.getAtomicLTLAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStateEvent +entryRuleStateEvent +: +{ before(grammarAccess.getStateEventRule()); } + ruleStateEvent +{ after(grammarAccess.getStateEventRule()); } + EOF +; + +// Rule StateEvent +ruleStateEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStateEventAccess().getAlternatives()); } + (rule__StateEvent__Alternatives) + { after(grammarAccess.getStateEventAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEnterStateEvent +entryRuleEnterStateEvent +: +{ before(grammarAccess.getEnterStateEventRule()); } + ruleEnterStateEvent +{ after(grammarAccess.getEnterStateEventRule()); } + EOF +; + +// Rule EnterStateEvent +ruleEnterStateEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEnterStateEventAccess().getGroup()); } + (rule__EnterStateEvent__Group__0) + { after(grammarAccess.getEnterStateEventAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLeaveStateEvent +entryRuleLeaveStateEvent +: +{ before(grammarAccess.getLeaveStateEventRule()); } + ruleLeaveStateEvent +{ after(grammarAccess.getLeaveStateEventRule()); } + EOF +; + +// Rule LeaveStateEvent +ruleLeaveStateEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLeaveStateEventAccess().getGroup()); } + (rule__LeaveStateEvent__Group__0) + { after(grammarAccess.getLeaveStateEventAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservable +entryRuleObservable +: +{ before(grammarAccess.getObservableRule()); } + ruleObservable +{ after(grammarAccess.getObservableRule()); } + EOF +; + +// Rule Observable +ruleObservable + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); } + ruleObservableDisjunction + { after(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservableDisjunction +entryRuleObservableDisjunction +: +{ before(grammarAccess.getObservableDisjunctionRule()); } + ruleObservableDisjunction +{ after(grammarAccess.getObservableDisjunctionRule()); } + EOF +; + +// Rule ObservableDisjunction +ruleObservableDisjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableDisjunctionAccess().getGroup()); } + (rule__ObservableDisjunction__Group__0) + { after(grammarAccess.getObservableDisjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservableImplication +entryRuleObservableImplication +: +{ before(grammarAccess.getObservableImplicationRule()); } + ruleObservableImplication +{ after(grammarAccess.getObservableImplicationRule()); } + EOF +; + +// Rule ObservableImplication +ruleObservableImplication + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableImplicationAccess().getGroup()); } + (rule__ObservableImplication__Group__0) + { after(grammarAccess.getObservableImplicationAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservableConjunction +entryRuleObservableConjunction +: +{ before(grammarAccess.getObservableConjunctionRule()); } + ruleObservableConjunction +{ after(grammarAccess.getObservableConjunctionRule()); } + EOF +; + +// Rule ObservableConjunction +ruleObservableConjunction + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableConjunctionAccess().getGroup()); } + (rule__ObservableConjunction__Group__0) + { after(grammarAccess.getObservableConjunctionAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservableNegation +entryRuleObservableNegation +: +{ before(grammarAccess.getObservableNegationRule()); } + ruleObservableNegation +{ after(grammarAccess.getObservableNegationRule()); } + EOF +; + +// Rule ObservableNegation +ruleObservableNegation + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableNegationAccess().getAlternatives()); } + (rule__ObservableNegation__Alternatives) + { after(grammarAccess.getObservableNegationAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAtomicObservable +entryRuleAtomicObservable +: +{ before(grammarAccess.getAtomicObservableRule()); } + ruleAtomicObservable +{ after(grammarAccess.getAtomicObservableRule()); } + EOF +; + +// Rule AtomicObservable +ruleAtomicObservable + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAtomicObservableAccess().getAlternatives()); } + (rule__AtomicObservable__Alternatives) + { after(grammarAccess.getAtomicObservableAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleObservableEvent +entryRuleObservableEvent +: +{ before(grammarAccess.getObservableEventRule()); } + ruleObservableEvent +{ after(grammarAccess.getObservableEventRule()); } + EOF +; + +// Rule ObservableEvent +ruleObservableEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getObservableEventAccess().getAlternatives()); } + (rule__ObservableEvent__Alternatives) + { after(grammarAccess.getObservableEventAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePathEvent +entryRulePathEvent +: +{ before(grammarAccess.getPathEventRule()); } + rulePathEvent +{ after(grammarAccess.getPathEventRule()); } + EOF +; + +// Rule PathEvent +rulePathEvent + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPathEventAccess().getGroup()); } + (rule__PathEvent__Group__0) + { after(grammarAccess.getPathEventAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePath +entryRulePath +: +{ before(grammarAccess.getPathRule()); } + rulePath +{ after(grammarAccess.getPathRule()); } + EOF +; + +// Rule Path +rulePath + @init { + int stackSize = keepStackSize(); + } + : + ( + ( + { before(grammarAccess.getPathAccess().getGroup()); } + (rule__Path__Group__0) + { after(grammarAccess.getPathAccess().getGroup()); } + ) + ( + { before(grammarAccess.getPathAccess().getGroup()); } + (rule__Path__Group__0)* + { after(grammarAccess.getPathAccess().getGroup()); } + ) + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePathItem +entryRulePathItem +: +{ before(grammarAccess.getPathItemRule()); } + rulePathItem +{ after(grammarAccess.getPathItemRule()); } + EOF +; + +// Rule PathItem +rulePathItem + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPathItemAccess().getAlternatives()); } + (rule__PathItem__Alternatives) + { after(grammarAccess.getPathItemAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNaturalItem +entryRuleNaturalItem +: +{ before(grammarAccess.getNaturalItemRule()); } + ruleNaturalItem +{ after(grammarAccess.getNaturalItemRule()); } + EOF +; + +// Rule NaturalItem +ruleNaturalItem + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNaturalItemAccess().getValueAssignment()); } + (rule__NaturalItem__ValueAssignment) + { after(grammarAccess.getNaturalItemAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNamedItem +entryRuleNamedItem +: +{ before(grammarAccess.getNamedItemRule()); } + ruleNamedItem +{ after(grammarAccess.getNamedItemRule()); } + EOF +; + +// Rule NamedItem +ruleNamedItem + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNamedItemAccess().getDeclarationAssignment()); } + (rule__NamedItem__DeclarationAssignment) + { after(grammarAccess.getNamedItemAccess().getDeclarationAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleSubject +entryRuleSubject +: +{ before(grammarAccess.getSubjectRule()); } + ruleSubject +{ after(grammarAccess.getSubjectRule()); } + EOF +; + +// Rule Subject +ruleSubject + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getSubjectAccess().getAlternatives()); } + (rule__Subject__Alternatives) + { after(grammarAccess.getSubjectAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStateSubject +entryRuleStateSubject +: +{ before(grammarAccess.getStateSubjectRule()); } + ruleStateSubject +{ after(grammarAccess.getStateSubjectRule()); } + EOF +; + +// Rule StateSubject +ruleStateSubject + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStateSubjectAccess().getGroup()); } + (rule__StateSubject__Group__0) + { after(grammarAccess.getStateSubjectAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValueSubject +entryRuleValueSubject +: +{ before(grammarAccess.getValueSubjectRule()); } + ruleValueSubject +{ after(grammarAccess.getValueSubjectRule()); } + EOF +; + +// Rule ValueSubject +ruleValueSubject + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValueSubjectAccess().getGroup()); } + (rule__ValueSubject__Group__0) + { after(grammarAccess.getValueSubjectAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleTagSubject +entryRuleTagSubject +: +{ before(grammarAccess.getTagSubjectRule()); } + ruleTagSubject +{ after(grammarAccess.getTagSubjectRule()); } + EOF +; + +// Rule TagSubject +ruleTagSubject + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getTagSubjectAccess().getGroup()); } + (rule__TagSubject__Group__0) + { after(grammarAccess.getTagSubjectAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleEventSubject +entryRuleEventSubject +: +{ before(grammarAccess.getEventSubjectRule()); } + ruleEventSubject +{ after(grammarAccess.getEventSubjectRule()); } + EOF +; + +// Rule EventSubject +ruleEventSubject + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getEventSubjectAccess().getGroup()); } + (rule__EventSubject__Group__0) + { after(grammarAccess.getEventSubjectAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModelAccess().getDeclarationsAssignment_2_0()); } + (rule__Model__DeclarationsAssignment_2_0) + { after(grammarAccess.getModelAccess().getDeclarationsAssignment_2_0()); } + ) + | + ( + { before(grammarAccess.getModelAccess().getRequirementsAssignment_2_1()); } + (rule__Model__RequirementsAssignment_2_1) + { after(grammarAccess.getModelAccess().getRequirementsAssignment_2_1()); } + ) + | + ( + { before(grammarAccess.getModelAccess().getRootAssignment_2_2()); } + (rule__Model__RootAssignment_2_2) + { after(grammarAccess.getModelAccess().getRootAssignment_2_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Declaration__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); } + ruleTypeDeclaration + { after(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); } + ruleChannelDeclaration + { after(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); } + ruleConstantDeclaration + { after(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); } + ruleParameterizedDeclaration + { after(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); } + rulePropertyDeclaration + { after(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterizedDeclaration__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); } + ruleProcessDeclaration + { after(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); } + ruleComponentDeclaration + { after(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); } + ruleFunctionDeclaration + { after(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getGroup_2_0()); } + (rule__ChannelType__Group_2_0__0) + { after(grammarAccess.getChannelTypeAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); } + 'none' + { after(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); } + ) + | + ( + { before(grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); } + 'sync' + { after(grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Alternatives_2_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getGroup_2_0_0_0()); } + (rule__ChannelType__Group_2_0_0_0__0) + { after(grammarAccess.getChannelTypeAccess().getGroup_2_0_0_0()); } + ) + | + ( + { before(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_1()); } + (rule__ChannelType__OutAssignment_2_0_0_1) + { after(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Alternatives_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getTypeAssignment_2_0_1_0()); } + (rule__ChannelType__TypeAssignment_2_0_1_0) + { after(grammarAccess.getChannelTypeAccess().getTypeAssignment_2_0_1_0()); } + ) + | + ( + { before(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); } + 'none' + { after(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Type__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); } + ruleBasicType + { after(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); } + ruleRangeType + { after(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); } + ruleUnionType + { after(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); } + ruleRecordType + { after(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); } + ruleQueueType + { after(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); } + ruleArrayType + { after(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); } + ruleReferencedType + { after(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBasicTypeAccess().getGroup_0()); } + (rule__BasicType__Group_0__0) + { after(grammarAccess.getBasicTypeAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getBasicTypeAccess().getGroup_1()); } + (rule__BasicType__Group_1__0) + { after(grammarAccess.getBasicTypeAccess().getGroup_1()); } + ) + | + ( + { before(grammarAccess.getBasicTypeAccess().getGroup_2()); } + (rule__BasicType__Group_2__0) + { after(grammarAccess.getBasicTypeAccess().getGroup_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Statement__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); } + ruleNullStatement + { after(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); } + ruleTaggedStatement + { after(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); } + rulePatternStatement + { after(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); } + ruleConditionalStatement + { after(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); } + ruleSelectStatement + { after(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); } + ruleWhileStatement + { after(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); } + ruleForeachStatement + { after(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); } + ruleToStatement + { after(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); } + ruleCaseStatement + { after(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); } + ruleLoopStatement + { after(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); } + ruleOnStatement + { after(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); } + ruleWaitStatement + { after(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); } + ruleReturnStatement + { after(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); } + ) + | + ( + { before(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); } + ruleBlockStatement + { after(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_0()); } + (rule__PatternStatement__Group_1_0__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_1()); } + (rule__PatternStatement__Group_1_1__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_1()); } + ) + | + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_2()); } + (rule__PatternStatement__Group_1_2__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_2()); } + ) + | + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_3()); } + (rule__PatternStatement__Group_1_3__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_3()); } + ) + | + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_4()); } + (rule__PatternStatement__Group_1_4__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_4()); } + ) + | + ( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_5()); } + (rule__PatternStatement__Group_1_5__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); } + ruleAnyPattern + { after(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); } + ruleIntegerPattern + { after(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); } + ruleConstantPattern + { after(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getPatternAccess().getGroup_3()); } + (rule__Pattern__Group_3__0) + { after(grammarAccess.getPatternAccess().getGroup_3()); } + ) + | + ( + { before(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); } + ruleIdentifierPattern + { after(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); } + '+' + { after(grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); } + ) + | + ( + { before(grammarAccess.getIntegerPatternAccess().getNegativeAssignment_0_1()); } + (rule__IntegerPattern__NegativeAssignment_0_1) + { after(grammarAccess.getIntegerPatternAccess().getNegativeAssignment_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_0()); } + (rule__IdentifierPattern__Group_0__0) + { after(grammarAccess.getIdentifierPatternAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_1()); } + (rule__IdentifierPattern__Group_1__0) + { after(grammarAccess.getIdentifierPatternAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Alternatives_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_0()); } + (rule__IdentifierPattern__Group_1_1_0__0) + { after(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_0()); } + ) + | + ( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_1()); } + (rule__IdentifierPattern__Group_1_1_1__0) + { after(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Block__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); } + ruleCompositeBlock + { after(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); } + ruleInstanceDeclaration + { after(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositeBlockAccess().getGroup_0_0()); } + (rule__CompositeBlock__Group_0_0__0) + { after(grammarAccess.getCompositeBlockAccess().getGroup_0_0()); } + ) + | + ( + { before(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); } + '->' + { after(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInstanceDeclarationAccess().getGroup_0_0()); } + (rule__InstanceDeclaration__Group_0_0__0) + { after(grammarAccess.getInstanceDeclarationAccess().getGroup_0_0()); } + ) + | + ( + { before(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); } + '->' + { after(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortSetAccess().getAllPortsAssignment_0()); } + (rule__PortSet__AllPortsAssignment_0) + { after(grammarAccess.getPortSetAccess().getAllPortsAssignment_0()); } + ) + | + ( + { before(grammarAccess.getPortSetAccess().getGroup_1()); } + (rule__PortSet__Group_1__0) + { after(grammarAccess.getPortSetAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0()); } + (rule__QuantifiedExpression__Group_0__0) + { after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); } + ruleConditional + { after(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Alternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_0()); } + (rule__QuantifiedExpression__Group_0_0_0__0) + { after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_0()); } + ) + | + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_1()); } + (rule__QuantifiedExpression__Group_0_0_1__0) + { after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Alternatives_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_0()); } + (rule__Comparison__Group_1_0_0__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_0()); } + ) + | + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_1()); } + (rule__Comparison__Group_1_0_1__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_1()); } + ) + | + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_2()); } + (rule__Comparison__Group_1_0_2__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_2()); } + ) + | + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_3()); } + (rule__Comparison__Group_1_0_3__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_3()); } + ) + | + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_4()); } + (rule__Comparison__Group_1_0_4__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_4()); } + ) + | + ( + { before(grammarAccess.getComparisonAccess().getGroup_1_0_5()); } + (rule__Comparison__Group_1_0_5__0) + { after(grammarAccess.getComparisonAccess().getGroup_1_0_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0()); } + (rule__UnaryExpression__Group_0__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); } + ruleProjection + { after(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Alternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_0()); } + (rule__UnaryExpression__Group_0_0_0__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_0()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_1()); } + (rule__UnaryExpression__Group_0_0_1__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_1()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_2()); } + (rule__UnaryExpression__Group_0_0_2__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_2()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_3()); } + (rule__UnaryExpression__Group_0_0_3__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_3()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_4()); } + (rule__UnaryExpression__Group_0_0_4__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_4()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_5()); } + (rule__UnaryExpression__Group_0_0_5__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_5()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_6()); } + (rule__UnaryExpression__Group_0_0_6__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_6()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_7()); } + (rule__UnaryExpression__Group_0_0_7__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_7()); } + ) + | + ( + { before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_8()); } + (rule__UnaryExpression__Group_0_0_8__0) + { after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_8()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); } + ruleIdentifierExpression + { after(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); } + ruleReferenceExpression + { after(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); } + ruleLiteralExpression + { after(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); } + ruleRecordExpression + { after(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); } + ruleArrayExpression + { after(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); } + ruleQueueExpression + { after(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); } + ruleEnqueueExpression + { after(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); } + ruleAppendExpression + { after(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); } + ) + | + ( + { before(grammarAccess.getAtomicExpressionAccess().getGroup_8()); } + (rule__AtomicExpression__Group_8__0) + { after(grammarAccess.getAtomicExpressionAccess().getGroup_8()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_0()); } + (rule__IdentifierExpression__Group_0__0) + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_1()); } + (rule__IdentifierExpression__Group_1__0) + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Alternatives_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0()); } + (rule__IdentifierExpression__Group_1_1_0__0) + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0()); } + ) + | + ( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_1()); } + (rule__IdentifierExpression__Group_1_1_1__0) + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LiteralExpression__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); } + ruleBooleanLiteral + { after(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); } + ruleNaturalLiteral + { after(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralAccess().getGroup_0()); } + (rule__BooleanLiteral__Group_0__0) + { after(grammarAccess.getBooleanLiteralAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getBooleanLiteralAccess().getGroup_1()); } + (rule__BooleanLiteral__Group_1__0) + { after(grammarAccess.getBooleanLiteralAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LowerBound__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); } + ruleNaturalLowerBound + { after(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); } + ruleDecimalLowerBound + { after(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); } + ruleVariableLowerBound + { after(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UpperBound__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); } + ruleNaturalUpperBound + { after(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); } + ruleDecimalUpperBound + { after(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); } + ruleVariableUpperBound + { after(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); } + ruleInfiniteUpperBound + { after(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getLeftAssignment_0_0()); } + (rule__NaturalLowerBound__LeftAssignment_0_0) + { after(grammarAccess.getNaturalLowerBoundAccess().getLeftAssignment_0_0()); } + ) + | + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getRightAssignment_0_1()); } + (rule__NaturalLowerBound__RightAssignment_0_1) + { after(grammarAccess.getNaturalLowerBoundAccess().getRightAssignment_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getLeftAssignment_1_0()); } + (rule__NaturalUpperBound__LeftAssignment_1_0) + { after(grammarAccess.getNaturalUpperBoundAccess().getLeftAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getRightAssignment_1_1()); } + (rule__NaturalUpperBound__RightAssignment_1_1) + { after(grammarAccess.getNaturalUpperBoundAccess().getRightAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getLeftAssignment_0_0()); } + (rule__DecimalLowerBound__LeftAssignment_0_0) + { after(grammarAccess.getDecimalLowerBoundAccess().getLeftAssignment_0_0()); } + ) + | + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getRightAssignment_0_1()); } + (rule__DecimalLowerBound__RightAssignment_0_1) + { after(grammarAccess.getDecimalLowerBoundAccess().getRightAssignment_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getLeftAssignment_1_0()); } + (rule__DecimalUpperBound__LeftAssignment_1_0) + { after(grammarAccess.getDecimalUpperBoundAccess().getLeftAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getRightAssignment_1_1()); } + (rule__DecimalUpperBound__RightAssignment_1_1) + { after(grammarAccess.getDecimalUpperBoundAccess().getRightAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__Alternatives_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableLowerBoundAccess().getLeftAssignment_0_0()); } + (rule__VariableLowerBound__LeftAssignment_0_0) + { after(grammarAccess.getVariableLowerBoundAccess().getLeftAssignment_0_0()); } + ) + | + ( + { before(grammarAccess.getVariableLowerBoundAccess().getRightAssignment_0_1()); } + (rule__VariableLowerBound__RightAssignment_0_1) + { after(grammarAccess.getVariableLowerBoundAccess().getRightAssignment_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableUpperBoundAccess().getLeftAssignment_1_0()); } + (rule__VariableUpperBound__LeftAssignment_1_0) + { after(grammarAccess.getVariableUpperBoundAccess().getLeftAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getVariableUpperBoundAccess().getRightAssignment_1_1()); } + (rule__VariableUpperBound__RightAssignment_1_1) + { after(grammarAccess.getVariableUpperBoundAccess().getRightAssignment_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0()); } + (rule__QuantifiedProperty__Group_0__0) + { after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); } + rulePropertyDisjunction + { after(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Alternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_0()); } + (rule__QuantifiedProperty__Group_0_0_0__0) + { after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_0()); } + ) + | + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_1()); } + (rule__QuantifiedProperty__Group_0_0_1__0) + { after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyNegationAccess().getGroup_0()); } + (rule__PropertyNegation__Group_0__0) + { after(grammarAccess.getPropertyNegationAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); } + ruleAtomicProperty + { after(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); } + rulePatternProperty + { after(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getAtomicPropertyAccess().getGroup_1()); } + (rule__AtomicProperty__Group_1__0) + { after(grammarAccess.getAtomicPropertyAccess().getGroup_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternProperty__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); } + ruleLTLPattern + { after(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); } + ruleDeadlockFreePattern + { after(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); } + ruleInfinitelyOftenPattern + { after(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); } + ruleMortalPattern + { after(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); } + rulePresencePattern + { after(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); } + ruleAbsencePattern + { after(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); } + ruleAlwaysPattern + { after(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); } + ) + | + ( + { before(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); } + ruleSequencePattern + { after(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_0()); } + (rule__PresencePattern__Group_2_0__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_1()); } + (rule__PresencePattern__Group_2_1__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_1()); } + ) + | + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_2()); } + (rule__PresencePattern__Group_2_2__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_2()); } + ) + | + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_3()); } + (rule__PresencePattern__Group_2_3__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Alternatives_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_0()); } + (rule__PresencePattern__Group_2_1_1_0__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_0()); } + ) + | + ( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_1()); } + (rule__PresencePattern__Group_2_1_1_1__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_0()); } + (rule__AbsencePattern__Group_2_0__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_1()); } + (rule__AbsencePattern__Group_2_1__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_1()); } + ) + | + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_2()); } + (rule__AbsencePattern__Group_2_2__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Alternatives_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_0()); } + (rule__AbsencePattern__Group_2_0_1_0__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_0()); } + ) + | + ( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_1()); } + (rule__AbsencePattern__Group_2_0_1_1__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getGroup_2_0()); } + (rule__AlwaysPattern__Group_2_0__0) + { after(grammarAccess.getAlwaysPatternAccess().getGroup_2_0()); } + ) + | + ( + { before(grammarAccess.getAlwaysPatternAccess().getGroup_2_1()); } + (rule__AlwaysPattern__Group_2_1__0) + { after(grammarAccess.getAlwaysPatternAccess().getGroup_2_1()); } + ) + | + ( + { before(grammarAccess.getAlwaysPatternAccess().getGroup_2_2()); } + (rule__AlwaysPattern__Group_2_2__0) + { after(grammarAccess.getAlwaysPatternAccess().getGroup_2_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0()); } + (rule__SequencePattern__Group_1_0__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_1()); } + (rule__SequencePattern__Group_1_1__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Alternatives_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0()); } + (rule__SequencePattern__Group_1_0_3_0__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_1()); } + (rule__SequencePattern__Group_1_0_3_1__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_1()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2()); } + (rule__SequencePattern__Group_1_0_3_2__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_3()); } + (rule__SequencePattern__Group_1_0_3_3__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Alternatives_1_0_3_2_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_0()); } + (rule__SequencePattern__Group_1_0_3_2_2_0__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_0()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_1()); } + (rule__SequencePattern__Group_1_0_3_2_2_1__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Alternatives_1_1_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_0()); } + (rule__SequencePattern__Group_1_1_3_0__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_0()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1()); } + (rule__SequencePattern__Group_1_1_3_1__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1()); } + ) + | + ( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_2()); } + (rule__SequencePattern__Group_1_1_3_2__0) + { after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLQuantifiedAccess().getGroup_0()); } + (rule__LTLQuantified__Group_0__0) + { after(grammarAccess.getLTLQuantifiedAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); } + ruleLTLDisjunction + { after(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Alternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_0()); } + (rule__LTLQuantified__Group_0_0_0__0) + { after(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_0()); } + ) + | + ( + { before(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_1()); } + (rule__LTLQuantified__Group_0_0_1__0) + { after(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLBinaryAccess().getGroup_1_0()); } + (rule__LTLBinary__Group_1_0__0) + { after(grammarAccess.getLTLBinaryAccess().getGroup_1_0()); } + ) + | + ( + { before(grammarAccess.getLTLBinaryAccess().getGroup_1_1()); } + (rule__LTLBinary__Group_1_1__0) + { after(grammarAccess.getLTLBinaryAccess().getGroup_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLUnaryAccess().getGroup_0()); } + (rule__LTLUnary__Group_0__0) + { after(grammarAccess.getLTLUnaryAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); } + ruleAtomicLTL + { after(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Alternatives_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_0()); } + (rule__LTLUnary__Group_0_0_0__0) + { after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_0()); } + ) + | + ( + { before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_1()); } + (rule__LTLUnary__Group_0_0_1__0) + { after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_1()); } + ) + | + ( + { before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_2()); } + (rule__LTLUnary__Group_0_0_2__0) + { after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_2()); } + ) + | + ( + { before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_3()); } + (rule__LTLUnary__Group_0_0_3__0) + { after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicLTLAccess().getGroup_0()); } + (rule__AtomicLTL__Group_0__0) + { after(grammarAccess.getAtomicLTLAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); } + ruleObservableEvent + { after(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getAtomicLTLAccess().getGroup_2()); } + (rule__AtomicLTL__Group_2__0) + { after(grammarAccess.getAtomicLTLAccess().getGroup_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateEvent__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); } + ruleEnterStateEvent + { after(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); } + ruleLeaveStateEvent + { after(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableNegationAccess().getGroup_0()); } + (rule__ObservableNegation__Group_0__0) + { after(grammarAccess.getObservableNegationAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); } + ruleAtomicObservable + { after(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicObservableAccess().getGroup_0()); } + (rule__AtomicObservable__Group_0__0) + { after(grammarAccess.getAtomicObservableAccess().getGroup_0()); } + ) + | + ( + { before(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); } + ruleObservableEvent + { after(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableEvent__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); } + rulePathEvent + { after(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); } + ruleStateEvent + { after(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PathItem__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); } + ruleNaturalItem + { after(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); } + ruleNamedItem + { after(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Subject__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); } + ruleStateSubject + { after(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); } + ruleValueSubject + { after(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); } + ruleTagSubject + { after(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); } + ruleEventSubject + { after(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Model__Group__0__Impl + rule__Model__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModelAccess().getModelAction_0()); } + () + { after(grammarAccess.getModelAccess().getModelAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Model__Group__1__Impl + rule__Model__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModelAccess().getImportsAssignment_1()); } + (rule__Model__ImportsAssignment_1)* + { after(grammarAccess.getModelAccess().getImportsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Model__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModelAccess().getAlternatives_2()); } + (rule__Model__Alternatives_2)* + { after(grammarAccess.getModelAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Root__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group__0__Impl + rule__Root__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getRootAction_0()); } + () + { after(grammarAccess.getRootAccess().getRootAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group__1__Impl + rule__Root__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getDeclarationAssignment_1()); } + (rule__Root__DeclarationAssignment_1) + { after(grammarAccess.getRootAccess().getDeclarationAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getGroup_2()); } + (rule__Root__Group_2__0)? + { after(grammarAccess.getRootAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Root__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2__0__Impl + rule__Root__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); } + '>' + { after(grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getGroup_2_1()); } + (rule__Root__Group_2_1__0) + { after(grammarAccess.getRootAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Root__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2_1__0__Impl + rule__Root__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getObservedAssignment_2_1_0()); } + (rule__Root__ObservedAssignment_2_1_0) + { after(grammarAccess.getRootAccess().getObservedAssignment_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getGroup_2_1_1()); } + (rule__Root__Group_2_1_1__0)* + { after(grammarAccess.getRootAccess().getGroup_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Root__Group_2_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2_1_1__0__Impl + rule__Root__Group_2_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); } + '|' + { after(grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Root__Group_2_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__Group_2_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRootAccess().getObservedAssignment_2_1_1_1()); } + (rule__Root__ObservedAssignment_2_1_1_1) + { after(grammarAccess.getRootAccess().getObservedAssignment_2_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ImportDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImportDeclaration__Group__0__Impl + rule__ImportDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); } + '#include' + { after(grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ImportDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); } + (rule__ImportDeclaration__ImportURIAssignment_1) + { after(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__0__Impl + rule__FunctionDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); } + 'function' + { after(grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__1__Impl + rule__FunctionDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getNameAssignment_1()); } + (rule__FunctionDeclaration__NameAssignment_1) + { after(grammarAccess.getFunctionDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__2__Impl + rule__FunctionDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup_2()); } + (rule__FunctionDeclaration__Group_2__0) + { after(grammarAccess.getFunctionDeclarationAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__3__Impl + rule__FunctionDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); } + ':' + { after(grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__4__Impl + rule__FunctionDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getTypeAssignment_4()); } + (rule__FunctionDeclaration__TypeAssignment_4) + { after(grammarAccess.getFunctionDeclarationAccess().getTypeAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__5__Impl + rule__FunctionDeclaration__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); } + 'is' + { after(grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__6__Impl + rule__FunctionDeclaration__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup_6()); } + (rule__FunctionDeclaration__Group_6__0)? + { after(grammarAccess.getFunctionDeclarationAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getStatementAssignment_7()); } + (rule__FunctionDeclaration__StatementAssignment_7) + { after(grammarAccess.getFunctionDeclarationAccess().getStatementAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2__0__Impl + rule__FunctionDeclaration__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); } + '(' + { after(grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2__1__Impl + rule__FunctionDeclaration__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1()); } + (rule__FunctionDeclaration__Group_2_1__0)? + { after(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); } + ')' + { after(grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2_1__0__Impl + rule__FunctionDeclaration__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_0()); } + (rule__FunctionDeclaration__ParametersAssignment_2_1_0) + { after(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1_1()); } + (rule__FunctionDeclaration__Group_2_1_1__0)* + { after(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group_2_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2_1_1__0__Impl + rule__FunctionDeclaration__Group_2_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); } + ',' + { after(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_2_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_2_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_1_1()); } + (rule__FunctionDeclaration__ParametersAssignment_2_1_1_1) + { after(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_6__0__Impl + rule__FunctionDeclaration__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); } + 'var' + { after(grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_6__1__Impl + rule__FunctionDeclaration__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_1()); } + (rule__FunctionDeclaration__VariablesAssignment_6_1) + { after(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getGroup_6_2()); } + (rule__FunctionDeclaration__Group_6_2__0)* + { after(grammarAccess.getFunctionDeclarationAccess().getGroup_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDeclaration__Group_6_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_6_2__0__Impl + rule__FunctionDeclaration__Group_6_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); } + ',' + { after(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDeclaration__Group_6_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__Group_6_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_2_1()); } + (rule__FunctionDeclaration__VariablesAssignment_6_2_1) + { after(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TypeDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeDeclaration__Group__0__Impl + rule__TypeDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); } + 'type' + { after(grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeDeclaration__Group__1__Impl + rule__TypeDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeDeclarationAccess().getNameAssignment_1()); } + (rule__TypeDeclaration__NameAssignment_1) + { after(grammarAccess.getTypeDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeDeclaration__Group__2__Impl + rule__TypeDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); } + 'is' + { after(grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TypeDeclaration__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTypeDeclarationAccess().getValueAssignment_3()); } + (rule__TypeDeclaration__ValueAssignment_3) + { after(grammarAccess.getTypeDeclarationAccess().getValueAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChannelDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelDeclaration__Group__0__Impl + rule__ChannelDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); } + 'channel' + { after(grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelDeclaration__Group__1__Impl + rule__ChannelDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelDeclarationAccess().getNameAssignment_1()); } + (rule__ChannelDeclaration__NameAssignment_1) + { after(grammarAccess.getChannelDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelDeclaration__Group__2__Impl + rule__ChannelDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); } + 'is' + { after(grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelDeclaration__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelDeclarationAccess().getValueAssignment_3()); } + (rule__ChannelDeclaration__ValueAssignment_3) + { after(grammarAccess.getChannelDeclarationAccess().getValueAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChannelType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group__0__Impl + rule__ChannelType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getChannelTypeAction_0()); } + () + { after(grammarAccess.getChannelTypeAccess().getChannelTypeAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group__1__Impl + rule__ChannelType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getGroup_1()); } + (rule__ChannelType__Group_1__0)? + { after(grammarAccess.getChannelTypeAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getAlternatives_2()); } + (rule__ChannelType__Alternatives_2) + { after(grammarAccess.getChannelTypeAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChannelType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_1__0__Impl + rule__ChannelType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); } + 'array' + { after(grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_1__1__Impl + rule__ChannelType__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getSizeAssignment_1_1()); } + (rule__ChannelType__SizeAssignment_1_1) + { after(grammarAccess.getChannelTypeAccess().getSizeAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); } + 'of' + { after(grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChannelType__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_2_0__0__Impl + rule__ChannelType__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_0()); } + (rule__ChannelType__Alternatives_2_0_0)? + { after(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_1()); } + (rule__ChannelType__Alternatives_2_0_1) + { after(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ChannelType__Group_2_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_2_0_0_0__0__Impl + rule__ChannelType__Group_2_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getInAssignment_2_0_0_0_0()); } + (rule__ChannelType__InAssignment_2_0_0_0_0) + { after(grammarAccess.getChannelTypeAccess().getInAssignment_2_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ChannelType__Group_2_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__Group_2_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_0_1()); } + (rule__ChannelType__OutAssignment_2_0_0_0_1)? + { after(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TupleType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TupleType__Group__0__Impl + rule__TupleType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); } + ruleType + { after(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TupleType__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTupleTypeAccess().getGroup_1()); } + (rule__TupleType__Group_1__0)* + { after(grammarAccess.getTupleTypeAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TupleType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TupleType__Group_1__0__Impl + rule__TupleType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0()); } + () + { after(grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TupleType__Group_1__1__Impl + rule__TupleType__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); } + '#' + { after(grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TupleType__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTupleTypeAccess().getTypesAssignment_1_2()); } + (rule__TupleType__TypesAssignment_1_2) + { after(grammarAccess.getTupleTypeAccess().getTypesAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BasicType__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_0__0__Impl + rule__BasicType__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0()); } + () + { after(grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); } + 'nat' + { after(grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BasicType__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_1__0__Impl + rule__BasicType__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0()); } + () + { after(grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); } + 'int' + { after(grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BasicType__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_2__0__Impl + rule__BasicType__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0()); } + () + { after(grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BasicType__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BasicType__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); } + 'bool' + { after(grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RangeType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RangeType__Group__0__Impl + rule__RangeType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRangeTypeAccess().getMinimumAssignment_0()); } + (rule__RangeType__MinimumAssignment_0) + { after(grammarAccess.getRangeTypeAccess().getMinimumAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RangeType__Group__1__Impl + rule__RangeType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); } + '..' + { after(grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RangeType__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRangeTypeAccess().getMaximumAssignment_2()); } + (rule__RangeType__MaximumAssignment_2) + { after(grammarAccess.getRangeTypeAccess().getMaximumAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnionType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group__0__Impl + rule__UnionType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); } + 'union' + { after(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group__1__Impl + rule__UnionType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getTagsAssignment_1()); } + (rule__UnionType__TagsAssignment_1) + { after(grammarAccess.getUnionTypeAccess().getTagsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group__2__Impl + rule__UnionType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getGroup_2()); } + (rule__UnionType__Group_2__0)* + { after(grammarAccess.getUnionTypeAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group__3__Impl + rule__UnionType__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getEndKeyword_3()); } + 'end' + { after(grammarAccess.getUnionTypeAccess().getEndKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); } + ('union')? + { after(grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnionType__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group_2__0__Impl + rule__UnionType__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); } + '|' + { after(grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionType__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTypeAccess().getTagsAssignment_2_1()); } + (rule__UnionType__TagsAssignment_2_1) + { after(grammarAccess.getUnionTypeAccess().getTagsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnionTags__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group__0__Impl + rule__UnionTags__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getTagsAssignment_0()); } + (rule__UnionTags__TagsAssignment_0) + { after(grammarAccess.getUnionTagsAccess().getTagsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group__1__Impl + rule__UnionTags__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getGroup_1()); } + (rule__UnionTags__Group_1__0)* + { after(grammarAccess.getUnionTagsAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getGroup_2()); } + (rule__UnionTags__Group_2__0)? + { after(grammarAccess.getUnionTagsAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnionTags__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group_1__0__Impl + rule__UnionTags__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getTagsAssignment_1_1()); } + (rule__UnionTags__TagsAssignment_1_1) + { after(grammarAccess.getUnionTagsAccess().getTagsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnionTags__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group_2__0__Impl + rule__UnionTags__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); } + 'of' + { after(grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnionTags__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnionTagsAccess().getTypeAssignment_2_1()); } + (rule__UnionTags__TypeAssignment_2_1) + { after(grammarAccess.getUnionTagsAccess().getTypeAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group__0__Impl + rule__RecordType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); } + 'record' + { after(grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group__1__Impl + rule__RecordType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getFieldsAssignment_1()); } + (rule__RecordType__FieldsAssignment_1) + { after(grammarAccess.getRecordTypeAccess().getFieldsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group__2__Impl + rule__RecordType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getGroup_2()); } + (rule__RecordType__Group_2__0)* + { after(grammarAccess.getRecordTypeAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group__3__Impl + rule__RecordType__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getEndKeyword_3()); } + 'end' + { after(grammarAccess.getRecordTypeAccess().getEndKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); } + ('record')? + { after(grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordType__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group_2__0__Impl + rule__RecordType__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); } + ',' + { after(grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordType__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordTypeAccess().getFieldsAssignment_2_1()); } + (rule__RecordType__FieldsAssignment_2_1) + { after(grammarAccess.getRecordTypeAccess().getFieldsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordFields__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group__0__Impl + rule__RecordFields__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_0()); } + (rule__RecordFields__FieldsAssignment_0) + { after(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group__1__Impl + rule__RecordFields__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getGroup_1()); } + (rule__RecordFields__Group_1__0)* + { after(grammarAccess.getRecordFieldsAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group__2__Impl + rule__RecordFields__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getTypeAssignment_3()); } + (rule__RecordFields__TypeAssignment_3) + { after(grammarAccess.getRecordFieldsAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordFields__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group_1__0__Impl + rule__RecordFields__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordFields__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_1_1()); } + (rule__RecordFields__FieldsAssignment_1_1) + { after(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QueueType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueType__Group__0__Impl + rule__QueueType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); } + 'queue' + { after(grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueType__Group__1__Impl + rule__QueueType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueTypeAccess().getSizeAssignment_1()); } + (rule__QueueType__SizeAssignment_1) + { after(grammarAccess.getQueueTypeAccess().getSizeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueType__Group__2__Impl + rule__QueueType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueTypeAccess().getOfKeyword_2()); } + 'of' + { after(grammarAccess.getQueueTypeAccess().getOfKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueType__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueTypeAccess().getTypeAssignment_3()); } + (rule__QueueType__TypeAssignment_3) + { after(grammarAccess.getQueueTypeAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayType__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayType__Group__0__Impl + rule__ArrayType__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); } + 'array' + { after(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayType__Group__1__Impl + rule__ArrayType__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayTypeAccess().getSizeAssignment_1()); } + (rule__ArrayType__SizeAssignment_1) + { after(grammarAccess.getArrayTypeAccess().getSizeAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayType__Group__2__Impl + rule__ArrayType__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayTypeAccess().getOfKeyword_2()); } + 'of' + { after(grammarAccess.getArrayTypeAccess().getOfKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayType__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayTypeAccess().getTypeAssignment_3()); } + (rule__ArrayType__TypeAssignment_3) + { after(grammarAccess.getArrayTypeAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConstantDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__0__Impl + rule__ConstantDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); } + 'const' + { after(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__1__Impl + rule__ConstantDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); } + (rule__ConstantDeclaration__NameAssignment_1) + { after(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__2__Impl + rule__ConstantDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__3__Impl + rule__ConstantDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getTypeAssignment_3()); } + (rule__ConstantDeclaration__TypeAssignment_3) + { after(grammarAccess.getConstantDeclarationAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__4__Impl + rule__ConstantDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); } + 'is' + { after(grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConstantDeclaration__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConstantDeclarationAccess().getValueAssignment_5()); } + (rule__ConstantDeclaration__ValueAssignment_5) + { after(grammarAccess.getConstantDeclarationAccess().getValueAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__0__Impl + rule__ProcessDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); } + 'process' + { after(grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__1__Impl + rule__ProcessDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getNameAssignment_1()); } + (rule__ProcessDeclaration__NameAssignment_1) + { after(grammarAccess.getProcessDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__2__Impl + rule__ProcessDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_2()); } + (rule__ProcessDeclaration__Group_2__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__3__Impl + rule__ProcessDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_3()); } + (rule__ProcessDeclaration__Group_3__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__4__Impl + rule__ProcessDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); } + 'is' + { after(grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__5__Impl + rule__ProcessDeclaration__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_5()); } + (rule__ProcessDeclaration__Group_5__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__6__Impl + rule__ProcessDeclaration__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_6()); } + (rule__ProcessDeclaration__Group_6__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__7__Impl + rule__ProcessDeclaration__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); } + 'states' + { after(grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__8__Impl + rule__ProcessDeclaration__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_8()); } + (rule__ProcessDeclaration__StatesAssignment_8) + { after(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__9__Impl + rule__ProcessDeclaration__Group__10 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_9()); } + (rule__ProcessDeclaration__Group_9__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__10 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__10__Impl + rule__ProcessDeclaration__Group__11 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__10__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_10()); } + (rule__ProcessDeclaration__Group_10__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_10()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__11 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__11__Impl + rule__ProcessDeclaration__Group__12 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__11__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_11()); } + (rule__ProcessDeclaration__Group_11__0)? + { after(grammarAccess.getProcessDeclarationAccess().getGroup_11()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__12 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group__12__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group__12__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); } + (rule__ProcessDeclaration__TransitionsAssignment_12) + { after(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); } + ) + ( + { before(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); } + (rule__ProcessDeclaration__TransitionsAssignment_12)* + { after(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2__0__Impl + rule__ProcessDeclaration__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); } + '[' + { after(grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2__1__Impl + rule__ProcessDeclaration__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_1()); } + (rule__ProcessDeclaration__PortsAssignment_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2__2__Impl + rule__ProcessDeclaration__Group_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_2_2()); } + (rule__ProcessDeclaration__Group_2_2__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); } + ']' + { after(grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2_2__0__Impl + rule__ProcessDeclaration__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_2_1()); } + (rule__ProcessDeclaration__PortsAssignment_2_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3__0__Impl + rule__ProcessDeclaration__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); } + '(' + { after(grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3__1__Impl + rule__ProcessDeclaration__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_1()); } + (rule__ProcessDeclaration__ParametersAssignment_3_1) + { after(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3__2__Impl + rule__ProcessDeclaration__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_3_2()); } + (rule__ProcessDeclaration__Group_3_2__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); } + ')' + { after(grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3_2__0__Impl + rule__ProcessDeclaration__Group_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_3_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_2_1()); } + (rule__ProcessDeclaration__ParametersAssignment_3_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_5__0__Impl + rule__ProcessDeclaration__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); } + 'port' + { after(grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_5__1__Impl + rule__ProcessDeclaration__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_1()); } + (rule__ProcessDeclaration__LocalPortsAssignment_5_1) + { after(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_5_2()); } + (rule__ProcessDeclaration__Group_5_2__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_5_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_5_2__0__Impl + rule__ProcessDeclaration__Group_5_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_5_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_5_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_2_1()); } + (rule__ProcessDeclaration__LocalPortsAssignment_5_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_6__0__Impl + rule__ProcessDeclaration__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); } + 'priority' + { after(grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_6__1__Impl + rule__ProcessDeclaration__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_1()); } + (rule__ProcessDeclaration__PrioritiesAssignment_6_1) + { after(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_6_2()); } + (rule__ProcessDeclaration__Group_6_2__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_6_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_6_2__0__Impl + rule__ProcessDeclaration__Group_6_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_6_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_6_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_2_1()); } + (rule__ProcessDeclaration__PrioritiesAssignment_6_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_9__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_9__0__Impl + rule__ProcessDeclaration__Group_9__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_9__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_9__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_9__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_9__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_9_1()); } + (rule__ProcessDeclaration__StatesAssignment_9_1) + { after(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_9_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_10__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_10__0__Impl + rule__ProcessDeclaration__Group_10__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); } + 'var' + { after(grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_10__1__Impl + rule__ProcessDeclaration__Group_10__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_1()); } + (rule__ProcessDeclaration__VariablesAssignment_10_1) + { after(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_10__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getGroup_10_2()); } + (rule__ProcessDeclaration__Group_10_2__0)* + { after(grammarAccess.getProcessDeclarationAccess().getGroup_10_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_10_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_10_2__0__Impl + rule__ProcessDeclaration__Group_10_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); } + ',' + { after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_10_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_10_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_2_1()); } + (rule__ProcessDeclaration__VariablesAssignment_10_2_1) + { after(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ProcessDeclaration__Group_11__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_11__0__Impl + rule__ProcessDeclaration__Group_11__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_11__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); } + 'init' + { after(grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_11__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ProcessDeclaration__Group_11__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__Group_11__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProcessDeclarationAccess().getPreludeAssignment_11_1()); } + (rule__ProcessDeclaration__PreludeAssignment_11_1) + { after(grammarAccess.getProcessDeclarationAccess().getPreludeAssignment_11_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionSource__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionSource__Group__0__Impl + rule__TransitionSource__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionSource__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); } + 'from' + { after(grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionSource__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionSource__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionSource__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionSourceAccess().getOriginAssignment_1()); } + (rule__TransitionSource__OriginAssignment_1) + { after(grammarAccess.getTransitionSourceAccess().getOriginAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Transition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__0__Impl + rule__Transition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getSourceAssignment_0()); } + (rule__Transition__SourceAssignment_0) + { after(grammarAccess.getTransitionAccess().getSourceAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Transition__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTransitionAccess().getActionAssignment_1()); } + (rule__Transition__ActionAssignment_1) + { after(grammarAccess.getTransitionAccess().getActionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__0__Impl + rule__ComponentDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); } + 'component' + { after(grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__1__Impl + rule__ComponentDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getNameAssignment_1()); } + (rule__ComponentDeclaration__NameAssignment_1) + { after(grammarAccess.getComponentDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__2__Impl + rule__ComponentDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_2()); } + (rule__ComponentDeclaration__Group_2__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__3__Impl + rule__ComponentDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_3()); } + (rule__ComponentDeclaration__Group_3__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__4__Impl + rule__ComponentDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); } + 'is' + { after(grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__5__Impl + rule__ComponentDeclaration__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_5()); } + (rule__ComponentDeclaration__Group_5__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__6__Impl + rule__ComponentDeclaration__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_6()); } + (rule__ComponentDeclaration__Group_6__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__7__Impl + rule__ComponentDeclaration__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_7()); } + (rule__ComponentDeclaration__Group_7__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__8__Impl + rule__ComponentDeclaration__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_8()); } + (rule__ComponentDeclaration__Group_8__0)? + { after(grammarAccess.getComponentDeclarationAccess().getGroup_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group__9__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getBodyAssignment_9()); } + (rule__ComponentDeclaration__BodyAssignment_9) + { after(grammarAccess.getComponentDeclarationAccess().getBodyAssignment_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2__0__Impl + rule__ComponentDeclaration__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); } + '[' + { after(grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2__1__Impl + rule__ComponentDeclaration__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_1()); } + (rule__ComponentDeclaration__PortsAssignment_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2__2__Impl + rule__ComponentDeclaration__Group_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_2_2()); } + (rule__ComponentDeclaration__Group_2_2__0)* + { after(grammarAccess.getComponentDeclarationAccess().getGroup_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); } + ']' + { after(grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2_2__0__Impl + rule__ComponentDeclaration__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); } + ',' + { after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_2_1()); } + (rule__ComponentDeclaration__PortsAssignment_2_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3__0__Impl + rule__ComponentDeclaration__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); } + '(' + { after(grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3__1__Impl + rule__ComponentDeclaration__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_1()); } + (rule__ComponentDeclaration__ParametersAssignment_3_1) + { after(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3__2__Impl + rule__ComponentDeclaration__Group_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_3_2()); } + (rule__ComponentDeclaration__Group_3_2__0)* + { after(grammarAccess.getComponentDeclarationAccess().getGroup_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); } + ')' + { after(grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3_2__0__Impl + rule__ComponentDeclaration__Group_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); } + ',' + { after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_3_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_2_1()); } + (rule__ComponentDeclaration__ParametersAssignment_3_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_5__0__Impl + rule__ComponentDeclaration__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); } + 'var' + { after(grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_5__1__Impl + rule__ComponentDeclaration__Group_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_1()); } + (rule__ComponentDeclaration__VariablesAssignment_5_1) + { after(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_5__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_5_2()); } + (rule__ComponentDeclaration__Group_5_2__0)* + { after(grammarAccess.getComponentDeclarationAccess().getGroup_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_5_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_5_2__0__Impl + rule__ComponentDeclaration__Group_5_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); } + ',' + { after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_5_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_5_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_2_1()); } + (rule__ComponentDeclaration__VariablesAssignment_5_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_6__0__Impl + rule__ComponentDeclaration__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); } + 'port' + { after(grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_6__1__Impl + rule__ComponentDeclaration__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_1()); } + (rule__ComponentDeclaration__LocalPortsAssignment_6_1) + { after(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_6__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_6_2()); } + (rule__ComponentDeclaration__Group_6_2__0)* + { after(grammarAccess.getComponentDeclarationAccess().getGroup_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_6_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_6_2__0__Impl + rule__ComponentDeclaration__Group_6_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); } + ',' + { after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_6_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_6_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_2_1()); } + (rule__ComponentDeclaration__LocalPortsAssignment_6_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_7__0__Impl + rule__ComponentDeclaration__Group_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); } + 'priority' + { after(grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_7__1__Impl + rule__ComponentDeclaration__Group_7__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_1()); } + (rule__ComponentDeclaration__PrioritiesAssignment_7_1) + { after(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_7__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getGroup_7_2()); } + (rule__ComponentDeclaration__Group_7_2__0)* + { after(grammarAccess.getComponentDeclarationAccess().getGroup_7_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_7_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_7_2__0__Impl + rule__ComponentDeclaration__Group_7_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); } + ',' + { after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_7_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_7_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_2_1()); } + (rule__ComponentDeclaration__PrioritiesAssignment_7_2_1) + { after(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentDeclaration__Group_8__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_8__0__Impl + rule__ComponentDeclaration__Group_8__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_8__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); } + 'init' + { after(grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_8__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentDeclaration__Group_8__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__Group_8__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentDeclarationAccess().getPreludeAssignment_8_1()); } + (rule__ComponentDeclaration__PreludeAssignment_8_1) + { after(grammarAccess.getComponentDeclarationAccess().getPreludeAssignment_8_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PortsDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group__0__Impl + rule__PortsDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_0()); } + (rule__PortsDeclaration__PortsAssignment_0) + { after(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group__1__Impl + rule__PortsDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getGroup_1()); } + (rule__PortsDeclaration__Group_1__0)* + { after(grammarAccess.getPortsDeclarationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group__2__Impl + rule__PortsDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getTypeAssignment_3()); } + (rule__PortsDeclaration__TypeAssignment_3) + { after(grammarAccess.getPortsDeclarationAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PortsDeclaration__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group_1__0__Impl + rule__PortsDeclaration__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortsDeclaration__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_1_1()); } + (rule__PortsDeclaration__PortsAssignment_1_1) + { after(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LocalPortsDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group__0__Impl + rule__LocalPortsDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_0()); } + (rule__LocalPortsDeclaration__PortsAssignment_0) + { after(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group__1__Impl + rule__LocalPortsDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getGroup_1()); } + (rule__LocalPortsDeclaration__Group_1__0)* + { after(grammarAccess.getLocalPortsDeclarationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group__2__Impl + rule__LocalPortsDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group__3__Impl + rule__LocalPortsDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getTypeAssignment_3()); } + (rule__LocalPortsDeclaration__TypeAssignment_3) + { after(grammarAccess.getLocalPortsDeclarationAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getGroup_4()); } + (rule__LocalPortsDeclaration__Group_4__0)? + { after(grammarAccess.getLocalPortsDeclarationAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LocalPortsDeclaration__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_1__0__Impl + rule__LocalPortsDeclaration__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_1_1()); } + (rule__LocalPortsDeclaration__PortsAssignment_1_1) + { after(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LocalPortsDeclaration__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_4__0__Impl + rule__LocalPortsDeclaration__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); } + 'in' + { after(grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_4__1__Impl + rule__LocalPortsDeclaration__Group_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getLeftAssignment_4_1()); } + (rule__LocalPortsDeclaration__LeftAssignment_4_1) + { after(grammarAccess.getLocalPortsDeclarationAccess().getLeftAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_4__2__Impl + rule__LocalPortsDeclaration__Group_4__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); } + ',' + { after(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LocalPortsDeclaration__Group_4__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__Group_4__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLocalPortsDeclarationAccess().getRightAssignment_4_3()); } + (rule__LocalPortsDeclaration__RightAssignment_4_3) + { after(grammarAccess.getLocalPortsDeclarationAccess().getRightAssignment_4_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParametersDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__0__Impl + rule__ParametersDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_0()); } + (rule__ParametersDeclaration__ParametersAssignment_0) + { after(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__1__Impl + rule__ParametersDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getGroup_1()); } + (rule__ParametersDeclaration__Group_1__0)* + { after(grammarAccess.getParametersDeclarationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__2__Impl + rule__ParametersDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__3__Impl + rule__ParametersDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getReadAssignment_3()); } + (rule__ParametersDeclaration__ReadAssignment_3)? + { after(grammarAccess.getParametersDeclarationAccess().getReadAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__4__Impl + rule__ParametersDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getWriteAssignment_4()); } + (rule__ParametersDeclaration__WriteAssignment_4)? + { after(grammarAccess.getParametersDeclarationAccess().getWriteAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getTypeAssignment_5()); } + (rule__ParametersDeclaration__TypeAssignment_5) + { after(grammarAccess.getParametersDeclarationAccess().getTypeAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParametersDeclaration__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group_1__0__Impl + rule__ParametersDeclaration__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametersDeclaration__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_1_1()); } + (rule__ParametersDeclaration__ParametersAssignment_1_1) + { after(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParameterDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group__0__Impl + rule__ParameterDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getGroup_0()); } + (rule__ParameterDeclaration__Group_0__0)? + { after(grammarAccess.getParameterDeclarationAccess().getGroup_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getNameAssignment_1()); } + (rule__ParameterDeclaration__NameAssignment_1) + { after(grammarAccess.getParameterDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParameterDeclaration__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group_0__0__Impl + rule__ParameterDeclaration__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getReferenceAssignment_0_0()); } + (rule__ParameterDeclaration__ReferenceAssignment_0_0) + { after(grammarAccess.getParameterDeclarationAccess().getReferenceAssignment_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getGroup_0_1()); } + (rule__ParameterDeclaration__Group_0_1__0)? + { after(grammarAccess.getParameterDeclarationAccess().getGroup_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParameterDeclaration__Group_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group_0_1__0__Impl + rule__ParameterDeclaration__Group_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getArrayAssignment_0_1_0()); } + (rule__ParameterDeclaration__ArrayAssignment_0_1_0) + { after(grammarAccess.getParameterDeclarationAccess().getArrayAssignment_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group_0_1__1__Impl + rule__ParameterDeclaration__Group_0_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getSizeAssignment_0_1_1()); } + (rule__ParameterDeclaration__SizeAssignment_0_1_1) + { after(grammarAccess.getParameterDeclarationAccess().getSizeAssignment_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParameterDeclaration__Group_0_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__Group_0_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); } + ']' + { after(grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__VariablesDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group__0__Impl + rule__VariablesDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_0()); } + (rule__VariablesDeclaration__VariablesAssignment_0) + { after(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group__1__Impl + rule__VariablesDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getGroup_1()); } + (rule__VariablesDeclaration__Group_1__0)* + { after(grammarAccess.getVariablesDeclarationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group__2__Impl + rule__VariablesDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); } + ':' + { after(grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group__3__Impl + rule__VariablesDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getTypeAssignment_3()); } + (rule__VariablesDeclaration__TypeAssignment_3) + { after(grammarAccess.getVariablesDeclarationAccess().getTypeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getGroup_4()); } + (rule__VariablesDeclaration__Group_4__0)? + { after(grammarAccess.getVariablesDeclarationAccess().getGroup_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__VariablesDeclaration__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group_1__0__Impl + rule__VariablesDeclaration__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); } + ',' + { after(grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_1_1()); } + (rule__VariablesDeclaration__VariablesAssignment_1_1) + { after(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__VariablesDeclaration__Group_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group_4__0__Impl + rule__VariablesDeclaration__Group_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); } + ':=' + { after(grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariablesDeclaration__Group_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__Group_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariablesDeclarationAccess().getValueAssignment_4_1()); } + (rule__VariablesDeclaration__ValueAssignment_4_1) + { after(grammarAccess.getVariablesDeclarationAccess().getValueAssignment_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PriorityDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityDeclaration__Group__0__Impl + rule__PriorityDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_0()); } + (rule__PriorityDeclaration__GroupsAssignment_0) + { after(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + ( + { before(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); } + (rule__PriorityDeclaration__Group_1__0) + { after(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); } + ) + ( + { before(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); } + (rule__PriorityDeclaration__Group_1__0)* + { after(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); } + ) +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PriorityDeclaration__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityDeclaration__Group_1__0__Impl + rule__PriorityDeclaration__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); } + '>' + { after(grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityDeclaration__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_1_1()); } + (rule__PriorityDeclaration__GroupsAssignment_1_1) + { after(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PriorityGroup__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityGroup__Group__0__Impl + rule__PriorityGroup__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityGroupAccess().getPortsAssignment_0()); } + (rule__PriorityGroup__PortsAssignment_0) + { after(grammarAccess.getPriorityGroupAccess().getPortsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityGroup__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityGroupAccess().getGroup_1()); } + (rule__PriorityGroup__Group_1__0)* + { after(grammarAccess.getPriorityGroupAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PriorityGroup__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityGroup__Group_1__0__Impl + rule__PriorityGroup__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); } + '|' + { after(grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PriorityGroup__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPriorityGroupAccess().getPortsAssignment_1_1()); } + (rule__PriorityGroup__PortsAssignment_1_1) + { after(grammarAccess.getPriorityGroupAccess().getPortsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnlessStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnlessStatement__Group__0__Impl + rule__UnlessStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); } + ruleStatementChoice + { after(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnlessStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnlessStatementAccess().getGroup_1()); } + (rule__UnlessStatement__Group_1__0)* + { after(grammarAccess.getUnlessStatementAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnlessStatement__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnlessStatement__Group_1__0__Impl + rule__UnlessStatement__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0()); } + () + { after(grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnlessStatement__Group_1__1__Impl + rule__UnlessStatement__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); } + 'unless' + { after(grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnlessStatement__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnlessStatementAccess().getFollowersAssignment_1_2()); } + (rule__UnlessStatement__FollowersAssignment_1_2) + { after(grammarAccess.getUnlessStatementAccess().getFollowersAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StatementChoice__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementChoice__Group__0__Impl + rule__StatementChoice__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); } + ruleStatementSequence + { after(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementChoice__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementChoiceAccess().getGroup_1()); } + (rule__StatementChoice__Group_1__0)* + { after(grammarAccess.getStatementChoiceAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StatementChoice__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementChoice__Group_1__0__Impl + rule__StatementChoice__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0()); } + () + { after(grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementChoice__Group_1__1__Impl + rule__StatementChoice__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); } + '[]' + { after(grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementChoice__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementChoiceAccess().getChoicesAssignment_1_2()); } + (rule__StatementChoice__ChoicesAssignment_1_2) + { after(grammarAccess.getStatementChoiceAccess().getChoicesAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StatementSequence__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementSequence__Group__0__Impl + rule__StatementSequence__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); } + ruleStatement + { after(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementSequence__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementSequenceAccess().getGroup_1()); } + (rule__StatementSequence__Group_1__0)* + { after(grammarAccess.getStatementSequenceAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StatementSequence__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementSequence__Group_1__0__Impl + rule__StatementSequence__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0()); } + () + { after(grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementSequence__Group_1__1__Impl + rule__StatementSequence__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); } + ';' + { after(grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__StatementSequence__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStatementSequenceAccess().getStatementsAssignment_1_2()); } + (rule__StatementSequence__StatementsAssignment_1_2) + { after(grammarAccess.getStatementSequenceAccess().getStatementsAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BlockStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BlockStatement__Group__0__Impl + rule__BlockStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); } + 'begin' + { after(grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BlockStatement__Group__1__Impl + rule__BlockStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBlockStatementAccess().getBodyAssignment_1()); } + (rule__BlockStatement__BodyAssignment_1) + { after(grammarAccess.getBlockStatementAccess().getBodyAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__BlockStatement__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBlockStatementAccess().getEndKeyword_2()); } + 'end' + { after(grammarAccess.getBlockStatementAccess().getEndKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ReturnStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ReturnStatement__Group__0__Impl + rule__ReturnStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ReturnStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); } + 'return' + { after(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ReturnStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ReturnStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ReturnStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); } + (rule__ReturnStatement__ExpressionAssignment_1) + { after(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NullStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NullStatement__Group__0__Impl + rule__NullStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NullStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNullStatementAccess().getNullStatementAction_0()); } + () + { after(grammarAccess.getNullStatementAccess().getNullStatementAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NullStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NullStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NullStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNullStatementAccess().getNullKeyword_1()); } + 'null' + { after(grammarAccess.getNullStatementAccess().getNullKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TaggedStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TaggedStatement__Group__0__Impl + rule__TaggedStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TaggedStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); } + '#' + { after(grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TaggedStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TaggedStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TaggedStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTaggedStatementAccess().getNameAssignment_1()); } + (rule__TaggedStatement__NameAssignment_1) + { after(grammarAccess.getTaggedStatementAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group__0__Impl + rule__PatternStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAlternatives_1()); } + (rule__PatternStatement__Alternatives_1)? + { after(grammarAccess.getPatternStatementAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__0__Impl + rule__PatternStatement__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__1__Impl + rule__PatternStatement__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__2__Impl + rule__PatternStatement__Group_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_2()); } + (rule__PatternStatement__PatternsAssignment_1_0_2) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__3__Impl + rule__PatternStatement__Group_1_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_0_3()); } + (rule__PatternStatement__Group_1_0_3__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__4__Impl + rule__PatternStatement__Group_1_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); } + ':=' + { after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__5__Impl + rule__PatternStatement__Group_1_0__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_5()); } + (rule__PatternStatement__ValuesAssignment_1_0_5) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_0_6()); } + (rule__PatternStatement__Group_1_0_6__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_0_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0_3__0__Impl + rule__PatternStatement__Group_1_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_3_1()); } + (rule__PatternStatement__PatternsAssignment_1_0_3_1) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_0_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0_6__0__Impl + rule__PatternStatement__Group_1_0_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_0_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_0_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_6_1()); } + (rule__PatternStatement__ValuesAssignment_1_0_6_1) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1__0__Impl + rule__PatternStatement__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); } + ':=' + { after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1__1__Impl + rule__PatternStatement__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_1_2()); } + (rule__PatternStatement__Group_1_1_2__0) + { after(grammarAccess.getPatternStatementAccess().getGroup_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1_2__0__Impl + rule__PatternStatement__Group_1_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_0()); } + (rule__PatternStatement__ValuesAssignment_1_1_2_0) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_1_2_1()); } + (rule__PatternStatement__Group_1_1_2_1__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_1_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1_2_1__0__Impl + rule__PatternStatement__Group_1_1_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_1_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_1_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_1_1()); } + (rule__PatternStatement__ValuesAssignment_1_1_2_1_1) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__0__Impl + rule__PatternStatement__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__1__Impl + rule__PatternStatement__Group_1_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__2__Impl + rule__PatternStatement__Group_1_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_2()); } + (rule__PatternStatement__PatternsAssignment_1_2_2) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__3__Impl + rule__PatternStatement__Group_1_2__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_2_3()); } + (rule__PatternStatement__Group_1_2_3__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__4__Impl + rule__PatternStatement__Group_1_2__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); } + ':=' + { after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__5__Impl + rule__PatternStatement__Group_1_2__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); } + 'any' + { after(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_2_6()); } + (rule__PatternStatement__Group_1_2_6__0)? + { after(grammarAccess.getPatternStatementAccess().getGroup_1_2_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_2_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2_3__0__Impl + rule__PatternStatement__Group_1_2_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_3_1()); } + (rule__PatternStatement__PatternsAssignment_1_2_3_1) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_2_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2_6__0__Impl + rule__PatternStatement__Group_1_2_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); } + 'where' + { after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_2_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_2_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_2_6_1()); } + (rule__PatternStatement__ExpAssignment_1_2_6_1) + { after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_2_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3__0__Impl + rule__PatternStatement__Group_1_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); } + ':=' + { after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3__1__Impl + rule__PatternStatement__Group_1_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3__2__Impl + rule__PatternStatement__Group_1_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); } + 'any' + { after(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_3_3()); } + (rule__PatternStatement__Group_1_3_3__0)? + { after(grammarAccess.getPatternStatementAccess().getGroup_1_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_3_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3_3__0__Impl + rule__PatternStatement__Group_1_3_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); } + 'where' + { after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_3_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_3_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_3_3_1()); } + (rule__PatternStatement__ExpAssignment_1_3_3_1) + { after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_3_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4__0__Impl + rule__PatternStatement__Group_1_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); } + '!' + { after(grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4__1__Impl + rule__PatternStatement__Group_1_4__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4__2__Impl + rule__PatternStatement__Group_1_4__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_2()); } + (rule__PatternStatement__ValuesAssignment_1_4_2) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_4_3()); } + (rule__PatternStatement__Group_1_4_3__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_4_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_4_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4_3__0__Impl + rule__PatternStatement__Group_1_4_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_4_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_4_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_3_1()); } + (rule__PatternStatement__ValuesAssignment_1_4_3_1) + { after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5__0__Impl + rule__PatternStatement__Group_1_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); } + '?' + { after(grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5__1__Impl + rule__PatternStatement__Group_1_5__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1()); } + () + { after(grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5__2__Impl + rule__PatternStatement__Group_1_5__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_2()); } + (rule__PatternStatement__PatternsAssignment_1_5_2) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5__3__Impl + rule__PatternStatement__Group_1_5__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_5_3()); } + (rule__PatternStatement__Group_1_5_3__0)* + { after(grammarAccess.getPatternStatementAccess().getGroup_1_5_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getGroup_1_5_4()); } + (rule__PatternStatement__Group_1_5_4__0)? + { after(grammarAccess.getPatternStatementAccess().getGroup_1_5_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_5_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5_3__0__Impl + rule__PatternStatement__Group_1_5_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); } + ',' + { after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_3_1()); } + (rule__PatternStatement__PatternsAssignment_1_5_3_1) + { after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PatternStatement__Group_1_5_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5_4__0__Impl + rule__PatternStatement__Group_1_5_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); } + 'where' + { after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PatternStatement__Group_1_5_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__Group_1_5_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_5_4_1()); } + (rule__PatternStatement__ExpAssignment_1_5_4_1) + { after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_5_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Pattern__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Pattern__Group_3__0__Impl + rule__Pattern__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); } + '(' + { after(grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Pattern__Group_3__1__Impl + rule__Pattern__Group_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); } + rulePattern + { after(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Group_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Pattern__Group_3__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Pattern__Group_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); } + ')' + { after(grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AnyPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AnyPattern__Group__0__Impl + rule__AnyPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AnyPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAnyPatternAccess().getAnyPatternAction_0()); } + () + { after(grammarAccess.getAnyPatternAccess().getAnyPatternAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AnyPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AnyPattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AnyPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); } + 'any' + { after(grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IntegerPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IntegerPattern__Group__0__Impl + rule__IntegerPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIntegerPatternAccess().getAlternatives_0()); } + (rule__IntegerPattern__Alternatives_0) + { after(grammarAccess.getIntegerPatternAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IntegerPattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIntegerPatternAccess().getValueAssignment_1()); } + (rule__IntegerPattern__ValueAssignment_1) + { after(grammarAccess.getIntegerPatternAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0__0__Impl + rule__IdentifierPattern__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0()); } + () + { after(grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0__1__Impl + rule__IdentifierPattern__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_0_1()); } + (rule__IdentifierPattern__DeclarationAssignment_0_1) + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0__2__Impl + rule__IdentifierPattern__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); } + '(' + { after(grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0__3__Impl + rule__IdentifierPattern__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_0_3()); } + (rule__IdentifierPattern__Group_0_3__0)? + { after(grammarAccess.getIdentifierPatternAccess().getGroup_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); } + ')' + { after(grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0_3__0__Impl + rule__IdentifierPattern__Group_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_0()); } + (rule__IdentifierPattern__ParametersAssignment_0_3_0) + { after(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getGroup_0_3_1()); } + (rule__IdentifierPattern__Group_0_3_1__0)* + { after(grammarAccess.getIdentifierPatternAccess().getGroup_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_0_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0_3_1__0__Impl + rule__IdentifierPattern__Group_0_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); } + ',' + { after(grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_0_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_0_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_1_1()); } + (rule__IdentifierPattern__ParametersAssignment_0_3_1_1) + { after(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1__0__Impl + rule__IdentifierPattern__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_1_0()); } + (rule__IdentifierPattern__DeclarationAssignment_1_0) + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getAlternatives_1_1()); } + (rule__IdentifierPattern__Alternatives_1_1)* + { after(grammarAccess.getIdentifierPatternAccess().getAlternatives_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_0__0__Impl + rule__IdentifierPattern__Group_1_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); } + '[' + { after(grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_0__1__Impl + rule__IdentifierPattern__Group_1_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1()); } + () + { after(grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_0__2__Impl + rule__IdentifierPattern__Group_1_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getIndexAssignment_1_1_0_2()); } + (rule__IdentifierPattern__IndexAssignment_1_1_0_2) + { after(grammarAccess.getIdentifierPatternAccess().getIndexAssignment_1_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); } + ']' + { after(grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierPattern__Group_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_1__0__Impl + rule__IdentifierPattern__Group_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); } + '.' + { after(grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_1__1__Impl + rule__IdentifierPattern__Group_1_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1()); } + () + { after(grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierPattern__Group_1_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__Group_1_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierPatternAccess().getFieldAssignment_1_1_1_2()); } + (rule__IdentifierPattern__FieldAssignment_1_1_1_2) + { after(grammarAccess.getIdentifierPatternAccess().getFieldAssignment_1_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConditionalStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__0__Impl + rule__ConditionalStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); } + 'if' + { after(grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__1__Impl + rule__ConditionalStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getConditionAssignment_1()); } + (rule__ConditionalStatement__ConditionAssignment_1) + { after(grammarAccess.getConditionalStatementAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__2__Impl + rule__ConditionalStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__3__Impl + rule__ConditionalStatement__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getThenAssignment_3()); } + (rule__ConditionalStatement__ThenAssignment_3) + { after(grammarAccess.getConditionalStatementAccess().getThenAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__4__Impl + rule__ConditionalStatement__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getElseifAssignment_4()); } + (rule__ConditionalStatement__ElseifAssignment_4)* + { after(grammarAccess.getConditionalStatementAccess().getElseifAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__5__Impl + rule__ConditionalStatement__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getGroup_5()); } + (rule__ConditionalStatement__Group_5__0)? + { after(grammarAccess.getConditionalStatementAccess().getGroup_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__6__Impl + rule__ConditionalStatement__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); } + 'end' + { after(grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); } + ('if')? + { after(grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConditionalStatement__Group_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group_5__0__Impl + rule__ConditionalStatement__Group_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); } + 'else' + { after(grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConditionalStatement__Group_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__Group_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalStatementAccess().getElseAssignment_5_1()); } + (rule__ConditionalStatement__ElseAssignment_5_1) + { after(grammarAccess.getConditionalStatementAccess().getElseAssignment_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ExtendedConditionalStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExtendedConditionalStatement__Group__0__Impl + rule__ExtendedConditionalStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); } + 'elsif' + { after(grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExtendedConditionalStatement__Group__1__Impl + rule__ExtendedConditionalStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtendedConditionalStatementAccess().getConditionAssignment_1()); } + (rule__ExtendedConditionalStatement__ConditionAssignment_1) + { after(grammarAccess.getExtendedConditionalStatementAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExtendedConditionalStatement__Group__2__Impl + rule__ExtendedConditionalStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); } + 'then' + { after(grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ExtendedConditionalStatement__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getExtendedConditionalStatementAccess().getThenAssignment_3()); } + (rule__ExtendedConditionalStatement__ThenAssignment_3) + { after(grammarAccess.getExtendedConditionalStatementAccess().getThenAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SelectStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group__0__Impl + rule__SelectStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); } + 'select' + { after(grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group__1__Impl + rule__SelectStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getBodyAssignment_1()); } + (rule__SelectStatement__BodyAssignment_1) + { after(grammarAccess.getSelectStatementAccess().getBodyAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group__2__Impl + rule__SelectStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getGroup_2()); } + (rule__SelectStatement__Group_2__0)? + { after(grammarAccess.getSelectStatementAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group__3__Impl + rule__SelectStatement__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getEndKeyword_3()); } + 'end' + { after(grammarAccess.getSelectStatementAccess().getEndKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); } + ('select')? + { after(grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SelectStatement__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group_2__0__Impl + rule__SelectStatement__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); } + '|' + { after(grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group_2__1__Impl + rule__SelectStatement__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getIndexAssignment_2_1()); } + (rule__SelectStatement__IndexAssignment_2_1) + { after(grammarAccess.getSelectStatementAccess().getIndexAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group_2__2__Impl + rule__SelectStatement__Group_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); } + 'in' + { after(grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SelectStatement__Group_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__Group_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSelectStatementAccess().getTypeAssignment_2_3()); } + (rule__SelectStatement__TypeAssignment_2_3) + { after(grammarAccess.getSelectStatementAccess().getTypeAssignment_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__WhileStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__0__Impl + rule__WhileStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); } + 'while' + { after(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__1__Impl + rule__WhileStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getConditionAssignment_1()); } + (rule__WhileStatement__ConditionAssignment_1) + { after(grammarAccess.getWhileStatementAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__2__Impl + rule__WhileStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getDoKeyword_2()); } + 'do' + { after(grammarAccess.getWhileStatementAccess().getDoKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__3__Impl + rule__WhileStatement__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getBodyAssignment_3()); } + (rule__WhileStatement__BodyAssignment_3) + { after(grammarAccess.getWhileStatementAccess().getBodyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__4__Impl + rule__WhileStatement__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getEndKeyword_4()); } + 'end' + { after(grammarAccess.getWhileStatementAccess().getEndKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__WhileStatement__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); } + ('while')? + { after(grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ForeachStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__0__Impl + rule__ForeachStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); } + 'foreach' + { after(grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__1__Impl + rule__ForeachStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getVariableAssignment_1()); } + (rule__ForeachStatement__VariableAssignment_1) + { after(grammarAccess.getForeachStatementAccess().getVariableAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__2__Impl + rule__ForeachStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getDoKeyword_2()); } + 'do' + { after(grammarAccess.getForeachStatementAccess().getDoKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__3__Impl + rule__ForeachStatement__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getBodyAssignment_3()); } + (rule__ForeachStatement__BodyAssignment_3) + { after(grammarAccess.getForeachStatementAccess().getBodyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__4__Impl + rule__ForeachStatement__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getEndKeyword_4()); } + 'end' + { after(grammarAccess.getForeachStatementAccess().getEndKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForeachStatement__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); } + ('foreach')? + { after(grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ToStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ToStatement__Group__0__Impl + rule__ToStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ToStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getToStatementAccess().getToKeyword_0()); } + 'to' + { after(grammarAccess.getToStatementAccess().getToKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ToStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ToStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ToStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getToStatementAccess().getStateAssignment_1()); } + (rule__ToStatement__StateAssignment_1) + { after(grammarAccess.getToStatementAccess().getStateAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CaseStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__0__Impl + rule__CaseStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); } + 'case' + { after(grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__1__Impl + rule__CaseStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getValueAssignment_1()); } + (rule__CaseStatement__ValueAssignment_1) + { after(grammarAccess.getCaseStatementAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__2__Impl + rule__CaseStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getOfKeyword_2()); } + 'of' + { after(grammarAccess.getCaseStatementAccess().getOfKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__3__Impl + rule__CaseStatement__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getPatternAssignment_3()); } + (rule__CaseStatement__PatternAssignment_3) + { after(grammarAccess.getCaseStatementAccess().getPatternAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__4__Impl + rule__CaseStatement__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); } + '->' + { after(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__5__Impl + rule__CaseStatement__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getBodyAssignment_5()); } + (rule__CaseStatement__BodyAssignment_5) + { after(grammarAccess.getCaseStatementAccess().getBodyAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__6__Impl + rule__CaseStatement__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getGroup_6()); } + (rule__CaseStatement__Group_6__0)* + { after(grammarAccess.getCaseStatementAccess().getGroup_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__7__Impl + rule__CaseStatement__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getEndKeyword_7()); } + 'end' + { after(grammarAccess.getCaseStatementAccess().getEndKeyword_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group__8__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); } + ('case')? + { after(grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CaseStatement__Group_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group_6__0__Impl + rule__CaseStatement__Group_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); } + '|' + { after(grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group_6__1__Impl + rule__CaseStatement__Group_6__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getPatternAssignment_6_1()); } + (rule__CaseStatement__PatternAssignment_6_1) + { after(grammarAccess.getCaseStatementAccess().getPatternAssignment_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group_6__2__Impl + rule__CaseStatement__Group_6__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); } + '->' + { after(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CaseStatement__Group_6__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__Group_6__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCaseStatementAccess().getBodyAssignment_6_3()); } + (rule__CaseStatement__BodyAssignment_6_3) + { after(grammarAccess.getCaseStatementAccess().getBodyAssignment_6_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LoopStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopStatement__Group__0__Impl + rule__LoopStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLoopStatementAccess().getLoopStatementAction_0()); } + () + { after(grammarAccess.getLoopStatementAccess().getLoopStatementAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); } + 'loop' + { after(grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OnStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OnStatement__Group__0__Impl + rule__OnStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OnStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOnStatementAccess().getOnKeyword_0()); } + 'on' + { after(grammarAccess.getOnStatementAccess().getOnKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OnStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OnStatement__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OnStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOnStatementAccess().getConditionAssignment_1()); } + (rule__OnStatement__ConditionAssignment_1) + { after(grammarAccess.getOnStatementAccess().getConditionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__WaitStatement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__WaitStatement__Group__0__Impl + rule__WaitStatement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); } + 'wait' + { after(grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__WaitStatement__Group__1__Impl + rule__WaitStatement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWaitStatementAccess().getLeftAssignment_1()); } + (rule__WaitStatement__LeftAssignment_1) + { after(grammarAccess.getWaitStatementAccess().getLeftAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__WaitStatement__Group__2__Impl + rule__WaitStatement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); } + ',' + { after(grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__WaitStatement__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getWaitStatementAccess().getRightAssignment_3()); } + (rule__WaitStatement__RightAssignment_3) + { after(grammarAccess.getWaitStatementAccess().getRightAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Composition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__0__Impl + rule__Composition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getParKeyword_0()); } + 'par' + { after(grammarAccess.getCompositionAccess().getParKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__1__Impl + rule__Composition__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getGroup_1()); } + (rule__Composition__Group_1__0)? + { after(grammarAccess.getCompositionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__2__Impl + rule__Composition__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getBlocksAssignment_2()); } + (rule__Composition__BlocksAssignment_2) + { after(grammarAccess.getCompositionAccess().getBlocksAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__3__Impl + rule__Composition__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getGroup_3()); } + (rule__Composition__Group_3__0)* + { after(grammarAccess.getCompositionAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__4__Impl + rule__Composition__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getEndKeyword_4()); } + 'end' + { after(grammarAccess.getCompositionAccess().getEndKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getParKeyword_5()); } + ('par')? + { after(grammarAccess.getCompositionAccess().getParKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Composition__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group_1__0__Impl + rule__Composition__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getGlobalAssignment_1_0()); } + (rule__Composition__GlobalAssignment_1_0) + { after(grammarAccess.getCompositionAccess().getGlobalAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getInKeyword_1_1()); } + 'in' + { after(grammarAccess.getCompositionAccess().getInKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Composition__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group_3__0__Impl + rule__Composition__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); } + '||' + { after(grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Composition__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositionAccess().getBlocksAssignment_3_1()); } + (rule__Composition__BlocksAssignment_3_1) + { after(grammarAccess.getCompositionAccess().getBlocksAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CompositeBlock__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CompositeBlock__Group__0__Impl + rule__CompositeBlock__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositeBlockAccess().getAlternatives_0()); } + (rule__CompositeBlock__Alternatives_0)? + { after(grammarAccess.getCompositeBlockAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CompositeBlock__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositeBlockAccess().getCompositionAssignment_1()); } + (rule__CompositeBlock__CompositionAssignment_1) + { after(grammarAccess.getCompositeBlockAccess().getCompositionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CompositeBlock__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CompositeBlock__Group_0_0__0__Impl + rule__CompositeBlock__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositeBlockAccess().getLocalAssignment_0_0_0()); } + (rule__CompositeBlock__LocalAssignment_0_0_0) + { after(grammarAccess.getCompositeBlockAccess().getLocalAssignment_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CompositeBlock__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); } + '->' + { after(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InstanceDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceDeclaration__Group__0__Impl + rule__InstanceDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceDeclarationAccess().getAlternatives_0()); } + (rule__InstanceDeclaration__Alternatives_0)? + { after(grammarAccess.getInstanceDeclarationAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceDeclarationAccess().getInstanceAssignment_1()); } + (rule__InstanceDeclaration__InstanceAssignment_1) + { after(grammarAccess.getInstanceDeclarationAccess().getInstanceAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InstanceDeclaration__Group_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceDeclaration__Group_0_0__0__Impl + rule__InstanceDeclaration__Group_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceDeclarationAccess().getLocalAssignment_0_0_0()); } + (rule__InstanceDeclaration__LocalAssignment_0_0_0) + { after(grammarAccess.getInstanceDeclarationAccess().getLocalAssignment_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceDeclaration__Group_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__Group_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); } + '->' + { after(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PortSet__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortSet__Group_1__0__Impl + rule__PortSet__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortSetAccess().getPortsAssignment_1_0()); } + (rule__PortSet__PortsAssignment_1_0) + { after(grammarAccess.getPortSetAccess().getPortsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortSet__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortSetAccess().getGroup_1_1()); } + (rule__PortSet__Group_1_1__0)* + { after(grammarAccess.getPortSetAccess().getGroup_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PortSet__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortSet__Group_1_1__0__Impl + rule__PortSet__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); } + ',' + { after(grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PortSet__Group_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPortSetAccess().getPortsAssignment_1_1_1()); } + (rule__PortSet__PortsAssignment_1_1_1) + { after(grammarAccess.getPortSetAccess().getPortsAssignment_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__0__Impl + rule__ComponentInstance__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getComponentAssignment_0()); } + (rule__ComponentInstance__ComponentAssignment_0) + { after(grammarAccess.getComponentInstanceAccess().getComponentAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__1__Impl + rule__ComponentInstance__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getGroup_1()); } + (rule__ComponentInstance__Group_1__0)? + { after(grammarAccess.getComponentInstanceAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getGroup_2()); } + (rule__ComponentInstance__Group_2__0)? + { after(grammarAccess.getComponentInstanceAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1__0__Impl + rule__ComponentInstance__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); } + '[' + { after(grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1__1__Impl + rule__ComponentInstance__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_1()); } + (rule__ComponentInstance__PortsAssignment_1_1) + { after(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1__2__Impl + rule__ComponentInstance__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getGroup_1_2()); } + (rule__ComponentInstance__Group_1_2__0)* + { after(grammarAccess.getComponentInstanceAccess().getGroup_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); } + ']' + { after(grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1_2__0__Impl + rule__ComponentInstance__Group_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); } + ',' + { after(grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_2_1()); } + (rule__ComponentInstance__PortsAssignment_1_2_1) + { after(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2__0__Impl + rule__ComponentInstance__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); } + '(' + { after(grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2__1__Impl + rule__ComponentInstance__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_1()); } + (rule__ComponentInstance__ParametersAssignment_2_1) + { after(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2__2__Impl + rule__ComponentInstance__Group_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getGroup_2_2()); } + (rule__ComponentInstance__Group_2_2__0)* + { after(grammarAccess.getComponentInstanceAccess().getGroup_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); } + ')' + { after(grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComponentInstance__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2_2__0__Impl + rule__ComponentInstance__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); } + ',' + { after(grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComponentInstance__Group_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_2_1()); } + (rule__ComponentInstance__ParametersAssignment_2_2_1) + { after(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0__0__Impl + rule__QuantifiedExpression__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getAlternatives_0_0()); } + (rule__QuantifiedExpression__Alternatives_0_0) + { after(grammarAccess.getQuantifiedExpressionAccess().getAlternatives_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0__1__Impl + rule__QuantifiedExpression__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getIndexAssignment_0_1()); } + (rule__QuantifiedExpression__IndexAssignment_0_1) + { after(grammarAccess.getQuantifiedExpressionAccess().getIndexAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0__2__Impl + rule__QuantifiedExpression__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_2()); } + (rule__QuantifiedExpression__Group_0_2__0)? + { after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0__3__Impl + rule__QuantifiedExpression__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); } + '.' + { after(grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getChildAssignment_0_4()); } + (rule__QuantifiedExpression__ChildAssignment_0_4) + { after(grammarAccess.getQuantifiedExpressionAccess().getChildAssignment_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedExpression__Group_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_0_0__0__Impl + rule__QuantifiedExpression__Group_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0()); } + () + { after(grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); } + 'all' + { after(grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedExpression__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_0_1__0__Impl + rule__QuantifiedExpression__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0()); } + () + { after(grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); } + 'exists' + { after(grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedExpression__Group_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_2__0__Impl + rule__QuantifiedExpression__Group_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); } + 'in' + { after(grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedExpression__Group_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__Group_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedExpressionAccess().getTypeAssignment_0_2_1()); } + (rule__QuantifiedExpression__TypeAssignment_0_2_1) + { after(grammarAccess.getQuantifiedExpressionAccess().getTypeAssignment_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Conditional__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group__0__Impl + rule__Conditional__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); } + ruleDisjunction + { after(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getGroup_1()); } + (rule__Conditional__Group_1__0)? + { after(grammarAccess.getConditionalAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Conditional__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group_1__0__Impl + rule__Conditional__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); } + '?' + { after(grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group_1__1__Impl + rule__Conditional__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1()); } + () + { after(grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group_1__2__Impl + rule__Conditional__Group_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getThenAssignment_1_2()); } + (rule__Conditional__ThenAssignment_1_2) + { after(grammarAccess.getConditionalAccess().getThenAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group_1__3__Impl + rule__Conditional__Group_1__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getColonKeyword_1_3()); } + ':' + { after(grammarAccess.getConditionalAccess().getColonKeyword_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conditional__Group_1__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__Group_1__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConditionalAccess().getElseAssignment_1_4()); } + (rule__Conditional__ElseAssignment_1_4) + { after(grammarAccess.getConditionalAccess().getElseAssignment_1_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Disjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Disjunction__Group__0__Impl + rule__Disjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); } + ruleImplication + { after(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Disjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctionAccess().getGroup_1()); } + (rule__Disjunction__Group_1__0)* + { after(grammarAccess.getDisjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Disjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Disjunction__Group_1__0__Impl + rule__Disjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Disjunction__Group_1__1__Impl + rule__Disjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); } + 'or' + { after(grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Disjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDisjunctionAccess().getRightAssignment_1_2()); } + (rule__Disjunction__RightAssignment_1_2) + { after(grammarAccess.getDisjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Implication__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Implication__Group__0__Impl + rule__Implication__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); } + ruleConjunction + { after(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Implication__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImplicationAccess().getGroup_1()); } + (rule__Implication__Group_1__0)? + { after(grammarAccess.getImplicationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Implication__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Implication__Group_1__0__Impl + rule__Implication__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0()); } + () + { after(grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Implication__Group_1__1__Impl + rule__Implication__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } + '=>' + { after(grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Implication__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getImplicationAccess().getRightAssignment_1_2()); } + (rule__Implication__RightAssignment_1_2) + { after(grammarAccess.getImplicationAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Conjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conjunction__Group__0__Impl + rule__Conjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); } + ruleComparison + { after(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctionAccess().getGroup_1()); } + (rule__Conjunction__Group_1__0)* + { after(grammarAccess.getConjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Conjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conjunction__Group_1__0__Impl + rule__Conjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conjunction__Group_1__1__Impl + rule__Conjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); } + 'and' + { after(grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Conjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConjunctionAccess().getRightAssignment_1_2()); } + (rule__Conjunction__RightAssignment_1_2) + { after(grammarAccess.getConjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group__0__Impl + rule__Comparison__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); } + ruleAddition + { after(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getGroup_1()); } + (rule__Comparison__Group_1__0)? + { after(grammarAccess.getComparisonAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1__0__Impl + rule__Comparison__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getAlternatives_1_0()); } + (rule__Comparison__Alternatives_1_0) + { after(grammarAccess.getComparisonAccess().getAlternatives_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getRightAssignment_1_1()); } + (rule__Comparison__RightAssignment_1_1) + { after(grammarAccess.getComparisonAccess().getRightAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_0__0__Impl + rule__Comparison__Group_1_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); } + '=' + { after(grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_1__0__Impl + rule__Comparison__Group_1_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); } + '<>' + { after(grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_2__0__Impl + rule__Comparison__Group_1_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); } + '<' + { after(grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_3__0__Impl + rule__Comparison__Group_1_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); } + '<=' + { after(grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_4__0__Impl + rule__Comparison__Group_1_0_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); } + '>' + { after(grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Comparison__Group_1_0_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_5__0__Impl + rule__Comparison__Group_1_0_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0()); } + () + { after(grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Comparison__Group_1_0_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__Group_1_0_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); } + '>=' + { after(grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Addition__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Addition__Group__0__Impl + rule__Addition__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); } + ruleSubstraction + { after(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Addition__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditionAccess().getGroup_1()); } + (rule__Addition__Group_1__0)* + { after(grammarAccess.getAdditionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Addition__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Addition__Group_1__0__Impl + rule__Addition__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0()); } + () + { after(grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Addition__Group_1__1__Impl + rule__Addition__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); } + '+' + { after(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Addition__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAdditionAccess().getRightAssignment_1_2()); } + (rule__Addition__RightAssignment_1_2) + { after(grammarAccess.getAdditionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Substraction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Substraction__Group__0__Impl + rule__Substraction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); } + ruleMultiplication + { after(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Substraction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSubstractionAccess().getGroup_1()); } + (rule__Substraction__Group_1__0)* + { after(grammarAccess.getSubstractionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Substraction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Substraction__Group_1__0__Impl + rule__Substraction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0()); } + () + { after(grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Substraction__Group_1__1__Impl + rule__Substraction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); } + '-' + { after(grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Substraction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSubstractionAccess().getRightAssignment_1_2()); } + (rule__Substraction__RightAssignment_1_2) + { after(grammarAccess.getSubstractionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Multiplication__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Multiplication__Group__0__Impl + rule__Multiplication__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); } + ruleDivision + { after(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Multiplication__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicationAccess().getGroup_1()); } + (rule__Multiplication__Group_1__0)* + { after(grammarAccess.getMultiplicationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Multiplication__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Multiplication__Group_1__0__Impl + rule__Multiplication__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0()); } + () + { after(grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Multiplication__Group_1__1__Impl + rule__Multiplication__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); } + '*' + { after(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Multiplication__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplicationAccess().getRightAssignment_1_2()); } + (rule__Multiplication__RightAssignment_1_2) + { after(grammarAccess.getMultiplicationAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Division__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Division__Group__0__Impl + rule__Division__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); } + ruleModulo + { after(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Division__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDivisionAccess().getGroup_1()); } + (rule__Division__Group_1__0)* + { after(grammarAccess.getDivisionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Division__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Division__Group_1__0__Impl + rule__Division__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); } + () + { after(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Division__Group_1__1__Impl + rule__Division__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); } + '/' + { after(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Division__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); } + (rule__Division__RightAssignment_1_2) + { after(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Modulo__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Modulo__Group__0__Impl + rule__Modulo__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); } + ruleUnaryExpression + { after(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Modulo__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModuloAccess().getGroup_1()); } + (rule__Modulo__Group_1__0)* + { after(grammarAccess.getModuloAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Modulo__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Modulo__Group_1__0__Impl + rule__Modulo__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModuloAccess().getModuloLeftAction_1_0()); } + () + { after(grammarAccess.getModuloAccess().getModuloLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Modulo__Group_1__1__Impl + rule__Modulo__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); } + '%' + { after(grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Modulo__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getModuloAccess().getRightAssignment_1_2()); } + (rule__Modulo__RightAssignment_1_2) + { after(grammarAccess.getModuloAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0__0__Impl + rule__UnaryExpression__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getAlternatives_0_0()); } + (rule__UnaryExpression__Alternatives_0_0) + { after(grammarAccess.getUnaryExpressionAccess().getAlternatives_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getChildAssignment_0_1()); } + (rule__UnaryExpression__ChildAssignment_0_1) + { after(grammarAccess.getUnaryExpressionAccess().getChildAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_0__0__Impl + rule__UnaryExpression__Group_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); } + '+' + { after(grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_1__0__Impl + rule__UnaryExpression__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); } + '-' + { after(grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_2__0__Impl + rule__UnaryExpression__Group_0_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); } + 'not' + { after(grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_3__0__Impl + rule__UnaryExpression__Group_0_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); } + 'first' + { after(grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_4__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_4__0__Impl + rule__UnaryExpression__Group_0_0_4__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_4__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_4__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_4__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_4__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); } + 'length' + { after(grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_5__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_5__0__Impl + rule__UnaryExpression__Group_0_0_5__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_5__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_5__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_5__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_5__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); } + '$' + { after(grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_6__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_6__0__Impl + rule__UnaryExpression__Group_0_0_6__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_6__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_6__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_6__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_6__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); } + 'full' + { after(grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_7__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_7__0__Impl + rule__UnaryExpression__Group_0_0_7__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_7__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_7__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_7__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_7__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); } + 'dequeue' + { after(grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryExpression__Group_0_0_8__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_8__0__Impl + rule__UnaryExpression__Group_0_0_8__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_8__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0()); } + () + { after(grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_8__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryExpression__Group_0_0_8__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__Group_0_0_8__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); } + 'empty' + { after(grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Projection__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Projection__Group__0__Impl + rule__Projection__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); } + ruleAtomicExpression + { after(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Projection__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProjectionAccess().getGroup_1()); } + (rule__Projection__Group_1__0)? + { after(grammarAccess.getProjectionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Projection__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Projection__Group_1__0__Impl + rule__Projection__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0()); } + () + { after(grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Projection__Group_1__1__Impl + rule__Projection__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); } + '^' + { after(grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Projection__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getProjectionAccess().getFieldAssignment_1_2()); } + (rule__Projection__FieldAssignment_1_2) + { after(grammarAccess.getProjectionAccess().getFieldAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AtomicExpression__Group_8__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicExpression__Group_8__0__Impl + rule__AtomicExpression__Group_8__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Group_8__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); } + '(' + { after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Group_8__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicExpression__Group_8__1__Impl + rule__AtomicExpression__Group_8__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Group_8__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); } + ruleExpression + { after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Group_8__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicExpression__Group_8__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicExpression__Group_8__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); } + ')' + { after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ReferenceExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ReferenceExpression__Group__0__Impl + rule__ReferenceExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ReferenceExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); } + '&' + { after(grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ReferenceExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ReferenceExpression__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ReferenceExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getReferenceExpressionAccess().getDeclarationAssignment_1()); } + (rule__ReferenceExpression__DeclarationAssignment_1) + { after(grammarAccess.getReferenceExpressionAccess().getDeclarationAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0__0__Impl + rule__IdentifierExpression__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0()); } + () + { after(grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0__1__Impl + rule__IdentifierExpression__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_0_1()); } + (rule__IdentifierExpression__DeclarationAssignment_0_1) + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0__2__Impl + rule__IdentifierExpression__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); } + '(' + { after(grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0__3__Impl + rule__IdentifierExpression__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3()); } + (rule__IdentifierExpression__Group_0_3__0)? + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); } + ')' + { after(grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0_3__0__Impl + rule__IdentifierExpression__Group_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_0()); } + (rule__IdentifierExpression__ParametersAssignment_0_3_0) + { after(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3_1()); } + (rule__IdentifierExpression__Group_0_3_1__0)* + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_0_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0_3_1__0__Impl + rule__IdentifierExpression__Group_0_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); } + ',' + { after(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_0_3_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_0_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_1_1()); } + (rule__IdentifierExpression__ParametersAssignment_0_3_1_1) + { after(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1__0__Impl + rule__IdentifierExpression__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_1_0()); } + (rule__IdentifierExpression__DeclarationAssignment_1_0) + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getAlternatives_1_1()); } + (rule__IdentifierExpression__Alternatives_1_1)* + { after(grammarAccess.getIdentifierExpressionAccess().getAlternatives_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0__0__Impl + rule__IdentifierExpression__Group_1_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); } + '[' + { after(grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0__1__Impl + rule__IdentifierExpression__Group_1_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1()); } + () + { after(grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0__2__Impl + rule__IdentifierExpression__Group_1_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_2()); } + (rule__IdentifierExpression__IndexesAssignment_1_1_0_2) + { after(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0__3__Impl + rule__IdentifierExpression__Group_1_1_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0_3()); } + (rule__IdentifierExpression__Group_1_1_0_3__0)* + { after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); } + ']' + { after(grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_1_1_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0_3__0__Impl + rule__IdentifierExpression__Group_1_1_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); } + ',' + { after(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_3_1()); } + (rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1) + { after(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__IdentifierExpression__Group_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_1__0__Impl + rule__IdentifierExpression__Group_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); } + '.' + { after(grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_1__1__Impl + rule__IdentifierExpression__Group_1_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1()); } + () + { after(grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__IdentifierExpression__Group_1_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__Group_1_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getIdentifierExpressionAccess().getFieldAssignment_1_1_1_2()); } + (rule__IdentifierExpression__FieldAssignment_1_1_1_2) + { after(grammarAccess.getIdentifierExpressionAccess().getFieldAssignment_1_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group__0__Impl + rule__RecordExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); } + '{' + { after(grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group__1__Impl + rule__RecordExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_1()); } + (rule__RecordExpression__FieldsAssignment_1) + { after(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group__2__Impl + rule__RecordExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getGroup_2()); } + (rule__RecordExpression__Group_2__0)* + { after(grammarAccess.getRecordExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); } + '}' + { after(grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__RecordExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group_2__0__Impl + rule__RecordExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); } + ',' + { after(grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__RecordExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_2_1()); } + (rule__RecordExpression__FieldsAssignment_2_1) + { after(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FieldExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FieldExpression__Group__0__Impl + rule__FieldExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFieldExpressionAccess().getFieldAssignment_0()); } + (rule__FieldExpression__FieldAssignment_0) + { after(grammarAccess.getFieldExpressionAccess().getFieldAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FieldExpression__Group__1__Impl + rule__FieldExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); } + '=' + { after(grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FieldExpression__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFieldExpressionAccess().getValueAssignment_2()); } + (rule__FieldExpression__ValueAssignment_2) + { after(grammarAccess.getFieldExpressionAccess().getValueAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group__0__Impl + rule__ArrayExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0()); } + () + { after(grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group__1__Impl + rule__ArrayExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group__2__Impl + rule__ArrayExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getGroup_2()); } + (rule__ArrayExpression__Group_2__0)? + { after(grammarAccess.getArrayExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group_2__0__Impl + rule__ArrayExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_0()); } + (rule__ArrayExpression__ValuesAssignment_2_0) + { after(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); } + (rule__ArrayExpression__Group_2_1__0)* + { after(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayExpression__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group_2_1__0__Impl + rule__ArrayExpression__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayExpression__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_1_1()); } + (rule__ArrayExpression__ValuesAssignment_2_1_1) + { after(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QueueExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group__0__Impl + rule__QueueExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0()); } + () + { after(grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group__1__Impl + rule__QueueExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); } + '{|' + { after(grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group__2__Impl + rule__QueueExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getGroup_2()); } + (rule__QueueExpression__Group_2__0)? + { after(grammarAccess.getQueueExpressionAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); } + '|}' + { after(grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QueueExpression__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group_2__0__Impl + rule__QueueExpression__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_0()); } + (rule__QueueExpression__ValuesAssignment_2_0) + { after(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getGroup_2_1()); } + (rule__QueueExpression__Group_2_1__0)* + { after(grammarAccess.getQueueExpressionAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QueueExpression__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group_2_1__0__Impl + rule__QueueExpression__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QueueExpression__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_1_1()); } + (rule__QueueExpression__ValuesAssignment_2_1_1) + { after(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__EnqueueExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__0__Impl + rule__EnqueueExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); } + 'enqueue' + { after(grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__1__Impl + rule__EnqueueExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__2__Impl + rule__EnqueueExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getElementAssignment_2()); } + (rule__EnqueueExpression__ElementAssignment_2) + { after(grammarAccess.getEnqueueExpressionAccess().getElementAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__3__Impl + rule__EnqueueExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); } + ',' + { after(grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__4__Impl + rule__EnqueueExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getQueueAssignment_4()); } + (rule__EnqueueExpression__QueueAssignment_4) + { after(grammarAccess.getEnqueueExpressionAccess().getQueueAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnqueueExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AppendExpression__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__0__Impl + rule__AppendExpression__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); } + 'append' + { after(grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__1__Impl + rule__AppendExpression__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__2__Impl + rule__AppendExpression__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getLeftAssignment_2()); } + (rule__AppendExpression__LeftAssignment_2) + { after(grammarAccess.getAppendExpressionAccess().getLeftAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__3__Impl + rule__AppendExpression__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); } + ',' + { after(grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__4__Impl + rule__AppendExpression__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getRightAssignment_4()); } + (rule__AppendExpression__RightAssignment_4) + { after(grammarAccess.getAppendExpressionAccess().getRightAssignment_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__AppendExpression__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); } + ')' + { after(grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BooleanLiteral__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteral__Group_0__0__Impl + rule__BooleanLiteral__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0()); } + () + { after(grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteral__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); } + 'true' + { after(grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BooleanLiteral__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteral__Group_1__0__Impl + rule__BooleanLiteral__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0()); } + () + { after(grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteral__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteral__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); } + 'false' + { after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NaturalLowerBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NaturalLowerBound__Group__0__Impl + rule__NaturalLowerBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNaturalLowerBoundAccess().getAlternatives_0()); } + (rule__NaturalLowerBound__Alternatives_0) + { after(grammarAccess.getNaturalLowerBoundAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NaturalLowerBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNaturalLowerBoundAccess().getValueAssignment_1()); } + (rule__NaturalLowerBound__ValueAssignment_1) + { after(grammarAccess.getNaturalLowerBoundAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NaturalUpperBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NaturalUpperBound__Group__0__Impl + rule__NaturalUpperBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNaturalUpperBoundAccess().getValueAssignment_0()); } + (rule__NaturalUpperBound__ValueAssignment_0) + { after(grammarAccess.getNaturalUpperBoundAccess().getValueAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NaturalUpperBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNaturalUpperBoundAccess().getAlternatives_1()); } + (rule__NaturalUpperBound__Alternatives_1) + { after(grammarAccess.getNaturalUpperBoundAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DecimalLowerBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DecimalLowerBound__Group__0__Impl + rule__DecimalLowerBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDecimalLowerBoundAccess().getAlternatives_0()); } + (rule__DecimalLowerBound__Alternatives_0) + { after(grammarAccess.getDecimalLowerBoundAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DecimalLowerBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDecimalLowerBoundAccess().getValueAssignment_1()); } + (rule__DecimalLowerBound__ValueAssignment_1) + { after(grammarAccess.getDecimalLowerBoundAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DecimalUpperBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DecimalUpperBound__Group__0__Impl + rule__DecimalUpperBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDecimalUpperBoundAccess().getValueAssignment_0()); } + (rule__DecimalUpperBound__ValueAssignment_0) + { after(grammarAccess.getDecimalUpperBoundAccess().getValueAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DecimalUpperBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDecimalUpperBoundAccess().getAlternatives_1()); } + (rule__DecimalUpperBound__Alternatives_1) + { after(grammarAccess.getDecimalUpperBoundAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__VariableLowerBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariableLowerBound__Group__0__Impl + rule__VariableLowerBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariableLowerBoundAccess().getAlternatives_0()); } + (rule__VariableLowerBound__Alternatives_0) + { after(grammarAccess.getVariableLowerBoundAccess().getAlternatives_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariableLowerBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariableLowerBoundAccess().getVariableAssignment_1()); } + (rule__VariableLowerBound__VariableAssignment_1) + { after(grammarAccess.getVariableLowerBoundAccess().getVariableAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__VariableUpperBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariableUpperBound__Group__0__Impl + rule__VariableUpperBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariableUpperBoundAccess().getVariableAssignment_0()); } + (rule__VariableUpperBound__VariableAssignment_0) + { after(grammarAccess.getVariableUpperBoundAccess().getVariableAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__VariableUpperBound__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getVariableUpperBoundAccess().getAlternatives_1()); } + (rule__VariableUpperBound__Alternatives_1) + { after(grammarAccess.getVariableUpperBoundAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfiniteUpperBound__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfiniteUpperBound__Group__0__Impl + rule__InfiniteUpperBound__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfiniteUpperBound__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0()); } + () + { after(grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfiniteUpperBound__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfiniteUpperBound__Group__1__Impl + rule__InfiniteUpperBound__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfiniteUpperBound__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); } + '...' + { after(grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfiniteUpperBound__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfiniteUpperBound__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfiniteUpperBound__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); } + '[' + { after(grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Requirement__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group__0__Impl + rule__Requirement__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getAssertKeyword_0()); } + 'assert' + { after(grammarAccess.getRequirementAccess().getAssertKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group__1__Impl + rule__Requirement__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getPropertyAssignment_1()); } + (rule__Requirement__PropertyAssignment_1) + { after(grammarAccess.getRequirementAccess().getPropertyAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group__2__Impl + rule__Requirement__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getGroup_2()); } + (rule__Requirement__Group_2__0)? + { after(grammarAccess.getRequirementAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getGroup_3()); } + (rule__Requirement__Group_3__0)? + { after(grammarAccess.getRequirementAccess().getGroup_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Requirement__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group_2__0__Impl + rule__Requirement__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); } + '-true' + { after(grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getPositiveAssignment_2_1()); } + (rule__Requirement__PositiveAssignment_2_1) + { after(grammarAccess.getRequirementAccess().getPositiveAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Requirement__Group_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group_3__0__Impl + rule__Requirement__Group_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); } + '-false' + { after(grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Requirement__Group_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__Group_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getRequirementAccess().getNegativeAssignment_3_1()); } + (rule__Requirement__NegativeAssignment_3_1) + { after(grammarAccess.getRequirementAccess().getNegativeAssignment_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDeclaration__Group__0__Impl + rule__PropertyDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); } + 'property' + { after(grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDeclaration__Group__1__Impl + rule__PropertyDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDeclarationAccess().getNameAssignment_1()); } + (rule__PropertyDeclaration__NameAssignment_1) + { after(grammarAccess.getPropertyDeclarationAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDeclaration__Group__2__Impl + rule__PropertyDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); } + 'is' + { after(grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDeclaration__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDeclarationAccess().getPropertyAssignment_3()); } + (rule__PropertyDeclaration__PropertyAssignment_3) + { after(grammarAccess.getPropertyDeclarationAccess().getPropertyAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedProperty__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__0__Impl + rule__QuantifiedProperty__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getAlternatives_0_0()); } + (rule__QuantifiedProperty__Alternatives_0_0) + { after(grammarAccess.getQuantifiedPropertyAccess().getAlternatives_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__1__Impl + rule__QuantifiedProperty__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getVariableAssignment_0_1()); } + (rule__QuantifiedProperty__VariableAssignment_0_1) + { after(grammarAccess.getQuantifiedPropertyAccess().getVariableAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__2__Impl + rule__QuantifiedProperty__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); } + 'in' + { after(grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__3__Impl + rule__QuantifiedProperty__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getTypeAssignment_0_3()); } + (rule__QuantifiedProperty__TypeAssignment_0_3) + { after(grammarAccess.getQuantifiedPropertyAccess().getTypeAssignment_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__4__Impl + rule__QuantifiedProperty__Group_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); } + '.' + { after(grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getChildAssignment_0_5()); } + (rule__QuantifiedProperty__ChildAssignment_0_5) + { after(grammarAccess.getQuantifiedPropertyAccess().getChildAssignment_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedProperty__Group_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0_0_0__0__Impl + rule__QuantifiedProperty__Group_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0()); } + () + { after(grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); } + 'all' + { after(grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__QuantifiedProperty__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0_0_1__0__Impl + rule__QuantifiedProperty__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0()); } + () + { after(grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__QuantifiedProperty__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); } + 'exists' + { after(grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyDisjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDisjunction__Group__0__Impl + rule__PropertyDisjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); } + rulePropertyImplication + { after(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDisjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDisjunctionAccess().getGroup_1()); } + (rule__PropertyDisjunction__Group_1__0)* + { after(grammarAccess.getPropertyDisjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyDisjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDisjunction__Group_1__0__Impl + rule__PropertyDisjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDisjunction__Group_1__1__Impl + rule__PropertyDisjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); } + 'or' + { after(grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyDisjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyDisjunctionAccess().getRightAssignment_1_2()); } + (rule__PropertyDisjunction__RightAssignment_1_2) + { after(grammarAccess.getPropertyDisjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyImplication__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyImplication__Group__0__Impl + rule__PropertyImplication__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); } + rulePropertyConjunction + { after(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyImplication__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyImplicationAccess().getGroup_1()); } + (rule__PropertyImplication__Group_1__0)? + { after(grammarAccess.getPropertyImplicationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyImplication__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyImplication__Group_1__0__Impl + rule__PropertyImplication__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0()); } + () + { after(grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyImplication__Group_1__1__Impl + rule__PropertyImplication__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } + '=>' + { after(grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyImplication__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyImplicationAccess().getRightAssignment_1_2()); } + (rule__PropertyImplication__RightAssignment_1_2) + { after(grammarAccess.getPropertyImplicationAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyConjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyConjunction__Group__0__Impl + rule__PropertyConjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); } + rulePropertyNegation + { after(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyConjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyConjunctionAccess().getGroup_1()); } + (rule__PropertyConjunction__Group_1__0)* + { after(grammarAccess.getPropertyConjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyConjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyConjunction__Group_1__0__Impl + rule__PropertyConjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyConjunction__Group_1__1__Impl + rule__PropertyConjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); } + 'and' + { after(grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyConjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyConjunctionAccess().getRightAssignment_1_2()); } + (rule__PropertyConjunction__RightAssignment_1_2) + { after(grammarAccess.getPropertyConjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PropertyNegation__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyNegation__Group_0__0__Impl + rule__PropertyNegation__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0()); } + () + { after(grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyNegation__Group_0__1__Impl + rule__PropertyNegation__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); } + 'not' + { after(grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PropertyNegation__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPropertyNegationAccess().getChildAssignment_0_2()); } + (rule__PropertyNegation__ChildAssignment_0_2) + { after(grammarAccess.getPropertyNegationAccess().getChildAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AtomicProperty__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicProperty__Group_1__0__Impl + rule__AtomicProperty__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); } + '(' + { after(grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicProperty__Group_1__1__Impl + rule__AtomicProperty__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); } + ruleProperty + { after(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicProperty__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicProperty__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); } + ')' + { after(grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLPattern__Group__0__Impl + rule__LTLPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); } + 'ltl' + { after(grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLPattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLPatternAccess().getPropertyAssignment_1()); } + (rule__LTLPattern__PropertyAssignment_1) + { after(grammarAccess.getLTLPatternAccess().getPropertyAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DeadlockFreePattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DeadlockFreePattern__Group__0__Impl + rule__DeadlockFreePattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DeadlockFreePattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0()); } + () + { after(grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DeadlockFreePattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DeadlockFreePattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DeadlockFreePattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); } + 'deadlockfree' + { after(grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InfinitelyOftenPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfinitelyOftenPattern__Group__0__Impl + rule__InfinitelyOftenPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InfinitelyOftenPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); } + 'infinitelyoften' + { after(grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfinitelyOftenPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InfinitelyOftenPattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InfinitelyOftenPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAssignment_1()); } + (rule__InfinitelyOftenPattern__SubjectAssignment_1) + { after(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MortalPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MortalPattern__Group__0__Impl + rule__MortalPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MortalPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); } + 'mortal' + { after(grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MortalPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MortalPattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MortalPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMortalPatternAccess().getSubjectAssignment_1()); } + (rule__MortalPattern__SubjectAssignment_1) + { after(grammarAccess.getMortalPatternAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group__0__Impl + rule__PresencePattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); } + 'present' + { after(grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group__1__Impl + rule__PresencePattern__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getSubjectAssignment_1()); } + (rule__PresencePattern__SubjectAssignment_1) + { after(grammarAccess.getPresencePatternAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getAlternatives_2()); } + (rule__PresencePattern__Alternatives_2)? + { after(grammarAccess.getPresencePatternAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_0__0__Impl + rule__PresencePattern__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); } + 'lasting' + { after(grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getLastingAssignment_2_0_1()); } + (rule__PresencePattern__LastingAssignment_2_0_1) + { after(grammarAccess.getPresencePatternAccess().getLastingAssignment_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1__0__Impl + rule__PresencePattern__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_1_0()); } + (rule__PresencePattern__Group_2_1_0__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getAlternatives_2_1_1()); } + (rule__PresencePattern__Alternatives_2_1_1)? + { after(grammarAccess.getPresencePatternAccess().getAlternatives_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_0__0__Impl + rule__PresencePattern__Group_2_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); } + 'after' + { after(grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getAfterAssignment_2_1_0_1()); } + (rule__PresencePattern__AfterAssignment_2_1_0_1) + { after(grammarAccess.getPresencePatternAccess().getAfterAssignment_2_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_1_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_0__0__Impl + rule__PresencePattern__Group_2_1_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); } + 'within' + { after(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_0__1__Impl + rule__PresencePattern__Group_2_1_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_1_1_0_1()); } + (rule__PresencePattern__LowerAssignment_2_1_1_0_1) + { after(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_1_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_0__2__Impl + rule__PresencePattern__Group_2_1_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); } + ',' + { after(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_1_1_0_3()); } + (rule__PresencePattern__UpperAssignment_2_1_1_0_3) + { after(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_1_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_1_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_1__0__Impl + rule__PresencePattern__Group_2_1_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); } + 'until' + { after(grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_1_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_1_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getUntilAssignment_2_1_1_1_1()); } + (rule__PresencePattern__UntilAssignment_2_1_1_1_1) + { after(grammarAccess.getPresencePatternAccess().getUntilAssignment_2_1_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2__0__Impl + rule__PresencePattern__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_2_0()); } + (rule__PresencePattern__Group_2_2_0__0) + { after(grammarAccess.getPresencePatternAccess().getGroup_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getGroup_2_2_1()); } + (rule__PresencePattern__Group_2_2_1__0)? + { after(grammarAccess.getPresencePatternAccess().getGroup_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_0__0__Impl + rule__PresencePattern__Group_2_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); } + 'before' + { after(grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getBeforeAssignment_2_2_0_1()); } + (rule__PresencePattern__BeforeAssignment_2_2_0_1) + { after(grammarAccess.getPresencePatternAccess().getBeforeAssignment_2_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_1__0__Impl + rule__PresencePattern__Group_2_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); } + 'within' + { after(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_1__1__Impl + rule__PresencePattern__Group_2_2_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_2_1_1()); } + (rule__PresencePattern__LowerAssignment_2_2_1_1) + { after(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_1__2__Impl + rule__PresencePattern__Group_2_2_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); } + ',' + { after(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_2_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_2_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_2_1_3()); } + (rule__PresencePattern__UpperAssignment_2_2_1_3) + { after(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_2_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PresencePattern__Group_2_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_3__0__Impl + rule__PresencePattern__Group_2_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); } + 'between' + { after(grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_3__1__Impl + rule__PresencePattern__Group_2_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getMinAssignment_2_3_1()); } + (rule__PresencePattern__MinAssignment_2_3_1) + { after(grammarAccess.getPresencePatternAccess().getMinAssignment_2_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_3__2__Impl + rule__PresencePattern__Group_2_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); } + 'and' + { after(grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__PresencePattern__Group_2_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__Group_2_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPresencePatternAccess().getMaxAssignment_2_3_3()); } + (rule__PresencePattern__MaxAssignment_2_3_3) + { after(grammarAccess.getPresencePatternAccess().getMaxAssignment_2_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group__0__Impl + rule__AbsencePattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); } + 'absent' + { after(grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group__1__Impl + rule__AbsencePattern__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getSubjectAssignment_1()); } + (rule__AbsencePattern__SubjectAssignment_1) + { after(grammarAccess.getAbsencePatternAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAlternatives_2()); } + (rule__AbsencePattern__Alternatives_2)? + { after(grammarAccess.getAbsencePatternAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0__0__Impl + rule__AbsencePattern__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_0()); } + (rule__AbsencePattern__Group_2_0_0__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAlternatives_2_0_1()); } + (rule__AbsencePattern__Alternatives_2_0_1)? + { after(grammarAccess.getAbsencePatternAccess().getAlternatives_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_0__0__Impl + rule__AbsencePattern__Group_2_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); } + 'after' + { after(grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAfterAssignment_2_0_0_1()); } + (rule__AbsencePattern__AfterAssignment_2_0_0_1) + { after(grammarAccess.getAbsencePatternAccess().getAfterAssignment_2_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_0_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_0__0__Impl + rule__AbsencePattern__Group_2_0_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); } + 'within' + { after(grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_0__1__Impl + rule__AbsencePattern__Group_2_0_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_0_1_0_1()); } + (rule__AbsencePattern__LowerAssignment_2_0_1_0_1) + { after(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_0_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_0__2__Impl + rule__AbsencePattern__Group_2_0_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); } + ',' + { after(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_0_1_0_3()); } + (rule__AbsencePattern__UpperAssignment_2_0_1_0_3) + { after(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_0_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_0_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_1__0__Impl + rule__AbsencePattern__Group_2_0_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); } + 'until' + { after(grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_0_1_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_0_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getUntilAssignment_2_0_1_1_1()); } + (rule__AbsencePattern__UntilAssignment_2_0_1_1_1) + { after(grammarAccess.getAbsencePatternAccess().getUntilAssignment_2_0_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1__0__Impl + rule__AbsencePattern__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_1_0()); } + (rule__AbsencePattern__Group_2_1_0__0) + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getGroup_2_1_1()); } + (rule__AbsencePattern__Group_2_1_1__0)? + { after(grammarAccess.getAbsencePatternAccess().getGroup_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_0__0__Impl + rule__AbsencePattern__Group_2_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); } + 'before' + { after(grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getBeforeAssignment_2_1_0_1()); } + (rule__AbsencePattern__BeforeAssignment_2_1_0_1) + { after(grammarAccess.getAbsencePatternAccess().getBeforeAssignment_2_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_1__0__Impl + rule__AbsencePattern__Group_2_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); } + 'for' + { after(grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_1__1__Impl + rule__AbsencePattern__Group_2_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_1_1_1()); } + (rule__AbsencePattern__LowerAssignment_2_1_1_1) + { after(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_1__2__Impl + rule__AbsencePattern__Group_2_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); } + ',' + { after(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_1_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_1_1_3()); } + (rule__AbsencePattern__UpperAssignment_2_1_1_3) + { after(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AbsencePattern__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_2__0__Impl + rule__AbsencePattern__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); } + 'between' + { after(grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_2__1__Impl + rule__AbsencePattern__Group_2_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getMinAssignment_2_2_1()); } + (rule__AbsencePattern__MinAssignment_2_2_1) + { after(grammarAccess.getAbsencePatternAccess().getMinAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_2__2__Impl + rule__AbsencePattern__Group_2_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); } + 'and' + { after(grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AbsencePattern__Group_2_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__Group_2_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAbsencePatternAccess().getMaxAssignment_2_2_3()); } + (rule__AbsencePattern__MaxAssignment_2_2_3) + { after(grammarAccess.getAbsencePatternAccess().getMaxAssignment_2_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AlwaysPattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group__0__Impl + rule__AlwaysPattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); } + 'always' + { after(grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group__1__Impl + rule__AlwaysPattern__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getSubjectAssignment_1()); } + (rule__AlwaysPattern__SubjectAssignment_1) + { after(grammarAccess.getAlwaysPatternAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getAlternatives_2()); } + (rule__AlwaysPattern__Alternatives_2)? + { after(grammarAccess.getAlwaysPatternAccess().getAlternatives_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AlwaysPattern__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_0__0__Impl + rule__AlwaysPattern__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); } + 'before' + { after(grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getBeforeAssignment_2_0_1()); } + (rule__AlwaysPattern__BeforeAssignment_2_0_1) + { after(grammarAccess.getAlwaysPatternAccess().getBeforeAssignment_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AlwaysPattern__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_1__0__Impl + rule__AlwaysPattern__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); } + 'after' + { after(grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_1__1__Impl + rule__AlwaysPattern__Group_2_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getAfterAssignment_2_1_1()); } + (rule__AlwaysPattern__AfterAssignment_2_1_1) + { after(grammarAccess.getAlwaysPatternAccess().getAfterAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getGroup_2_1_2()); } + (rule__AlwaysPattern__Group_2_1_2__0)? + { after(grammarAccess.getAlwaysPatternAccess().getGroup_2_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AlwaysPattern__Group_2_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_1_2__0__Impl + rule__AlwaysPattern__Group_2_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); } + 'until' + { after(grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getUntilAssignment_2_1_2_1()); } + (rule__AlwaysPattern__UntilAssignment_2_1_2_1) + { after(grammarAccess.getAlwaysPatternAccess().getUntilAssignment_2_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AlwaysPattern__Group_2_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_2__0__Impl + rule__AlwaysPattern__Group_2_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); } + 'between' + { after(grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_2__1__Impl + rule__AlwaysPattern__Group_2_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getMinAssignment_2_2_1()); } + (rule__AlwaysPattern__MinAssignment_2_2_1) + { after(grammarAccess.getAlwaysPatternAccess().getMinAssignment_2_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_2__2__Impl + rule__AlwaysPattern__Group_2_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); } + 'and' + { after(grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AlwaysPattern__Group_2_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__Group_2_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAlwaysPatternAccess().getMaxAssignment_2_2_3()); } + (rule__AlwaysPattern__MaxAssignment_2_2_3) + { after(grammarAccess.getAlwaysPatternAccess().getMaxAssignment_2_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group__0__Impl + rule__SequencePattern__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAlternatives_1()); } + (rule__SequencePattern__Alternatives_1) + { after(grammarAccess.getSequencePatternAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0__0__Impl + rule__SequencePattern__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); } + 'leadsto' + { after(grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0__1__Impl + rule__SequencePattern__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1()); } + () + { after(grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0__2__Impl + rule__SequencePattern__Group_1_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_0_2()); } + (rule__SequencePattern__FollowerAssignment_1_0_2) + { after(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3()); } + (rule__SequencePattern__Alternatives_1_0_3)? + { after(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0__0__Impl + rule__SequencePattern__Group_1_0_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); } + 'before' + { after(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0__1__Impl + rule__SequencePattern__Group_1_0_3_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_0_3_0_1()); } + (rule__SequencePattern__BeforeAssignment_1_0_3_0_1) + { after(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_0_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0_2()); } + (rule__SequencePattern__Group_1_0_3_0_2__0)? + { after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0_2__0__Impl + rule__SequencePattern__Group_1_0_3_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); } + 'within' + { after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0_2__1__Impl + rule__SequencePattern__Group_1_0_3_0_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_0_2_1()); } + (rule__SequencePattern__LowerAssignment_1_0_3_0_2_1) + { after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0_2__2__Impl + rule__SequencePattern__Group_1_0_3_0_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); } + ',' + { after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_0_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_0_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_0_2_3()); } + (rule__SequencePattern__UpperAssignment_1_0_3_0_2_3) + { after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_0_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_1__0__Impl + rule__SequencePattern__Group_1_0_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); } + 'within' + { after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_1__1__Impl + rule__SequencePattern__Group_1_0_3_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_1_1()); } + (rule__SequencePattern__LowerAssignment_1_0_3_1_1) + { after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_1__2__Impl + rule__SequencePattern__Group_1_0_3_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); } + ',' + { after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_1_3()); } + (rule__SequencePattern__UpperAssignment_1_0_3_1_3) + { after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2__0__Impl + rule__SequencePattern__Group_1_0_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); } + 'after' + { after(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2__1__Impl + rule__SequencePattern__Group_1_0_3_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_0_3_2_1()); } + (rule__SequencePattern__AfterAssignment_1_0_3_2_1) + { after(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_0_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3_2_2()); } + (rule__SequencePattern__Alternatives_1_0_3_2_2)? + { after(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_2_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl + rule__SequencePattern__Group_1_0_3_2_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); } + 'within' + { after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl + rule__SequencePattern__Group_1_0_3_2_2_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_2_2_0_1()); } + (rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1) + { after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_2_2_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl + rule__SequencePattern__Group_1_0_3_2_2_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); } + ',' + { after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_2_2_0_3()); } + (rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3) + { after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_2_2_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_2_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl + rule__SequencePattern__Group_1_0_3_2_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); } + 'until' + { after(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_0_3_2_2_1_1()); } + (rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1) + { after(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_0_3_2_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_0_3_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_3__0__Impl + rule__SequencePattern__Group_1_0_3_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); } + 'between' + { after(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_3__1__Impl + rule__SequencePattern__Group_1_0_3_3__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getMinAssignment_1_0_3_3_1()); } + (rule__SequencePattern__MinAssignment_1_0_3_3_1) + { after(grammarAccess.getSequencePatternAccess().getMinAssignment_1_0_3_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_3__2__Impl + rule__SequencePattern__Group_1_0_3_3__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); } + 'and' + { after(grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_0_3_3__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_0_3_3__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_0_3_3_3()); } + (rule__SequencePattern__MaxAssignment_1_0_3_3_3) + { after(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_0_3_3_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1__0__Impl + rule__SequencePattern__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); } + 'precedes' + { after(grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1__1__Impl + rule__SequencePattern__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1()); } + () + { after(grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1__2__Impl + rule__SequencePattern__Group_1_1__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_1_2()); } + (rule__SequencePattern__FollowerAssignment_1_1_2) + { after(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAlternatives_1_1_3()); } + (rule__SequencePattern__Alternatives_1_1_3)? + { after(grammarAccess.getSequencePatternAccess().getAlternatives_1_1_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_1_3_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_0__0__Impl + rule__SequencePattern__Group_1_1_3_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); } + 'before' + { after(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_1_3_0_1()); } + (rule__SequencePattern__BeforeAssignment_1_1_3_0_1) + { after(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_1_3_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_1_3_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_1__0__Impl + rule__SequencePattern__Group_1_1_3_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); } + 'after' + { after(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_1__1__Impl + rule__SequencePattern__Group_1_1_3_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_1_3_1_1()); } + (rule__SequencePattern__AfterAssignment_1_1_3_1_1) + { after(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_1_3_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1_2()); } + (rule__SequencePattern__Group_1_1_3_1_2__0)? + { after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_1_3_1_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_1_2__0__Impl + rule__SequencePattern__Group_1_1_3_1_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); } + 'until' + { after(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_1_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_1_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_1_3_1_2_1()); } + (rule__SequencePattern__UntilAssignment_1_1_3_1_2_1) + { after(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_1_3_1_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__SequencePattern__Group_1_1_3_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_2__0__Impl + rule__SequencePattern__Group_1_1_3_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); } + 'between' + { after(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_2__1__Impl + rule__SequencePattern__Group_1_1_3_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getMinAssignment_1_1_3_2_1()); } + (rule__SequencePattern__MinAssignment_1_1_3_2_1) + { after(grammarAccess.getSequencePatternAccess().getMinAssignment_1_1_3_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_2__2__Impl + rule__SequencePattern__Group_1_1_3_2__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); } + 'and' + { after(grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__SequencePattern__Group_1_1_3_2__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__Group_1_1_3_2__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_1_3_2_3()); } + (rule__SequencePattern__MaxAssignment_1_1_3_2_3) + { after(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_1_3_2_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLQuantified__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__0__Impl + rule__LTLQuantified__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getAlternatives_0_0()); } + (rule__LTLQuantified__Alternatives_0_0) + { after(grammarAccess.getLTLQuantifiedAccess().getAlternatives_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__1__Impl + rule__LTLQuantified__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getIndexAssignment_0_1()); } + (rule__LTLQuantified__IndexAssignment_0_1) + { after(grammarAccess.getLTLQuantifiedAccess().getIndexAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__2__Impl + rule__LTLQuantified__Group_0__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); } + 'in' + { after(grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__3__Impl + rule__LTLQuantified__Group_0__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getTypeAssignment_0_3()); } + (rule__LTLQuantified__TypeAssignment_0_3) + { after(grammarAccess.getLTLQuantifiedAccess().getTypeAssignment_0_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__4__Impl + rule__LTLQuantified__Group_0__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); } + '.' + { after(grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getChildAssignment_0_5()); } + (rule__LTLQuantified__ChildAssignment_0_5) + { after(grammarAccess.getLTLQuantifiedAccess().getChildAssignment_0_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLQuantified__Group_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0_0_0__0__Impl + rule__LTLQuantified__Group_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0()); } + () + { after(grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); } + 'all' + { after(grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLQuantified__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0_0_1__0__Impl + rule__LTLQuantified__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0()); } + () + { after(grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLQuantified__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); } + 'exists' + { after(grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLDisjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLDisjunction__Group__0__Impl + rule__LTLDisjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); } + ruleLTLImplication + { after(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLDisjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLDisjunctionAccess().getGroup_1()); } + (rule__LTLDisjunction__Group_1__0)* + { after(grammarAccess.getLTLDisjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLDisjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLDisjunction__Group_1__0__Impl + rule__LTLDisjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLDisjunction__Group_1__1__Impl + rule__LTLDisjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); } + 'or' + { after(grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLDisjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLDisjunctionAccess().getRightAssignment_1_2()); } + (rule__LTLDisjunction__RightAssignment_1_2) + { after(grammarAccess.getLTLDisjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLImplication__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLImplication__Group__0__Impl + rule__LTLImplication__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); } + ruleLTLConjunction + { after(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLImplication__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLImplicationAccess().getGroup_1()); } + (rule__LTLImplication__Group_1__0)? + { after(grammarAccess.getLTLImplicationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLImplication__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLImplication__Group_1__0__Impl + rule__LTLImplication__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0()); } + () + { after(grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLImplication__Group_1__1__Impl + rule__LTLImplication__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } + '=>' + { after(grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLImplication__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLImplicationAccess().getRightAssignment_1_2()); } + (rule__LTLImplication__RightAssignment_1_2) + { after(grammarAccess.getLTLImplicationAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLConjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLConjunction__Group__0__Impl + rule__LTLConjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); } + ruleLTLBinary + { after(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLConjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLConjunctionAccess().getGroup_1()); } + (rule__LTLConjunction__Group_1__0)* + { after(grammarAccess.getLTLConjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLConjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLConjunction__Group_1__0__Impl + rule__LTLConjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLConjunction__Group_1__1__Impl + rule__LTLConjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); } + 'and' + { after(grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLConjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLConjunctionAccess().getRightAssignment_1_2()); } + (rule__LTLConjunction__RightAssignment_1_2) + { after(grammarAccess.getLTLConjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLBinary__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group__0__Impl + rule__LTLBinary__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); } + ruleLTLUnary + { after(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getAlternatives_1()); } + (rule__LTLBinary__Alternatives_1)? + { after(grammarAccess.getLTLBinaryAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLBinary__Group_1_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_0__0__Impl + rule__LTLBinary__Group_1_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0()); } + () + { after(grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_0__1__Impl + rule__LTLBinary__Group_1_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); } + 'until' + { after(grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_0_2()); } + (rule__LTLBinary__RightAssignment_1_0_2) + { after(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLBinary__Group_1_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_1__0__Impl + rule__LTLBinary__Group_1_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0()); } + () + { after(grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_1__1__Impl + rule__LTLBinary__Group_1_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); } + 'release' + { after(grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLBinary__Group_1_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__Group_1_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_1_2()); } + (rule__LTLBinary__RightAssignment_1_1_2) + { after(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLUnary__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0__0__Impl + rule__LTLUnary__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getAlternatives_0_0()); } + (rule__LTLUnary__Alternatives_0_0) + { after(grammarAccess.getLTLUnaryAccess().getAlternatives_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getOperandAssignment_0_1()); } + (rule__LTLUnary__OperandAssignment_0_1) + { after(grammarAccess.getLTLUnaryAccess().getOperandAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLUnary__Group_0_0_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_0__0__Impl + rule__LTLUnary__Group_0_0_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0()); } + () + { after(grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); } + 'not' + { after(grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLUnary__Group_0_0_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_1__0__Impl + rule__LTLUnary__Group_0_0_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0()); } + () + { after(grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); } + 'next' + { after(grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLUnary__Group_0_0_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_2__0__Impl + rule__LTLUnary__Group_0_0_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0()); } + () + { after(grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); } + '[]' + { after(grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LTLUnary__Group_0_0_3__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_3__0__Impl + rule__LTLUnary__Group_0_0_3__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_3__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0()); } + () + { after(grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_3__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LTLUnary__Group_0_0_3__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__Group_0_0_3__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); } + '<>' + { after(grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AtomicLTL__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicLTL__Group_0__0__Impl + rule__AtomicLTL__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0()); } + () + { after(grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicLTL__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicLTLAccess().getDeclarationAssignment_0_1()); } + (rule__AtomicLTL__DeclarationAssignment_0_1) + { after(grammarAccess.getAtomicLTLAccess().getDeclarationAssignment_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AtomicLTL__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicLTL__Group_2__0__Impl + rule__AtomicLTL__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); } + '(' + { after(grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicLTL__Group_2__1__Impl + rule__AtomicLTL__Group_2__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); } + ruleLTLProperty + { after(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_2__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicLTL__Group_2__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__Group_2__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); } + ')' + { after(grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__EnterStateEvent__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnterStateEvent__Group__0__Impl + rule__EnterStateEvent__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__EnterStateEvent__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); } + 'enter' + { after(grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnterStateEvent__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__EnterStateEvent__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__EnterStateEvent__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEnterStateEventAccess().getSubjectAssignment_1()); } + (rule__EnterStateEvent__SubjectAssignment_1) + { after(grammarAccess.getEnterStateEventAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LeaveStateEvent__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LeaveStateEvent__Group__0__Impl + rule__LeaveStateEvent__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LeaveStateEvent__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); } + 'leave' + { after(grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LeaveStateEvent__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LeaveStateEvent__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LeaveStateEvent__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLeaveStateEventAccess().getSubjectAssignment_1()); } + (rule__LeaveStateEvent__SubjectAssignment_1) + { after(grammarAccess.getLeaveStateEventAccess().getSubjectAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableDisjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableDisjunction__Group__0__Impl + rule__ObservableDisjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); } + ruleObservableImplication + { after(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableDisjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableDisjunctionAccess().getGroup_1()); } + (rule__ObservableDisjunction__Group_1__0)* + { after(grammarAccess.getObservableDisjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableDisjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableDisjunction__Group_1__0__Impl + rule__ObservableDisjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableDisjunction__Group_1__1__Impl + rule__ObservableDisjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); } + 'or' + { after(grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableDisjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableDisjunctionAccess().getRightAssignment_1_2()); } + (rule__ObservableDisjunction__RightAssignment_1_2) + { after(grammarAccess.getObservableDisjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableImplication__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableImplication__Group__0__Impl + rule__ObservableImplication__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); } + ruleObservableConjunction + { after(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableImplication__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableImplicationAccess().getGroup_1()); } + (rule__ObservableImplication__Group_1__0)? + { after(grammarAccess.getObservableImplicationAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableImplication__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableImplication__Group_1__0__Impl + rule__ObservableImplication__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0()); } + () + { after(grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableImplication__Group_1__1__Impl + rule__ObservableImplication__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } + '=>' + { after(grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableImplication__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableImplicationAccess().getRightAssignment_1_2()); } + (rule__ObservableImplication__RightAssignment_1_2) + { after(grammarAccess.getObservableImplicationAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableConjunction__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableConjunction__Group__0__Impl + rule__ObservableConjunction__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); } + ruleObservableNegation + { after(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableConjunction__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableConjunctionAccess().getGroup_1()); } + (rule__ObservableConjunction__Group_1__0)* + { after(grammarAccess.getObservableConjunctionAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableConjunction__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableConjunction__Group_1__0__Impl + rule__ObservableConjunction__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0()); } + () + { after(grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableConjunction__Group_1__1__Impl + rule__ObservableConjunction__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); } + 'and' + { after(grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableConjunction__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableConjunctionAccess().getRightAssignment_1_2()); } + (rule__ObservableConjunction__RightAssignment_1_2) + { after(grammarAccess.getObservableConjunctionAccess().getRightAssignment_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ObservableNegation__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableNegation__Group_0__0__Impl + rule__ObservableNegation__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0()); } + () + { after(grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableNegation__Group_0__1__Impl + rule__ObservableNegation__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); } + 'not' + { after(grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ObservableNegation__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getObservableNegationAccess().getChildAssignment_0_2()); } + (rule__ObservableNegation__ChildAssignment_0_2) + { after(grammarAccess.getObservableNegationAccess().getChildAssignment_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AtomicObservable__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicObservable__Group_0__0__Impl + rule__AtomicObservable__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); } + '(' + { after(grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicObservable__Group_0__1__Impl + rule__AtomicObservable__Group_0__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); } + ruleObservable + { after(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Group_0__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AtomicObservable__Group_0__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicObservable__Group_0__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); } + ')' + { after(grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PathEvent__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PathEvent__Group__0__Impl + rule__PathEvent__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PathEvent__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPathEventAccess().getPathAssignment_0()); } + (rule__PathEvent__PathAssignment_0) + { after(grammarAccess.getPathEventAccess().getPathAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PathEvent__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PathEvent__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PathEvent__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPathEventAccess().getItemAssignment_1()); } + (rule__PathEvent__ItemAssignment_1) + { after(grammarAccess.getPathEventAccess().getItemAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Path__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Path__Group__0__Impl + rule__Path__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Path__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPathAccess().getItemsAssignment_0()); } + (rule__Path__ItemsAssignment_0) + { after(grammarAccess.getPathAccess().getItemsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__Path__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Path__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Path__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPathAccess().getSolidusKeyword_1()); } + '/' + { after(grammarAccess.getPathAccess().getSolidusKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateSubject__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateSubject__Group__0__Impl + rule__StateSubject__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateSubject__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateSubjectAccess().getStateKeyword_0()); } + 'state' + { after(grammarAccess.getStateSubjectAccess().getStateKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateSubject__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateSubject__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StateSubject__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getStateSubjectAccess().getStateAssignment_1()); } + (rule__StateSubject__StateAssignment_1) + { after(grammarAccess.getStateSubjectAccess().getStateAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ValueSubject__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ValueSubject__Group__0__Impl + rule__ValueSubject__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueSubject__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getValueSubjectAccess().getValueKeyword_0()); } + 'value' + { after(grammarAccess.getValueSubjectAccess().getValueKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueSubject__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ValueSubject__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueSubject__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getValueSubjectAccess().getValueAssignment_1()); } + (rule__ValueSubject__ValueAssignment_1) + { after(grammarAccess.getValueSubjectAccess().getValueAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__TagSubject__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TagSubject__Group__0__Impl + rule__TagSubject__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TagSubject__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTagSubjectAccess().getTagKeyword_0()); } + 'tag' + { after(grammarAccess.getTagSubjectAccess().getTagKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__TagSubject__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TagSubject__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TagSubject__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getTagSubjectAccess().getTagAssignment_1()); } + (rule__TagSubject__TagAssignment_1) + { after(grammarAccess.getTagSubjectAccess().getTagAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__EventSubject__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__EventSubject__Group__0__Impl + rule__EventSubject__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__EventSubject__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEventSubjectAccess().getEventKeyword_0()); } + 'event' + { after(grammarAccess.getEventSubjectAccess().getEventKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventSubject__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__EventSubject__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__EventSubject__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getEventSubjectAccess().getEventAssignment_1()); } + (rule__EventSubject__EventAssignment_1) + { after(grammarAccess.getEventSubjectAccess().getEventAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__Model__ImportsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); } + ruleImportDeclaration + { after(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__DeclarationsAssignment_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); } + ruleDeclaration + { after(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__RequirementsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); } + ruleRequirement + { after(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Model__RootAssignment_2_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); } + ruleRoot + { after(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__DeclarationAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); } + ( + { before(grammarAccess.getRootAccess().getDeclarationRootDeclarationIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getRootAccess().getDeclarationRootDeclarationIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__ObservedAssignment_2_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); } + ( + { before(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1()); } + RULE_ID + { after(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1()); } + ) + { after(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Root__ObservedAssignment_2_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); } + ( + { before(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1()); } + RULE_ID + { after(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1()); } + ) + { after(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ImportDeclaration__ImportURIAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__ParametersAssignment_2_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); } + ruleParametersDeclaration + { after(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); } + ruleParametersDeclaration + { after(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__TypeAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); } + ruleType + { after(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__VariablesAssignment_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__VariablesAssignment_6_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDeclaration__StatementAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); } + ruleStatement + { after(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TypeDeclaration__ValueAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelDeclaration__ValueAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); } + ruleChannelType + { after(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__SizeAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); } + ruleExpression + { after(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__InAssignment_2_0_0_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); } + ( + { before(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); } + 'in' + { after(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); } + ) + { after(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__OutAssignment_2_0_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); } + ( + { before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); } + 'out' + { after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); } + ) + { after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__OutAssignment_2_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); } + ( + { before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); } + 'out' + { after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); } + ) + { after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ChannelType__TypeAssignment_2_0_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); } + ruleTupleType + { after(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TupleType__TypesAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); } + ruleType + { after(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__MinimumAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); } + ruleExpression + { after(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeType__MaximumAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__TagsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); } + ruleUnionTags + { after(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionType__TagsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); } + ruleUnionTags + { after(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__TagsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); } + ruleUnionTagDeclaration + { after(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__TagsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); } + ruleUnionTagDeclaration + { after(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTags__TypeAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); } + ruleType + { after(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnionTagDeclaration__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__FieldsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); } + ruleRecordFields + { after(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordType__FieldsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); } + ruleRecordFields + { after(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__FieldsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); } + ruleRecordFieldDeclaration + { after(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__FieldsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); } + ruleRecordFieldDeclaration + { after(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFields__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordFieldDeclaration__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__SizeAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueType__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__SizeAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayType__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ReferencedType__TypeAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); } + ( + { before(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseIDTerminalRuleCall_0_1()); } + RULE_ID + { after(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseIDTerminalRuleCall_0_1()); } + ) + { after(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantDeclaration__ValueAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); } + ruleExpression + { after(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__PortsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__PortsAssignment_2_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__ParametersAssignment_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); } + ruleParametersDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__ParametersAssignment_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); } + ruleParametersDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__LocalPortsAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__PrioritiesAssignment_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); } + rulePriorityDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); } + rulePriorityDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__StatesAssignment_8 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); } + ruleStateDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__StatesAssignment_9_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); } + ruleStateDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__VariablesAssignment_10_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__VariablesAssignment_10_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__PreludeAssignment_11_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); } + ruleStatementSequence + { after(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ProcessDeclaration__TransitionsAssignment_12 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); } + ruleTransition + { after(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionSource__OriginAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); } + ( + { before(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__SourceAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); } + ruleTransitionSource + { after(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Transition__ActionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); } + ruleStatementSequence + { after(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__PortsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__PortsAssignment_2_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); } + rulePortsDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__ParametersAssignment_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); } + ruleParametersDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__ParametersAssignment_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); } + ruleParametersDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__VariablesAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__VariablesAssignment_5_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); } + ruleVariablesDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__LocalPortsAssignment_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); } + ruleLocalPortsDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); } + ruleLocalPortsDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__PrioritiesAssignment_7_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); } + rulePriorityDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); } + rulePriorityDeclaration + { after(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__PreludeAssignment_8_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); } + ruleStatementSequence + { after(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentDeclaration__BodyAssignment_9 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); } + ruleComposition + { after(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__PortsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); } + rulePortDeclaration + { after(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__PortsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); } + rulePortDeclaration + { after(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortsDeclaration__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); } + ruleChannelType + { after(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortDeclaration__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__PortsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); } + rulePortDeclaration + { after(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__PortsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); } + rulePortDeclaration + { after(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); } + ruleChannelType + { after(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__LeftAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); } + ruleLowerBound + { after(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LocalPortsDeclaration__RightAssignment_4_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); } + ruleUpperBound + { after(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__ParametersAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); } + ruleParameterDeclaration + { after(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__ParametersAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); } + ruleParameterDeclaration + { after(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__ReadAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); } + ( + { before(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); } + 'read' + { after(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); } + ) + { after(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__WriteAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); } + ( + { before(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); } + 'write' + { after(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); } + ) + { after(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametersDeclaration__TypeAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); } + ruleType + { after(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__ReferenceAssignment_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); } + ( + { before(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); } + '&' + { after(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); } + ) + { after(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__ArrayAssignment_0_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); } + ( + { before(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); } + '[' + { after(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); } + ) + { after(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__SizeAssignment_0_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); } + ruleExpression + { after(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParameterDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__VariablesAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); } + ruleVariableDeclaration + { after(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__VariablesAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__TypeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); } + ruleType + { after(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariablesDeclaration__ValueAssignment_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); } + ruleExpression + { after(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableDeclaration__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID + { after(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__GroupsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); } + rulePriorityGroup + { after(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityDeclaration__GroupsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); } + rulePriorityGroup + { after(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__PortsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); } + ( + { before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_0_0_1()); } + RULE_ID + { after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_0_0_1()); } + ) + { after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PriorityGroup__PortsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); } + ( + { before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_1_1_0_1()); } + RULE_ID + { after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_1_1_0_1()); } + ) + { after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnlessStatement__FollowersAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); } + ruleStatementChoice + { after(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementChoice__ChoicesAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); } + ruleStatementSequence + { after(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementSequence__StatementsAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); } + ruleStatement + { after(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BlockStatement__BodyAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); } + ruleStatementSequence + { after(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ReturnStatement__ExpressionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TaggedStatement__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_0_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_0_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_0_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_1_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_1_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_2_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_2_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ExpAssignment_1_2_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ExpAssignment_1_3_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_4_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ValuesAssignment_1_4_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_5_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__PatternsAssignment_1_5_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); } + rulePattern + { after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PatternStatement__ExpAssignment_1_5_4_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); } + ruleExpression + { after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConstantPattern__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); } + ruleLiteralExpression + { after(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__NegativeAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); } + ( + { before(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); } + '-' + { after(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); } + ) + { after(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerPattern__ValueAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); } + RULE_INT + { after(grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__DeclarationAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); } + ( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__ParametersAssignment_0_3_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); } + rulePattern + { after(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__ParametersAssignment_0_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); } + rulePattern + { after(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__DeclarationAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); } + ( + { before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1()); } + ) + { after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__IndexAssignment_1_1_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); } + ruleExpression + { after(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierPattern__FieldAssignment_1_1_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); } + ( + { before(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); } + ) + { after(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__ConditionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__ThenAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); } + ruleStatementSequence + { after(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__ElseifAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); } + ruleExtendedConditionalStatement + { after(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConditionalStatement__ElseAssignment_5_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); } + ruleStatementSequence + { after(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__ConditionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ExtendedConditionalStatement__ThenAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); } + ruleStatementSequence + { after(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__BodyAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); } + ruleUnlessStatement + { after(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__IndexAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SelectStatement__TypeAssignment_2_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); } + ruleRangeType + { after(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__ConditionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__WhileStatement__BodyAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); } + ruleStatementSequence + { after(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__VariableAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForeachStatement__BodyAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); } + ruleStatementSequence + { after(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ToStatement__StateAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); } + ( + { before(grammarAccess.getToStatementAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getToStatementAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__ValueAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__PatternAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); } + rulePattern + { after(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__BodyAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); } + ruleStatementSequence + { after(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__PatternAssignment_6_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); } + rulePattern + { after(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CaseStatement__BodyAssignment_6_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); } + ruleStatementSequence + { after(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OnStatement__ConditionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ruleExpression + { after(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__LeftAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); } + ruleLowerBound + { after(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__WaitStatement__RightAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); } + ruleUpperBound + { after(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__GlobalAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); } + rulePortSet + { after(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__BlocksAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); } + ruleBlock + { after(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Composition__BlocksAssignment_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); } + ruleBlock + { after(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__LocalAssignment_0_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); } + rulePortSet + { after(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CompositeBlock__CompositionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); } + ruleComposition + { after(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__LocalAssignment_0_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); } + rulePortSet + { after(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceDeclaration__InstanceAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); } + ruleComponentInstance + { after(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__AllPortsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); } + ( + { before(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); } + '*' + { after(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); } + ) + { after(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__PortsAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); } + ruleExpression + { after(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PortSet__PortsAssignment_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); } + ruleExpression + { after(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__ComponentAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); } + ( + { before(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1()); } + RULE_ID + { after(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1()); } + ) + { after(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__PortsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); } + ruleExpression + { after(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__PortsAssignment_1_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); } + ruleExpression + { after(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__ParametersAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); } + ruleExpression + { after(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComponentInstance__ParametersAssignment_2_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); } + ruleExpression + { after(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__IndexAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__TypeAssignment_0_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); } + ruleRangeType + { after(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedExpression__ChildAssignment_0_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); } + ruleQuantifiedExpression + { after(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__ThenAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); } + ruleDisjunction + { after(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conditional__ElseAssignment_1_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); } + ruleDisjunction + { after(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Disjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); } + ruleImplication + { after(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Implication__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); } + ruleImplication + { after(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Conjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); } + ruleComparison + { after(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Comparison__RightAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); } + ruleAddition + { after(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Addition__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); } + ruleSubstraction + { after(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Substraction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); } + ruleMultiplication + { after(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Multiplication__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); } + ruleDivision + { after(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Division__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); } + ruleModulo + { after(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Modulo__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); } + ruleUnaryExpression + { after(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryExpression__ChildAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); } + ruleUnaryExpression + { after(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Projection__FieldAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); } + ruleAtomicExpression + { after(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ReferenceExpression__DeclarationAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); } + ( + { before(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__DeclarationAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); } + ( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__ParametersAssignment_0_3_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); } + ruleExpression + { after(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__ParametersAssignment_0_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); } + ruleExpression + { after(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__DeclarationAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); } + ( + { before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1()); } + ) + { after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__IndexesAssignment_1_1_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); } + ruleExpression + { after(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); } + ruleExpression + { after(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IdentifierExpression__FieldAssignment_1_1_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); } + ( + { before(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); } + RULE_ID + { after(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); } + ) + { after(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__FieldsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); } + ruleFieldExpression + { after(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RecordExpression__FieldsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); } + ruleFieldExpression + { after(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__FieldAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); } + ( + { before(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1()); } + RULE_ID + { after(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1()); } + ) + { after(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FieldExpression__ValueAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__ValuesAssignment_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayExpression__ValuesAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__ValuesAssignment_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); } + ruleExpression + { after(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QueueExpression__ValuesAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); } + ruleExpression + { after(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__ElementAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnqueueExpression__QueueAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); } + ruleExpression + { after(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__LeftAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); } + ruleExpression + { after(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AppendExpression__RightAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); } + ruleExpression + { after(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLiteral__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__LeftAssignment_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + '[' + { after(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) + { after(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__RightAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ']' + { after(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) + { after(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalLowerBound__ValueAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); } + RULE_INT + { after(grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__ValueAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); } + RULE_INT + { after(grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__LeftAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + '[' + { after(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) + { after(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalUpperBound__RightAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ( + { before(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ']' + { after(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) + { after(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__LeftAssignment_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + '[' + { after(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) + { after(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__RightAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ']' + { after(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) + { after(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalLowerBound__ValueAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); } + RULE_FLT + { after(grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__ValueAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); } + RULE_FLT + { after(grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__LeftAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + '[' + { after(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) + { after(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DecimalUpperBound__RightAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ( + { before(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ']' + { after(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) + { after(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__LeftAssignment_0_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ( + { before(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + '[' + { after(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) + { after(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__RightAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ( + { before(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ']' + { after(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) + { after(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableLowerBound__VariableAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); } + ( + { before(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__VariableAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); } + ( + { before(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1()); } + RULE_ID + { after(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1()); } + ) + { after(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__LeftAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ( + { before(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + '[' + { after(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) + { after(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__VariableUpperBound__RightAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ( + { before(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ']' + { after(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) + { after(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__PropertyAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); } + ( + { before(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__PositiveAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); } + RULE_STRING + { after(grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Requirement__NegativeAssignment_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); } + RULE_STRING + { after(grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDeclaration__PropertyAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); } + ruleProperty + { after(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__VariableAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__TypeAssignment_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); } + ruleRangeType + { after(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__QuantifiedProperty__ChildAssignment_0_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); } + ruleQuantifiedProperty + { after(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyDisjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); } + rulePropertyImplication + { after(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyImplication__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); } + rulePropertyImplication + { after(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyConjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); } + rulePropertyNegation + { after(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PropertyNegation__ChildAssignment_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); } + rulePropertyNegation + { after(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLPattern__PropertyAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); } + ruleLTLUnary + { after(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InfinitelyOftenPattern__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MortalPattern__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__LastingAssignment_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); } + RULE_INT + { after(grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__AfterAssignment_2_1_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__LowerAssignment_2_1_1_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); } + ruleLowerBound + { after(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__UpperAssignment_2_1_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); } + ruleUpperBound + { after(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__UntilAssignment_2_1_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__BeforeAssignment_2_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__LowerAssignment_2_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); } + ruleLowerBound + { after(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__UpperAssignment_2_2_1_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); } + ruleUpperBound + { after(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__MinAssignment_2_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PresencePattern__MaxAssignment_2_3_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); } + ruleAtomicObservable + { after(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__AfterAssignment_2_0_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__LowerAssignment_2_0_1_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); } + ruleLowerBound + { after(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__UpperAssignment_2_0_1_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); } + ruleUpperBound + { after(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__UntilAssignment_2_0_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__BeforeAssignment_2_1_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__LowerAssignment_2_1_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); } + ruleLowerBound + { after(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__UpperAssignment_2_1_1_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); } + ruleUpperBound + { after(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__MinAssignment_2_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AbsencePattern__MaxAssignment_2_2_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); } + ruleAtomicObservable + { after(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__BeforeAssignment_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__AfterAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__UntilAssignment_2_1_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__MinAssignment_2_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AlwaysPattern__MaxAssignment_2_2_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); } + ruleAtomicObservable + { after(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__FollowerAssignment_1_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__BeforeAssignment_1_0_3_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); } + ruleLowerBound + { after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); } + ruleUpperBound + { after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__LowerAssignment_1_0_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); } + ruleLowerBound + { after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__UpperAssignment_1_0_3_1_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); } + ruleUpperBound + { after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__AfterAssignment_1_0_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); } + ruleLowerBound + { after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); } + ruleUpperBound + { after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__MinAssignment_1_0_3_3_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__MaxAssignment_1_0_3_3_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__FollowerAssignment_1_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__BeforeAssignment_1_1_3_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__AfterAssignment_1_1_3_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__MinAssignment_1_1_3_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__SequencePattern__MaxAssignment_1_1_3_2_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); } + ruleAtomicObservable + { after(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__IndexAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); } + ruleVariableDeclaration + { after(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__TypeAssignment_0_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); } + ruleRangeType + { after(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLQuantified__ChildAssignment_0_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); } + ruleLTLQuantified + { after(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLDisjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); } + ruleLTLImplication + { after(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLImplication__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); } + ruleLTLImplication + { after(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLConjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); } + ruleLTLBinary + { after(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__RightAssignment_1_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); } + ruleLTLUnary + { after(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLBinary__RightAssignment_1_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); } + ruleLTLUnary + { after(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LTLUnary__OperandAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); } + ruleLTLUnary + { after(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AtomicLTL__DeclarationAssignment_0_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); } + ( + { before(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + RULE_ID + { after(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1()); } + ) + { after(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EnterStateEvent__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LeaveStateEvent__SubjectAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ruleAtomicObservable + { after(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableDisjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); } + ruleObservableImplication + { after(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableImplication__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); } + ruleObservableImplication + { after(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableConjunction__RightAssignment_1_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); } + ruleObservableNegation + { after(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ObservableNegation__ChildAssignment_0_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); } + ruleObservableNegation + { after(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PathEvent__PathAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); } + rulePath + { after(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PathEvent__ItemAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); } + ruleSubject + { after(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__Path__ItemsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); } + rulePathItem + { after(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NaturalItem__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NamedItem__DeclarationAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); } + ( + { before(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1()); } + RULE_ID + { after(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1()); } + ) + { after(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StateSubject__StateAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); } + ( + { before(grammarAccess.getStateSubjectAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getStateSubjectAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueSubject__ValueAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); } + ruleAtomicExpression + { after(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__TagSubject__TagAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); } + ( + { before(grammarAccess.getTagSubjectAccess().getTagTaggedStatementIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getTagSubjectAccess().getTagTaggedStatementIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__EventSubject__EventAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +RULE_INT : ('0'..'9')+; + +RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*; + +RULE_FLT : RULE_INT '.' RULE_INT; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.tokens b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.tokens new file mode 100644 index 0000000..b1d3ad9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacre.tokens @@ -0,0 +1,264 @@ +'!'=59 +'#'=30 +'#include'=18 +'$'=94 +'%'=90 +'&'=99 +'('=22 +')'=23 +'*'=88 +'+'=14 +','=24 +'-'=87 +'->'=15 +'-false'=111 +'-true'=110 +'.'=61 +'..'=34 +'...'=108 +'/'=89 +':'=20 +':='=50 +';'=53 +'<'=84 +'<='=85 +'<>'=83 +'='=82 +'=>'=80 +'>'=16 +'>='=86 +'?'=60 +'['=42 +'[]'=52 +']'=43 +'^'=98 +'absent'=124 +'after'=119 +'all'=77 +'always'=126 +'and'=81 +'any'=57 +'append'=105 +'array'=28 +'assert'=109 +'before'=122 +'begin'=54 +'between'=123 +'bool'=33 +'case'=71 +'channel'=27 +'component'=48 +'const'=39 +'deadlockfree'=114 +'dequeue'=96 +'do'=68 +'else'=64 +'elsif'=65 +'empty'=97 +'end'=36 +'enqueue'=104 +'enter'=131 +'event'=136 +'exists'=78 +'false'=107 +'first'=92 +'for'=125 +'foreach'=69 +'from'=47 +'full'=95 +'function'=19 +'if'=62 +'in'=49 +'infinitelyoften'=115 +'init'=46 +'int'=32 +'is'=21 +'lasting'=118 +'leadsto'=127 +'leave'=132 +'length'=93 +'loop'=72 +'ltl'=113 +'mortal'=116 +'nat'=31 +'next'=130 +'none'=12 +'not'=91 +'null'=56 +'of'=29 +'on'=73 +'or'=79 +'out'=137 +'par'=75 +'port'=44 +'precedes'=128 +'present'=117 +'priority'=45 +'process'=40 +'property'=112 +'queue'=38 +'read'=138 +'record'=37 +'release'=129 +'return'=55 +'select'=66 +'state'=133 +'states'=41 +'sync'=13 +'tag'=135 +'then'=63 +'to'=70 +'true'=106 +'type'=26 +'union'=35 +'unless'=51 +'until'=121 +'value'=134 +'var'=25 +'wait'=74 +'where'=58 +'while'=67 +'within'=120 +'write'=139 +'{'=100 +'{|'=102 +'|'=17 +'||'=76 +'|}'=103 +'}'=101 +RULE_ANY_OTHER=11 +RULE_FLT=7 +RULE_ID=4 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_SL_COMMENT=9 +RULE_STRING=5 +RULE_WS=10 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 +T__118=118 +T__119=119 +T__120=120 +T__121=121 +T__122=122 +T__123=123 +T__124=124 +T__125=125 +T__126=126 +T__127=127 +T__128=128 +T__129=129 +T__12=12 +T__130=130 +T__131=131 +T__132=132 +T__133=133 +T__134=134 +T__135=135 +T__136=136 +T__137=137 +T__138=138 +T__139=139 +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 +T__61=61 +T__62=62 +T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__74=74 +T__75=75 +T__76=76 +T__77=77 +T__78=78 +T__79=79 +T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreLexer.java b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreLexer.java new file mode 100644 index 0000000..26b61a0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreLexer.java @@ -0,0 +1,4994 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.fiacre.xtext.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 InternalFiacreLexer extends Lexer { + public static final int T__50=50; + public static final int T__59=59; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__137=137; + public static final int T__52=52; + public static final int T__136=136; + public static final int T__53=53; + public static final int T__139=139; + public static final int T__54=54; + public static final int T__138=138; + public static final int T__133=133; + public static final int T__132=132; + public static final int T__60=60; + public static final int T__135=135; + public static final int T__61=61; + public static final int T__134=134; + public static final int RULE_ID=4; + public static final int T__131=131; + public static final int T__130=130; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=8; + public static final int T__67=67; + public static final int T__129=129; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__126=126; + public static final int T__63=63; + public static final int T__125=125; + public static final int T__64=64; + public static final int T__128=128; + public static final int T__65=65; + public static final int T__127=127; + 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 T__30=30; + public static final int T__31=31; + public static final int T__32=32; + 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; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + 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__99=99; + public static final int T__12=12; + public static final int T__13=13; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_FLT=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 T__29=29; + public static final int T__22=22; + 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 T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__124=124; + public static final int T__72=72; + public static final int T__123=123; + public static final int T__120=120; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=9; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; + + // delegates + // delegators + + public InternalFiacreLexer() {;} + public InternalFiacreLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalFiacreLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalFiacre.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:11:7: ( 'none' ) + // InternalFiacre.g:11:9: 'none' + { + match("none"); + + + } + + 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; + // InternalFiacre.g:12:7: ( 'sync' ) + // InternalFiacre.g:12:9: 'sync' + { + match("sync"); + + + } + + 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; + // InternalFiacre.g:13:7: ( '+' ) + // InternalFiacre.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; + // InternalFiacre.g:14:7: ( '->' ) + // InternalFiacre.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; + // InternalFiacre.g:15:7: ( '>' ) + // InternalFiacre.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; + // InternalFiacre.g:16:7: ( '|' ) + // InternalFiacre.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; + // InternalFiacre.g:17:7: ( '#include' ) + // InternalFiacre.g:17:9: '#include' + { + match("#include"); + + + } + + 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; + // InternalFiacre.g:18:7: ( 'function' ) + // InternalFiacre.g:18:9: 'function' + { + match("function"); + + + } + + 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; + // InternalFiacre.g:19:7: ( ':' ) + // InternalFiacre.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; + // InternalFiacre.g:20:7: ( 'is' ) + // InternalFiacre.g:20:9: 'is' + { + match("is"); + + + } + + 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; + // InternalFiacre.g:21:7: ( '(' ) + // InternalFiacre.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; + // InternalFiacre.g:22:7: ( ')' ) + // InternalFiacre.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; + // InternalFiacre.g:23:7: ( ',' ) + // InternalFiacre.g:23:9: ',' + { + match(','); + + } + + 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; + // InternalFiacre.g:24:7: ( 'var' ) + // InternalFiacre.g:24:9: 'var' + { + match("var"); + + + } + + 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; + // InternalFiacre.g:25:7: ( 'type' ) + // InternalFiacre.g:25:9: 'type' + { + match("type"); + + + } + + 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; + // InternalFiacre.g:26:7: ( 'channel' ) + // InternalFiacre.g:26:9: 'channel' + { + match("channel"); + + + } + + 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; + // InternalFiacre.g:27:7: ( 'array' ) + // InternalFiacre.g:27:9: 'array' + { + match("array"); + + + } + + 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; + // InternalFiacre.g:28:7: ( 'of' ) + // InternalFiacre.g:28:9: 'of' + { + match("of"); + + + } + + 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; + // InternalFiacre.g:29:7: ( '#' ) + // InternalFiacre.g:29:9: '#' + { + match('#'); + + } + + 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; + // InternalFiacre.g:30:7: ( 'nat' ) + // InternalFiacre.g:30:9: 'nat' + { + match("nat"); + + + } + + 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; + // InternalFiacre.g:31:7: ( 'int' ) + // InternalFiacre.g:31:9: 'int' + { + match("int"); + + + } + + 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; + // InternalFiacre.g:32:7: ( 'bool' ) + // InternalFiacre.g:32:9: 'bool' + { + match("bool"); + + + } + + 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; + // InternalFiacre.g:33:7: ( '..' ) + // InternalFiacre.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; + // InternalFiacre.g:34:7: ( 'union' ) + // InternalFiacre.g:34:9: 'union' + { + match("union"); + + + } + + 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; + // InternalFiacre.g:35:7: ( 'end' ) + // InternalFiacre.g:35:9: 'end' + { + match("end"); + + + } + + 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; + // InternalFiacre.g:36:7: ( 'record' ) + // InternalFiacre.g:36:9: 'record' + { + match("record"); + + + } + + 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; + // InternalFiacre.g:37:7: ( 'queue' ) + // InternalFiacre.g:37:9: 'queue' + { + match("queue"); + + + } + + 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; + // InternalFiacre.g:38:7: ( 'const' ) + // InternalFiacre.g:38:9: 'const' + { + match("const"); + + + } + + 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; + // InternalFiacre.g:39:7: ( 'process' ) + // InternalFiacre.g:39:9: 'process' + { + match("process"); + + + } + + 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; + // InternalFiacre.g:40:7: ( 'states' ) + // InternalFiacre.g:40:9: 'states' + { + match("states"); + + + } + + 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; + // InternalFiacre.g:41:7: ( '[' ) + // InternalFiacre.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; + // InternalFiacre.g:42:7: ( ']' ) + // InternalFiacre.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; + // InternalFiacre.g:43:7: ( 'port' ) + // InternalFiacre.g:43:9: 'port' + { + match("port"); + + + } + + 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; + // InternalFiacre.g:44:7: ( 'priority' ) + // InternalFiacre.g:44:9: 'priority' + { + match("priority"); + + + } + + 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; + // InternalFiacre.g:45:7: ( 'init' ) + // InternalFiacre.g:45:9: 'init' + { + match("init"); + + + } + + 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; + // InternalFiacre.g:46:7: ( 'from' ) + // InternalFiacre.g:46:9: 'from' + { + match("from"); + + + } + + 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; + // InternalFiacre.g:47:7: ( 'component' ) + // InternalFiacre.g:47:9: 'component' + { + match("component"); + + + } + + 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; + // InternalFiacre.g:48:7: ( 'in' ) + // InternalFiacre.g:48:9: 'in' + { + match("in"); + + + } + + 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; + // InternalFiacre.g:49:7: ( ':=' ) + // InternalFiacre.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; + // InternalFiacre.g:50:7: ( 'unless' ) + // InternalFiacre.g:50:9: 'unless' + { + match("unless"); + + + } + + 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; + // InternalFiacre.g:51:7: ( '[]' ) + // InternalFiacre.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; + // InternalFiacre.g:52:7: ( ';' ) + // InternalFiacre.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; + // InternalFiacre.g:53:7: ( 'begin' ) + // InternalFiacre.g:53:9: 'begin' + { + match("begin"); + + + } + + 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; + // InternalFiacre.g:54:7: ( 'return' ) + // InternalFiacre.g:54:9: 'return' + { + match("return"); + + + } + + 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; + // InternalFiacre.g:55:7: ( 'null' ) + // InternalFiacre.g:55:9: 'null' + { + match("null"); + + + } + + 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; + // InternalFiacre.g:56:7: ( 'any' ) + // InternalFiacre.g:56:9: 'any' + { + match("any"); + + + } + + 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; + // InternalFiacre.g:57:7: ( 'where' ) + // InternalFiacre.g:57:9: 'where' + { + match("where"); + + + } + + 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; + // InternalFiacre.g:58:7: ( '!' ) + // InternalFiacre.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; + // InternalFiacre.g:59:7: ( '?' ) + // InternalFiacre.g:59:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "T__61" + public final void mT__61() throws RecognitionException { + try { + int _type = T__61; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:60:7: ( '.' ) + // InternalFiacre.g:60:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__61" + + // $ANTLR start "T__62" + public final void mT__62() throws RecognitionException { + try { + int _type = T__62; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:61:7: ( 'if' ) + // InternalFiacre.g:61:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__62" + + // $ANTLR start "T__63" + public final void mT__63() throws RecognitionException { + try { + int _type = T__63; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:62:7: ( 'then' ) + // InternalFiacre.g:62:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__63" + + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { + try { + int _type = T__64; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:63:7: ( 'else' ) + // InternalFiacre.g:63:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:64:7: ( 'elsif' ) + // InternalFiacre.g:64:9: 'elsif' + { + match("elsif"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:65:7: ( 'select' ) + // InternalFiacre.g:65:9: 'select' + { + match("select"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" + + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:66:7: ( 'while' ) + // InternalFiacre.g:66:9: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:67:7: ( 'do' ) + // InternalFiacre.g:67:9: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:68:7: ( 'foreach' ) + // InternalFiacre.g:68:9: 'foreach' + { + match("foreach"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:69:7: ( 'to' ) + // InternalFiacre.g:69:9: 'to' + { + match("to"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:70:7: ( 'case' ) + // InternalFiacre.g:70:9: 'case' + { + match("case"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:71:7: ( 'loop' ) + // InternalFiacre.g:71:9: 'loop' + { + match("loop"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:72:7: ( 'on' ) + // InternalFiacre.g:72:9: 'on' + { + match("on"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:73:7: ( 'wait' ) + // InternalFiacre.g:73:9: 'wait' + { + match("wait"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "T__75" + public final void mT__75() throws RecognitionException { + try { + int _type = T__75; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:74:7: ( 'par' ) + // InternalFiacre.g:74:9: 'par' + { + match("par"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__75" + + // $ANTLR start "T__76" + public final void mT__76() throws RecognitionException { + try { + int _type = T__76; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:75:7: ( '||' ) + // InternalFiacre.g:75:9: '||' + { + match("||"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__76" + + // $ANTLR start "T__77" + public final void mT__77() throws RecognitionException { + try { + int _type = T__77; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:76:7: ( 'all' ) + // InternalFiacre.g:76:9: 'all' + { + match("all"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__77" + + // $ANTLR start "T__78" + public final void mT__78() throws RecognitionException { + try { + int _type = T__78; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:77:7: ( 'exists' ) + // InternalFiacre.g:77:9: 'exists' + { + match("exists"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__78" + + // $ANTLR start "T__79" + public final void mT__79() throws RecognitionException { + try { + int _type = T__79; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:78:7: ( 'or' ) + // InternalFiacre.g:78:9: 'or' + { + match("or"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__79" + + // $ANTLR start "T__80" + public final void mT__80() throws RecognitionException { + try { + int _type = T__80; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:79:7: ( '=>' ) + // InternalFiacre.g:79:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:80:7: ( 'and' ) + // InternalFiacre.g:80:9: 'and' + { + match("and"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:81:7: ( '=' ) + // InternalFiacre.g:81:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:82:7: ( '<>' ) + // InternalFiacre.g:82:9: '<>' + { + match("<>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:83:7: ( '<' ) + // InternalFiacre.g:83:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:84:7: ( '<=' ) + // InternalFiacre.g:84:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:85:7: ( '>=' ) + // InternalFiacre.g:85:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:86:7: ( '-' ) + // InternalFiacre.g:86:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:87:7: ( '*' ) + // InternalFiacre.g:87:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:88:7: ( '/' ) + // InternalFiacre.g:88:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:89:7: ( '%' ) + // InternalFiacre.g:89:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:90:7: ( 'not' ) + // InternalFiacre.g:90:9: 'not' + { + match("not"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:91:7: ( 'first' ) + // InternalFiacre.g:91:9: 'first' + { + match("first"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:92:7: ( 'length' ) + // InternalFiacre.g:92:9: 'length' + { + match("length"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:93:7: ( '$' ) + // InternalFiacre.g:93:9: '$' + { + match('$'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:94:7: ( 'full' ) + // InternalFiacre.g:94:9: 'full' + { + match("full"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:95:7: ( 'dequeue' ) + // InternalFiacre.g:95:9: 'dequeue' + { + match("dequeue"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:96:7: ( 'empty' ) + // InternalFiacre.g:96:9: 'empty' + { + match("empty"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:97:7: ( '^' ) + // InternalFiacre.g:97:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:98:7: ( '&' ) + // InternalFiacre.g:98:9: '&' + { + match('&'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:99:8: ( '{' ) + // InternalFiacre.g:99:10: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:100:8: ( '}' ) + // InternalFiacre.g:100:10: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:101:8: ( '{|' ) + // InternalFiacre.g:101:10: '{|' + { + match("{|"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:102:8: ( '|}' ) + // InternalFiacre.g:102:10: '|}' + { + match("|}"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:103:8: ( 'enqueue' ) + // InternalFiacre.g:103:10: 'enqueue' + { + match("enqueue"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:104:8: ( 'append' ) + // InternalFiacre.g:104:10: 'append' + { + match("append"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:105:8: ( 'true' ) + // InternalFiacre.g:105:10: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:106:8: ( 'false' ) + // InternalFiacre.g:106:10: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:107:8: ( '...' ) + // InternalFiacre.g:107:10: '...' + { + match("..."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:108:8: ( 'assert' ) + // InternalFiacre.g:108:10: 'assert' + { + match("assert"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:109:8: ( '-true' ) + // InternalFiacre.g:109:10: '-true' + { + match("-true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:110:8: ( '-false' ) + // InternalFiacre.g:110:10: '-false' + { + match("-false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:111:8: ( 'property' ) + // InternalFiacre.g:111:10: 'property' + { + match("property"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:112:8: ( 'ltl' ) + // InternalFiacre.g:112:10: 'ltl' + { + match("ltl"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:113:8: ( 'deadlockfree' ) + // InternalFiacre.g:113:10: 'deadlockfree' + { + match("deadlockfree"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:114:8: ( 'infinitelyoften' ) + // InternalFiacre.g:114:10: 'infinitelyoften' + { + match("infinitelyoften"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:115:8: ( 'mortal' ) + // InternalFiacre.g:115:10: 'mortal' + { + match("mortal"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:116:8: ( 'present' ) + // InternalFiacre.g:116:10: 'present' + { + match("present"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "T__118" + public final void mT__118() throws RecognitionException { + try { + int _type = T__118; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:117:8: ( 'lasting' ) + // InternalFiacre.g:117:10: 'lasting' + { + match("lasting"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__118" + + // $ANTLR start "T__119" + public final void mT__119() throws RecognitionException { + try { + int _type = T__119; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:118:8: ( 'after' ) + // InternalFiacre.g:118:10: 'after' + { + match("after"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__119" + + // $ANTLR start "T__120" + public final void mT__120() throws RecognitionException { + try { + int _type = T__120; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:119:8: ( 'within' ) + // InternalFiacre.g:119:10: 'within' + { + match("within"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__120" + + // $ANTLR start "T__121" + public final void mT__121() throws RecognitionException { + try { + int _type = T__121; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:120:8: ( 'until' ) + // InternalFiacre.g:120:10: 'until' + { + match("until"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__121" + + // $ANTLR start "T__122" + public final void mT__122() throws RecognitionException { + try { + int _type = T__122; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:121:8: ( 'before' ) + // InternalFiacre.g:121:10: 'before' + { + match("before"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__122" + + // $ANTLR start "T__123" + public final void mT__123() throws RecognitionException { + try { + int _type = T__123; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:122:8: ( 'between' ) + // InternalFiacre.g:122:10: 'between' + { + match("between"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__123" + + // $ANTLR start "T__124" + public final void mT__124() throws RecognitionException { + try { + int _type = T__124; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:123:8: ( 'absent' ) + // InternalFiacre.g:123:10: 'absent' + { + match("absent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__124" + + // $ANTLR start "T__125" + public final void mT__125() throws RecognitionException { + try { + int _type = T__125; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:124:8: ( 'for' ) + // InternalFiacre.g:124:10: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__125" + + // $ANTLR start "T__126" + public final void mT__126() throws RecognitionException { + try { + int _type = T__126; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:125:8: ( 'always' ) + // InternalFiacre.g:125:10: 'always' + { + match("always"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__126" + + // $ANTLR start "T__127" + public final void mT__127() throws RecognitionException { + try { + int _type = T__127; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:126:8: ( 'leadsto' ) + // InternalFiacre.g:126:10: 'leadsto' + { + match("leadsto"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__127" + + // $ANTLR start "T__128" + public final void mT__128() throws RecognitionException { + try { + int _type = T__128; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:127:8: ( 'precedes' ) + // InternalFiacre.g:127:10: 'precedes' + { + match("precedes"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__128" + + // $ANTLR start "T__129" + public final void mT__129() throws RecognitionException { + try { + int _type = T__129; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:128:8: ( 'release' ) + // InternalFiacre.g:128:10: 'release' + { + match("release"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__129" + + // $ANTLR start "T__130" + public final void mT__130() throws RecognitionException { + try { + int _type = T__130; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:129:8: ( 'next' ) + // InternalFiacre.g:129:10: 'next' + { + match("next"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__130" + + // $ANTLR start "T__131" + public final void mT__131() throws RecognitionException { + try { + int _type = T__131; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:130:8: ( 'enter' ) + // InternalFiacre.g:130:10: 'enter' + { + match("enter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__131" + + // $ANTLR start "T__132" + public final void mT__132() throws RecognitionException { + try { + int _type = T__132; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:131:8: ( 'leave' ) + // InternalFiacre.g:131:10: 'leave' + { + match("leave"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__132" + + // $ANTLR start "T__133" + public final void mT__133() throws RecognitionException { + try { + int _type = T__133; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:132:8: ( 'state' ) + // InternalFiacre.g:132:10: 'state' + { + match("state"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__133" + + // $ANTLR start "T__134" + public final void mT__134() throws RecognitionException { + try { + int _type = T__134; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:133:8: ( 'value' ) + // InternalFiacre.g:133:10: 'value' + { + match("value"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__134" + + // $ANTLR start "T__135" + public final void mT__135() throws RecognitionException { + try { + int _type = T__135; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:134:8: ( 'tag' ) + // InternalFiacre.g:134:10: 'tag' + { + match("tag"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__135" + + // $ANTLR start "T__136" + public final void mT__136() throws RecognitionException { + try { + int _type = T__136; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:135:8: ( 'event' ) + // InternalFiacre.g:135:10: 'event' + { + match("event"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__136" + + // $ANTLR start "T__137" + public final void mT__137() throws RecognitionException { + try { + int _type = T__137; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:136:8: ( 'out' ) + // InternalFiacre.g:136:10: 'out' + { + match("out"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__137" + + // $ANTLR start "T__138" + public final void mT__138() throws RecognitionException { + try { + int _type = T__138; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:137:8: ( 'read' ) + // InternalFiacre.g:137:10: 'read' + { + match("read"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__138" + + // $ANTLR start "T__139" + public final void mT__139() throws RecognitionException { + try { + int _type = T__139; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:138:8: ( 'write' ) + // InternalFiacre.g:138:10: 'write' + { + match("write"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__139" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:33780:10: ( ( '0' .. '9' )+ ) + // InternalFiacre.g:33780:12: ( '0' .. '9' )+ + { + // InternalFiacre.g:33780:12: ( '0' .. '9' )+ + int cnt1=0; + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( ((LA1_0>='0' && LA1_0<='9')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalFiacre.g:33780:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:33782:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // InternalFiacre.g:33782:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + { + 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;} + + // InternalFiacre.g:33782:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalFiacre.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 loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_FLT" + public final void mRULE_FLT() throws RecognitionException { + try { + int _type = RULE_FLT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:33784:10: ( RULE_INT '.' RULE_INT ) + // InternalFiacre.g:33784:12: RULE_INT '.' RULE_INT + { + mRULE_INT(); + match('.'); + mRULE_INT(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_FLT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:33786:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalFiacre.g:33786:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalFiacre.g:33786:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\"') ) { + alt5=1; + } + else if ( (LA5_0=='\'') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalFiacre.g:33786:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalFiacre.g:33786:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop3: + do { + int alt3=3; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='\\') ) { + alt3=1; + } + else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFF')) ) { + alt3=2; + } + + + switch (alt3) { + case 1 : + // InternalFiacre.g:33786:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalFiacre.g:33786:28: ~ ( ( '\\\\' | '\"' ) ) + { + 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 loop3; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalFiacre.g:33786:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalFiacre.g:33786:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // InternalFiacre.g:33786:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalFiacre.g:33786:61: ~ ( ( '\\\\' | '\\'' ) ) + { + 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 loop4; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:33788:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalFiacre.g:33788:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalFiacre.g:33788: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 : + // InternalFiacre.g:33788: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; + // InternalFiacre.g:33790:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalFiacre.g:33790:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalFiacre.g:33790: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 : + // InternalFiacre.g:33790: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); + + // InternalFiacre.g:33790: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 : + // InternalFiacre.g:33790:41: ( '\\r' )? '\\n' + { + // InternalFiacre.g:33790:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\r') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalFiacre.g:33790: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; + // InternalFiacre.g:33792:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalFiacre.g:33792:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalFiacre.g:33792: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 : + // InternalFiacre.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; + // InternalFiacre.g:33794:16: ( . ) + // InternalFiacre.g:33794:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalFiacre.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 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | RULE_INT | RULE_ID | RULE_FLT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt11=136; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalFiacre.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalFiacre.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalFiacre.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalFiacre.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalFiacre.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalFiacre.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalFiacre.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalFiacre.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalFiacre.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalFiacre.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalFiacre.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalFiacre.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalFiacre.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalFiacre.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalFiacre.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalFiacre.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalFiacre.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalFiacre.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalFiacre.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalFiacre.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalFiacre.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalFiacre.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalFiacre.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalFiacre.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalFiacre.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalFiacre.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalFiacre.g:1:166: T__38 + { + mT__38(); + + } + break; + case 28 : + // InternalFiacre.g:1:172: T__39 + { + mT__39(); + + } + break; + case 29 : + // InternalFiacre.g:1:178: T__40 + { + mT__40(); + + } + break; + case 30 : + // InternalFiacre.g:1:184: T__41 + { + mT__41(); + + } + break; + case 31 : + // InternalFiacre.g:1:190: T__42 + { + mT__42(); + + } + break; + case 32 : + // InternalFiacre.g:1:196: T__43 + { + mT__43(); + + } + break; + case 33 : + // InternalFiacre.g:1:202: T__44 + { + mT__44(); + + } + break; + case 34 : + // InternalFiacre.g:1:208: T__45 + { + mT__45(); + + } + break; + case 35 : + // InternalFiacre.g:1:214: T__46 + { + mT__46(); + + } + break; + case 36 : + // InternalFiacre.g:1:220: T__47 + { + mT__47(); + + } + break; + case 37 : + // InternalFiacre.g:1:226: T__48 + { + mT__48(); + + } + break; + case 38 : + // InternalFiacre.g:1:232: T__49 + { + mT__49(); + + } + break; + case 39 : + // InternalFiacre.g:1:238: T__50 + { + mT__50(); + + } + break; + case 40 : + // InternalFiacre.g:1:244: T__51 + { + mT__51(); + + } + break; + case 41 : + // InternalFiacre.g:1:250: T__52 + { + mT__52(); + + } + break; + case 42 : + // InternalFiacre.g:1:256: T__53 + { + mT__53(); + + } + break; + case 43 : + // InternalFiacre.g:1:262: T__54 + { + mT__54(); + + } + break; + case 44 : + // InternalFiacre.g:1:268: T__55 + { + mT__55(); + + } + break; + case 45 : + // InternalFiacre.g:1:274: T__56 + { + mT__56(); + + } + break; + case 46 : + // InternalFiacre.g:1:280: T__57 + { + mT__57(); + + } + break; + case 47 : + // InternalFiacre.g:1:286: T__58 + { + mT__58(); + + } + break; + case 48 : + // InternalFiacre.g:1:292: T__59 + { + mT__59(); + + } + break; + case 49 : + // InternalFiacre.g:1:298: T__60 + { + mT__60(); + + } + break; + case 50 : + // InternalFiacre.g:1:304: T__61 + { + mT__61(); + + } + break; + case 51 : + // InternalFiacre.g:1:310: T__62 + { + mT__62(); + + } + break; + case 52 : + // InternalFiacre.g:1:316: T__63 + { + mT__63(); + + } + break; + case 53 : + // InternalFiacre.g:1:322: T__64 + { + mT__64(); + + } + break; + case 54 : + // InternalFiacre.g:1:328: T__65 + { + mT__65(); + + } + break; + case 55 : + // InternalFiacre.g:1:334: T__66 + { + mT__66(); + + } + break; + case 56 : + // InternalFiacre.g:1:340: T__67 + { + mT__67(); + + } + break; + case 57 : + // InternalFiacre.g:1:346: T__68 + { + mT__68(); + + } + break; + case 58 : + // InternalFiacre.g:1:352: T__69 + { + mT__69(); + + } + break; + case 59 : + // InternalFiacre.g:1:358: T__70 + { + mT__70(); + + } + break; + case 60 : + // InternalFiacre.g:1:364: T__71 + { + mT__71(); + + } + break; + case 61 : + // InternalFiacre.g:1:370: T__72 + { + mT__72(); + + } + break; + case 62 : + // InternalFiacre.g:1:376: T__73 + { + mT__73(); + + } + break; + case 63 : + // InternalFiacre.g:1:382: T__74 + { + mT__74(); + + } + break; + case 64 : + // InternalFiacre.g:1:388: T__75 + { + mT__75(); + + } + break; + case 65 : + // InternalFiacre.g:1:394: T__76 + { + mT__76(); + + } + break; + case 66 : + // InternalFiacre.g:1:400: T__77 + { + mT__77(); + + } + break; + case 67 : + // InternalFiacre.g:1:406: T__78 + { + mT__78(); + + } + break; + case 68 : + // InternalFiacre.g:1:412: T__79 + { + mT__79(); + + } + break; + case 69 : + // InternalFiacre.g:1:418: T__80 + { + mT__80(); + + } + break; + case 70 : + // InternalFiacre.g:1:424: T__81 + { + mT__81(); + + } + break; + case 71 : + // InternalFiacre.g:1:430: T__82 + { + mT__82(); + + } + break; + case 72 : + // InternalFiacre.g:1:436: T__83 + { + mT__83(); + + } + break; + case 73 : + // InternalFiacre.g:1:442: T__84 + { + mT__84(); + + } + break; + case 74 : + // InternalFiacre.g:1:448: T__85 + { + mT__85(); + + } + break; + case 75 : + // InternalFiacre.g:1:454: T__86 + { + mT__86(); + + } + break; + case 76 : + // InternalFiacre.g:1:460: T__87 + { + mT__87(); + + } + break; + case 77 : + // InternalFiacre.g:1:466: T__88 + { + mT__88(); + + } + break; + case 78 : + // InternalFiacre.g:1:472: T__89 + { + mT__89(); + + } + break; + case 79 : + // InternalFiacre.g:1:478: T__90 + { + mT__90(); + + } + break; + case 80 : + // InternalFiacre.g:1:484: T__91 + { + mT__91(); + + } + break; + case 81 : + // InternalFiacre.g:1:490: T__92 + { + mT__92(); + + } + break; + case 82 : + // InternalFiacre.g:1:496: T__93 + { + mT__93(); + + } + break; + case 83 : + // InternalFiacre.g:1:502: T__94 + { + mT__94(); + + } + break; + case 84 : + // InternalFiacre.g:1:508: T__95 + { + mT__95(); + + } + break; + case 85 : + // InternalFiacre.g:1:514: T__96 + { + mT__96(); + + } + break; + case 86 : + // InternalFiacre.g:1:520: T__97 + { + mT__97(); + + } + break; + case 87 : + // InternalFiacre.g:1:526: T__98 + { + mT__98(); + + } + break; + case 88 : + // InternalFiacre.g:1:532: T__99 + { + mT__99(); + + } + break; + case 89 : + // InternalFiacre.g:1:538: T__100 + { + mT__100(); + + } + break; + case 90 : + // InternalFiacre.g:1:545: T__101 + { + mT__101(); + + } + break; + case 91 : + // InternalFiacre.g:1:552: T__102 + { + mT__102(); + + } + break; + case 92 : + // InternalFiacre.g:1:559: T__103 + { + mT__103(); + + } + break; + case 93 : + // InternalFiacre.g:1:566: T__104 + { + mT__104(); + + } + break; + case 94 : + // InternalFiacre.g:1:573: T__105 + { + mT__105(); + + } + break; + case 95 : + // InternalFiacre.g:1:580: T__106 + { + mT__106(); + + } + break; + case 96 : + // InternalFiacre.g:1:587: T__107 + { + mT__107(); + + } + break; + case 97 : + // InternalFiacre.g:1:594: T__108 + { + mT__108(); + + } + break; + case 98 : + // InternalFiacre.g:1:601: T__109 + { + mT__109(); + + } + break; + case 99 : + // InternalFiacre.g:1:608: T__110 + { + mT__110(); + + } + break; + case 100 : + // InternalFiacre.g:1:615: T__111 + { + mT__111(); + + } + break; + case 101 : + // InternalFiacre.g:1:622: T__112 + { + mT__112(); + + } + break; + case 102 : + // InternalFiacre.g:1:629: T__113 + { + mT__113(); + + } + break; + case 103 : + // InternalFiacre.g:1:636: T__114 + { + mT__114(); + + } + break; + case 104 : + // InternalFiacre.g:1:643: T__115 + { + mT__115(); + + } + break; + case 105 : + // InternalFiacre.g:1:650: T__116 + { + mT__116(); + + } + break; + case 106 : + // InternalFiacre.g:1:657: T__117 + { + mT__117(); + + } + break; + case 107 : + // InternalFiacre.g:1:664: T__118 + { + mT__118(); + + } + break; + case 108 : + // InternalFiacre.g:1:671: T__119 + { + mT__119(); + + } + break; + case 109 : + // InternalFiacre.g:1:678: T__120 + { + mT__120(); + + } + break; + case 110 : + // InternalFiacre.g:1:685: T__121 + { + mT__121(); + + } + break; + case 111 : + // InternalFiacre.g:1:692: T__122 + { + mT__122(); + + } + break; + case 112 : + // InternalFiacre.g:1:699: T__123 + { + mT__123(); + + } + break; + case 113 : + // InternalFiacre.g:1:706: T__124 + { + mT__124(); + + } + break; + case 114 : + // InternalFiacre.g:1:713: T__125 + { + mT__125(); + + } + break; + case 115 : + // InternalFiacre.g:1:720: T__126 + { + mT__126(); + + } + break; + case 116 : + // InternalFiacre.g:1:727: T__127 + { + mT__127(); + + } + break; + case 117 : + // InternalFiacre.g:1:734: T__128 + { + mT__128(); + + } + break; + case 118 : + // InternalFiacre.g:1:741: T__129 + { + mT__129(); + + } + break; + case 119 : + // InternalFiacre.g:1:748: T__130 + { + mT__130(); + + } + break; + case 120 : + // InternalFiacre.g:1:755: T__131 + { + mT__131(); + + } + break; + case 121 : + // InternalFiacre.g:1:762: T__132 + { + mT__132(); + + } + break; + case 122 : + // InternalFiacre.g:1:769: T__133 + { + mT__133(); + + } + break; + case 123 : + // InternalFiacre.g:1:776: T__134 + { + mT__134(); + + } + break; + case 124 : + // InternalFiacre.g:1:783: T__135 + { + mT__135(); + + } + break; + case 125 : + // InternalFiacre.g:1:790: T__136 + { + mT__136(); + + } + break; + case 126 : + // InternalFiacre.g:1:797: T__137 + { + mT__137(); + + } + break; + case 127 : + // InternalFiacre.g:1:804: T__138 + { + mT__138(); + + } + break; + case 128 : + // InternalFiacre.g:1:811: T__139 + { + mT__139(); + + } + break; + case 129 : + // InternalFiacre.g:1:818: RULE_INT + { + mRULE_INT(); + + } + break; + case 130 : + // InternalFiacre.g:1:827: RULE_ID + { + mRULE_ID(); + + } + break; + case 131 : + // InternalFiacre.g:1:835: RULE_FLT + { + mRULE_FLT(); + + } + break; + case 132 : + // InternalFiacre.g:1:844: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 133 : + // InternalFiacre.g:1:856: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 134 : + // InternalFiacre.g:1:872: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 135 : + // InternalFiacre.g:1:888: RULE_WS + { + mRULE_WS(); + + } + break; + case 136 : + // InternalFiacre.g:1:896: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\1\uffff\2\67\1\uffff\1\77\1\101\1\104\1\106\1\67\1\115\1\67\3\uffff\6\67\1\153\5\67\1\170\2\uffff\1\67\2\uffff\2\67\1\u0088\1\u008b\1\uffff\1\u008f\4\uffff\1\u0095\1\uffff\1\67\1\u0098\1\uffff\2\62\2\uffff\4\67\1\uffff\3\67\14\uffff\5\67\2\uffff\1\u00ab\1\u00af\1\u00b0\3\uffff\3\67\1\u00b5\14\67\1\u00c5\1\u00c6\1\u00c7\3\67\1\u00ce\1\uffff\13\67\4\uffff\4\67\2\uffff\1\u00e8\5\67\20\uffff\1\67\1\uffff\1\u0098\3\uffff\1\67\1\u00f2\1\u00f3\10\67\1\u00fd\2\67\1\uffff\1\u0100\2\67\2\uffff\1\u0103\3\67\1\uffff\1\67\1\u0108\5\67\1\u010e\1\u010f\1\u0110\5\67\3\uffff\1\u0116\4\67\2\uffff\3\67\1\u011e\17\67\1\u0131\5\67\1\uffff\5\67\1\u013d\2\67\1\u0140\2\uffff\1\u0141\1\u0142\1\u0143\3\67\1\u0147\1\u0148\1\67\1\uffff\2\67\1\uffff\1\u014c\1\67\1\uffff\1\67\1\u014f\1\u0150\1\u0151\1\uffff\3\67\1\u0155\1\67\3\uffff\5\67\1\uffff\1\u015c\6\67\1\uffff\2\67\1\u0165\7\67\1\u016d\6\67\1\u0174\1\uffff\2\67\1\u0177\4\67\1\u017c\3\67\1\uffff\2\67\4\uffff\1\u0183\2\67\2\uffff\1\67\1\u0187\1\u0188\1\uffff\1\67\1\u018a\3\uffff\1\67\1\u018c\1\67\1\uffff\1\u018e\3\67\1\u0192\1\67\1\uffff\1\u0194\2\67\1\u0197\1\67\1\u0199\1\67\1\u019b\1\uffff\1\u019c\1\67\1\u019e\1\u019f\3\67\1\uffff\1\u01a3\5\67\1\uffff\1\u01a9\1\u01aa\1\uffff\1\67\1\u01ac\2\67\1\uffff\2\67\1\u01b1\2\67\1\u01b4\1\uffff\1\u01b5\2\67\2\uffff\1\67\1\uffff\1\67\1\uffff\1\67\1\uffff\1\u01bb\1\u01bc\1\u01bd\1\uffff\1\u01be\1\uffff\1\u01bf\1\67\1\uffff\1\u01c1\1\uffff\1\67\2\uffff\1\u01c3\2\uffff\1\u01c4\1\u01c5\1\67\1\uffff\5\67\2\uffff\1\u01cc\1\uffff\2\67\1\u01cf\1\67\1\uffff\1\67\1\u01d2\2\uffff\1\67\1\u01d4\1\67\1\u01d6\1\67\5\uffff\1\u01d8\1\uffff\1\u01d9\3\uffff\1\u01da\1\u01db\2\67\1\u01de\1\67\1\uffff\1\u01e0\1\67\1\uffff\1\u01e2\1\u01e3\1\uffff\1\u01e4\1\uffff\1\67\1\uffff\1\67\4\uffff\1\u01e7\1\u01e8\1\uffff\1\u01e9\1\uffff\1\67\3\uffff\1\67\1\u01ec\3\uffff\2\67\1\uffff\4\67\1\u01f3\1\67\1\uffff\1\67\1\u01f6\1\uffff"; + static final String DFA11_eofS = + "\u01f7\uffff"; + static final String DFA11_minS = + "\1\0\1\141\1\145\1\uffff\1\76\1\75\1\174\1\151\1\141\1\75\1\146\3\uffff\3\141\1\142\1\146\1\145\1\56\1\156\1\154\1\145\1\165\1\141\1\135\2\uffff\1\141\2\uffff\1\145\1\141\1\76\1\75\1\uffff\1\52\4\uffff\1\174\1\uffff\1\157\1\56\1\uffff\2\0\2\uffff\1\156\1\164\1\154\1\170\1\uffff\1\156\1\141\1\154\14\uffff\1\154\1\157\2\162\1\154\2\uffff\3\60\3\uffff\1\154\1\160\1\145\1\60\1\165\1\147\1\141\1\155\1\163\1\162\1\144\1\154\1\160\1\163\1\164\1\163\3\60\1\164\1\157\1\146\1\56\1\uffff\1\151\1\144\1\163\1\151\1\160\1\145\1\141\2\145\2\162\4\uffff\1\145\1\151\1\164\1\151\2\uffff\1\60\1\141\1\157\1\141\1\154\1\163\20\uffff\1\162\1\uffff\1\56\3\uffff\1\145\2\60\1\154\1\164\1\143\1\164\1\145\1\143\1\154\1\155\1\60\2\163\1\uffff\1\60\1\164\1\151\2\uffff\1\60\1\165\1\145\1\156\1\uffff\1\145\1\60\1\156\1\163\1\160\1\145\1\141\3\60\1\141\4\145\3\uffff\1\60\1\154\1\151\1\157\1\167\2\uffff\1\157\1\145\1\151\1\60\1\165\2\145\1\163\1\164\1\156\1\157\1\165\1\145\1\144\1\165\1\143\1\157\1\143\1\164\1\60\1\162\1\154\1\164\1\150\1\164\1\uffff\1\165\1\144\1\160\1\147\1\144\1\60\2\164\1\60\2\uffff\3\60\1\145\1\143\1\164\2\60\1\141\1\uffff\1\164\1\145\1\uffff\1\60\1\156\1\uffff\1\145\3\60\1\uffff\1\156\1\164\1\157\1\60\1\171\3\uffff\1\171\1\156\2\162\1\156\1\uffff\1\60\1\156\1\162\1\145\1\156\1\163\1\154\1\uffff\1\145\1\162\1\60\1\146\1\164\1\171\1\164\2\162\1\141\1\60\3\145\1\162\2\145\1\60\1\uffff\2\145\1\60\1\151\2\145\1\154\1\60\1\164\1\163\1\145\1\uffff\1\151\1\141\4\uffff\1\60\1\164\1\151\2\uffff\1\143\2\60\1\uffff\1\151\1\60\3\uffff\1\145\1\60\1\156\1\uffff\1\60\1\163\1\144\1\164\1\60\1\164\1\uffff\1\60\2\145\1\60\1\163\1\60\1\165\1\60\1\uffff\1\60\1\163\2\60\1\144\1\156\1\163\1\uffff\1\60\1\163\1\162\1\151\1\156\1\144\1\uffff\2\60\1\uffff\1\156\1\60\1\165\1\157\1\uffff\1\150\1\164\1\60\1\156\1\154\1\60\1\uffff\1\60\1\157\1\150\2\uffff\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\3\60\1\uffff\1\60\1\uffff\1\60\1\156\1\uffff\1\60\1\uffff\1\145\2\uffff\1\60\2\uffff\2\60\1\145\1\uffff\1\163\3\164\1\145\2\uffff\1\60\1\uffff\1\145\1\143\1\60\1\157\1\uffff\1\147\1\60\2\uffff\1\156\1\60\1\145\1\60\1\156\5\uffff\1\60\1\uffff\1\60\3\uffff\2\60\2\171\1\60\1\163\1\uffff\1\60\1\153\1\uffff\2\60\1\uffff\1\60\1\uffff\1\154\1\uffff\1\164\4\uffff\2\60\1\uffff\1\60\1\uffff\1\146\3\uffff\1\171\1\60\3\uffff\1\162\1\157\1\uffff\1\145\1\146\1\145\1\164\1\60\1\145\1\uffff\1\156\1\60\1\uffff"; + static final String DFA11_maxS = + "\1\uffff\1\165\1\171\1\uffff\1\164\1\75\1\175\1\151\1\165\1\75\1\163\3\uffff\1\141\1\171\1\157\1\163\1\165\1\157\1\56\1\156\1\170\1\145\1\165\1\162\1\135\2\uffff\1\162\2\uffff\1\157\1\164\2\76\1\uffff\1\57\4\uffff\1\174\1\uffff\1\157\1\71\1\uffff\2\uffff\2\uffff\2\164\1\154\1\170\1\uffff\1\156\1\141\1\154\14\uffff\1\156\1\157\2\162\1\154\2\uffff\3\172\3\uffff\1\162\1\160\1\145\1\172\1\165\1\147\1\141\1\156\1\163\1\162\1\171\1\167\1\160\1\163\1\164\1\163\3\172\1\164\1\157\1\164\1\56\1\uffff\2\164\1\163\1\151\1\160\1\145\1\164\1\145\1\157\2\162\4\uffff\2\151\1\164\1\151\2\uffff\1\172\1\161\1\157\1\156\1\154\1\163\20\uffff\1\162\1\uffff\1\71\3\uffff\1\145\2\172\1\154\1\164\1\143\1\164\1\145\1\143\1\154\1\155\1\172\2\163\1\uffff\1\172\1\164\1\151\2\uffff\1\172\1\165\1\145\1\156\1\uffff\1\145\1\172\1\156\1\163\1\160\1\145\1\141\3\172\1\141\4\145\3\uffff\1\172\1\154\1\151\1\157\1\167\2\uffff\1\157\1\145\1\151\1\172\1\165\1\145\1\151\1\163\1\164\1\156\1\157\1\165\1\145\1\144\1\165\1\160\1\157\1\163\1\164\1\172\1\162\1\154\1\164\1\150\1\164\1\uffff\1\165\1\144\1\160\1\147\1\166\1\172\2\164\1\172\2\uffff\3\172\1\145\1\143\1\164\2\172\1\141\1\uffff\1\164\1\145\1\uffff\1\172\1\156\1\uffff\1\145\3\172\1\uffff\1\156\1\164\1\157\1\172\1\171\3\uffff\1\171\1\156\2\162\1\156\1\uffff\1\172\1\156\1\162\1\145\1\156\1\163\1\154\1\uffff\1\145\1\162\1\172\1\146\1\164\1\171\1\164\2\162\1\141\1\172\3\145\1\162\2\145\1\172\1\uffff\2\145\1\172\1\151\2\145\1\154\1\172\1\164\1\163\1\145\1\uffff\1\151\1\141\4\uffff\1\172\1\164\1\151\2\uffff\1\143\2\172\1\uffff\1\151\1\172\3\uffff\1\145\1\172\1\156\1\uffff\1\172\1\163\1\144\1\164\1\172\1\164\1\uffff\1\172\2\145\1\172\1\163\1\172\1\165\1\172\1\uffff\1\172\1\163\2\172\1\144\1\156\1\163\1\uffff\1\172\1\163\1\162\1\151\1\156\1\144\1\uffff\2\172\1\uffff\1\156\1\172\1\165\1\157\1\uffff\1\150\1\164\1\172\1\156\1\154\1\172\1\uffff\1\172\1\157\1\150\2\uffff\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\3\172\1\uffff\1\172\1\uffff\1\172\1\156\1\uffff\1\172\1\uffff\1\145\2\uffff\1\172\2\uffff\2\172\1\145\1\uffff\1\163\3\164\1\145\2\uffff\1\172\1\uffff\1\145\1\143\1\172\1\157\1\uffff\1\147\1\172\2\uffff\1\156\1\172\1\145\1\172\1\156\5\uffff\1\172\1\uffff\1\172\3\uffff\2\172\2\171\1\172\1\163\1\uffff\1\172\1\153\1\uffff\2\172\1\uffff\1\172\1\uffff\1\154\1\uffff\1\164\4\uffff\2\172\1\uffff\1\172\1\uffff\1\146\3\uffff\1\171\1\172\3\uffff\1\162\1\157\1\uffff\1\145\1\146\1\145\1\164\1\172\1\145\1\uffff\1\156\1\172\1\uffff"; + static final String DFA11_acceptS = + "\3\uffff\1\3\7\uffff\1\13\1\14\1\15\15\uffff\1\40\1\52\1\uffff\1\60\1\61\4\uffff\1\115\1\uffff\1\117\1\123\1\127\1\130\1\uffff\1\132\2\uffff\1\u0082\2\uffff\1\u0087\1\u0088\4\uffff\1\u0082\3\uffff\1\3\1\4\1\143\1\144\1\114\1\113\1\5\1\101\1\134\1\6\1\7\1\23\5\uffff\1\47\1\11\3\uffff\1\13\1\14\1\15\27\uffff\1\62\13\uffff\1\51\1\37\1\40\1\52\4\uffff\1\60\1\61\6\uffff\1\105\1\107\1\110\1\112\1\111\1\115\1\u0085\1\u0086\1\116\1\117\1\123\1\127\1\130\1\133\1\131\1\132\1\uffff\1\u0081\1\uffff\1\u0083\1\u0084\1\u0087\16\uffff\1\12\3\uffff\1\46\1\63\4\uffff\1\73\17\uffff\1\22\1\76\1\104\5\uffff\1\141\1\27\31\uffff\1\71\11\uffff\1\120\1\24\11\uffff\1\162\2\uffff\1\25\2\uffff\1\16\4\uffff\1\174\5\uffff\1\56\1\106\1\102\5\uffff\1\176\7\uffff\1\31\22\uffff\1\100\13\uffff\1\146\2\uffff\1\1\1\55\1\167\1\2\3\uffff\1\124\1\44\3\uffff\1\43\2\uffff\1\17\1\64\1\137\3\uffff\1\74\6\uffff\1\26\10\uffff\1\65\7\uffff\1\177\6\uffff\1\41\2\uffff\1\77\4\uffff\1\75\6\uffff\1\172\3\uffff\1\121\1\140\1\uffff\1\173\1\uffff\1\34\1\uffff\1\21\3\uffff\1\154\1\uffff\1\53\2\uffff\1\30\1\uffff\1\156\1\uffff\1\170\1\66\1\uffff\1\126\1\175\3\uffff\1\33\5\uffff\1\57\1\70\1\uffff\1\u0080\4\uffff\1\171\2\uffff\1\36\1\67\5\uffff\1\163\1\136\1\142\1\161\1\157\1\uffff\1\50\1\uffff\1\103\1\32\1\54\6\uffff\1\155\2\uffff\1\122\2\uffff\1\151\1\uffff\1\72\1\uffff\1\20\1\uffff\1\160\1\135\1\166\1\35\2\uffff\1\152\1\uffff\1\125\1\uffff\1\164\1\153\1\10\2\uffff\1\145\1\42\1\165\2\uffff\1\45\6\uffff\1\147\2\uffff\1\150"; + static final String DFA11_specialS = + "\1\0\56\uffff\1\1\1\2\u01c6\uffff}>"; + static final String[] DFA11_transitionS = { + "\11\62\2\61\2\62\1\61\22\62\1\61\1\36\1\57\1\7\1\47\1\46\1\51\1\60\1\13\1\14\1\44\1\3\1\15\1\4\1\24\1\45\12\55\1\11\1\34\1\43\1\42\1\5\1\37\1\62\32\56\1\32\1\62\1\33\1\50\1\56\1\62\1\21\1\23\1\20\1\40\1\26\1\10\2\56\1\12\2\56\1\41\1\54\1\1\1\22\1\31\1\30\1\27\1\2\1\17\1\25\1\16\1\35\3\56\1\52\1\6\1\53\uff82\62", + "\1\64\3\uffff\1\66\11\uffff\1\63\5\uffff\1\65", + "\1\72\16\uffff\1\71\4\uffff\1\70", + "", + "\1\74\47\uffff\1\76\15\uffff\1\75", + "\1\100", + "\1\102\1\103", + "\1\105", + "\1\113\7\uffff\1\112\5\uffff\1\111\2\uffff\1\110\2\uffff\1\107", + "\1\114", + "\1\120\7\uffff\1\117\4\uffff\1\116", + "", + "", + "", + "\1\124", + "\1\131\6\uffff\1\126\6\uffff\1\127\2\uffff\1\130\6\uffff\1\125", + "\1\134\6\uffff\1\132\6\uffff\1\133", + "\1\143\3\uffff\1\142\5\uffff\1\137\1\uffff\1\136\1\uffff\1\140\1\uffff\1\135\1\141", + "\1\144\7\uffff\1\145\3\uffff\1\146\2\uffff\1\147", + "\1\151\11\uffff\1\150", + "\1\152", + "\1\154", + "\1\156\1\160\1\155\7\uffff\1\161\1\uffff\1\157", + "\1\162", + "\1\163", + "\1\166\15\uffff\1\165\2\uffff\1\164", + "\1\167", + "", + "", + "\1\174\6\uffff\1\173\1\175\10\uffff\1\176", + "", + "", + "\1\u0082\11\uffff\1\u0081", + "\1\u0086\3\uffff\1\u0084\11\uffff\1\u0083\4\uffff\1\u0085", + "\1\u0087", + "\1\u008a\1\u0089", + "", + "\1\u008d\4\uffff\1\u008e", + "", + "", + "", + "", + "\1\u0094", + "", + "\1\u0097", + "\1\u009a\1\uffff\12\u0099", + "", + "\0\u009b", + "\0\u009b", + "", + "", + "\1\u009d\5\uffff\1\u009e", + "\1\u009f", + "\1\u00a0", + "\1\u00a1", + "", + "\1\u00a2", + "\1\u00a3", + "\1\u00a4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u00a6\1\uffff\1\u00a5", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "\1\u00aa", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\5\67\1\u00ae\2\67\1\u00ad\12\67\1\u00ac\6\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "", + "\1\u00b2\5\uffff\1\u00b1", + "\1\u00b3", + "\1\u00b4", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u00b6", + "\1\u00b7", + "\1\u00b8", + "\1\u00ba\1\u00b9", + "\1\u00bb", + "\1\u00bc", + "\1\u00be\24\uffff\1\u00bd", + "\1\u00bf\12\uffff\1\u00c0", + "\1\u00c1", + "\1\u00c2", + "\1\u00c3", + "\1\u00c4", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u00c8", + "\1\u00c9", + "\1\u00cb\1\u00ca\14\uffff\1\u00cc", + "\1\u00cd", + "", + "\1\u00cf\2\uffff\1\u00d0\7\uffff\1\u00d1", + "\1\u00d2\14\uffff\1\u00d3\2\uffff\1\u00d4", + "\1\u00d5", + "\1\u00d6", + "\1\u00d7", + "\1\u00d8", + "\1\u00dc\1\uffff\1\u00d9\10\uffff\1\u00db\7\uffff\1\u00da", + "\1\u00dd", + "\1\u00e0\3\uffff\1\u00df\5\uffff\1\u00de", + "\1\u00e1", + "\1\u00e2", + "", + "", + "", + "", + "\1\u00e3\3\uffff\1\u00e4", + "\1\u00e5", + "\1\u00e6", + "\1\u00e7", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u00ea\17\uffff\1\u00e9", + "\1\u00eb", + "\1\u00ed\14\uffff\1\u00ec", + "\1\u00ee", + "\1\u00ef", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u00f0", + "", + "\1\u009a\1\uffff\12\u0099", + "", + "", + "", + "\1\u00f1", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u00f4", + "\1\u00f5", + "\1\u00f6", + "\1\u00f7", + "\1\u00f8", + "\1\u00f9", + "\1\u00fa", + "\1\u00fb", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\4\67\1\u00fc\25\67", + "\1\u00fe", + "\1\u00ff", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0101", + "\1\u0102", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0104", + "\1\u0105", + "\1\u0106", + "", + "\1\u0107", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0109", + "\1\u010a", + "\1\u010b", + "\1\u010c", + "\1\u010d", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0111", + "\1\u0112", + "\1\u0113", + "\1\u0114", + "\1\u0115", + "", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0117", + "\1\u0118", + "\1\u0119", + "\1\u011a", + "", + "", + "\1\u011b", + "\1\u011c", + "\1\u011d", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u011f", + "\1\u0120", + "\1\u0121\3\uffff\1\u0122", + "\1\u0123", + "\1\u0124", + "\1\u0125", + "\1\u0126", + "\1\u0127", + "\1\u0128", + "\1\u0129", + "\1\u012a", + "\1\u012b\14\uffff\1\u012c", + "\1\u012d", + "\1\u012f\17\uffff\1\u012e", + "\1\u0130", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0132", + "\1\u0133", + "\1\u0134", + "\1\u0135", + "\1\u0136", + "", + "\1\u0137", + "\1\u0138", + "\1\u0139", + "\1\u013a", + "\1\u013b\21\uffff\1\u013c", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u013e", + "\1\u013f", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0144", + "\1\u0145", + "\1\u0146", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0149", + "", + "\1\u014a", + "\1\u014b", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u014d", + "", + "\1\u014e", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u0152", + "\1\u0153", + "\1\u0154", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0156", + "", + "", + "", + "\1\u0157", + "\1\u0158", + "\1\u0159", + "\1\u015a", + "\1\u015b", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u015d", + "\1\u015e", + "\1\u015f", + "\1\u0160", + "\1\u0161", + "\1\u0162", + "", + "\1\u0163", + "\1\u0164", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0166", + "\1\u0167", + "\1\u0168", + "\1\u0169", + "\1\u016a", + "\1\u016b", + "\1\u016c", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u016e", + "\1\u016f", + "\1\u0170", + "\1\u0171", + "\1\u0172", + "\1\u0173", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u0175", + "\1\u0176", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0178", + "\1\u0179", + "\1\u017a", + "\1\u017b", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u017d", + "\1\u017e", + "\1\u017f", + "", + "\1\u0180", + "\1\u0181", + "", + "", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\22\67\1\u0182\7\67", + "\1\u0184", + "\1\u0185", + "", + "", + "\1\u0186", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u0189", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "", + "\1\u018b", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u018d", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u018f", + "\1\u0190", + "\1\u0191", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0193", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0195", + "\1\u0196", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u0198", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u019a", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u019d", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01a0", + "\1\u01a1", + "\1\u01a2", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01a4", + "\1\u01a5", + "\1\u01a6", + "\1\u01a7", + "\1\u01a8", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u01ab", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01ad", + "\1\u01ae", + "", + "\1\u01af", + "\1\u01b0", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01b2", + "\1\u01b3", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01b6", + "\1\u01b7", + "", + "", + "\1\u01b8", + "", + "\1\u01b9", + "", + "\1\u01ba", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01c0", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u01c2", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01c6", + "", + "\1\u01c7", + "\1\u01c8", + "\1\u01c9", + "\1\u01ca", + "\1\u01cb", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u01cd", + "\1\u01ce", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01d0", + "", + "\1\u01d1", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "\1\u01d3", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01d5", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01d7", + "", + "", + "", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01dc", + "\1\u01dd", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01df", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01e1", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u01e5", + "", + "\1\u01e6", + "", + "", + "", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "\1\u01ea", + "", + "", + "", + "\1\u01eb", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "", + "", + "", + "\1\u01ed", + "\1\u01ee", + "", + "\1\u01ef", + "\1\u01f0", + "\1\u01f1", + "\1\u01f2", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "\1\u01f4", + "", + "\1\u01f5", + "\12\67\7\uffff\32\67\4\uffff\1\67\1\uffff\32\67", + "" + }; + + 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') ) {s = 5;} + + else if ( (LA11_0=='|') ) {s = 6;} + + else if ( (LA11_0=='#') ) {s = 7;} + + else if ( (LA11_0=='f') ) {s = 8;} + + else if ( (LA11_0==':') ) {s = 9;} + + else if ( (LA11_0=='i') ) {s = 10;} + + else if ( (LA11_0=='(') ) {s = 11;} + + else if ( (LA11_0==')') ) {s = 12;} + + else if ( (LA11_0==',') ) {s = 13;} + + else if ( (LA11_0=='v') ) {s = 14;} + + else if ( (LA11_0=='t') ) {s = 15;} + + else if ( (LA11_0=='c') ) {s = 16;} + + else if ( (LA11_0=='a') ) {s = 17;} + + else if ( (LA11_0=='o') ) {s = 18;} + + else if ( (LA11_0=='b') ) {s = 19;} + + else if ( (LA11_0=='.') ) {s = 20;} + + else if ( (LA11_0=='u') ) {s = 21;} + + else if ( (LA11_0=='e') ) {s = 22;} + + else if ( (LA11_0=='r') ) {s = 23;} + + else if ( (LA11_0=='q') ) {s = 24;} + + else if ( (LA11_0=='p') ) {s = 25;} + + else if ( (LA11_0=='[') ) {s = 26;} + + else if ( (LA11_0==']') ) {s = 27;} + + else if ( (LA11_0==';') ) {s = 28;} + + else if ( (LA11_0=='w') ) {s = 29;} + + else if ( (LA11_0=='!') ) {s = 30;} + + else if ( (LA11_0=='?') ) {s = 31;} + + else if ( (LA11_0=='d') ) {s = 32;} + + else if ( (LA11_0=='l') ) {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=='^') ) {s = 40;} + + else if ( (LA11_0=='&') ) {s = 41;} + + else if ( (LA11_0=='{') ) {s = 42;} + + else if ( (LA11_0=='}') ) {s = 43;} + + else if ( (LA11_0=='m') ) {s = 44;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 45;} + + else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='k')||(LA11_0>='x' && LA11_0<='z')) ) {s = 46;} + + else if ( (LA11_0=='\"') ) {s = 47;} + + else if ( (LA11_0=='\'') ) {s = 48;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 49;} + + 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<='\uFFFF')) ) {s = 50;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA11_47 = input.LA(1); + + s = -1; + if ( ((LA11_47>='\u0000' && LA11_47<='\uFFFF')) ) {s = 155;} + + else s = 50; + + if ( s>=0 ) return s; + break; + case 2 : + int LA11_48 = input.LA(1); + + s = -1; + if ( ((LA11_48>='\u0000' && LA11_48<='\uFFFF')) ) {s = 155;} + + else s = 50; + + 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/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreParser.java b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreParser.java new file mode 100644 index 0000000..582e576 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src-gen/fr/irit/fiacre/xtext/ide/contentassist/antlr/internal/InternalFiacreParser.java @@ -0,0 +1,110771 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.fiacre.xtext.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 fr.irit.fiacre.xtext.services.FiacreGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +@SuppressWarnings("all") +public class InternalFiacreParser extends AbstractInternalContentAssistParser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_FLT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'none'", "'sync'", "'+'", "'->'", "'>'", "'|'", "'#include'", "'function'", "':'", "'is'", "'('", "')'", "','", "'var'", "'type'", "'channel'", "'array'", "'of'", "'#'", "'nat'", "'int'", "'bool'", "'..'", "'union'", "'end'", "'record'", "'queue'", "'const'", "'process'", "'states'", "'['", "']'", "'port'", "'priority'", "'init'", "'from'", "'component'", "'in'", "':='", "'unless'", "'[]'", "';'", "'begin'", "'return'", "'null'", "'any'", "'where'", "'!'", "'?'", "'.'", "'if'", "'then'", "'else'", "'elsif'", "'select'", "'while'", "'do'", "'foreach'", "'to'", "'case'", "'loop'", "'on'", "'wait'", "'par'", "'||'", "'all'", "'exists'", "'or'", "'=>'", "'and'", "'='", "'<>'", "'<'", "'<='", "'>='", "'-'", "'*'", "'/'", "'%'", "'not'", "'first'", "'length'", "'$'", "'full'", "'dequeue'", "'empty'", "'^'", "'&'", "'{'", "'}'", "'{|'", "'|}'", "'enqueue'", "'append'", "'true'", "'false'", "'...'", "'assert'", "'-true'", "'-false'", "'property'", "'ltl'", "'deadlockfree'", "'infinitelyoften'", "'mortal'", "'present'", "'lasting'", "'after'", "'within'", "'until'", "'before'", "'between'", "'absent'", "'for'", "'always'", "'leadsto'", "'precedes'", "'release'", "'next'", "'enter'", "'leave'", "'state'", "'value'", "'tag'", "'event'", "'out'", "'read'", "'write'" + }; + public static final int T__50=50; + public static final int T__59=59; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__137=137; + public static final int T__52=52; + public static final int T__136=136; + public static final int T__53=53; + public static final int T__139=139; + public static final int T__54=54; + public static final int T__138=138; + public static final int T__133=133; + public static final int T__132=132; + public static final int T__60=60; + public static final int T__135=135; + public static final int T__61=61; + public static final int T__134=134; + public static final int RULE_ID=4; + public static final int T__131=131; + public static final int T__130=130; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=8; + public static final int T__67=67; + public static final int T__129=129; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__126=126; + public static final int T__63=63; + public static final int T__125=125; + public static final int T__64=64; + public static final int T__128=128; + public static final int T__65=65; + public static final int T__127=127; + 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 T__30=30; + public static final int T__31=31; + public static final int T__32=32; + 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; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + 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__99=99; + public static final int T__12=12; + public static final int T__13=13; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_FLT=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 T__29=29; + public static final int T__22=22; + 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 T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__124=124; + public static final int T__72=72; + public static final int T__123=123; + public static final int T__120=120; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=9; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; + + // delegates + // delegators + + + public InternalFiacreParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalFiacreParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalFiacreParser.tokenNames; } + public String getGrammarFileName() { return "InternalFiacre.g"; } + + + private FiacreGrammarAccess grammarAccess; + + public void setGrammarAccess(FiacreGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + + + + // $ANTLR start "entryRuleModel" + // InternalFiacre.g:54:1: entryRuleModel : ruleModel EOF ; + public final void entryRuleModel() throws RecognitionException { + try { + // InternalFiacre.g:55:1: ( ruleModel EOF ) + // InternalFiacre.g:56:1: ruleModel EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleModel(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModelRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleModel" + + + // $ANTLR start "ruleModel" + // InternalFiacre.g:63:1: ruleModel : ( ( rule__Model__Group__0 ) ) ; + public final void ruleModel() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:67:2: ( ( ( rule__Model__Group__0 ) ) ) + // InternalFiacre.g:68:2: ( ( rule__Model__Group__0 ) ) + { + // InternalFiacre.g:68:2: ( ( rule__Model__Group__0 ) ) + // InternalFiacre.g:69:3: ( rule__Model__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getGroup()); + } + // InternalFiacre.g:70:3: ( rule__Model__Group__0 ) + // InternalFiacre.g:70:4: rule__Model__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleModel" + + + // $ANTLR start "entryRuleRoot" + // InternalFiacre.g:79:1: entryRuleRoot : ruleRoot EOF ; + public final void entryRuleRoot() throws RecognitionException { + try { + // InternalFiacre.g:80:1: ( ruleRoot EOF ) + // InternalFiacre.g:81:1: ruleRoot EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRoot(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRoot" + + + // $ANTLR start "ruleRoot" + // InternalFiacre.g:88:1: ruleRoot : ( ( rule__Root__Group__0 ) ) ; + public final void ruleRoot() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:92:2: ( ( ( rule__Root__Group__0 ) ) ) + // InternalFiacre.g:93:2: ( ( rule__Root__Group__0 ) ) + { + // InternalFiacre.g:93:2: ( ( rule__Root__Group__0 ) ) + // InternalFiacre.g:94:3: ( rule__Root__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getGroup()); + } + // InternalFiacre.g:95:3: ( rule__Root__Group__0 ) + // InternalFiacre.g:95:4: rule__Root__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRoot" + + + // $ANTLR start "entryRuleImportDeclaration" + // InternalFiacre.g:104:1: entryRuleImportDeclaration : ruleImportDeclaration EOF ; + public final void entryRuleImportDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:105:1: ( ruleImportDeclaration EOF ) + // InternalFiacre.g:106:1: ruleImportDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleImportDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleImportDeclaration" + + + // $ANTLR start "ruleImportDeclaration" + // InternalFiacre.g:113:1: ruleImportDeclaration : ( ( rule__ImportDeclaration__Group__0 ) ) ; + public final void ruleImportDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:117:2: ( ( ( rule__ImportDeclaration__Group__0 ) ) ) + // InternalFiacre.g:118:2: ( ( rule__ImportDeclaration__Group__0 ) ) + { + // InternalFiacre.g:118:2: ( ( rule__ImportDeclaration__Group__0 ) ) + // InternalFiacre.g:119:3: ( rule__ImportDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportDeclarationAccess().getGroup()); + } + // InternalFiacre.g:120:3: ( rule__ImportDeclaration__Group__0 ) + // InternalFiacre.g:120:4: rule__ImportDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ImportDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImportDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleImportDeclaration" + + + // $ANTLR start "entryRuleDeclaration" + // InternalFiacre.g:129:1: entryRuleDeclaration : ruleDeclaration EOF ; + public final void entryRuleDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:130:1: ( ruleDeclaration EOF ) + // InternalFiacre.g:131:1: ruleDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDeclaration" + + + // $ANTLR start "ruleDeclaration" + // InternalFiacre.g:138:1: ruleDeclaration : ( ( rule__Declaration__Alternatives ) ) ; + public final void ruleDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:142:2: ( ( ( rule__Declaration__Alternatives ) ) ) + // InternalFiacre.g:143:2: ( ( rule__Declaration__Alternatives ) ) + { + // InternalFiacre.g:143:2: ( ( rule__Declaration__Alternatives ) ) + // InternalFiacre.g:144:3: ( rule__Declaration__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getAlternatives()); + } + // InternalFiacre.g:145:3: ( rule__Declaration__Alternatives ) + // InternalFiacre.g:145:4: rule__Declaration__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Declaration__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDeclaration" + + + // $ANTLR start "entryRuleParameterizedDeclaration" + // InternalFiacre.g:154:1: entryRuleParameterizedDeclaration : ruleParameterizedDeclaration EOF ; + public final void entryRuleParameterizedDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:155:1: ( ruleParameterizedDeclaration EOF ) + // InternalFiacre.g:156:1: ruleParameterizedDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterizedDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleParameterizedDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterizedDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParameterizedDeclaration" + + + // $ANTLR start "ruleParameterizedDeclaration" + // InternalFiacre.g:163:1: ruleParameterizedDeclaration : ( ( rule__ParameterizedDeclaration__Alternatives ) ) ; + public final void ruleParameterizedDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:167:2: ( ( ( rule__ParameterizedDeclaration__Alternatives ) ) ) + // InternalFiacre.g:168:2: ( ( rule__ParameterizedDeclaration__Alternatives ) ) + { + // InternalFiacre.g:168:2: ( ( rule__ParameterizedDeclaration__Alternatives ) ) + // InternalFiacre.g:169:3: ( rule__ParameterizedDeclaration__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterizedDeclarationAccess().getAlternatives()); + } + // InternalFiacre.g:170:3: ( rule__ParameterizedDeclaration__Alternatives ) + // InternalFiacre.g:170:4: rule__ParameterizedDeclaration__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterizedDeclaration__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterizedDeclarationAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParameterizedDeclaration" + + + // $ANTLR start "entryRuleFunctionDeclaration" + // InternalFiacre.g:179:1: entryRuleFunctionDeclaration : ruleFunctionDeclaration EOF ; + public final void entryRuleFunctionDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:180:1: ( ruleFunctionDeclaration EOF ) + // InternalFiacre.g:181:1: ruleFunctionDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleFunctionDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionDeclaration" + + + // $ANTLR start "ruleFunctionDeclaration" + // InternalFiacre.g:188:1: ruleFunctionDeclaration : ( ( rule__FunctionDeclaration__Group__0 ) ) ; + public final void ruleFunctionDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:192:2: ( ( ( rule__FunctionDeclaration__Group__0 ) ) ) + // InternalFiacre.g:193:2: ( ( rule__FunctionDeclaration__Group__0 ) ) + { + // InternalFiacre.g:193:2: ( ( rule__FunctionDeclaration__Group__0 ) ) + // InternalFiacre.g:194:3: ( rule__FunctionDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup()); + } + // InternalFiacre.g:195:3: ( rule__FunctionDeclaration__Group__0 ) + // InternalFiacre.g:195:4: rule__FunctionDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionDeclaration" + + + // $ANTLR start "entryRuleTypeDeclaration" + // InternalFiacre.g:204:1: entryRuleTypeDeclaration : ruleTypeDeclaration EOF ; + public final void entryRuleTypeDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:205:1: ( ruleTypeDeclaration EOF ) + // InternalFiacre.g:206:1: ruleTypeDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTypeDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTypeDeclaration" + + + // $ANTLR start "ruleTypeDeclaration" + // InternalFiacre.g:213:1: ruleTypeDeclaration : ( ( rule__TypeDeclaration__Group__0 ) ) ; + public final void ruleTypeDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:217:2: ( ( ( rule__TypeDeclaration__Group__0 ) ) ) + // InternalFiacre.g:218:2: ( ( rule__TypeDeclaration__Group__0 ) ) + { + // InternalFiacre.g:218:2: ( ( rule__TypeDeclaration__Group__0 ) ) + // InternalFiacre.g:219:3: ( rule__TypeDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getGroup()); + } + // InternalFiacre.g:220:3: ( rule__TypeDeclaration__Group__0 ) + // InternalFiacre.g:220:4: rule__TypeDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTypeDeclaration" + + + // $ANTLR start "entryRuleChannelDeclaration" + // InternalFiacre.g:229:1: entryRuleChannelDeclaration : ruleChannelDeclaration EOF ; + public final void entryRuleChannelDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:230:1: ( ruleChannelDeclaration EOF ) + // InternalFiacre.g:231:1: ruleChannelDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleChannelDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleChannelDeclaration" + + + // $ANTLR start "ruleChannelDeclaration" + // InternalFiacre.g:238:1: ruleChannelDeclaration : ( ( rule__ChannelDeclaration__Group__0 ) ) ; + public final void ruleChannelDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:242:2: ( ( ( rule__ChannelDeclaration__Group__0 ) ) ) + // InternalFiacre.g:243:2: ( ( rule__ChannelDeclaration__Group__0 ) ) + { + // InternalFiacre.g:243:2: ( ( rule__ChannelDeclaration__Group__0 ) ) + // InternalFiacre.g:244:3: ( rule__ChannelDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getGroup()); + } + // InternalFiacre.g:245:3: ( rule__ChannelDeclaration__Group__0 ) + // InternalFiacre.g:245:4: rule__ChannelDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleChannelDeclaration" + + + // $ANTLR start "entryRuleChannelType" + // InternalFiacre.g:254:1: entryRuleChannelType : ruleChannelType EOF ; + public final void entryRuleChannelType() throws RecognitionException { + try { + // InternalFiacre.g:255:1: ( ruleChannelType EOF ) + // InternalFiacre.g:256:1: ruleChannelType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleChannelType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleChannelType" + + + // $ANTLR start "ruleChannelType" + // InternalFiacre.g:263:1: ruleChannelType : ( ( rule__ChannelType__Group__0 ) ) ; + public final void ruleChannelType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:267:2: ( ( ( rule__ChannelType__Group__0 ) ) ) + // InternalFiacre.g:268:2: ( ( rule__ChannelType__Group__0 ) ) + { + // InternalFiacre.g:268:2: ( ( rule__ChannelType__Group__0 ) ) + // InternalFiacre.g:269:3: ( rule__ChannelType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getGroup()); + } + // InternalFiacre.g:270:3: ( rule__ChannelType__Group__0 ) + // InternalFiacre.g:270:4: rule__ChannelType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleChannelType" + + + // $ANTLR start "entryRuleType" + // InternalFiacre.g:279:1: entryRuleType : ruleType EOF ; + public final void entryRuleType() throws RecognitionException { + try { + // InternalFiacre.g:280:1: ( ruleType EOF ) + // InternalFiacre.g:281:1: ruleType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleType" + + + // $ANTLR start "ruleType" + // InternalFiacre.g:288:1: ruleType : ( ( rule__Type__Alternatives ) ) ; + public final void ruleType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:292:2: ( ( ( rule__Type__Alternatives ) ) ) + // InternalFiacre.g:293:2: ( ( rule__Type__Alternatives ) ) + { + // InternalFiacre.g:293:2: ( ( rule__Type__Alternatives ) ) + // InternalFiacre.g:294:3: ( rule__Type__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getAlternatives()); + } + // InternalFiacre.g:295:3: ( rule__Type__Alternatives ) + // InternalFiacre.g:295:4: rule__Type__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Type__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleType" + + + // $ANTLR start "entryRuleTupleType" + // InternalFiacre.g:304:1: entryRuleTupleType : ruleTupleType EOF ; + public final void entryRuleTupleType() throws RecognitionException { + try { + // InternalFiacre.g:305:1: ( ruleTupleType EOF ) + // InternalFiacre.g:306:1: ruleTupleType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTupleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTupleType" + + + // $ANTLR start "ruleTupleType" + // InternalFiacre.g:313:1: ruleTupleType : ( ( rule__TupleType__Group__0 ) ) ; + public final void ruleTupleType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:317:2: ( ( ( rule__TupleType__Group__0 ) ) ) + // InternalFiacre.g:318:2: ( ( rule__TupleType__Group__0 ) ) + { + // InternalFiacre.g:318:2: ( ( rule__TupleType__Group__0 ) ) + // InternalFiacre.g:319:3: ( rule__TupleType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getGroup()); + } + // InternalFiacre.g:320:3: ( rule__TupleType__Group__0 ) + // InternalFiacre.g:320:4: rule__TupleType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTupleType" + + + // $ANTLR start "entryRuleBasicType" + // InternalFiacre.g:329:1: entryRuleBasicType : ruleBasicType EOF ; + public final void entryRuleBasicType() throws RecognitionException { + try { + // InternalFiacre.g:330:1: ( ruleBasicType EOF ) + // InternalFiacre.g:331:1: ruleBasicType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleBasicType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBasicType" + + + // $ANTLR start "ruleBasicType" + // InternalFiacre.g:338:1: ruleBasicType : ( ( rule__BasicType__Alternatives ) ) ; + public final void ruleBasicType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:342:2: ( ( ( rule__BasicType__Alternatives ) ) ) + // InternalFiacre.g:343:2: ( ( rule__BasicType__Alternatives ) ) + { + // InternalFiacre.g:343:2: ( ( rule__BasicType__Alternatives ) ) + // InternalFiacre.g:344:3: ( rule__BasicType__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getAlternatives()); + } + // InternalFiacre.g:345:3: ( rule__BasicType__Alternatives ) + // InternalFiacre.g:345:4: rule__BasicType__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBasicType" + + + // $ANTLR start "entryRuleRangeType" + // InternalFiacre.g:354:1: entryRuleRangeType : ruleRangeType EOF ; + public final void entryRuleRangeType() throws RecognitionException { + try { + // InternalFiacre.g:355:1: ( ruleRangeType EOF ) + // InternalFiacre.g:356:1: ruleRangeType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRangeType" + + + // $ANTLR start "ruleRangeType" + // InternalFiacre.g:363:1: ruleRangeType : ( ( rule__RangeType__Group__0 ) ) ; + public final void ruleRangeType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:367:2: ( ( ( rule__RangeType__Group__0 ) ) ) + // InternalFiacre.g:368:2: ( ( rule__RangeType__Group__0 ) ) + { + // InternalFiacre.g:368:2: ( ( rule__RangeType__Group__0 ) ) + // InternalFiacre.g:369:3: ( rule__RangeType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getGroup()); + } + // InternalFiacre.g:370:3: ( rule__RangeType__Group__0 ) + // InternalFiacre.g:370:4: rule__RangeType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRangeType" + + + // $ANTLR start "entryRuleUnionType" + // InternalFiacre.g:379:1: entryRuleUnionType : ruleUnionType EOF ; + public final void entryRuleUnionType() throws RecognitionException { + try { + // InternalFiacre.g:380:1: ( ruleUnionType EOF ) + // InternalFiacre.g:381:1: ruleUnionType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUnionType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnionType" + + + // $ANTLR start "ruleUnionType" + // InternalFiacre.g:388:1: ruleUnionType : ( ( rule__UnionType__Group__0 ) ) ; + public final void ruleUnionType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:392:2: ( ( ( rule__UnionType__Group__0 ) ) ) + // InternalFiacre.g:393:2: ( ( rule__UnionType__Group__0 ) ) + { + // InternalFiacre.g:393:2: ( ( rule__UnionType__Group__0 ) ) + // InternalFiacre.g:394:3: ( rule__UnionType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getGroup()); + } + // InternalFiacre.g:395:3: ( rule__UnionType__Group__0 ) + // InternalFiacre.g:395:4: rule__UnionType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnionType" + + + // $ANTLR start "entryRuleUnionTags" + // InternalFiacre.g:404:1: entryRuleUnionTags : ruleUnionTags EOF ; + public final void entryRuleUnionTags() throws RecognitionException { + try { + // InternalFiacre.g:405:1: ( ruleUnionTags EOF ) + // InternalFiacre.g:406:1: ruleUnionTags EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUnionTags(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnionTags" + + + // $ANTLR start "ruleUnionTags" + // InternalFiacre.g:413:1: ruleUnionTags : ( ( rule__UnionTags__Group__0 ) ) ; + public final void ruleUnionTags() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:417:2: ( ( ( rule__UnionTags__Group__0 ) ) ) + // InternalFiacre.g:418:2: ( ( rule__UnionTags__Group__0 ) ) + { + // InternalFiacre.g:418:2: ( ( rule__UnionTags__Group__0 ) ) + // InternalFiacre.g:419:3: ( rule__UnionTags__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getGroup()); + } + // InternalFiacre.g:420:3: ( rule__UnionTags__Group__0 ) + // InternalFiacre.g:420:4: rule__UnionTags__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnionTags" + + + // $ANTLR start "entryRuleUnionTagDeclaration" + // InternalFiacre.g:429:1: entryRuleUnionTagDeclaration : ruleUnionTagDeclaration EOF ; + public final void entryRuleUnionTagDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:430:1: ( ruleUnionTagDeclaration EOF ) + // InternalFiacre.g:431:1: ruleUnionTagDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnionTagDeclaration" + + + // $ANTLR start "ruleUnionTagDeclaration" + // InternalFiacre.g:438:1: ruleUnionTagDeclaration : ( ( rule__UnionTagDeclaration__NameAssignment ) ) ; + public final void ruleUnionTagDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:442:2: ( ( ( rule__UnionTagDeclaration__NameAssignment ) ) ) + // InternalFiacre.g:443:2: ( ( rule__UnionTagDeclaration__NameAssignment ) ) + { + // InternalFiacre.g:443:2: ( ( rule__UnionTagDeclaration__NameAssignment ) ) + // InternalFiacre.g:444:3: ( rule__UnionTagDeclaration__NameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagDeclarationAccess().getNameAssignment()); + } + // InternalFiacre.g:445:3: ( rule__UnionTagDeclaration__NameAssignment ) + // InternalFiacre.g:445:4: rule__UnionTagDeclaration__NameAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTagDeclaration__NameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagDeclarationAccess().getNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnionTagDeclaration" + + + // $ANTLR start "entryRuleRecordType" + // InternalFiacre.g:454:1: entryRuleRecordType : ruleRecordType EOF ; + public final void entryRuleRecordType() throws RecognitionException { + try { + // InternalFiacre.g:455:1: ( ruleRecordType EOF ) + // InternalFiacre.g:456:1: ruleRecordType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRecordType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRecordType" + + + // $ANTLR start "ruleRecordType" + // InternalFiacre.g:463:1: ruleRecordType : ( ( rule__RecordType__Group__0 ) ) ; + public final void ruleRecordType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:467:2: ( ( ( rule__RecordType__Group__0 ) ) ) + // InternalFiacre.g:468:2: ( ( rule__RecordType__Group__0 ) ) + { + // InternalFiacre.g:468:2: ( ( rule__RecordType__Group__0 ) ) + // InternalFiacre.g:469:3: ( rule__RecordType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getGroup()); + } + // InternalFiacre.g:470:3: ( rule__RecordType__Group__0 ) + // InternalFiacre.g:470:4: rule__RecordType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRecordType" + + + // $ANTLR start "entryRuleRecordFields" + // InternalFiacre.g:479:1: entryRuleRecordFields : ruleRecordFields EOF ; + public final void entryRuleRecordFields() throws RecognitionException { + try { + // InternalFiacre.g:480:1: ( ruleRecordFields EOF ) + // InternalFiacre.g:481:1: ruleRecordFields EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRecordFields(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRecordFields" + + + // $ANTLR start "ruleRecordFields" + // InternalFiacre.g:488:1: ruleRecordFields : ( ( rule__RecordFields__Group__0 ) ) ; + public final void ruleRecordFields() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:492:2: ( ( ( rule__RecordFields__Group__0 ) ) ) + // InternalFiacre.g:493:2: ( ( rule__RecordFields__Group__0 ) ) + { + // InternalFiacre.g:493:2: ( ( rule__RecordFields__Group__0 ) ) + // InternalFiacre.g:494:3: ( rule__RecordFields__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getGroup()); + } + // InternalFiacre.g:495:3: ( rule__RecordFields__Group__0 ) + // InternalFiacre.g:495:4: rule__RecordFields__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRecordFields" + + + // $ANTLR start "entryRuleRecordFieldDeclaration" + // InternalFiacre.g:504:1: entryRuleRecordFieldDeclaration : ruleRecordFieldDeclaration EOF ; + public final void entryRuleRecordFieldDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:505:1: ( ruleRecordFieldDeclaration EOF ) + // InternalFiacre.g:506:1: ruleRecordFieldDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRecordFieldDeclaration" + + + // $ANTLR start "ruleRecordFieldDeclaration" + // InternalFiacre.g:513:1: ruleRecordFieldDeclaration : ( ( rule__RecordFieldDeclaration__NameAssignment ) ) ; + public final void ruleRecordFieldDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:517:2: ( ( ( rule__RecordFieldDeclaration__NameAssignment ) ) ) + // InternalFiacre.g:518:2: ( ( rule__RecordFieldDeclaration__NameAssignment ) ) + { + // InternalFiacre.g:518:2: ( ( rule__RecordFieldDeclaration__NameAssignment ) ) + // InternalFiacre.g:519:3: ( rule__RecordFieldDeclaration__NameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment()); + } + // InternalFiacre.g:520:3: ( rule__RecordFieldDeclaration__NameAssignment ) + // InternalFiacre.g:520:4: rule__RecordFieldDeclaration__NameAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFieldDeclaration__NameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldDeclarationAccess().getNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRecordFieldDeclaration" + + + // $ANTLR start "entryRuleQueueType" + // InternalFiacre.g:529:1: entryRuleQueueType : ruleQueueType EOF ; + public final void entryRuleQueueType() throws RecognitionException { + try { + // InternalFiacre.g:530:1: ( ruleQueueType EOF ) + // InternalFiacre.g:531:1: ruleQueueType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleQueueType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQueueType" + + + // $ANTLR start "ruleQueueType" + // InternalFiacre.g:538:1: ruleQueueType : ( ( rule__QueueType__Group__0 ) ) ; + public final void ruleQueueType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:542:2: ( ( ( rule__QueueType__Group__0 ) ) ) + // InternalFiacre.g:543:2: ( ( rule__QueueType__Group__0 ) ) + { + // InternalFiacre.g:543:2: ( ( rule__QueueType__Group__0 ) ) + // InternalFiacre.g:544:3: ( rule__QueueType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getGroup()); + } + // InternalFiacre.g:545:3: ( rule__QueueType__Group__0 ) + // InternalFiacre.g:545:4: rule__QueueType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQueueType" + + + // $ANTLR start "entryRuleArrayType" + // InternalFiacre.g:554:1: entryRuleArrayType : ruleArrayType EOF ; + public final void entryRuleArrayType() throws RecognitionException { + try { + // InternalFiacre.g:555:1: ( ruleArrayType EOF ) + // InternalFiacre.g:556:1: ruleArrayType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleArrayType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleArrayType" + + + // $ANTLR start "ruleArrayType" + // InternalFiacre.g:563:1: ruleArrayType : ( ( rule__ArrayType__Group__0 ) ) ; + public final void ruleArrayType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:567:2: ( ( ( rule__ArrayType__Group__0 ) ) ) + // InternalFiacre.g:568:2: ( ( rule__ArrayType__Group__0 ) ) + { + // InternalFiacre.g:568:2: ( ( rule__ArrayType__Group__0 ) ) + // InternalFiacre.g:569:3: ( rule__ArrayType__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getGroup()); + } + // InternalFiacre.g:570:3: ( rule__ArrayType__Group__0 ) + // InternalFiacre.g:570:4: rule__ArrayType__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleArrayType" + + + // $ANTLR start "entryRuleReferencedType" + // InternalFiacre.g:579:1: entryRuleReferencedType : ruleReferencedType EOF ; + public final void entryRuleReferencedType() throws RecognitionException { + try { + // InternalFiacre.g:580:1: ( ruleReferencedType EOF ) + // InternalFiacre.g:581:1: ruleReferencedType EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferencedTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleReferencedType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferencedTypeRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleReferencedType" + + + // $ANTLR start "ruleReferencedType" + // InternalFiacre.g:588:1: ruleReferencedType : ( ( rule__ReferencedType__TypeAssignment ) ) ; + public final void ruleReferencedType() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:592:2: ( ( ( rule__ReferencedType__TypeAssignment ) ) ) + // InternalFiacre.g:593:2: ( ( rule__ReferencedType__TypeAssignment ) ) + { + // InternalFiacre.g:593:2: ( ( rule__ReferencedType__TypeAssignment ) ) + // InternalFiacre.g:594:3: ( rule__ReferencedType__TypeAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferencedTypeAccess().getTypeAssignment()); + } + // InternalFiacre.g:595:3: ( rule__ReferencedType__TypeAssignment ) + // InternalFiacre.g:595:4: rule__ReferencedType__TypeAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReferencedType__TypeAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReferencedTypeAccess().getTypeAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleReferencedType" + + + // $ANTLR start "entryRuleConstantDeclaration" + // InternalFiacre.g:604:1: entryRuleConstantDeclaration : ruleConstantDeclaration EOF ; + public final void entryRuleConstantDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:605:1: ( ruleConstantDeclaration EOF ) + // InternalFiacre.g:606:1: ruleConstantDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleConstantDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConstantDeclaration" + + + // $ANTLR start "ruleConstantDeclaration" + // InternalFiacre.g:613:1: ruleConstantDeclaration : ( ( rule__ConstantDeclaration__Group__0 ) ) ; + public final void ruleConstantDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:617:2: ( ( ( rule__ConstantDeclaration__Group__0 ) ) ) + // InternalFiacre.g:618:2: ( ( rule__ConstantDeclaration__Group__0 ) ) + { + // InternalFiacre.g:618:2: ( ( rule__ConstantDeclaration__Group__0 ) ) + // InternalFiacre.g:619:3: ( rule__ConstantDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getGroup()); + } + // InternalFiacre.g:620:3: ( rule__ConstantDeclaration__Group__0 ) + // InternalFiacre.g:620:4: rule__ConstantDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConstantDeclaration" + + + // $ANTLR start "entryRuleProcessDeclaration" + // InternalFiacre.g:629:1: entryRuleProcessDeclaration : ruleProcessDeclaration EOF ; + public final void entryRuleProcessDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:630:1: ( ruleProcessDeclaration EOF ) + // InternalFiacre.g:631:1: ruleProcessDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleProcessDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleProcessDeclaration" + + + // $ANTLR start "ruleProcessDeclaration" + // InternalFiacre.g:638:1: ruleProcessDeclaration : ( ( rule__ProcessDeclaration__Group__0 ) ) ; + public final void ruleProcessDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:642:2: ( ( ( rule__ProcessDeclaration__Group__0 ) ) ) + // InternalFiacre.g:643:2: ( ( rule__ProcessDeclaration__Group__0 ) ) + { + // InternalFiacre.g:643:2: ( ( rule__ProcessDeclaration__Group__0 ) ) + // InternalFiacre.g:644:3: ( rule__ProcessDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup()); + } + // InternalFiacre.g:645:3: ( rule__ProcessDeclaration__Group__0 ) + // InternalFiacre.g:645:4: rule__ProcessDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleProcessDeclaration" + + + // $ANTLR start "entryRuleStateDeclaration" + // InternalFiacre.g:654:1: entryRuleStateDeclaration : ruleStateDeclaration EOF ; + public final void entryRuleStateDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:655:1: ( ruleStateDeclaration EOF ) + // InternalFiacre.g:656:1: ruleStateDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStateDeclaration" + + + // $ANTLR start "ruleStateDeclaration" + // InternalFiacre.g:663:1: ruleStateDeclaration : ( ( rule__StateDeclaration__NameAssignment ) ) ; + public final void ruleStateDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:667:2: ( ( ( rule__StateDeclaration__NameAssignment ) ) ) + // InternalFiacre.g:668:2: ( ( rule__StateDeclaration__NameAssignment ) ) + { + // InternalFiacre.g:668:2: ( ( rule__StateDeclaration__NameAssignment ) ) + // InternalFiacre.g:669:3: ( rule__StateDeclaration__NameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateDeclarationAccess().getNameAssignment()); + } + // InternalFiacre.g:670:3: ( rule__StateDeclaration__NameAssignment ) + // InternalFiacre.g:670:4: rule__StateDeclaration__NameAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StateDeclaration__NameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStateDeclarationAccess().getNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStateDeclaration" + + + // $ANTLR start "entryRuleTransitionSource" + // InternalFiacre.g:679:1: entryRuleTransitionSource : ruleTransitionSource EOF ; + public final void entryRuleTransitionSource() throws RecognitionException { + try { + // InternalFiacre.g:680:1: ( ruleTransitionSource EOF ) + // InternalFiacre.g:681:1: ruleTransitionSource EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTransitionSource(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTransitionSource" + + + // $ANTLR start "ruleTransitionSource" + // InternalFiacre.g:688:1: ruleTransitionSource : ( ( rule__TransitionSource__Group__0 ) ) ; + public final void ruleTransitionSource() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:692:2: ( ( ( rule__TransitionSource__Group__0 ) ) ) + // InternalFiacre.g:693:2: ( ( rule__TransitionSource__Group__0 ) ) + { + // InternalFiacre.g:693:2: ( ( rule__TransitionSource__Group__0 ) ) + // InternalFiacre.g:694:3: ( rule__TransitionSource__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceAccess().getGroup()); + } + // InternalFiacre.g:695:3: ( rule__TransitionSource__Group__0 ) + // InternalFiacre.g:695:4: rule__TransitionSource__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TransitionSource__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTransitionSource" + + + // $ANTLR start "entryRuleTransition" + // InternalFiacre.g:704:1: entryRuleTransition : ruleTransition EOF ; + public final void entryRuleTransition() throws RecognitionException { + try { + // InternalFiacre.g:705:1: ( ruleTransition EOF ) + // InternalFiacre.g:706:1: ruleTransition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTransition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTransition" + + + // $ANTLR start "ruleTransition" + // InternalFiacre.g:713:1: ruleTransition : ( ( rule__Transition__Group__0 ) ) ; + public final void ruleTransition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:717:2: ( ( ( rule__Transition__Group__0 ) ) ) + // InternalFiacre.g:718:2: ( ( rule__Transition__Group__0 ) ) + { + // InternalFiacre.g:718:2: ( ( rule__Transition__Group__0 ) ) + // InternalFiacre.g:719:3: ( rule__Transition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionAccess().getGroup()); + } + // InternalFiacre.g:720:3: ( rule__Transition__Group__0 ) + // InternalFiacre.g:720:4: rule__Transition__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Transition__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTransition" + + + // $ANTLR start "entryRuleComponentDeclaration" + // InternalFiacre.g:729:1: entryRuleComponentDeclaration : ruleComponentDeclaration EOF ; + public final void entryRuleComponentDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:730:1: ( ruleComponentDeclaration EOF ) + // InternalFiacre.g:731:1: ruleComponentDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleComponentDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComponentDeclaration" + + + // $ANTLR start "ruleComponentDeclaration" + // InternalFiacre.g:738:1: ruleComponentDeclaration : ( ( rule__ComponentDeclaration__Group__0 ) ) ; + public final void ruleComponentDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:742:2: ( ( ( rule__ComponentDeclaration__Group__0 ) ) ) + // InternalFiacre.g:743:2: ( ( rule__ComponentDeclaration__Group__0 ) ) + { + // InternalFiacre.g:743:2: ( ( rule__ComponentDeclaration__Group__0 ) ) + // InternalFiacre.g:744:3: ( rule__ComponentDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup()); + } + // InternalFiacre.g:745:3: ( rule__ComponentDeclaration__Group__0 ) + // InternalFiacre.g:745:4: rule__ComponentDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComponentDeclaration" + + + // $ANTLR start "entryRulePortsDeclaration" + // InternalFiacre.g:754:1: entryRulePortsDeclaration : rulePortsDeclaration EOF ; + public final void entryRulePortsDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:755:1: ( rulePortsDeclaration EOF ) + // InternalFiacre.g:756:1: rulePortsDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePortsDeclaration" + + + // $ANTLR start "rulePortsDeclaration" + // InternalFiacre.g:763:1: rulePortsDeclaration : ( ( rule__PortsDeclaration__Group__0 ) ) ; + public final void rulePortsDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:767:2: ( ( ( rule__PortsDeclaration__Group__0 ) ) ) + // InternalFiacre.g:768:2: ( ( rule__PortsDeclaration__Group__0 ) ) + { + // InternalFiacre.g:768:2: ( ( rule__PortsDeclaration__Group__0 ) ) + // InternalFiacre.g:769:3: ( rule__PortsDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getGroup()); + } + // InternalFiacre.g:770:3: ( rule__PortsDeclaration__Group__0 ) + // InternalFiacre.g:770:4: rule__PortsDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePortsDeclaration" + + + // $ANTLR start "entryRulePortDeclaration" + // InternalFiacre.g:779:1: entryRulePortDeclaration : rulePortDeclaration EOF ; + public final void entryRulePortDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:780:1: ( rulePortDeclaration EOF ) + // InternalFiacre.g:781:1: rulePortDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePortDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePortDeclaration" + + + // $ANTLR start "rulePortDeclaration" + // InternalFiacre.g:788:1: rulePortDeclaration : ( ( rule__PortDeclaration__NameAssignment ) ) ; + public final void rulePortDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:792:2: ( ( ( rule__PortDeclaration__NameAssignment ) ) ) + // InternalFiacre.g:793:2: ( ( rule__PortDeclaration__NameAssignment ) ) + { + // InternalFiacre.g:793:2: ( ( rule__PortDeclaration__NameAssignment ) ) + // InternalFiacre.g:794:3: ( rule__PortDeclaration__NameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortDeclarationAccess().getNameAssignment()); + } + // InternalFiacre.g:795:3: ( rule__PortDeclaration__NameAssignment ) + // InternalFiacre.g:795:4: rule__PortDeclaration__NameAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortDeclaration__NameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortDeclarationAccess().getNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePortDeclaration" + + + // $ANTLR start "entryRuleLocalPortsDeclaration" + // InternalFiacre.g:804:1: entryRuleLocalPortsDeclaration : ruleLocalPortsDeclaration EOF ; + public final void entryRuleLocalPortsDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:805:1: ( ruleLocalPortsDeclaration EOF ) + // InternalFiacre.g:806:1: ruleLocalPortsDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLocalPortsDeclaration" + + + // $ANTLR start "ruleLocalPortsDeclaration" + // InternalFiacre.g:813:1: ruleLocalPortsDeclaration : ( ( rule__LocalPortsDeclaration__Group__0 ) ) ; + public final void ruleLocalPortsDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:817:2: ( ( ( rule__LocalPortsDeclaration__Group__0 ) ) ) + // InternalFiacre.g:818:2: ( ( rule__LocalPortsDeclaration__Group__0 ) ) + { + // InternalFiacre.g:818:2: ( ( rule__LocalPortsDeclaration__Group__0 ) ) + // InternalFiacre.g:819:3: ( rule__LocalPortsDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getGroup()); + } + // InternalFiacre.g:820:3: ( rule__LocalPortsDeclaration__Group__0 ) + // InternalFiacre.g:820:4: rule__LocalPortsDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLocalPortsDeclaration" + + + // $ANTLR start "entryRuleParametersDeclaration" + // InternalFiacre.g:829:1: entryRuleParametersDeclaration : ruleParametersDeclaration EOF ; + public final void entryRuleParametersDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:830:1: ( ruleParametersDeclaration EOF ) + // InternalFiacre.g:831:1: ruleParametersDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParametersDeclaration" + + + // $ANTLR start "ruleParametersDeclaration" + // InternalFiacre.g:838:1: ruleParametersDeclaration : ( ( rule__ParametersDeclaration__Group__0 ) ) ; + public final void ruleParametersDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:842:2: ( ( ( rule__ParametersDeclaration__Group__0 ) ) ) + // InternalFiacre.g:843:2: ( ( rule__ParametersDeclaration__Group__0 ) ) + { + // InternalFiacre.g:843:2: ( ( rule__ParametersDeclaration__Group__0 ) ) + // InternalFiacre.g:844:3: ( rule__ParametersDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getGroup()); + } + // InternalFiacre.g:845:3: ( rule__ParametersDeclaration__Group__0 ) + // InternalFiacre.g:845:4: rule__ParametersDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParametersDeclaration" + + + // $ANTLR start "entryRuleParameterDeclaration" + // InternalFiacre.g:854:1: entryRuleParameterDeclaration : ruleParameterDeclaration EOF ; + public final void entryRuleParameterDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:855:1: ( ruleParameterDeclaration EOF ) + // InternalFiacre.g:856:1: ruleParameterDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParameterDeclaration" + + + // $ANTLR start "ruleParameterDeclaration" + // InternalFiacre.g:863:1: ruleParameterDeclaration : ( ( rule__ParameterDeclaration__Group__0 ) ) ; + public final void ruleParameterDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:867:2: ( ( ( rule__ParameterDeclaration__Group__0 ) ) ) + // InternalFiacre.g:868:2: ( ( rule__ParameterDeclaration__Group__0 ) ) + { + // InternalFiacre.g:868:2: ( ( rule__ParameterDeclaration__Group__0 ) ) + // InternalFiacre.g:869:3: ( rule__ParameterDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getGroup()); + } + // InternalFiacre.g:870:3: ( rule__ParameterDeclaration__Group__0 ) + // InternalFiacre.g:870:4: rule__ParameterDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParameterDeclaration" + + + // $ANTLR start "entryRuleVariablesDeclaration" + // InternalFiacre.g:879:1: entryRuleVariablesDeclaration : ruleVariablesDeclaration EOF ; + public final void entryRuleVariablesDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:880:1: ( ruleVariablesDeclaration EOF ) + // InternalFiacre.g:881:1: ruleVariablesDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleVariablesDeclaration" + + + // $ANTLR start "ruleVariablesDeclaration" + // InternalFiacre.g:888:1: ruleVariablesDeclaration : ( ( rule__VariablesDeclaration__Group__0 ) ) ; + public final void ruleVariablesDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:892:2: ( ( ( rule__VariablesDeclaration__Group__0 ) ) ) + // InternalFiacre.g:893:2: ( ( rule__VariablesDeclaration__Group__0 ) ) + { + // InternalFiacre.g:893:2: ( ( rule__VariablesDeclaration__Group__0 ) ) + // InternalFiacre.g:894:3: ( rule__VariablesDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getGroup()); + } + // InternalFiacre.g:895:3: ( rule__VariablesDeclaration__Group__0 ) + // InternalFiacre.g:895:4: rule__VariablesDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleVariablesDeclaration" + + + // $ANTLR start "entryRuleVariableDeclaration" + // InternalFiacre.g:904:1: entryRuleVariableDeclaration : ruleVariableDeclaration EOF ; + public final void entryRuleVariableDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:905:1: ( ruleVariableDeclaration EOF ) + // InternalFiacre.g:906:1: ruleVariableDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleVariableDeclaration" + + + // $ANTLR start "ruleVariableDeclaration" + // InternalFiacre.g:913:1: ruleVariableDeclaration : ( ( rule__VariableDeclaration__NameAssignment ) ) ; + public final void ruleVariableDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:917:2: ( ( ( rule__VariableDeclaration__NameAssignment ) ) ) + // InternalFiacre.g:918:2: ( ( rule__VariableDeclaration__NameAssignment ) ) + { + // InternalFiacre.g:918:2: ( ( rule__VariableDeclaration__NameAssignment ) ) + // InternalFiacre.g:919:3: ( rule__VariableDeclaration__NameAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableDeclarationAccess().getNameAssignment()); + } + // InternalFiacre.g:920:3: ( rule__VariableDeclaration__NameAssignment ) + // InternalFiacre.g:920:4: rule__VariableDeclaration__NameAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableDeclaration__NameAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableDeclarationAccess().getNameAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleVariableDeclaration" + + + // $ANTLR start "entryRulePriorityDeclaration" + // InternalFiacre.g:929:1: entryRulePriorityDeclaration : rulePriorityDeclaration EOF ; + public final void entryRulePriorityDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:930:1: ( rulePriorityDeclaration EOF ) + // InternalFiacre.g:931:1: rulePriorityDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePriorityDeclaration" + + + // $ANTLR start "rulePriorityDeclaration" + // InternalFiacre.g:938:1: rulePriorityDeclaration : ( ( rule__PriorityDeclaration__Group__0 ) ) ; + public final void rulePriorityDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:942:2: ( ( ( rule__PriorityDeclaration__Group__0 ) ) ) + // InternalFiacre.g:943:2: ( ( rule__PriorityDeclaration__Group__0 ) ) + { + // InternalFiacre.g:943:2: ( ( rule__PriorityDeclaration__Group__0 ) ) + // InternalFiacre.g:944:3: ( rule__PriorityDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroup()); + } + // InternalFiacre.g:945:3: ( rule__PriorityDeclaration__Group__0 ) + // InternalFiacre.g:945:4: rule__PriorityDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePriorityDeclaration" + + + // $ANTLR start "entryRulePriorityGroup" + // InternalFiacre.g:954:1: entryRulePriorityGroup : rulePriorityGroup EOF ; + public final void entryRulePriorityGroup() throws RecognitionException { + try { + // InternalFiacre.g:955:1: ( rulePriorityGroup EOF ) + // InternalFiacre.g:956:1: rulePriorityGroup EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePriorityGroup(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePriorityGroup" + + + // $ANTLR start "rulePriorityGroup" + // InternalFiacre.g:963:1: rulePriorityGroup : ( ( rule__PriorityGroup__Group__0 ) ) ; + public final void rulePriorityGroup() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:967:2: ( ( ( rule__PriorityGroup__Group__0 ) ) ) + // InternalFiacre.g:968:2: ( ( rule__PriorityGroup__Group__0 ) ) + { + // InternalFiacre.g:968:2: ( ( rule__PriorityGroup__Group__0 ) ) + // InternalFiacre.g:969:3: ( rule__PriorityGroup__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getGroup()); + } + // InternalFiacre.g:970:3: ( rule__PriorityGroup__Group__0 ) + // InternalFiacre.g:970:4: rule__PriorityGroup__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePriorityGroup" + + + // $ANTLR start "entryRuleUnlessStatement" + // InternalFiacre.g:979:1: entryRuleUnlessStatement : ruleUnlessStatement EOF ; + public final void entryRuleUnlessStatement() throws RecognitionException { + try { + // InternalFiacre.g:980:1: ( ruleUnlessStatement EOF ) + // InternalFiacre.g:981:1: ruleUnlessStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUnlessStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnlessStatement" + + + // $ANTLR start "ruleUnlessStatement" + // InternalFiacre.g:988:1: ruleUnlessStatement : ( ( rule__UnlessStatement__Group__0 ) ) ; + public final void ruleUnlessStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:992:2: ( ( ( rule__UnlessStatement__Group__0 ) ) ) + // InternalFiacre.g:993:2: ( ( rule__UnlessStatement__Group__0 ) ) + { + // InternalFiacre.g:993:2: ( ( rule__UnlessStatement__Group__0 ) ) + // InternalFiacre.g:994:3: ( rule__UnlessStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getGroup()); + } + // InternalFiacre.g:995:3: ( rule__UnlessStatement__Group__0 ) + // InternalFiacre.g:995:4: rule__UnlessStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnlessStatement" + + + // $ANTLR start "entryRuleStatementChoice" + // InternalFiacre.g:1004:1: entryRuleStatementChoice : ruleStatementChoice EOF ; + public final void entryRuleStatementChoice() throws RecognitionException { + try { + // InternalFiacre.g:1005:1: ( ruleStatementChoice EOF ) + // InternalFiacre.g:1006:1: ruleStatementChoice EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStatementChoice(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStatementChoice" + + + // $ANTLR start "ruleStatementChoice" + // InternalFiacre.g:1013:1: ruleStatementChoice : ( ( rule__StatementChoice__Group__0 ) ) ; + public final void ruleStatementChoice() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1017:2: ( ( ( rule__StatementChoice__Group__0 ) ) ) + // InternalFiacre.g:1018:2: ( ( rule__StatementChoice__Group__0 ) ) + { + // InternalFiacre.g:1018:2: ( ( rule__StatementChoice__Group__0 ) ) + // InternalFiacre.g:1019:3: ( rule__StatementChoice__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getGroup()); + } + // InternalFiacre.g:1020:3: ( rule__StatementChoice__Group__0 ) + // InternalFiacre.g:1020:4: rule__StatementChoice__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStatementChoice" + + + // $ANTLR start "entryRuleStatementSequence" + // InternalFiacre.g:1029:1: entryRuleStatementSequence : ruleStatementSequence EOF ; + public final void entryRuleStatementSequence() throws RecognitionException { + try { + // InternalFiacre.g:1030:1: ( ruleStatementSequence EOF ) + // InternalFiacre.g:1031:1: ruleStatementSequence EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStatementSequence" + + + // $ANTLR start "ruleStatementSequence" + // InternalFiacre.g:1038:1: ruleStatementSequence : ( ( rule__StatementSequence__Group__0 ) ) ; + public final void ruleStatementSequence() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1042:2: ( ( ( rule__StatementSequence__Group__0 ) ) ) + // InternalFiacre.g:1043:2: ( ( rule__StatementSequence__Group__0 ) ) + { + // InternalFiacre.g:1043:2: ( ( rule__StatementSequence__Group__0 ) ) + // InternalFiacre.g:1044:3: ( rule__StatementSequence__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getGroup()); + } + // InternalFiacre.g:1045:3: ( rule__StatementSequence__Group__0 ) + // InternalFiacre.g:1045:4: rule__StatementSequence__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStatementSequence" + + + // $ANTLR start "entryRuleStatement" + // InternalFiacre.g:1054:1: entryRuleStatement : ruleStatement EOF ; + public final void entryRuleStatement() throws RecognitionException { + try { + // InternalFiacre.g:1055:1: ( ruleStatement EOF ) + // InternalFiacre.g:1056:1: ruleStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStatement" + + + // $ANTLR start "ruleStatement" + // InternalFiacre.g:1063:1: ruleStatement : ( ( rule__Statement__Alternatives ) ) ; + public final void ruleStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1067:2: ( ( ( rule__Statement__Alternatives ) ) ) + // InternalFiacre.g:1068:2: ( ( rule__Statement__Alternatives ) ) + { + // InternalFiacre.g:1068:2: ( ( rule__Statement__Alternatives ) ) + // InternalFiacre.g:1069:3: ( rule__Statement__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getAlternatives()); + } + // InternalFiacre.g:1070:3: ( rule__Statement__Alternatives ) + // InternalFiacre.g:1070:4: rule__Statement__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Statement__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStatement" + + + // $ANTLR start "entryRuleBlockStatement" + // InternalFiacre.g:1079:1: entryRuleBlockStatement : ruleBlockStatement EOF ; + public final void entryRuleBlockStatement() throws RecognitionException { + try { + // InternalFiacre.g:1080:1: ( ruleBlockStatement EOF ) + // InternalFiacre.g:1081:1: ruleBlockStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleBlockStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBlockStatement" + + + // $ANTLR start "ruleBlockStatement" + // InternalFiacre.g:1088:1: ruleBlockStatement : ( ( rule__BlockStatement__Group__0 ) ) ; + public final void ruleBlockStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1092:2: ( ( ( rule__BlockStatement__Group__0 ) ) ) + // InternalFiacre.g:1093:2: ( ( rule__BlockStatement__Group__0 ) ) + { + // InternalFiacre.g:1093:2: ( ( rule__BlockStatement__Group__0 ) ) + // InternalFiacre.g:1094:3: ( rule__BlockStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementAccess().getGroup()); + } + // InternalFiacre.g:1095:3: ( rule__BlockStatement__Group__0 ) + // InternalFiacre.g:1095:4: rule__BlockStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BlockStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBlockStatement" + + + // $ANTLR start "entryRuleReturnStatement" + // InternalFiacre.g:1104:1: entryRuleReturnStatement : ruleReturnStatement EOF ; + public final void entryRuleReturnStatement() throws RecognitionException { + try { + // InternalFiacre.g:1105:1: ( ruleReturnStatement EOF ) + // InternalFiacre.g:1106:1: ruleReturnStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReturnStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleReturnStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReturnStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleReturnStatement" + + + // $ANTLR start "ruleReturnStatement" + // InternalFiacre.g:1113:1: ruleReturnStatement : ( ( rule__ReturnStatement__Group__0 ) ) ; + public final void ruleReturnStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1117:2: ( ( ( rule__ReturnStatement__Group__0 ) ) ) + // InternalFiacre.g:1118:2: ( ( rule__ReturnStatement__Group__0 ) ) + { + // InternalFiacre.g:1118:2: ( ( rule__ReturnStatement__Group__0 ) ) + // InternalFiacre.g:1119:3: ( rule__ReturnStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReturnStatementAccess().getGroup()); + } + // InternalFiacre.g:1120:3: ( rule__ReturnStatement__Group__0 ) + // InternalFiacre.g:1120:4: rule__ReturnStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReturnStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReturnStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleReturnStatement" + + + // $ANTLR start "entryRuleNullStatement" + // InternalFiacre.g:1129:1: entryRuleNullStatement : ruleNullStatement EOF ; + public final void entryRuleNullStatement() throws RecognitionException { + try { + // InternalFiacre.g:1130:1: ( ruleNullStatement EOF ) + // InternalFiacre.g:1131:1: ruleNullStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNullStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNullStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNullStatement" + + + // $ANTLR start "ruleNullStatement" + // InternalFiacre.g:1138:1: ruleNullStatement : ( ( rule__NullStatement__Group__0 ) ) ; + public final void ruleNullStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1142:2: ( ( ( rule__NullStatement__Group__0 ) ) ) + // InternalFiacre.g:1143:2: ( ( rule__NullStatement__Group__0 ) ) + { + // InternalFiacre.g:1143:2: ( ( rule__NullStatement__Group__0 ) ) + // InternalFiacre.g:1144:3: ( rule__NullStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullStatementAccess().getGroup()); + } + // InternalFiacre.g:1145:3: ( rule__NullStatement__Group__0 ) + // InternalFiacre.g:1145:4: rule__NullStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NullStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNullStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNullStatement" + + + // $ANTLR start "entryRuleTaggedStatement" + // InternalFiacre.g:1154:1: entryRuleTaggedStatement : ruleTaggedStatement EOF ; + public final void entryRuleTaggedStatement() throws RecognitionException { + try { + // InternalFiacre.g:1155:1: ( ruleTaggedStatement EOF ) + // InternalFiacre.g:1156:1: ruleTaggedStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTaggedStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTaggedStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTaggedStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTaggedStatement" + + + // $ANTLR start "ruleTaggedStatement" + // InternalFiacre.g:1163:1: ruleTaggedStatement : ( ( rule__TaggedStatement__Group__0 ) ) ; + public final void ruleTaggedStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1167:2: ( ( ( rule__TaggedStatement__Group__0 ) ) ) + // InternalFiacre.g:1168:2: ( ( rule__TaggedStatement__Group__0 ) ) + { + // InternalFiacre.g:1168:2: ( ( rule__TaggedStatement__Group__0 ) ) + // InternalFiacre.g:1169:3: ( rule__TaggedStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTaggedStatementAccess().getGroup()); + } + // InternalFiacre.g:1170:3: ( rule__TaggedStatement__Group__0 ) + // InternalFiacre.g:1170:4: rule__TaggedStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TaggedStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTaggedStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTaggedStatement" + + + // $ANTLR start "entryRulePatternStatement" + // InternalFiacre.g:1179:1: entryRulePatternStatement : rulePatternStatement EOF ; + public final void entryRulePatternStatement() throws RecognitionException { + try { + // InternalFiacre.g:1180:1: ( rulePatternStatement EOF ) + // InternalFiacre.g:1181:1: rulePatternStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePatternStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePatternStatement" + + + // $ANTLR start "rulePatternStatement" + // InternalFiacre.g:1188:1: rulePatternStatement : ( ( rule__PatternStatement__Group__0 ) ) ; + public final void rulePatternStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1192:2: ( ( ( rule__PatternStatement__Group__0 ) ) ) + // InternalFiacre.g:1193:2: ( ( rule__PatternStatement__Group__0 ) ) + { + // InternalFiacre.g:1193:2: ( ( rule__PatternStatement__Group__0 ) ) + // InternalFiacre.g:1194:3: ( rule__PatternStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup()); + } + // InternalFiacre.g:1195:3: ( rule__PatternStatement__Group__0 ) + // InternalFiacre.g:1195:4: rule__PatternStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePatternStatement" + + + // $ANTLR start "entryRulePattern" + // InternalFiacre.g:1204:1: entryRulePattern : rulePattern EOF ; + public final void entryRulePattern() throws RecognitionException { + try { + // InternalFiacre.g:1205:1: ( rulePattern EOF ) + // InternalFiacre.g:1206:1: rulePattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePattern" + + + // $ANTLR start "rulePattern" + // InternalFiacre.g:1213:1: rulePattern : ( ( rule__Pattern__Alternatives ) ) ; + public final void rulePattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1217:2: ( ( ( rule__Pattern__Alternatives ) ) ) + // InternalFiacre.g:1218:2: ( ( rule__Pattern__Alternatives ) ) + { + // InternalFiacre.g:1218:2: ( ( rule__Pattern__Alternatives ) ) + // InternalFiacre.g:1219:3: ( rule__Pattern__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getAlternatives()); + } + // InternalFiacre.g:1220:3: ( rule__Pattern__Alternatives ) + // InternalFiacre.g:1220:4: rule__Pattern__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Pattern__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePattern" + + + // $ANTLR start "entryRuleAnyPattern" + // InternalFiacre.g:1229:1: entryRuleAnyPattern : ruleAnyPattern EOF ; + public final void entryRuleAnyPattern() throws RecognitionException { + try { + // InternalFiacre.g:1230:1: ( ruleAnyPattern EOF ) + // InternalFiacre.g:1231:1: ruleAnyPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAnyPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAnyPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAnyPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAnyPattern" + + + // $ANTLR start "ruleAnyPattern" + // InternalFiacre.g:1238:1: ruleAnyPattern : ( ( rule__AnyPattern__Group__0 ) ) ; + public final void ruleAnyPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1242:2: ( ( ( rule__AnyPattern__Group__0 ) ) ) + // InternalFiacre.g:1243:2: ( ( rule__AnyPattern__Group__0 ) ) + { + // InternalFiacre.g:1243:2: ( ( rule__AnyPattern__Group__0 ) ) + // InternalFiacre.g:1244:3: ( rule__AnyPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAnyPatternAccess().getGroup()); + } + // InternalFiacre.g:1245:3: ( rule__AnyPattern__Group__0 ) + // InternalFiacre.g:1245:4: rule__AnyPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AnyPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAnyPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAnyPattern" + + + // $ANTLR start "entryRuleConstantPattern" + // InternalFiacre.g:1254:1: entryRuleConstantPattern : ruleConstantPattern EOF ; + public final void entryRuleConstantPattern() throws RecognitionException { + try { + // InternalFiacre.g:1255:1: ( ruleConstantPattern EOF ) + // InternalFiacre.g:1256:1: ruleConstantPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleConstantPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConstantPattern" + + + // $ANTLR start "ruleConstantPattern" + // InternalFiacre.g:1263:1: ruleConstantPattern : ( ( rule__ConstantPattern__ValueAssignment ) ) ; + public final void ruleConstantPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1267:2: ( ( ( rule__ConstantPattern__ValueAssignment ) ) ) + // InternalFiacre.g:1268:2: ( ( rule__ConstantPattern__ValueAssignment ) ) + { + // InternalFiacre.g:1268:2: ( ( rule__ConstantPattern__ValueAssignment ) ) + // InternalFiacre.g:1269:3: ( rule__ConstantPattern__ValueAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantPatternAccess().getValueAssignment()); + } + // InternalFiacre.g:1270:3: ( rule__ConstantPattern__ValueAssignment ) + // InternalFiacre.g:1270:4: rule__ConstantPattern__ValueAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantPattern__ValueAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantPatternAccess().getValueAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConstantPattern" + + + // $ANTLR start "entryRuleIntegerPattern" + // InternalFiacre.g:1279:1: entryRuleIntegerPattern : ruleIntegerPattern EOF ; + public final void entryRuleIntegerPattern() throws RecognitionException { + try { + // InternalFiacre.g:1280:1: ( ruleIntegerPattern EOF ) + // InternalFiacre.g:1281:1: ruleIntegerPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleIntegerPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIntegerPattern" + + + // $ANTLR start "ruleIntegerPattern" + // InternalFiacre.g:1288:1: ruleIntegerPattern : ( ( rule__IntegerPattern__Group__0 ) ) ; + public final void ruleIntegerPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1292:2: ( ( ( rule__IntegerPattern__Group__0 ) ) ) + // InternalFiacre.g:1293:2: ( ( rule__IntegerPattern__Group__0 ) ) + { + // InternalFiacre.g:1293:2: ( ( rule__IntegerPattern__Group__0 ) ) + // InternalFiacre.g:1294:3: ( rule__IntegerPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getGroup()); + } + // InternalFiacre.g:1295:3: ( rule__IntegerPattern__Group__0 ) + // InternalFiacre.g:1295:4: rule__IntegerPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIntegerPattern" + + + // $ANTLR start "entryRuleIdentifierPattern" + // InternalFiacre.g:1304:1: entryRuleIdentifierPattern : ruleIdentifierPattern EOF ; + public final void entryRuleIdentifierPattern() throws RecognitionException { + try { + // InternalFiacre.g:1305:1: ( ruleIdentifierPattern EOF ) + // InternalFiacre.g:1306:1: ruleIdentifierPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleIdentifierPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIdentifierPattern" + + + // $ANTLR start "ruleIdentifierPattern" + // InternalFiacre.g:1313:1: ruleIdentifierPattern : ( ( rule__IdentifierPattern__Alternatives ) ) ; + public final void ruleIdentifierPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1317:2: ( ( ( rule__IdentifierPattern__Alternatives ) ) ) + // InternalFiacre.g:1318:2: ( ( rule__IdentifierPattern__Alternatives ) ) + { + // InternalFiacre.g:1318:2: ( ( rule__IdentifierPattern__Alternatives ) ) + // InternalFiacre.g:1319:3: ( rule__IdentifierPattern__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getAlternatives()); + } + // InternalFiacre.g:1320:3: ( rule__IdentifierPattern__Alternatives ) + // InternalFiacre.g:1320:4: rule__IdentifierPattern__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIdentifierPattern" + + + // $ANTLR start "entryRuleConditionalStatement" + // InternalFiacre.g:1329:1: entryRuleConditionalStatement : ruleConditionalStatement EOF ; + public final void entryRuleConditionalStatement() throws RecognitionException { + try { + // InternalFiacre.g:1330:1: ( ruleConditionalStatement EOF ) + // InternalFiacre.g:1331:1: ruleConditionalStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleConditionalStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConditionalStatement" + + + // $ANTLR start "ruleConditionalStatement" + // InternalFiacre.g:1338:1: ruleConditionalStatement : ( ( rule__ConditionalStatement__Group__0 ) ) ; + public final void ruleConditionalStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1342:2: ( ( ( rule__ConditionalStatement__Group__0 ) ) ) + // InternalFiacre.g:1343:2: ( ( rule__ConditionalStatement__Group__0 ) ) + { + // InternalFiacre.g:1343:2: ( ( rule__ConditionalStatement__Group__0 ) ) + // InternalFiacre.g:1344:3: ( rule__ConditionalStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getGroup()); + } + // InternalFiacre.g:1345:3: ( rule__ConditionalStatement__Group__0 ) + // InternalFiacre.g:1345:4: rule__ConditionalStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConditionalStatement" + + + // $ANTLR start "entryRuleExtendedConditionalStatement" + // InternalFiacre.g:1354:1: entryRuleExtendedConditionalStatement : ruleExtendedConditionalStatement EOF ; + public final void entryRuleExtendedConditionalStatement() throws RecognitionException { + try { + // InternalFiacre.g:1355:1: ( ruleExtendedConditionalStatement EOF ) + // InternalFiacre.g:1356:1: ruleExtendedConditionalStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleExtendedConditionalStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleExtendedConditionalStatement" + + + // $ANTLR start "ruleExtendedConditionalStatement" + // InternalFiacre.g:1363:1: ruleExtendedConditionalStatement : ( ( rule__ExtendedConditionalStatement__Group__0 ) ) ; + public final void ruleExtendedConditionalStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1367:2: ( ( ( rule__ExtendedConditionalStatement__Group__0 ) ) ) + // InternalFiacre.g:1368:2: ( ( rule__ExtendedConditionalStatement__Group__0 ) ) + { + // InternalFiacre.g:1368:2: ( ( rule__ExtendedConditionalStatement__Group__0 ) ) + // InternalFiacre.g:1369:3: ( rule__ExtendedConditionalStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getGroup()); + } + // InternalFiacre.g:1370:3: ( rule__ExtendedConditionalStatement__Group__0 ) + // InternalFiacre.g:1370:4: rule__ExtendedConditionalStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleExtendedConditionalStatement" + + + // $ANTLR start "entryRuleSelectStatement" + // InternalFiacre.g:1379:1: entryRuleSelectStatement : ruleSelectStatement EOF ; + public final void entryRuleSelectStatement() throws RecognitionException { + try { + // InternalFiacre.g:1380:1: ( ruleSelectStatement EOF ) + // InternalFiacre.g:1381:1: ruleSelectStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleSelectStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleSelectStatement" + + + // $ANTLR start "ruleSelectStatement" + // InternalFiacre.g:1388:1: ruleSelectStatement : ( ( rule__SelectStatement__Group__0 ) ) ; + public final void ruleSelectStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1392:2: ( ( ( rule__SelectStatement__Group__0 ) ) ) + // InternalFiacre.g:1393:2: ( ( rule__SelectStatement__Group__0 ) ) + { + // InternalFiacre.g:1393:2: ( ( rule__SelectStatement__Group__0 ) ) + // InternalFiacre.g:1394:3: ( rule__SelectStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getGroup()); + } + // InternalFiacre.g:1395:3: ( rule__SelectStatement__Group__0 ) + // InternalFiacre.g:1395:4: rule__SelectStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleSelectStatement" + + + // $ANTLR start "entryRuleWhileStatement" + // InternalFiacre.g:1404:1: entryRuleWhileStatement : ruleWhileStatement EOF ; + public final void entryRuleWhileStatement() throws RecognitionException { + try { + // InternalFiacre.g:1405:1: ( ruleWhileStatement EOF ) + // InternalFiacre.g:1406:1: ruleWhileStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleWhileStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleWhileStatement" + + + // $ANTLR start "ruleWhileStatement" + // InternalFiacre.g:1413:1: ruleWhileStatement : ( ( rule__WhileStatement__Group__0 ) ) ; + public final void ruleWhileStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1417:2: ( ( ( rule__WhileStatement__Group__0 ) ) ) + // InternalFiacre.g:1418:2: ( ( rule__WhileStatement__Group__0 ) ) + { + // InternalFiacre.g:1418:2: ( ( rule__WhileStatement__Group__0 ) ) + // InternalFiacre.g:1419:3: ( rule__WhileStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getGroup()); + } + // InternalFiacre.g:1420:3: ( rule__WhileStatement__Group__0 ) + // InternalFiacre.g:1420:4: rule__WhileStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleWhileStatement" + + + // $ANTLR start "entryRuleForeachStatement" + // InternalFiacre.g:1429:1: entryRuleForeachStatement : ruleForeachStatement EOF ; + public final void entryRuleForeachStatement() throws RecognitionException { + try { + // InternalFiacre.g:1430:1: ( ruleForeachStatement EOF ) + // InternalFiacre.g:1431:1: ruleForeachStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleForeachStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleForeachStatement" + + + // $ANTLR start "ruleForeachStatement" + // InternalFiacre.g:1438:1: ruleForeachStatement : ( ( rule__ForeachStatement__Group__0 ) ) ; + public final void ruleForeachStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1442:2: ( ( ( rule__ForeachStatement__Group__0 ) ) ) + // InternalFiacre.g:1443:2: ( ( rule__ForeachStatement__Group__0 ) ) + { + // InternalFiacre.g:1443:2: ( ( rule__ForeachStatement__Group__0 ) ) + // InternalFiacre.g:1444:3: ( rule__ForeachStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getGroup()); + } + // InternalFiacre.g:1445:3: ( rule__ForeachStatement__Group__0 ) + // InternalFiacre.g:1445:4: rule__ForeachStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleForeachStatement" + + + // $ANTLR start "entryRuleToStatement" + // InternalFiacre.g:1454:1: entryRuleToStatement : ruleToStatement EOF ; + public final void entryRuleToStatement() throws RecognitionException { + try { + // InternalFiacre.g:1455:1: ( ruleToStatement EOF ) + // InternalFiacre.g:1456:1: ruleToStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleToStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleToStatement" + + + // $ANTLR start "ruleToStatement" + // InternalFiacre.g:1463:1: ruleToStatement : ( ( rule__ToStatement__Group__0 ) ) ; + public final void ruleToStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1467:2: ( ( ( rule__ToStatement__Group__0 ) ) ) + // InternalFiacre.g:1468:2: ( ( rule__ToStatement__Group__0 ) ) + { + // InternalFiacre.g:1468:2: ( ( rule__ToStatement__Group__0 ) ) + // InternalFiacre.g:1469:3: ( rule__ToStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementAccess().getGroup()); + } + // InternalFiacre.g:1470:3: ( rule__ToStatement__Group__0 ) + // InternalFiacre.g:1470:4: rule__ToStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ToStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleToStatement" + + + // $ANTLR start "entryRuleCaseStatement" + // InternalFiacre.g:1479:1: entryRuleCaseStatement : ruleCaseStatement EOF ; + public final void entryRuleCaseStatement() throws RecognitionException { + try { + // InternalFiacre.g:1480:1: ( ruleCaseStatement EOF ) + // InternalFiacre.g:1481:1: ruleCaseStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleCaseStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleCaseStatement" + + + // $ANTLR start "ruleCaseStatement" + // InternalFiacre.g:1488:1: ruleCaseStatement : ( ( rule__CaseStatement__Group__0 ) ) ; + public final void ruleCaseStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1492:2: ( ( ( rule__CaseStatement__Group__0 ) ) ) + // InternalFiacre.g:1493:2: ( ( rule__CaseStatement__Group__0 ) ) + { + // InternalFiacre.g:1493:2: ( ( rule__CaseStatement__Group__0 ) ) + // InternalFiacre.g:1494:3: ( rule__CaseStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getGroup()); + } + // InternalFiacre.g:1495:3: ( rule__CaseStatement__Group__0 ) + // InternalFiacre.g:1495:4: rule__CaseStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCaseStatement" + + + // $ANTLR start "entryRuleLoopStatement" + // InternalFiacre.g:1504:1: entryRuleLoopStatement : ruleLoopStatement EOF ; + public final void entryRuleLoopStatement() throws RecognitionException { + try { + // InternalFiacre.g:1505:1: ( ruleLoopStatement EOF ) + // InternalFiacre.g:1506:1: ruleLoopStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLoopStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLoopStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLoopStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLoopStatement" + + + // $ANTLR start "ruleLoopStatement" + // InternalFiacre.g:1513:1: ruleLoopStatement : ( ( rule__LoopStatement__Group__0 ) ) ; + public final void ruleLoopStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1517:2: ( ( ( rule__LoopStatement__Group__0 ) ) ) + // InternalFiacre.g:1518:2: ( ( rule__LoopStatement__Group__0 ) ) + { + // InternalFiacre.g:1518:2: ( ( rule__LoopStatement__Group__0 ) ) + // InternalFiacre.g:1519:3: ( rule__LoopStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLoopStatementAccess().getGroup()); + } + // InternalFiacre.g:1520:3: ( rule__LoopStatement__Group__0 ) + // InternalFiacre.g:1520:4: rule__LoopStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LoopStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLoopStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLoopStatement" + + + // $ANTLR start "entryRuleOnStatement" + // InternalFiacre.g:1529:1: entryRuleOnStatement : ruleOnStatement EOF ; + public final void entryRuleOnStatement() throws RecognitionException { + try { + // InternalFiacre.g:1530:1: ( ruleOnStatement EOF ) + // InternalFiacre.g:1531:1: ruleOnStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOnStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleOnStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOnStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOnStatement" + + + // $ANTLR start "ruleOnStatement" + // InternalFiacre.g:1538:1: ruleOnStatement : ( ( rule__OnStatement__Group__0 ) ) ; + public final void ruleOnStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1542:2: ( ( ( rule__OnStatement__Group__0 ) ) ) + // InternalFiacre.g:1543:2: ( ( rule__OnStatement__Group__0 ) ) + { + // InternalFiacre.g:1543:2: ( ( rule__OnStatement__Group__0 ) ) + // InternalFiacre.g:1544:3: ( rule__OnStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOnStatementAccess().getGroup()); + } + // InternalFiacre.g:1545:3: ( rule__OnStatement__Group__0 ) + // InternalFiacre.g:1545:4: rule__OnStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__OnStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOnStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleOnStatement" + + + // $ANTLR start "entryRuleWaitStatement" + // InternalFiacre.g:1554:1: entryRuleWaitStatement : ruleWaitStatement EOF ; + public final void entryRuleWaitStatement() throws RecognitionException { + try { + // InternalFiacre.g:1555:1: ( ruleWaitStatement EOF ) + // InternalFiacre.g:1556:1: ruleWaitStatement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleWaitStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleWaitStatement" + + + // $ANTLR start "ruleWaitStatement" + // InternalFiacre.g:1563:1: ruleWaitStatement : ( ( rule__WaitStatement__Group__0 ) ) ; + public final void ruleWaitStatement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1567:2: ( ( ( rule__WaitStatement__Group__0 ) ) ) + // InternalFiacre.g:1568:2: ( ( rule__WaitStatement__Group__0 ) ) + { + // InternalFiacre.g:1568:2: ( ( rule__WaitStatement__Group__0 ) ) + // InternalFiacre.g:1569:3: ( rule__WaitStatement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getGroup()); + } + // InternalFiacre.g:1570:3: ( rule__WaitStatement__Group__0 ) + // InternalFiacre.g:1570:4: rule__WaitStatement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleWaitStatement" + + + // $ANTLR start "entryRuleComposition" + // InternalFiacre.g:1579:1: entryRuleComposition : ruleComposition EOF ; + public final void entryRuleComposition() throws RecognitionException { + try { + // InternalFiacre.g:1580:1: ( ruleComposition EOF ) + // InternalFiacre.g:1581:1: ruleComposition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleComposition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComposition" + + + // $ANTLR start "ruleComposition" + // InternalFiacre.g:1588:1: ruleComposition : ( ( rule__Composition__Group__0 ) ) ; + public final void ruleComposition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1592:2: ( ( ( rule__Composition__Group__0 ) ) ) + // InternalFiacre.g:1593:2: ( ( rule__Composition__Group__0 ) ) + { + // InternalFiacre.g:1593:2: ( ( rule__Composition__Group__0 ) ) + // InternalFiacre.g:1594:3: ( rule__Composition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getGroup()); + } + // InternalFiacre.g:1595:3: ( rule__Composition__Group__0 ) + // InternalFiacre.g:1595:4: rule__Composition__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComposition" + + + // $ANTLR start "entryRuleBlock" + // InternalFiacre.g:1604:1: entryRuleBlock : ruleBlock EOF ; + public final void entryRuleBlock() throws RecognitionException { + try { + // InternalFiacre.g:1605:1: ( ruleBlock EOF ) + // InternalFiacre.g:1606:1: ruleBlock EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleBlock(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBlock" + + + // $ANTLR start "ruleBlock" + // InternalFiacre.g:1613:1: ruleBlock : ( ( rule__Block__Alternatives ) ) ; + public final void ruleBlock() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1617:2: ( ( ( rule__Block__Alternatives ) ) ) + // InternalFiacre.g:1618:2: ( ( rule__Block__Alternatives ) ) + { + // InternalFiacre.g:1618:2: ( ( rule__Block__Alternatives ) ) + // InternalFiacre.g:1619:3: ( rule__Block__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockAccess().getAlternatives()); + } + // InternalFiacre.g:1620:3: ( rule__Block__Alternatives ) + // InternalFiacre.g:1620:4: rule__Block__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Block__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBlock" + + + // $ANTLR start "entryRuleCompositeBlock" + // InternalFiacre.g:1629:1: entryRuleCompositeBlock : ruleCompositeBlock EOF ; + public final void entryRuleCompositeBlock() throws RecognitionException { + try { + // InternalFiacre.g:1630:1: ( ruleCompositeBlock EOF ) + // InternalFiacre.g:1631:1: ruleCompositeBlock EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleCompositeBlock" + + + // $ANTLR start "ruleCompositeBlock" + // InternalFiacre.g:1638:1: ruleCompositeBlock : ( ( rule__CompositeBlock__Group__0 ) ) ; + public final void ruleCompositeBlock() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1642:2: ( ( ( rule__CompositeBlock__Group__0 ) ) ) + // InternalFiacre.g:1643:2: ( ( rule__CompositeBlock__Group__0 ) ) + { + // InternalFiacre.g:1643:2: ( ( rule__CompositeBlock__Group__0 ) ) + // InternalFiacre.g:1644:3: ( rule__CompositeBlock__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getGroup()); + } + // InternalFiacre.g:1645:3: ( rule__CompositeBlock__Group__0 ) + // InternalFiacre.g:1645:4: rule__CompositeBlock__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCompositeBlock" + + + // $ANTLR start "entryRuleInstanceDeclaration" + // InternalFiacre.g:1654:1: entryRuleInstanceDeclaration : ruleInstanceDeclaration EOF ; + public final void entryRuleInstanceDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:1655:1: ( ruleInstanceDeclaration EOF ) + // InternalFiacre.g:1656:1: ruleInstanceDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleInstanceDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInstanceDeclaration" + + + // $ANTLR start "ruleInstanceDeclaration" + // InternalFiacre.g:1663:1: ruleInstanceDeclaration : ( ( rule__InstanceDeclaration__Group__0 ) ) ; + public final void ruleInstanceDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1667:2: ( ( ( rule__InstanceDeclaration__Group__0 ) ) ) + // InternalFiacre.g:1668:2: ( ( rule__InstanceDeclaration__Group__0 ) ) + { + // InternalFiacre.g:1668:2: ( ( rule__InstanceDeclaration__Group__0 ) ) + // InternalFiacre.g:1669:3: ( rule__InstanceDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getGroup()); + } + // InternalFiacre.g:1670:3: ( rule__InstanceDeclaration__Group__0 ) + // InternalFiacre.g:1670:4: rule__InstanceDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInstanceDeclaration" + + + // $ANTLR start "entryRulePortSet" + // InternalFiacre.g:1679:1: entryRulePortSet : rulePortSet EOF ; + public final void entryRulePortSet() throws RecognitionException { + try { + // InternalFiacre.g:1680:1: ( rulePortSet EOF ) + // InternalFiacre.g:1681:1: rulePortSet EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePortSet(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePortSet" + + + // $ANTLR start "rulePortSet" + // InternalFiacre.g:1688:1: rulePortSet : ( ( rule__PortSet__Alternatives ) ) ; + public final void rulePortSet() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1692:2: ( ( ( rule__PortSet__Alternatives ) ) ) + // InternalFiacre.g:1693:2: ( ( rule__PortSet__Alternatives ) ) + { + // InternalFiacre.g:1693:2: ( ( rule__PortSet__Alternatives ) ) + // InternalFiacre.g:1694:3: ( rule__PortSet__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getAlternatives()); + } + // InternalFiacre.g:1695:3: ( rule__PortSet__Alternatives ) + // InternalFiacre.g:1695:4: rule__PortSet__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePortSet" + + + // $ANTLR start "entryRuleComponentInstance" + // InternalFiacre.g:1704:1: entryRuleComponentInstance : ruleComponentInstance EOF ; + public final void entryRuleComponentInstance() throws RecognitionException { + try { + // InternalFiacre.g:1705:1: ( ruleComponentInstance EOF ) + // InternalFiacre.g:1706:1: ruleComponentInstance EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleComponentInstance(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComponentInstance" + + + // $ANTLR start "ruleComponentInstance" + // InternalFiacre.g:1713:1: ruleComponentInstance : ( ( rule__ComponentInstance__Group__0 ) ) ; + public final void ruleComponentInstance() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1717:2: ( ( ( rule__ComponentInstance__Group__0 ) ) ) + // InternalFiacre.g:1718:2: ( ( rule__ComponentInstance__Group__0 ) ) + { + // InternalFiacre.g:1718:2: ( ( rule__ComponentInstance__Group__0 ) ) + // InternalFiacre.g:1719:3: ( rule__ComponentInstance__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getGroup()); + } + // InternalFiacre.g:1720:3: ( rule__ComponentInstance__Group__0 ) + // InternalFiacre.g:1720:4: rule__ComponentInstance__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComponentInstance" + + + // $ANTLR start "entryRuleExpression" + // InternalFiacre.g:1729:1: entryRuleExpression : ruleExpression EOF ; + public final void entryRuleExpression() throws RecognitionException { + try { + // InternalFiacre.g:1730:1: ( ruleExpression EOF ) + // InternalFiacre.g:1731:1: ruleExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleExpression" + + + // $ANTLR start "ruleExpression" + // InternalFiacre.g:1738:1: ruleExpression : ( ruleQuantifiedExpression ) ; + public final void ruleExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1742:2: ( ( ruleQuantifiedExpression ) ) + // InternalFiacre.g:1743:2: ( ruleQuantifiedExpression ) + { + // InternalFiacre.g:1743:2: ( ruleQuantifiedExpression ) + // InternalFiacre.g:1744:3: ruleQuantifiedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleExpression" + + + // $ANTLR start "entryRuleQuantifiedExpression" + // InternalFiacre.g:1754:1: entryRuleQuantifiedExpression : ruleQuantifiedExpression EOF ; + public final void entryRuleQuantifiedExpression() throws RecognitionException { + try { + // InternalFiacre.g:1755:1: ( ruleQuantifiedExpression EOF ) + // InternalFiacre.g:1756:1: ruleQuantifiedExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQuantifiedExpression" + + + // $ANTLR start "ruleQuantifiedExpression" + // InternalFiacre.g:1763:1: ruleQuantifiedExpression : ( ( rule__QuantifiedExpression__Alternatives ) ) ; + public final void ruleQuantifiedExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1767:2: ( ( ( rule__QuantifiedExpression__Alternatives ) ) ) + // InternalFiacre.g:1768:2: ( ( rule__QuantifiedExpression__Alternatives ) ) + { + // InternalFiacre.g:1768:2: ( ( rule__QuantifiedExpression__Alternatives ) ) + // InternalFiacre.g:1769:3: ( rule__QuantifiedExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getAlternatives()); + } + // InternalFiacre.g:1770:3: ( rule__QuantifiedExpression__Alternatives ) + // InternalFiacre.g:1770:4: rule__QuantifiedExpression__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQuantifiedExpression" + + + // $ANTLR start "entryRuleConditional" + // InternalFiacre.g:1779:1: entryRuleConditional : ruleConditional EOF ; + public final void entryRuleConditional() throws RecognitionException { + try { + // InternalFiacre.g:1780:1: ( ruleConditional EOF ) + // InternalFiacre.g:1781:1: ruleConditional EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleConditional(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConditional" + + + // $ANTLR start "ruleConditional" + // InternalFiacre.g:1788:1: ruleConditional : ( ( rule__Conditional__Group__0 ) ) ; + public final void ruleConditional() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1792:2: ( ( ( rule__Conditional__Group__0 ) ) ) + // InternalFiacre.g:1793:2: ( ( rule__Conditional__Group__0 ) ) + { + // InternalFiacre.g:1793:2: ( ( rule__Conditional__Group__0 ) ) + // InternalFiacre.g:1794:3: ( rule__Conditional__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getGroup()); + } + // InternalFiacre.g:1795:3: ( rule__Conditional__Group__0 ) + // InternalFiacre.g:1795:4: rule__Conditional__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConditional" + + + // $ANTLR start "entryRuleDisjunction" + // InternalFiacre.g:1804:1: entryRuleDisjunction : ruleDisjunction EOF ; + public final void entryRuleDisjunction() throws RecognitionException { + try { + // InternalFiacre.g:1805:1: ( ruleDisjunction EOF ) + // InternalFiacre.g:1806:1: ruleDisjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDisjunction" + + + // $ANTLR start "ruleDisjunction" + // InternalFiacre.g:1813:1: ruleDisjunction : ( ( rule__Disjunction__Group__0 ) ) ; + public final void ruleDisjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1817:2: ( ( ( rule__Disjunction__Group__0 ) ) ) + // InternalFiacre.g:1818:2: ( ( rule__Disjunction__Group__0 ) ) + { + // InternalFiacre.g:1818:2: ( ( rule__Disjunction__Group__0 ) ) + // InternalFiacre.g:1819:3: ( rule__Disjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getGroup()); + } + // InternalFiacre.g:1820:3: ( rule__Disjunction__Group__0 ) + // InternalFiacre.g:1820:4: rule__Disjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDisjunction" + + + // $ANTLR start "entryRuleImplication" + // InternalFiacre.g:1829:1: entryRuleImplication : ruleImplication EOF ; + public final void entryRuleImplication() throws RecognitionException { + try { + // InternalFiacre.g:1830:1: ( ruleImplication EOF ) + // InternalFiacre.g:1831:1: ruleImplication EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleImplication" + + + // $ANTLR start "ruleImplication" + // InternalFiacre.g:1838:1: ruleImplication : ( ( rule__Implication__Group__0 ) ) ; + public final void ruleImplication() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1842:2: ( ( ( rule__Implication__Group__0 ) ) ) + // InternalFiacre.g:1843:2: ( ( rule__Implication__Group__0 ) ) + { + // InternalFiacre.g:1843:2: ( ( rule__Implication__Group__0 ) ) + // InternalFiacre.g:1844:3: ( rule__Implication__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getGroup()); + } + // InternalFiacre.g:1845:3: ( rule__Implication__Group__0 ) + // InternalFiacre.g:1845:4: rule__Implication__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleImplication" + + + // $ANTLR start "entryRuleConjunction" + // InternalFiacre.g:1854:1: entryRuleConjunction : ruleConjunction EOF ; + public final void entryRuleConjunction() throws RecognitionException { + try { + // InternalFiacre.g:1855:1: ( ruleConjunction EOF ) + // InternalFiacre.g:1856:1: ruleConjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConjunction" + + + // $ANTLR start "ruleConjunction" + // InternalFiacre.g:1863:1: ruleConjunction : ( ( rule__Conjunction__Group__0 ) ) ; + public final void ruleConjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1867:2: ( ( ( rule__Conjunction__Group__0 ) ) ) + // InternalFiacre.g:1868:2: ( ( rule__Conjunction__Group__0 ) ) + { + // InternalFiacre.g:1868:2: ( ( rule__Conjunction__Group__0 ) ) + // InternalFiacre.g:1869:3: ( rule__Conjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getGroup()); + } + // InternalFiacre.g:1870:3: ( rule__Conjunction__Group__0 ) + // InternalFiacre.g:1870:4: rule__Conjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConjunction" + + + // $ANTLR start "entryRuleComparison" + // InternalFiacre.g:1879:1: entryRuleComparison : ruleComparison EOF ; + public final void entryRuleComparison() throws RecognitionException { + try { + // InternalFiacre.g:1880:1: ( ruleComparison EOF ) + // InternalFiacre.g:1881:1: ruleComparison EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleComparison(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComparison" + + + // $ANTLR start "ruleComparison" + // InternalFiacre.g:1888:1: ruleComparison : ( ( rule__Comparison__Group__0 ) ) ; + public final void ruleComparison() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1892:2: ( ( ( rule__Comparison__Group__0 ) ) ) + // InternalFiacre.g:1893:2: ( ( rule__Comparison__Group__0 ) ) + { + // InternalFiacre.g:1893:2: ( ( rule__Comparison__Group__0 ) ) + // InternalFiacre.g:1894:3: ( rule__Comparison__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup()); + } + // InternalFiacre.g:1895:3: ( rule__Comparison__Group__0 ) + // InternalFiacre.g:1895:4: rule__Comparison__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComparison" + + + // $ANTLR start "entryRuleAddition" + // InternalFiacre.g:1904:1: entryRuleAddition : ruleAddition EOF ; + public final void entryRuleAddition() throws RecognitionException { + try { + // InternalFiacre.g:1905:1: ( ruleAddition EOF ) + // InternalFiacre.g:1906:1: ruleAddition EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAddition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAddition" + + + // $ANTLR start "ruleAddition" + // InternalFiacre.g:1913:1: ruleAddition : ( ( rule__Addition__Group__0 ) ) ; + public final void ruleAddition() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1917:2: ( ( ( rule__Addition__Group__0 ) ) ) + // InternalFiacre.g:1918:2: ( ( rule__Addition__Group__0 ) ) + { + // InternalFiacre.g:1918:2: ( ( rule__Addition__Group__0 ) ) + // InternalFiacre.g:1919:3: ( rule__Addition__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getGroup()); + } + // InternalFiacre.g:1920:3: ( rule__Addition__Group__0 ) + // InternalFiacre.g:1920:4: rule__Addition__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAddition" + + + // $ANTLR start "entryRuleSubstraction" + // InternalFiacre.g:1929:1: entryRuleSubstraction : ruleSubstraction EOF ; + public final void entryRuleSubstraction() throws RecognitionException { + try { + // InternalFiacre.g:1930:1: ( ruleSubstraction EOF ) + // InternalFiacre.g:1931:1: ruleSubstraction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleSubstraction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleSubstraction" + + + // $ANTLR start "ruleSubstraction" + // InternalFiacre.g:1938:1: ruleSubstraction : ( ( rule__Substraction__Group__0 ) ) ; + public final void ruleSubstraction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1942:2: ( ( ( rule__Substraction__Group__0 ) ) ) + // InternalFiacre.g:1943:2: ( ( rule__Substraction__Group__0 ) ) + { + // InternalFiacre.g:1943:2: ( ( rule__Substraction__Group__0 ) ) + // InternalFiacre.g:1944:3: ( rule__Substraction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getGroup()); + } + // InternalFiacre.g:1945:3: ( rule__Substraction__Group__0 ) + // InternalFiacre.g:1945:4: rule__Substraction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleSubstraction" + + + // $ANTLR start "entryRuleMultiplication" + // InternalFiacre.g:1954:1: entryRuleMultiplication : ruleMultiplication EOF ; + public final void entryRuleMultiplication() throws RecognitionException { + try { + // InternalFiacre.g:1955:1: ( ruleMultiplication EOF ) + // InternalFiacre.g:1956:1: ruleMultiplication EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleMultiplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMultiplication" + + + // $ANTLR start "ruleMultiplication" + // InternalFiacre.g:1963:1: ruleMultiplication : ( ( rule__Multiplication__Group__0 ) ) ; + public final void ruleMultiplication() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1967:2: ( ( ( rule__Multiplication__Group__0 ) ) ) + // InternalFiacre.g:1968:2: ( ( rule__Multiplication__Group__0 ) ) + { + // InternalFiacre.g:1968:2: ( ( rule__Multiplication__Group__0 ) ) + // InternalFiacre.g:1969:3: ( rule__Multiplication__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getGroup()); + } + // InternalFiacre.g:1970:3: ( rule__Multiplication__Group__0 ) + // InternalFiacre.g:1970:4: rule__Multiplication__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMultiplication" + + + // $ANTLR start "entryRuleDivision" + // InternalFiacre.g:1979:1: entryRuleDivision : ruleDivision EOF ; + public final void entryRuleDivision() throws RecognitionException { + try { + // InternalFiacre.g:1980:1: ( ruleDivision EOF ) + // InternalFiacre.g:1981:1: ruleDivision EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDivision(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDivision" + + + // $ANTLR start "ruleDivision" + // InternalFiacre.g:1988:1: ruleDivision : ( ( rule__Division__Group__0 ) ) ; + public final void ruleDivision() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:1992:2: ( ( ( rule__Division__Group__0 ) ) ) + // InternalFiacre.g:1993:2: ( ( rule__Division__Group__0 ) ) + { + // InternalFiacre.g:1993:2: ( ( rule__Division__Group__0 ) ) + // InternalFiacre.g:1994:3: ( rule__Division__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getGroup()); + } + // InternalFiacre.g:1995:3: ( rule__Division__Group__0 ) + // InternalFiacre.g:1995:4: rule__Division__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDivision" + + + // $ANTLR start "entryRuleModulo" + // InternalFiacre.g:2004:1: entryRuleModulo : ruleModulo EOF ; + public final void entryRuleModulo() throws RecognitionException { + try { + // InternalFiacre.g:2005:1: ( ruleModulo EOF ) + // InternalFiacre.g:2006:1: ruleModulo EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleModulo(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleModulo" + + + // $ANTLR start "ruleModulo" + // InternalFiacre.g:2013:1: ruleModulo : ( ( rule__Modulo__Group__0 ) ) ; + public final void ruleModulo() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2017:2: ( ( ( rule__Modulo__Group__0 ) ) ) + // InternalFiacre.g:2018:2: ( ( rule__Modulo__Group__0 ) ) + { + // InternalFiacre.g:2018:2: ( ( rule__Modulo__Group__0 ) ) + // InternalFiacre.g:2019:3: ( rule__Modulo__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getGroup()); + } + // InternalFiacre.g:2020:3: ( rule__Modulo__Group__0 ) + // InternalFiacre.g:2020:4: rule__Modulo__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleModulo" + + + // $ANTLR start "entryRuleUnaryExpression" + // InternalFiacre.g:2029:1: entryRuleUnaryExpression : ruleUnaryExpression EOF ; + public final void entryRuleUnaryExpression() throws RecognitionException { + try { + // InternalFiacre.g:2030:1: ( ruleUnaryExpression EOF ) + // InternalFiacre.g:2031:1: ruleUnaryExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnaryExpression" + + + // $ANTLR start "ruleUnaryExpression" + // InternalFiacre.g:2038:1: ruleUnaryExpression : ( ( rule__UnaryExpression__Alternatives ) ) ; + public final void ruleUnaryExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2042:2: ( ( ( rule__UnaryExpression__Alternatives ) ) ) + // InternalFiacre.g:2043:2: ( ( rule__UnaryExpression__Alternatives ) ) + { + // InternalFiacre.g:2043:2: ( ( rule__UnaryExpression__Alternatives ) ) + // InternalFiacre.g:2044:3: ( rule__UnaryExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getAlternatives()); + } + // InternalFiacre.g:2045:3: ( rule__UnaryExpression__Alternatives ) + // InternalFiacre.g:2045:4: rule__UnaryExpression__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnaryExpression" + + + // $ANTLR start "entryRuleProjection" + // InternalFiacre.g:2054:1: entryRuleProjection : ruleProjection EOF ; + public final void entryRuleProjection() throws RecognitionException { + try { + // InternalFiacre.g:2055:1: ( ruleProjection EOF ) + // InternalFiacre.g:2056:1: ruleProjection EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleProjection(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleProjection" + + + // $ANTLR start "ruleProjection" + // InternalFiacre.g:2063:1: ruleProjection : ( ( rule__Projection__Group__0 ) ) ; + public final void ruleProjection() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2067:2: ( ( ( rule__Projection__Group__0 ) ) ) + // InternalFiacre.g:2068:2: ( ( rule__Projection__Group__0 ) ) + { + // InternalFiacre.g:2068:2: ( ( rule__Projection__Group__0 ) ) + // InternalFiacre.g:2069:3: ( rule__Projection__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getGroup()); + } + // InternalFiacre.g:2070:3: ( rule__Projection__Group__0 ) + // InternalFiacre.g:2070:4: rule__Projection__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleProjection" + + + // $ANTLR start "entryRuleAtomicExpression" + // InternalFiacre.g:2079:1: entryRuleAtomicExpression : ruleAtomicExpression EOF ; + public final void entryRuleAtomicExpression() throws RecognitionException { + try { + // InternalFiacre.g:2080:1: ( ruleAtomicExpression EOF ) + // InternalFiacre.g:2081:1: ruleAtomicExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAtomicExpression" + + + // $ANTLR start "ruleAtomicExpression" + // InternalFiacre.g:2088:1: ruleAtomicExpression : ( ( rule__AtomicExpression__Alternatives ) ) ; + public final void ruleAtomicExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2092:2: ( ( ( rule__AtomicExpression__Alternatives ) ) ) + // InternalFiacre.g:2093:2: ( ( rule__AtomicExpression__Alternatives ) ) + { + // InternalFiacre.g:2093:2: ( ( rule__AtomicExpression__Alternatives ) ) + // InternalFiacre.g:2094:3: ( rule__AtomicExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getAlternatives()); + } + // InternalFiacre.g:2095:3: ( rule__AtomicExpression__Alternatives ) + // InternalFiacre.g:2095:4: rule__AtomicExpression__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAtomicExpression" + + + // $ANTLR start "entryRuleReferenceExpression" + // InternalFiacre.g:2104:1: entryRuleReferenceExpression : ruleReferenceExpression EOF ; + public final void entryRuleReferenceExpression() throws RecognitionException { + try { + // InternalFiacre.g:2105:1: ( ruleReferenceExpression EOF ) + // InternalFiacre.g:2106:1: ruleReferenceExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleReferenceExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleReferenceExpression" + + + // $ANTLR start "ruleReferenceExpression" + // InternalFiacre.g:2113:1: ruleReferenceExpression : ( ( rule__ReferenceExpression__Group__0 ) ) ; + public final void ruleReferenceExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2117:2: ( ( ( rule__ReferenceExpression__Group__0 ) ) ) + // InternalFiacre.g:2118:2: ( ( rule__ReferenceExpression__Group__0 ) ) + { + // InternalFiacre.g:2118:2: ( ( rule__ReferenceExpression__Group__0 ) ) + // InternalFiacre.g:2119:3: ( rule__ReferenceExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionAccess().getGroup()); + } + // InternalFiacre.g:2120:3: ( rule__ReferenceExpression__Group__0 ) + // InternalFiacre.g:2120:4: rule__ReferenceExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReferenceExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleReferenceExpression" + + + // $ANTLR start "entryRuleIdentifierExpression" + // InternalFiacre.g:2129:1: entryRuleIdentifierExpression : ruleIdentifierExpression EOF ; + public final void entryRuleIdentifierExpression() throws RecognitionException { + try { + // InternalFiacre.g:2130:1: ( ruleIdentifierExpression EOF ) + // InternalFiacre.g:2131:1: ruleIdentifierExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleIdentifierExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIdentifierExpression" + + + // $ANTLR start "ruleIdentifierExpression" + // InternalFiacre.g:2138:1: ruleIdentifierExpression : ( ( rule__IdentifierExpression__Alternatives ) ) ; + public final void ruleIdentifierExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2142:2: ( ( ( rule__IdentifierExpression__Alternatives ) ) ) + // InternalFiacre.g:2143:2: ( ( rule__IdentifierExpression__Alternatives ) ) + { + // InternalFiacre.g:2143:2: ( ( rule__IdentifierExpression__Alternatives ) ) + // InternalFiacre.g:2144:3: ( rule__IdentifierExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getAlternatives()); + } + // InternalFiacre.g:2145:3: ( rule__IdentifierExpression__Alternatives ) + // InternalFiacre.g:2145:4: rule__IdentifierExpression__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIdentifierExpression" + + + // $ANTLR start "entryRuleRecordExpression" + // InternalFiacre.g:2154:1: entryRuleRecordExpression : ruleRecordExpression EOF ; + public final void entryRuleRecordExpression() throws RecognitionException { + try { + // InternalFiacre.g:2155:1: ( ruleRecordExpression EOF ) + // InternalFiacre.g:2156:1: ruleRecordExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRecordExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRecordExpression" + + + // $ANTLR start "ruleRecordExpression" + // InternalFiacre.g:2163:1: ruleRecordExpression : ( ( rule__RecordExpression__Group__0 ) ) ; + public final void ruleRecordExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2167:2: ( ( ( rule__RecordExpression__Group__0 ) ) ) + // InternalFiacre.g:2168:2: ( ( rule__RecordExpression__Group__0 ) ) + { + // InternalFiacre.g:2168:2: ( ( rule__RecordExpression__Group__0 ) ) + // InternalFiacre.g:2169:3: ( rule__RecordExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getGroup()); + } + // InternalFiacre.g:2170:3: ( rule__RecordExpression__Group__0 ) + // InternalFiacre.g:2170:4: rule__RecordExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRecordExpression" + + + // $ANTLR start "entryRuleFieldExpression" + // InternalFiacre.g:2179:1: entryRuleFieldExpression : ruleFieldExpression EOF ; + public final void entryRuleFieldExpression() throws RecognitionException { + try { + // InternalFiacre.g:2180:1: ( ruleFieldExpression EOF ) + // InternalFiacre.g:2181:1: ruleFieldExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleFieldExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFieldExpression" + + + // $ANTLR start "ruleFieldExpression" + // InternalFiacre.g:2188:1: ruleFieldExpression : ( ( rule__FieldExpression__Group__0 ) ) ; + public final void ruleFieldExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2192:2: ( ( ( rule__FieldExpression__Group__0 ) ) ) + // InternalFiacre.g:2193:2: ( ( rule__FieldExpression__Group__0 ) ) + { + // InternalFiacre.g:2193:2: ( ( rule__FieldExpression__Group__0 ) ) + // InternalFiacre.g:2194:3: ( rule__FieldExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getGroup()); + } + // InternalFiacre.g:2195:3: ( rule__FieldExpression__Group__0 ) + // InternalFiacre.g:2195:4: rule__FieldExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFieldExpression" + + + // $ANTLR start "entryRuleArrayExpression" + // InternalFiacre.g:2204:1: entryRuleArrayExpression : ruleArrayExpression EOF ; + public final void entryRuleArrayExpression() throws RecognitionException { + try { + // InternalFiacre.g:2205:1: ( ruleArrayExpression EOF ) + // InternalFiacre.g:2206:1: ruleArrayExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleArrayExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleArrayExpression" + + + // $ANTLR start "ruleArrayExpression" + // InternalFiacre.g:2213:1: ruleArrayExpression : ( ( rule__ArrayExpression__Group__0 ) ) ; + public final void ruleArrayExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2217:2: ( ( ( rule__ArrayExpression__Group__0 ) ) ) + // InternalFiacre.g:2218:2: ( ( rule__ArrayExpression__Group__0 ) ) + { + // InternalFiacre.g:2218:2: ( ( rule__ArrayExpression__Group__0 ) ) + // InternalFiacre.g:2219:3: ( rule__ArrayExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getGroup()); + } + // InternalFiacre.g:2220:3: ( rule__ArrayExpression__Group__0 ) + // InternalFiacre.g:2220:4: rule__ArrayExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleArrayExpression" + + + // $ANTLR start "entryRuleQueueExpression" + // InternalFiacre.g:2229:1: entryRuleQueueExpression : ruleQueueExpression EOF ; + public final void entryRuleQueueExpression() throws RecognitionException { + try { + // InternalFiacre.g:2230:1: ( ruleQueueExpression EOF ) + // InternalFiacre.g:2231:1: ruleQueueExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleQueueExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQueueExpression" + + + // $ANTLR start "ruleQueueExpression" + // InternalFiacre.g:2238:1: ruleQueueExpression : ( ( rule__QueueExpression__Group__0 ) ) ; + public final void ruleQueueExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2242:2: ( ( ( rule__QueueExpression__Group__0 ) ) ) + // InternalFiacre.g:2243:2: ( ( rule__QueueExpression__Group__0 ) ) + { + // InternalFiacre.g:2243:2: ( ( rule__QueueExpression__Group__0 ) ) + // InternalFiacre.g:2244:3: ( rule__QueueExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getGroup()); + } + // InternalFiacre.g:2245:3: ( rule__QueueExpression__Group__0 ) + // InternalFiacre.g:2245:4: rule__QueueExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQueueExpression" + + + // $ANTLR start "entryRuleEnqueueExpression" + // InternalFiacre.g:2254:1: entryRuleEnqueueExpression : ruleEnqueueExpression EOF ; + public final void entryRuleEnqueueExpression() throws RecognitionException { + try { + // InternalFiacre.g:2255:1: ( ruleEnqueueExpression EOF ) + // InternalFiacre.g:2256:1: ruleEnqueueExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleEnqueueExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEnqueueExpression" + + + // $ANTLR start "ruleEnqueueExpression" + // InternalFiacre.g:2263:1: ruleEnqueueExpression : ( ( rule__EnqueueExpression__Group__0 ) ) ; + public final void ruleEnqueueExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2267:2: ( ( ( rule__EnqueueExpression__Group__0 ) ) ) + // InternalFiacre.g:2268:2: ( ( rule__EnqueueExpression__Group__0 ) ) + { + // InternalFiacre.g:2268:2: ( ( rule__EnqueueExpression__Group__0 ) ) + // InternalFiacre.g:2269:3: ( rule__EnqueueExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getGroup()); + } + // InternalFiacre.g:2270:3: ( rule__EnqueueExpression__Group__0 ) + // InternalFiacre.g:2270:4: rule__EnqueueExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEnqueueExpression" + + + // $ANTLR start "entryRuleAppendExpression" + // InternalFiacre.g:2279:1: entryRuleAppendExpression : ruleAppendExpression EOF ; + public final void entryRuleAppendExpression() throws RecognitionException { + try { + // InternalFiacre.g:2280:1: ( ruleAppendExpression EOF ) + // InternalFiacre.g:2281:1: ruleAppendExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAppendExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAppendExpression" + + + // $ANTLR start "ruleAppendExpression" + // InternalFiacre.g:2288:1: ruleAppendExpression : ( ( rule__AppendExpression__Group__0 ) ) ; + public final void ruleAppendExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2292:2: ( ( ( rule__AppendExpression__Group__0 ) ) ) + // InternalFiacre.g:2293:2: ( ( rule__AppendExpression__Group__0 ) ) + { + // InternalFiacre.g:2293:2: ( ( rule__AppendExpression__Group__0 ) ) + // InternalFiacre.g:2294:3: ( rule__AppendExpression__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getGroup()); + } + // InternalFiacre.g:2295:3: ( rule__AppendExpression__Group__0 ) + // InternalFiacre.g:2295:4: rule__AppendExpression__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAppendExpression" + + + // $ANTLR start "entryRuleLiteralExpression" + // InternalFiacre.g:2304:1: entryRuleLiteralExpression : ruleLiteralExpression EOF ; + public final void entryRuleLiteralExpression() throws RecognitionException { + try { + // InternalFiacre.g:2305:1: ( ruleLiteralExpression EOF ) + // InternalFiacre.g:2306:1: ruleLiteralExpression EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralExpressionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLiteralExpression" + + + // $ANTLR start "ruleLiteralExpression" + // InternalFiacre.g:2313:1: ruleLiteralExpression : ( ( rule__LiteralExpression__Alternatives ) ) ; + public final void ruleLiteralExpression() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2317:2: ( ( ( rule__LiteralExpression__Alternatives ) ) ) + // InternalFiacre.g:2318:2: ( ( rule__LiteralExpression__Alternatives ) ) + { + // InternalFiacre.g:2318:2: ( ( rule__LiteralExpression__Alternatives ) ) + // InternalFiacre.g:2319:3: ( rule__LiteralExpression__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralExpressionAccess().getAlternatives()); + } + // InternalFiacre.g:2320:3: ( rule__LiteralExpression__Alternatives ) + // InternalFiacre.g:2320:4: rule__LiteralExpression__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LiteralExpression__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralExpressionAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLiteralExpression" + + + // $ANTLR start "entryRuleBooleanLiteral" + // InternalFiacre.g:2329:1: entryRuleBooleanLiteral : ruleBooleanLiteral EOF ; + public final void entryRuleBooleanLiteral() throws RecognitionException { + try { + // InternalFiacre.g:2330:1: ( ruleBooleanLiteral EOF ) + // InternalFiacre.g:2331:1: ruleBooleanLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleBooleanLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBooleanLiteral" + + + // $ANTLR start "ruleBooleanLiteral" + // InternalFiacre.g:2338:1: ruleBooleanLiteral : ( ( rule__BooleanLiteral__Alternatives ) ) ; + public final void ruleBooleanLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2342:2: ( ( ( rule__BooleanLiteral__Alternatives ) ) ) + // InternalFiacre.g:2343:2: ( ( rule__BooleanLiteral__Alternatives ) ) + { + // InternalFiacre.g:2343:2: ( ( rule__BooleanLiteral__Alternatives ) ) + // InternalFiacre.g:2344:3: ( rule__BooleanLiteral__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getAlternatives()); + } + // InternalFiacre.g:2345:3: ( rule__BooleanLiteral__Alternatives ) + // InternalFiacre.g:2345:4: rule__BooleanLiteral__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBooleanLiteral" + + + // $ANTLR start "entryRuleNaturalLiteral" + // InternalFiacre.g:2354:1: entryRuleNaturalLiteral : ruleNaturalLiteral EOF ; + public final void entryRuleNaturalLiteral() throws RecognitionException { + try { + // InternalFiacre.g:2355:1: ( ruleNaturalLiteral EOF ) + // InternalFiacre.g:2356:1: ruleNaturalLiteral EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLiteralRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNaturalLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLiteralRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNaturalLiteral" + + + // $ANTLR start "ruleNaturalLiteral" + // InternalFiacre.g:2363:1: ruleNaturalLiteral : ( ( rule__NaturalLiteral__ValueAssignment ) ) ; + public final void ruleNaturalLiteral() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2367:2: ( ( ( rule__NaturalLiteral__ValueAssignment ) ) ) + // InternalFiacre.g:2368:2: ( ( rule__NaturalLiteral__ValueAssignment ) ) + { + // InternalFiacre.g:2368:2: ( ( rule__NaturalLiteral__ValueAssignment ) ) + // InternalFiacre.g:2369:3: ( rule__NaturalLiteral__ValueAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLiteralAccess().getValueAssignment()); + } + // InternalFiacre.g:2370:3: ( rule__NaturalLiteral__ValueAssignment ) + // InternalFiacre.g:2370:4: rule__NaturalLiteral__ValueAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLiteral__ValueAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLiteralAccess().getValueAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNaturalLiteral" + + + // $ANTLR start "entryRuleLowerBound" + // InternalFiacre.g:2379:1: entryRuleLowerBound : ruleLowerBound EOF ; + public final void entryRuleLowerBound() throws RecognitionException { + try { + // InternalFiacre.g:2380:1: ( ruleLowerBound EOF ) + // InternalFiacre.g:2381:1: ruleLowerBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLowerBound" + + + // $ANTLR start "ruleLowerBound" + // InternalFiacre.g:2388:1: ruleLowerBound : ( ( rule__LowerBound__Alternatives ) ) ; + public final void ruleLowerBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2392:2: ( ( ( rule__LowerBound__Alternatives ) ) ) + // InternalFiacre.g:2393:2: ( ( rule__LowerBound__Alternatives ) ) + { + // InternalFiacre.g:2393:2: ( ( rule__LowerBound__Alternatives ) ) + // InternalFiacre.g:2394:3: ( rule__LowerBound__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundAccess().getAlternatives()); + } + // InternalFiacre.g:2395:3: ( rule__LowerBound__Alternatives ) + // InternalFiacre.g:2395:4: rule__LowerBound__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LowerBound__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLowerBound" + + + // $ANTLR start "entryRuleUpperBound" + // InternalFiacre.g:2404:1: entryRuleUpperBound : ruleUpperBound EOF ; + public final void entryRuleUpperBound() throws RecognitionException { + try { + // InternalFiacre.g:2405:1: ( ruleUpperBound EOF ) + // InternalFiacre.g:2406:1: ruleUpperBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUpperBound" + + + // $ANTLR start "ruleUpperBound" + // InternalFiacre.g:2413:1: ruleUpperBound : ( ( rule__UpperBound__Alternatives ) ) ; + public final void ruleUpperBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2417:2: ( ( ( rule__UpperBound__Alternatives ) ) ) + // InternalFiacre.g:2418:2: ( ( rule__UpperBound__Alternatives ) ) + { + // InternalFiacre.g:2418:2: ( ( rule__UpperBound__Alternatives ) ) + // InternalFiacre.g:2419:3: ( rule__UpperBound__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundAccess().getAlternatives()); + } + // InternalFiacre.g:2420:3: ( rule__UpperBound__Alternatives ) + // InternalFiacre.g:2420:4: rule__UpperBound__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UpperBound__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUpperBound" + + + // $ANTLR start "entryRuleNaturalLowerBound" + // InternalFiacre.g:2429:1: entryRuleNaturalLowerBound : ruleNaturalLowerBound EOF ; + public final void entryRuleNaturalLowerBound() throws RecognitionException { + try { + // InternalFiacre.g:2430:1: ( ruleNaturalLowerBound EOF ) + // InternalFiacre.g:2431:1: ruleNaturalLowerBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNaturalLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNaturalLowerBound" + + + // $ANTLR start "ruleNaturalLowerBound" + // InternalFiacre.g:2438:1: ruleNaturalLowerBound : ( ( rule__NaturalLowerBound__Group__0 ) ) ; + public final void ruleNaturalLowerBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2442:2: ( ( ( rule__NaturalLowerBound__Group__0 ) ) ) + // InternalFiacre.g:2443:2: ( ( rule__NaturalLowerBound__Group__0 ) ) + { + // InternalFiacre.g:2443:2: ( ( rule__NaturalLowerBound__Group__0 ) ) + // InternalFiacre.g:2444:3: ( rule__NaturalLowerBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getGroup()); + } + // InternalFiacre.g:2445:3: ( rule__NaturalLowerBound__Group__0 ) + // InternalFiacre.g:2445:4: rule__NaturalLowerBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNaturalLowerBound" + + + // $ANTLR start "entryRuleNaturalUpperBound" + // InternalFiacre.g:2454:1: entryRuleNaturalUpperBound : ruleNaturalUpperBound EOF ; + public final void entryRuleNaturalUpperBound() throws RecognitionException { + try { + // InternalFiacre.g:2455:1: ( ruleNaturalUpperBound EOF ) + // InternalFiacre.g:2456:1: ruleNaturalUpperBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNaturalUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNaturalUpperBound" + + + // $ANTLR start "ruleNaturalUpperBound" + // InternalFiacre.g:2463:1: ruleNaturalUpperBound : ( ( rule__NaturalUpperBound__Group__0 ) ) ; + public final void ruleNaturalUpperBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2467:2: ( ( ( rule__NaturalUpperBound__Group__0 ) ) ) + // InternalFiacre.g:2468:2: ( ( rule__NaturalUpperBound__Group__0 ) ) + { + // InternalFiacre.g:2468:2: ( ( rule__NaturalUpperBound__Group__0 ) ) + // InternalFiacre.g:2469:3: ( rule__NaturalUpperBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getGroup()); + } + // InternalFiacre.g:2470:3: ( rule__NaturalUpperBound__Group__0 ) + // InternalFiacre.g:2470:4: rule__NaturalUpperBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNaturalUpperBound" + + + // $ANTLR start "entryRuleDecimalLowerBound" + // InternalFiacre.g:2479:1: entryRuleDecimalLowerBound : ruleDecimalLowerBound EOF ; + public final void entryRuleDecimalLowerBound() throws RecognitionException { + try { + // InternalFiacre.g:2480:1: ( ruleDecimalLowerBound EOF ) + // InternalFiacre.g:2481:1: ruleDecimalLowerBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDecimalLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDecimalLowerBound" + + + // $ANTLR start "ruleDecimalLowerBound" + // InternalFiacre.g:2488:1: ruleDecimalLowerBound : ( ( rule__DecimalLowerBound__Group__0 ) ) ; + public final void ruleDecimalLowerBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2492:2: ( ( ( rule__DecimalLowerBound__Group__0 ) ) ) + // InternalFiacre.g:2493:2: ( ( rule__DecimalLowerBound__Group__0 ) ) + { + // InternalFiacre.g:2493:2: ( ( rule__DecimalLowerBound__Group__0 ) ) + // InternalFiacre.g:2494:3: ( rule__DecimalLowerBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getGroup()); + } + // InternalFiacre.g:2495:3: ( rule__DecimalLowerBound__Group__0 ) + // InternalFiacre.g:2495:4: rule__DecimalLowerBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDecimalLowerBound" + + + // $ANTLR start "entryRuleDecimalUpperBound" + // InternalFiacre.g:2504:1: entryRuleDecimalUpperBound : ruleDecimalUpperBound EOF ; + public final void entryRuleDecimalUpperBound() throws RecognitionException { + try { + // InternalFiacre.g:2505:1: ( ruleDecimalUpperBound EOF ) + // InternalFiacre.g:2506:1: ruleDecimalUpperBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDecimalUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDecimalUpperBound" + + + // $ANTLR start "ruleDecimalUpperBound" + // InternalFiacre.g:2513:1: ruleDecimalUpperBound : ( ( rule__DecimalUpperBound__Group__0 ) ) ; + public final void ruleDecimalUpperBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2517:2: ( ( ( rule__DecimalUpperBound__Group__0 ) ) ) + // InternalFiacre.g:2518:2: ( ( rule__DecimalUpperBound__Group__0 ) ) + { + // InternalFiacre.g:2518:2: ( ( rule__DecimalUpperBound__Group__0 ) ) + // InternalFiacre.g:2519:3: ( rule__DecimalUpperBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getGroup()); + } + // InternalFiacre.g:2520:3: ( rule__DecimalUpperBound__Group__0 ) + // InternalFiacre.g:2520:4: rule__DecimalUpperBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDecimalUpperBound" + + + // $ANTLR start "entryRuleVariableLowerBound" + // InternalFiacre.g:2529:1: entryRuleVariableLowerBound : ruleVariableLowerBound EOF ; + public final void entryRuleVariableLowerBound() throws RecognitionException { + try { + // InternalFiacre.g:2530:1: ( ruleVariableLowerBound EOF ) + // InternalFiacre.g:2531:1: ruleVariableLowerBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleVariableLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleVariableLowerBound" + + + // $ANTLR start "ruleVariableLowerBound" + // InternalFiacre.g:2538:1: ruleVariableLowerBound : ( ( rule__VariableLowerBound__Group__0 ) ) ; + public final void ruleVariableLowerBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2542:2: ( ( ( rule__VariableLowerBound__Group__0 ) ) ) + // InternalFiacre.g:2543:2: ( ( rule__VariableLowerBound__Group__0 ) ) + { + // InternalFiacre.g:2543:2: ( ( rule__VariableLowerBound__Group__0 ) ) + // InternalFiacre.g:2544:3: ( rule__VariableLowerBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getGroup()); + } + // InternalFiacre.g:2545:3: ( rule__VariableLowerBound__Group__0 ) + // InternalFiacre.g:2545:4: rule__VariableLowerBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleVariableLowerBound" + + + // $ANTLR start "entryRuleVariableUpperBound" + // InternalFiacre.g:2554:1: entryRuleVariableUpperBound : ruleVariableUpperBound EOF ; + public final void entryRuleVariableUpperBound() throws RecognitionException { + try { + // InternalFiacre.g:2555:1: ( ruleVariableUpperBound EOF ) + // InternalFiacre.g:2556:1: ruleVariableUpperBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleVariableUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleVariableUpperBound" + + + // $ANTLR start "ruleVariableUpperBound" + // InternalFiacre.g:2563:1: ruleVariableUpperBound : ( ( rule__VariableUpperBound__Group__0 ) ) ; + public final void ruleVariableUpperBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2567:2: ( ( ( rule__VariableUpperBound__Group__0 ) ) ) + // InternalFiacre.g:2568:2: ( ( rule__VariableUpperBound__Group__0 ) ) + { + // InternalFiacre.g:2568:2: ( ( rule__VariableUpperBound__Group__0 ) ) + // InternalFiacre.g:2569:3: ( rule__VariableUpperBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getGroup()); + } + // InternalFiacre.g:2570:3: ( rule__VariableUpperBound__Group__0 ) + // InternalFiacre.g:2570:4: rule__VariableUpperBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleVariableUpperBound" + + + // $ANTLR start "entryRuleInfiniteUpperBound" + // InternalFiacre.g:2579:1: entryRuleInfiniteUpperBound : ruleInfiniteUpperBound EOF ; + public final void entryRuleInfiniteUpperBound() throws RecognitionException { + try { + // InternalFiacre.g:2580:1: ( ruleInfiniteUpperBound EOF ) + // InternalFiacre.g:2581:1: ruleInfiniteUpperBound EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfiniteUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleInfiniteUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfiniteUpperBoundRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInfiniteUpperBound" + + + // $ANTLR start "ruleInfiniteUpperBound" + // InternalFiacre.g:2588:1: ruleInfiniteUpperBound : ( ( rule__InfiniteUpperBound__Group__0 ) ) ; + public final void ruleInfiniteUpperBound() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2592:2: ( ( ( rule__InfiniteUpperBound__Group__0 ) ) ) + // InternalFiacre.g:2593:2: ( ( rule__InfiniteUpperBound__Group__0 ) ) + { + // InternalFiacre.g:2593:2: ( ( rule__InfiniteUpperBound__Group__0 ) ) + // InternalFiacre.g:2594:3: ( rule__InfiniteUpperBound__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfiniteUpperBoundAccess().getGroup()); + } + // InternalFiacre.g:2595:3: ( rule__InfiniteUpperBound__Group__0 ) + // InternalFiacre.g:2595:4: rule__InfiniteUpperBound__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InfiniteUpperBound__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfiniteUpperBoundAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInfiniteUpperBound" + + + // $ANTLR start "entryRuleRequirement" + // InternalFiacre.g:2604:1: entryRuleRequirement : ruleRequirement EOF ; + public final void entryRuleRequirement() throws RecognitionException { + try { + // InternalFiacre.g:2605:1: ( ruleRequirement EOF ) + // InternalFiacre.g:2606:1: ruleRequirement EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleRequirement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRequirement" + + + // $ANTLR start "ruleRequirement" + // InternalFiacre.g:2613:1: ruleRequirement : ( ( rule__Requirement__Group__0 ) ) ; + public final void ruleRequirement() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2617:2: ( ( ( rule__Requirement__Group__0 ) ) ) + // InternalFiacre.g:2618:2: ( ( rule__Requirement__Group__0 ) ) + { + // InternalFiacre.g:2618:2: ( ( rule__Requirement__Group__0 ) ) + // InternalFiacre.g:2619:3: ( rule__Requirement__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getGroup()); + } + // InternalFiacre.g:2620:3: ( rule__Requirement__Group__0 ) + // InternalFiacre.g:2620:4: rule__Requirement__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRequirement" + + + // $ANTLR start "entryRulePropertyDeclaration" + // InternalFiacre.g:2629:1: entryRulePropertyDeclaration : rulePropertyDeclaration EOF ; + public final void entryRulePropertyDeclaration() throws RecognitionException { + try { + // InternalFiacre.g:2630:1: ( rulePropertyDeclaration EOF ) + // InternalFiacre.g:2631:1: rulePropertyDeclaration EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePropertyDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePropertyDeclaration" + + + // $ANTLR start "rulePropertyDeclaration" + // InternalFiacre.g:2638:1: rulePropertyDeclaration : ( ( rule__PropertyDeclaration__Group__0 ) ) ; + public final void rulePropertyDeclaration() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2642:2: ( ( ( rule__PropertyDeclaration__Group__0 ) ) ) + // InternalFiacre.g:2643:2: ( ( rule__PropertyDeclaration__Group__0 ) ) + { + // InternalFiacre.g:2643:2: ( ( rule__PropertyDeclaration__Group__0 ) ) + // InternalFiacre.g:2644:3: ( rule__PropertyDeclaration__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getGroup()); + } + // InternalFiacre.g:2645:3: ( rule__PropertyDeclaration__Group__0 ) + // InternalFiacre.g:2645:4: rule__PropertyDeclaration__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePropertyDeclaration" + + + // $ANTLR start "entryRuleProperty" + // InternalFiacre.g:2654:1: entryRuleProperty : ruleProperty EOF ; + public final void entryRuleProperty() throws RecognitionException { + try { + // InternalFiacre.g:2655:1: ( ruleProperty EOF ) + // InternalFiacre.g:2656:1: ruleProperty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleProperty" + + + // $ANTLR start "ruleProperty" + // InternalFiacre.g:2663:1: ruleProperty : ( ruleQuantifiedProperty ) ; + public final void ruleProperty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2667:2: ( ( ruleQuantifiedProperty ) ) + // InternalFiacre.g:2668:2: ( ruleQuantifiedProperty ) + { + // InternalFiacre.g:2668:2: ( ruleQuantifiedProperty ) + // InternalFiacre.g:2669:3: ruleQuantifiedProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleProperty" + + + // $ANTLR start "entryRuleQuantifiedProperty" + // InternalFiacre.g:2679:1: entryRuleQuantifiedProperty : ruleQuantifiedProperty EOF ; + public final void entryRuleQuantifiedProperty() throws RecognitionException { + try { + // InternalFiacre.g:2680:1: ( ruleQuantifiedProperty EOF ) + // InternalFiacre.g:2681:1: ruleQuantifiedProperty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleQuantifiedProperty" + + + // $ANTLR start "ruleQuantifiedProperty" + // InternalFiacre.g:2688:1: ruleQuantifiedProperty : ( ( rule__QuantifiedProperty__Alternatives ) ) ; + public final void ruleQuantifiedProperty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2692:2: ( ( ( rule__QuantifiedProperty__Alternatives ) ) ) + // InternalFiacre.g:2693:2: ( ( rule__QuantifiedProperty__Alternatives ) ) + { + // InternalFiacre.g:2693:2: ( ( rule__QuantifiedProperty__Alternatives ) ) + // InternalFiacre.g:2694:3: ( rule__QuantifiedProperty__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getAlternatives()); + } + // InternalFiacre.g:2695:3: ( rule__QuantifiedProperty__Alternatives ) + // InternalFiacre.g:2695:4: rule__QuantifiedProperty__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleQuantifiedProperty" + + + // $ANTLR start "entryRulePropertyDisjunction" + // InternalFiacre.g:2704:1: entryRulePropertyDisjunction : rulePropertyDisjunction EOF ; + public final void entryRulePropertyDisjunction() throws RecognitionException { + try { + // InternalFiacre.g:2705:1: ( rulePropertyDisjunction EOF ) + // InternalFiacre.g:2706:1: rulePropertyDisjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePropertyDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePropertyDisjunction" + + + // $ANTLR start "rulePropertyDisjunction" + // InternalFiacre.g:2713:1: rulePropertyDisjunction : ( ( rule__PropertyDisjunction__Group__0 ) ) ; + public final void rulePropertyDisjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2717:2: ( ( ( rule__PropertyDisjunction__Group__0 ) ) ) + // InternalFiacre.g:2718:2: ( ( rule__PropertyDisjunction__Group__0 ) ) + { + // InternalFiacre.g:2718:2: ( ( rule__PropertyDisjunction__Group__0 ) ) + // InternalFiacre.g:2719:3: ( rule__PropertyDisjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getGroup()); + } + // InternalFiacre.g:2720:3: ( rule__PropertyDisjunction__Group__0 ) + // InternalFiacre.g:2720:4: rule__PropertyDisjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePropertyDisjunction" + + + // $ANTLR start "entryRulePropertyImplication" + // InternalFiacre.g:2729:1: entryRulePropertyImplication : rulePropertyImplication EOF ; + public final void entryRulePropertyImplication() throws RecognitionException { + try { + // InternalFiacre.g:2730:1: ( rulePropertyImplication EOF ) + // InternalFiacre.g:2731:1: rulePropertyImplication EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePropertyImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePropertyImplication" + + + // $ANTLR start "rulePropertyImplication" + // InternalFiacre.g:2738:1: rulePropertyImplication : ( ( rule__PropertyImplication__Group__0 ) ) ; + public final void rulePropertyImplication() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2742:2: ( ( ( rule__PropertyImplication__Group__0 ) ) ) + // InternalFiacre.g:2743:2: ( ( rule__PropertyImplication__Group__0 ) ) + { + // InternalFiacre.g:2743:2: ( ( rule__PropertyImplication__Group__0 ) ) + // InternalFiacre.g:2744:3: ( rule__PropertyImplication__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getGroup()); + } + // InternalFiacre.g:2745:3: ( rule__PropertyImplication__Group__0 ) + // InternalFiacre.g:2745:4: rule__PropertyImplication__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePropertyImplication" + + + // $ANTLR start "entryRulePropertyConjunction" + // InternalFiacre.g:2754:1: entryRulePropertyConjunction : rulePropertyConjunction EOF ; + public final void entryRulePropertyConjunction() throws RecognitionException { + try { + // InternalFiacre.g:2755:1: ( rulePropertyConjunction EOF ) + // InternalFiacre.g:2756:1: rulePropertyConjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePropertyConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePropertyConjunction" + + + // $ANTLR start "rulePropertyConjunction" + // InternalFiacre.g:2763:1: rulePropertyConjunction : ( ( rule__PropertyConjunction__Group__0 ) ) ; + public final void rulePropertyConjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2767:2: ( ( ( rule__PropertyConjunction__Group__0 ) ) ) + // InternalFiacre.g:2768:2: ( ( rule__PropertyConjunction__Group__0 ) ) + { + // InternalFiacre.g:2768:2: ( ( rule__PropertyConjunction__Group__0 ) ) + // InternalFiacre.g:2769:3: ( rule__PropertyConjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getGroup()); + } + // InternalFiacre.g:2770:3: ( rule__PropertyConjunction__Group__0 ) + // InternalFiacre.g:2770:4: rule__PropertyConjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePropertyConjunction" + + + // $ANTLR start "entryRulePropertyNegation" + // InternalFiacre.g:2779:1: entryRulePropertyNegation : rulePropertyNegation EOF ; + public final void entryRulePropertyNegation() throws RecognitionException { + try { + // InternalFiacre.g:2780:1: ( rulePropertyNegation EOF ) + // InternalFiacre.g:2781:1: rulePropertyNegation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePropertyNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePropertyNegation" + + + // $ANTLR start "rulePropertyNegation" + // InternalFiacre.g:2788:1: rulePropertyNegation : ( ( rule__PropertyNegation__Alternatives ) ) ; + public final void rulePropertyNegation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2792:2: ( ( ( rule__PropertyNegation__Alternatives ) ) ) + // InternalFiacre.g:2793:2: ( ( rule__PropertyNegation__Alternatives ) ) + { + // InternalFiacre.g:2793:2: ( ( rule__PropertyNegation__Alternatives ) ) + // InternalFiacre.g:2794:3: ( rule__PropertyNegation__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getAlternatives()); + } + // InternalFiacre.g:2795:3: ( rule__PropertyNegation__Alternatives ) + // InternalFiacre.g:2795:4: rule__PropertyNegation__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePropertyNegation" + + + // $ANTLR start "entryRuleAtomicProperty" + // InternalFiacre.g:2804:1: entryRuleAtomicProperty : ruleAtomicProperty EOF ; + public final void entryRuleAtomicProperty() throws RecognitionException { + try { + // InternalFiacre.g:2805:1: ( ruleAtomicProperty EOF ) + // InternalFiacre.g:2806:1: ruleAtomicProperty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAtomicProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAtomicProperty" + + + // $ANTLR start "ruleAtomicProperty" + // InternalFiacre.g:2813:1: ruleAtomicProperty : ( ( rule__AtomicProperty__Alternatives ) ) ; + public final void ruleAtomicProperty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2817:2: ( ( ( rule__AtomicProperty__Alternatives ) ) ) + // InternalFiacre.g:2818:2: ( ( rule__AtomicProperty__Alternatives ) ) + { + // InternalFiacre.g:2818:2: ( ( rule__AtomicProperty__Alternatives ) ) + // InternalFiacre.g:2819:3: ( rule__AtomicProperty__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getAlternatives()); + } + // InternalFiacre.g:2820:3: ( rule__AtomicProperty__Alternatives ) + // InternalFiacre.g:2820:4: rule__AtomicProperty__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicProperty__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAtomicProperty" + + + // $ANTLR start "entryRulePatternProperty" + // InternalFiacre.g:2829:1: entryRulePatternProperty : rulePatternProperty EOF ; + public final void entryRulePatternProperty() throws RecognitionException { + try { + // InternalFiacre.g:2830:1: ( rulePatternProperty EOF ) + // InternalFiacre.g:2831:1: rulePatternProperty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePatternProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePatternProperty" + + + // $ANTLR start "rulePatternProperty" + // InternalFiacre.g:2838:1: rulePatternProperty : ( ( rule__PatternProperty__Alternatives ) ) ; + public final void rulePatternProperty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2842:2: ( ( ( rule__PatternProperty__Alternatives ) ) ) + // InternalFiacre.g:2843:2: ( ( rule__PatternProperty__Alternatives ) ) + { + // InternalFiacre.g:2843:2: ( ( rule__PatternProperty__Alternatives ) ) + // InternalFiacre.g:2844:3: ( rule__PatternProperty__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getAlternatives()); + } + // InternalFiacre.g:2845:3: ( rule__PatternProperty__Alternatives ) + // InternalFiacre.g:2845:4: rule__PatternProperty__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternProperty__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePatternProperty" + + + // $ANTLR start "entryRuleLTLPattern" + // InternalFiacre.g:2854:1: entryRuleLTLPattern : ruleLTLPattern EOF ; + public final void entryRuleLTLPattern() throws RecognitionException { + try { + // InternalFiacre.g:2855:1: ( ruleLTLPattern EOF ) + // InternalFiacre.g:2856:1: ruleLTLPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLPattern" + + + // $ANTLR start "ruleLTLPattern" + // InternalFiacre.g:2863:1: ruleLTLPattern : ( ( rule__LTLPattern__Group__0 ) ) ; + public final void ruleLTLPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2867:2: ( ( ( rule__LTLPattern__Group__0 ) ) ) + // InternalFiacre.g:2868:2: ( ( rule__LTLPattern__Group__0 ) ) + { + // InternalFiacre.g:2868:2: ( ( rule__LTLPattern__Group__0 ) ) + // InternalFiacre.g:2869:3: ( rule__LTLPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPatternAccess().getGroup()); + } + // InternalFiacre.g:2870:3: ( rule__LTLPattern__Group__0 ) + // InternalFiacre.g:2870:4: rule__LTLPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLPattern" + + + // $ANTLR start "entryRuleDeadlockFreePattern" + // InternalFiacre.g:2879:1: entryRuleDeadlockFreePattern : ruleDeadlockFreePattern EOF ; + public final void entryRuleDeadlockFreePattern() throws RecognitionException { + try { + // InternalFiacre.g:2880:1: ( ruleDeadlockFreePattern EOF ) + // InternalFiacre.g:2881:1: ruleDeadlockFreePattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeadlockFreePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleDeadlockFreePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeadlockFreePatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDeadlockFreePattern" + + + // $ANTLR start "ruleDeadlockFreePattern" + // InternalFiacre.g:2888:1: ruleDeadlockFreePattern : ( ( rule__DeadlockFreePattern__Group__0 ) ) ; + public final void ruleDeadlockFreePattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2892:2: ( ( ( rule__DeadlockFreePattern__Group__0 ) ) ) + // InternalFiacre.g:2893:2: ( ( rule__DeadlockFreePattern__Group__0 ) ) + { + // InternalFiacre.g:2893:2: ( ( rule__DeadlockFreePattern__Group__0 ) ) + // InternalFiacre.g:2894:3: ( rule__DeadlockFreePattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeadlockFreePatternAccess().getGroup()); + } + // InternalFiacre.g:2895:3: ( rule__DeadlockFreePattern__Group__0 ) + // InternalFiacre.g:2895:4: rule__DeadlockFreePattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DeadlockFreePattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDeadlockFreePatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDeadlockFreePattern" + + + // $ANTLR start "entryRuleInfinitelyOftenPattern" + // InternalFiacre.g:2904:1: entryRuleInfinitelyOftenPattern : ruleInfinitelyOftenPattern EOF ; + public final void entryRuleInfinitelyOftenPattern() throws RecognitionException { + try { + // InternalFiacre.g:2905:1: ( ruleInfinitelyOftenPattern EOF ) + // InternalFiacre.g:2906:1: ruleInfinitelyOftenPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinitelyOftenPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleInfinitelyOftenPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinitelyOftenPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInfinitelyOftenPattern" + + + // $ANTLR start "ruleInfinitelyOftenPattern" + // InternalFiacre.g:2913:1: ruleInfinitelyOftenPattern : ( ( rule__InfinitelyOftenPattern__Group__0 ) ) ; + public final void ruleInfinitelyOftenPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2917:2: ( ( ( rule__InfinitelyOftenPattern__Group__0 ) ) ) + // InternalFiacre.g:2918:2: ( ( rule__InfinitelyOftenPattern__Group__0 ) ) + { + // InternalFiacre.g:2918:2: ( ( rule__InfinitelyOftenPattern__Group__0 ) ) + // InternalFiacre.g:2919:3: ( rule__InfinitelyOftenPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinitelyOftenPatternAccess().getGroup()); + } + // InternalFiacre.g:2920:3: ( rule__InfinitelyOftenPattern__Group__0 ) + // InternalFiacre.g:2920:4: rule__InfinitelyOftenPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InfinitelyOftenPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinitelyOftenPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInfinitelyOftenPattern" + + + // $ANTLR start "entryRuleMortalPattern" + // InternalFiacre.g:2929:1: entryRuleMortalPattern : ruleMortalPattern EOF ; + public final void entryRuleMortalPattern() throws RecognitionException { + try { + // InternalFiacre.g:2930:1: ( ruleMortalPattern EOF ) + // InternalFiacre.g:2931:1: ruleMortalPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMortalPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleMortalPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMortalPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMortalPattern" + + + // $ANTLR start "ruleMortalPattern" + // InternalFiacre.g:2938:1: ruleMortalPattern : ( ( rule__MortalPattern__Group__0 ) ) ; + public final void ruleMortalPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2942:2: ( ( ( rule__MortalPattern__Group__0 ) ) ) + // InternalFiacre.g:2943:2: ( ( rule__MortalPattern__Group__0 ) ) + { + // InternalFiacre.g:2943:2: ( ( rule__MortalPattern__Group__0 ) ) + // InternalFiacre.g:2944:3: ( rule__MortalPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMortalPatternAccess().getGroup()); + } + // InternalFiacre.g:2945:3: ( rule__MortalPattern__Group__0 ) + // InternalFiacre.g:2945:4: rule__MortalPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__MortalPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMortalPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMortalPattern" + + + // $ANTLR start "entryRulePresencePattern" + // InternalFiacre.g:2954:1: entryRulePresencePattern : rulePresencePattern EOF ; + public final void entryRulePresencePattern() throws RecognitionException { + try { + // InternalFiacre.g:2955:1: ( rulePresencePattern EOF ) + // InternalFiacre.g:2956:1: rulePresencePattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePresencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePresencePattern" + + + // $ANTLR start "rulePresencePattern" + // InternalFiacre.g:2963:1: rulePresencePattern : ( ( rule__PresencePattern__Group__0 ) ) ; + public final void rulePresencePattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2967:2: ( ( ( rule__PresencePattern__Group__0 ) ) ) + // InternalFiacre.g:2968:2: ( ( rule__PresencePattern__Group__0 ) ) + { + // InternalFiacre.g:2968:2: ( ( rule__PresencePattern__Group__0 ) ) + // InternalFiacre.g:2969:3: ( rule__PresencePattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup()); + } + // InternalFiacre.g:2970:3: ( rule__PresencePattern__Group__0 ) + // InternalFiacre.g:2970:4: rule__PresencePattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePresencePattern" + + + // $ANTLR start "entryRuleAbsencePattern" + // InternalFiacre.g:2979:1: entryRuleAbsencePattern : ruleAbsencePattern EOF ; + public final void entryRuleAbsencePattern() throws RecognitionException { + try { + // InternalFiacre.g:2980:1: ( ruleAbsencePattern EOF ) + // InternalFiacre.g:2981:1: ruleAbsencePattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAbsencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAbsencePattern" + + + // $ANTLR start "ruleAbsencePattern" + // InternalFiacre.g:2988:1: ruleAbsencePattern : ( ( rule__AbsencePattern__Group__0 ) ) ; + public final void ruleAbsencePattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:2992:2: ( ( ( rule__AbsencePattern__Group__0 ) ) ) + // InternalFiacre.g:2993:2: ( ( rule__AbsencePattern__Group__0 ) ) + { + // InternalFiacre.g:2993:2: ( ( rule__AbsencePattern__Group__0 ) ) + // InternalFiacre.g:2994:3: ( rule__AbsencePattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup()); + } + // InternalFiacre.g:2995:3: ( rule__AbsencePattern__Group__0 ) + // InternalFiacre.g:2995:4: rule__AbsencePattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAbsencePattern" + + + // $ANTLR start "entryRuleAlwaysPattern" + // InternalFiacre.g:3004:1: entryRuleAlwaysPattern : ruleAlwaysPattern EOF ; + public final void entryRuleAlwaysPattern() throws RecognitionException { + try { + // InternalFiacre.g:3005:1: ( ruleAlwaysPattern EOF ) + // InternalFiacre.g:3006:1: ruleAlwaysPattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAlwaysPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAlwaysPattern" + + + // $ANTLR start "ruleAlwaysPattern" + // InternalFiacre.g:3013:1: ruleAlwaysPattern : ( ( rule__AlwaysPattern__Group__0 ) ) ; + public final void ruleAlwaysPattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3017:2: ( ( ( rule__AlwaysPattern__Group__0 ) ) ) + // InternalFiacre.g:3018:2: ( ( rule__AlwaysPattern__Group__0 ) ) + { + // InternalFiacre.g:3018:2: ( ( rule__AlwaysPattern__Group__0 ) ) + // InternalFiacre.g:3019:3: ( rule__AlwaysPattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getGroup()); + } + // InternalFiacre.g:3020:3: ( rule__AlwaysPattern__Group__0 ) + // InternalFiacre.g:3020:4: rule__AlwaysPattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAlwaysPattern" + + + // $ANTLR start "entryRuleSequencePattern" + // InternalFiacre.g:3029:1: entryRuleSequencePattern : ruleSequencePattern EOF ; + public final void entryRuleSequencePattern() throws RecognitionException { + try { + // InternalFiacre.g:3030:1: ( ruleSequencePattern EOF ) + // InternalFiacre.g:3031:1: ruleSequencePattern EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleSequencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleSequencePattern" + + + // $ANTLR start "ruleSequencePattern" + // InternalFiacre.g:3038:1: ruleSequencePattern : ( ( rule__SequencePattern__Group__0 ) ) ; + public final void ruleSequencePattern() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3042:2: ( ( ( rule__SequencePattern__Group__0 ) ) ) + // InternalFiacre.g:3043:2: ( ( rule__SequencePattern__Group__0 ) ) + { + // InternalFiacre.g:3043:2: ( ( rule__SequencePattern__Group__0 ) ) + // InternalFiacre.g:3044:3: ( rule__SequencePattern__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup()); + } + // InternalFiacre.g:3045:3: ( rule__SequencePattern__Group__0 ) + // InternalFiacre.g:3045:4: rule__SequencePattern__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleSequencePattern" + + + // $ANTLR start "entryRuleLTLProperty" + // InternalFiacre.g:3054:1: entryRuleLTLProperty : ruleLTLProperty EOF ; + public final void entryRuleLTLProperty() throws RecognitionException { + try { + // InternalFiacre.g:3055:1: ( ruleLTLProperty EOF ) + // InternalFiacre.g:3056:1: ruleLTLProperty EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPropertyRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLProperty" + + + // $ANTLR start "ruleLTLProperty" + // InternalFiacre.g:3063:1: ruleLTLProperty : ( ruleLTLQuantified ) ; + public final void ruleLTLProperty() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3067:2: ( ( ruleLTLQuantified ) ) + // InternalFiacre.g:3068:2: ( ruleLTLQuantified ) + { + // InternalFiacre.g:3068:2: ( ruleLTLQuantified ) + // InternalFiacre.g:3069:3: ruleLTLQuantified + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLProperty" + + + // $ANTLR start "entryRuleLTLQuantified" + // InternalFiacre.g:3079:1: entryRuleLTLQuantified : ruleLTLQuantified EOF ; + public final void entryRuleLTLQuantified() throws RecognitionException { + try { + // InternalFiacre.g:3080:1: ( ruleLTLQuantified EOF ) + // InternalFiacre.g:3081:1: ruleLTLQuantified EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLQuantified" + + + // $ANTLR start "ruleLTLQuantified" + // InternalFiacre.g:3088:1: ruleLTLQuantified : ( ( rule__LTLQuantified__Alternatives ) ) ; + public final void ruleLTLQuantified() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3092:2: ( ( ( rule__LTLQuantified__Alternatives ) ) ) + // InternalFiacre.g:3093:2: ( ( rule__LTLQuantified__Alternatives ) ) + { + // InternalFiacre.g:3093:2: ( ( rule__LTLQuantified__Alternatives ) ) + // InternalFiacre.g:3094:3: ( rule__LTLQuantified__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getAlternatives()); + } + // InternalFiacre.g:3095:3: ( rule__LTLQuantified__Alternatives ) + // InternalFiacre.g:3095:4: rule__LTLQuantified__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLQuantified" + + + // $ANTLR start "entryRuleLTLDisjunction" + // InternalFiacre.g:3104:1: entryRuleLTLDisjunction : ruleLTLDisjunction EOF ; + public final void entryRuleLTLDisjunction() throws RecognitionException { + try { + // InternalFiacre.g:3105:1: ( ruleLTLDisjunction EOF ) + // InternalFiacre.g:3106:1: ruleLTLDisjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLDisjunction" + + + // $ANTLR start "ruleLTLDisjunction" + // InternalFiacre.g:3113:1: ruleLTLDisjunction : ( ( rule__LTLDisjunction__Group__0 ) ) ; + public final void ruleLTLDisjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3117:2: ( ( ( rule__LTLDisjunction__Group__0 ) ) ) + // InternalFiacre.g:3118:2: ( ( rule__LTLDisjunction__Group__0 ) ) + { + // InternalFiacre.g:3118:2: ( ( rule__LTLDisjunction__Group__0 ) ) + // InternalFiacre.g:3119:3: ( rule__LTLDisjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getGroup()); + } + // InternalFiacre.g:3120:3: ( rule__LTLDisjunction__Group__0 ) + // InternalFiacre.g:3120:4: rule__LTLDisjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLDisjunction" + + + // $ANTLR start "entryRuleLTLImplication" + // InternalFiacre.g:3129:1: entryRuleLTLImplication : ruleLTLImplication EOF ; + public final void entryRuleLTLImplication() throws RecognitionException { + try { + // InternalFiacre.g:3130:1: ( ruleLTLImplication EOF ) + // InternalFiacre.g:3131:1: ruleLTLImplication EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLImplication" + + + // $ANTLR start "ruleLTLImplication" + // InternalFiacre.g:3138:1: ruleLTLImplication : ( ( rule__LTLImplication__Group__0 ) ) ; + public final void ruleLTLImplication() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3142:2: ( ( ( rule__LTLImplication__Group__0 ) ) ) + // InternalFiacre.g:3143:2: ( ( rule__LTLImplication__Group__0 ) ) + { + // InternalFiacre.g:3143:2: ( ( rule__LTLImplication__Group__0 ) ) + // InternalFiacre.g:3144:3: ( rule__LTLImplication__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getGroup()); + } + // InternalFiacre.g:3145:3: ( rule__LTLImplication__Group__0 ) + // InternalFiacre.g:3145:4: rule__LTLImplication__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLImplication" + + + // $ANTLR start "entryRuleLTLConjunction" + // InternalFiacre.g:3154:1: entryRuleLTLConjunction : ruleLTLConjunction EOF ; + public final void entryRuleLTLConjunction() throws RecognitionException { + try { + // InternalFiacre.g:3155:1: ( ruleLTLConjunction EOF ) + // InternalFiacre.g:3156:1: ruleLTLConjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLConjunction" + + + // $ANTLR start "ruleLTLConjunction" + // InternalFiacre.g:3163:1: ruleLTLConjunction : ( ( rule__LTLConjunction__Group__0 ) ) ; + public final void ruleLTLConjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3167:2: ( ( ( rule__LTLConjunction__Group__0 ) ) ) + // InternalFiacre.g:3168:2: ( ( rule__LTLConjunction__Group__0 ) ) + { + // InternalFiacre.g:3168:2: ( ( rule__LTLConjunction__Group__0 ) ) + // InternalFiacre.g:3169:3: ( rule__LTLConjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getGroup()); + } + // InternalFiacre.g:3170:3: ( rule__LTLConjunction__Group__0 ) + // InternalFiacre.g:3170:4: rule__LTLConjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLConjunction" + + + // $ANTLR start "entryRuleLTLBinary" + // InternalFiacre.g:3179:1: entryRuleLTLBinary : ruleLTLBinary EOF ; + public final void entryRuleLTLBinary() throws RecognitionException { + try { + // InternalFiacre.g:3180:1: ( ruleLTLBinary EOF ) + // InternalFiacre.g:3181:1: ruleLTLBinary EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLBinary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLBinary" + + + // $ANTLR start "ruleLTLBinary" + // InternalFiacre.g:3188:1: ruleLTLBinary : ( ( rule__LTLBinary__Group__0 ) ) ; + public final void ruleLTLBinary() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3192:2: ( ( ( rule__LTLBinary__Group__0 ) ) ) + // InternalFiacre.g:3193:2: ( ( rule__LTLBinary__Group__0 ) ) + { + // InternalFiacre.g:3193:2: ( ( rule__LTLBinary__Group__0 ) ) + // InternalFiacre.g:3194:3: ( rule__LTLBinary__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getGroup()); + } + // InternalFiacre.g:3195:3: ( rule__LTLBinary__Group__0 ) + // InternalFiacre.g:3195:4: rule__LTLBinary__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLBinary" + + + // $ANTLR start "entryRuleLTLUnary" + // InternalFiacre.g:3204:1: entryRuleLTLUnary : ruleLTLUnary EOF ; + public final void entryRuleLTLUnary() throws RecognitionException { + try { + // InternalFiacre.g:3205:1: ( ruleLTLUnary EOF ) + // InternalFiacre.g:3206:1: ruleLTLUnary EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLTLUnary" + + + // $ANTLR start "ruleLTLUnary" + // InternalFiacre.g:3213:1: ruleLTLUnary : ( ( rule__LTLUnary__Alternatives ) ) ; + public final void ruleLTLUnary() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3217:2: ( ( ( rule__LTLUnary__Alternatives ) ) ) + // InternalFiacre.g:3218:2: ( ( rule__LTLUnary__Alternatives ) ) + { + // InternalFiacre.g:3218:2: ( ( rule__LTLUnary__Alternatives ) ) + // InternalFiacre.g:3219:3: ( rule__LTLUnary__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getAlternatives()); + } + // InternalFiacre.g:3220:3: ( rule__LTLUnary__Alternatives ) + // InternalFiacre.g:3220:4: rule__LTLUnary__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLTLUnary" + + + // $ANTLR start "entryRuleAtomicLTL" + // InternalFiacre.g:3229:1: entryRuleAtomicLTL : ruleAtomicLTL EOF ; + public final void entryRuleAtomicLTL() throws RecognitionException { + try { + // InternalFiacre.g:3230:1: ( ruleAtomicLTL EOF ) + // InternalFiacre.g:3231:1: ruleAtomicLTL EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAtomicLTL(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAtomicLTL" + + + // $ANTLR start "ruleAtomicLTL" + // InternalFiacre.g:3238:1: ruleAtomicLTL : ( ( rule__AtomicLTL__Alternatives ) ) ; + public final void ruleAtomicLTL() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3242:2: ( ( ( rule__AtomicLTL__Alternatives ) ) ) + // InternalFiacre.g:3243:2: ( ( rule__AtomicLTL__Alternatives ) ) + { + // InternalFiacre.g:3243:2: ( ( rule__AtomicLTL__Alternatives ) ) + // InternalFiacre.g:3244:3: ( rule__AtomicLTL__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getAlternatives()); + } + // InternalFiacre.g:3245:3: ( rule__AtomicLTL__Alternatives ) + // InternalFiacre.g:3245:4: rule__AtomicLTL__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAtomicLTL" + + + // $ANTLR start "entryRuleStateEvent" + // InternalFiacre.g:3254:1: entryRuleStateEvent : ruleStateEvent EOF ; + public final void entryRuleStateEvent() throws RecognitionException { + try { + // InternalFiacre.g:3255:1: ( ruleStateEvent EOF ) + // InternalFiacre.g:3256:1: ruleStateEvent EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateEventRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStateEvent" + + + // $ANTLR start "ruleStateEvent" + // InternalFiacre.g:3263:1: ruleStateEvent : ( ( rule__StateEvent__Alternatives ) ) ; + public final void ruleStateEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3267:2: ( ( ( rule__StateEvent__Alternatives ) ) ) + // InternalFiacre.g:3268:2: ( ( rule__StateEvent__Alternatives ) ) + { + // InternalFiacre.g:3268:2: ( ( rule__StateEvent__Alternatives ) ) + // InternalFiacre.g:3269:3: ( rule__StateEvent__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateEventAccess().getAlternatives()); + } + // InternalFiacre.g:3270:3: ( rule__StateEvent__Alternatives ) + // InternalFiacre.g:3270:4: rule__StateEvent__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StateEvent__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStateEventAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStateEvent" + + + // $ANTLR start "entryRuleEnterStateEvent" + // InternalFiacre.g:3279:1: entryRuleEnterStateEvent : ruleEnterStateEvent EOF ; + public final void entryRuleEnterStateEvent() throws RecognitionException { + try { + // InternalFiacre.g:3280:1: ( ruleEnterStateEvent EOF ) + // InternalFiacre.g:3281:1: ruleEnterStateEvent EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnterStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleEnterStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnterStateEventRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEnterStateEvent" + + + // $ANTLR start "ruleEnterStateEvent" + // InternalFiacre.g:3288:1: ruleEnterStateEvent : ( ( rule__EnterStateEvent__Group__0 ) ) ; + public final void ruleEnterStateEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3292:2: ( ( ( rule__EnterStateEvent__Group__0 ) ) ) + // InternalFiacre.g:3293:2: ( ( rule__EnterStateEvent__Group__0 ) ) + { + // InternalFiacre.g:3293:2: ( ( rule__EnterStateEvent__Group__0 ) ) + // InternalFiacre.g:3294:3: ( rule__EnterStateEvent__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnterStateEventAccess().getGroup()); + } + // InternalFiacre.g:3295:3: ( rule__EnterStateEvent__Group__0 ) + // InternalFiacre.g:3295:4: rule__EnterStateEvent__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnterStateEvent__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEnterStateEventAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEnterStateEvent" + + + // $ANTLR start "entryRuleLeaveStateEvent" + // InternalFiacre.g:3304:1: entryRuleLeaveStateEvent : ruleLeaveStateEvent EOF ; + public final void entryRuleLeaveStateEvent() throws RecognitionException { + try { + // InternalFiacre.g:3305:1: ( ruleLeaveStateEvent EOF ) + // InternalFiacre.g:3306:1: ruleLeaveStateEvent EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLeaveStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleLeaveStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLeaveStateEventRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLeaveStateEvent" + + + // $ANTLR start "ruleLeaveStateEvent" + // InternalFiacre.g:3313:1: ruleLeaveStateEvent : ( ( rule__LeaveStateEvent__Group__0 ) ) ; + public final void ruleLeaveStateEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3317:2: ( ( ( rule__LeaveStateEvent__Group__0 ) ) ) + // InternalFiacre.g:3318:2: ( ( rule__LeaveStateEvent__Group__0 ) ) + { + // InternalFiacre.g:3318:2: ( ( rule__LeaveStateEvent__Group__0 ) ) + // InternalFiacre.g:3319:3: ( rule__LeaveStateEvent__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLeaveStateEventAccess().getGroup()); + } + // InternalFiacre.g:3320:3: ( rule__LeaveStateEvent__Group__0 ) + // InternalFiacre.g:3320:4: rule__LeaveStateEvent__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LeaveStateEvent__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLeaveStateEventAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLeaveStateEvent" + + + // $ANTLR start "entryRuleObservable" + // InternalFiacre.g:3329:1: entryRuleObservable : ruleObservable EOF ; + public final void entryRuleObservable() throws RecognitionException { + try { + // InternalFiacre.g:3330:1: ( ruleObservable EOF ) + // InternalFiacre.g:3331:1: ruleObservable EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservable" + + + // $ANTLR start "ruleObservable" + // InternalFiacre.g:3338:1: ruleObservable : ( ruleObservableDisjunction ) ; + public final void ruleObservable() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3342:2: ( ( ruleObservableDisjunction ) ) + // InternalFiacre.g:3343:2: ( ruleObservableDisjunction ) + { + // InternalFiacre.g:3343:2: ( ruleObservableDisjunction ) + // InternalFiacre.g:3344:3: ruleObservableDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservable" + + + // $ANTLR start "entryRuleObservableDisjunction" + // InternalFiacre.g:3354:1: entryRuleObservableDisjunction : ruleObservableDisjunction EOF ; + public final void entryRuleObservableDisjunction() throws RecognitionException { + try { + // InternalFiacre.g:3355:1: ( ruleObservableDisjunction EOF ) + // InternalFiacre.g:3356:1: ruleObservableDisjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservableDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservableDisjunction" + + + // $ANTLR start "ruleObservableDisjunction" + // InternalFiacre.g:3363:1: ruleObservableDisjunction : ( ( rule__ObservableDisjunction__Group__0 ) ) ; + public final void ruleObservableDisjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3367:2: ( ( ( rule__ObservableDisjunction__Group__0 ) ) ) + // InternalFiacre.g:3368:2: ( ( rule__ObservableDisjunction__Group__0 ) ) + { + // InternalFiacre.g:3368:2: ( ( rule__ObservableDisjunction__Group__0 ) ) + // InternalFiacre.g:3369:3: ( rule__ObservableDisjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getGroup()); + } + // InternalFiacre.g:3370:3: ( rule__ObservableDisjunction__Group__0 ) + // InternalFiacre.g:3370:4: rule__ObservableDisjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservableDisjunction" + + + // $ANTLR start "entryRuleObservableImplication" + // InternalFiacre.g:3379:1: entryRuleObservableImplication : ruleObservableImplication EOF ; + public final void entryRuleObservableImplication() throws RecognitionException { + try { + // InternalFiacre.g:3380:1: ( ruleObservableImplication EOF ) + // InternalFiacre.g:3381:1: ruleObservableImplication EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservableImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservableImplication" + + + // $ANTLR start "ruleObservableImplication" + // InternalFiacre.g:3388:1: ruleObservableImplication : ( ( rule__ObservableImplication__Group__0 ) ) ; + public final void ruleObservableImplication() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3392:2: ( ( ( rule__ObservableImplication__Group__0 ) ) ) + // InternalFiacre.g:3393:2: ( ( rule__ObservableImplication__Group__0 ) ) + { + // InternalFiacre.g:3393:2: ( ( rule__ObservableImplication__Group__0 ) ) + // InternalFiacre.g:3394:3: ( rule__ObservableImplication__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getGroup()); + } + // InternalFiacre.g:3395:3: ( rule__ObservableImplication__Group__0 ) + // InternalFiacre.g:3395:4: rule__ObservableImplication__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservableImplication" + + + // $ANTLR start "entryRuleObservableConjunction" + // InternalFiacre.g:3404:1: entryRuleObservableConjunction : ruleObservableConjunction EOF ; + public final void entryRuleObservableConjunction() throws RecognitionException { + try { + // InternalFiacre.g:3405:1: ( ruleObservableConjunction EOF ) + // InternalFiacre.g:3406:1: ruleObservableConjunction EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservableConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservableConjunction" + + + // $ANTLR start "ruleObservableConjunction" + // InternalFiacre.g:3413:1: ruleObservableConjunction : ( ( rule__ObservableConjunction__Group__0 ) ) ; + public final void ruleObservableConjunction() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3417:2: ( ( ( rule__ObservableConjunction__Group__0 ) ) ) + // InternalFiacre.g:3418:2: ( ( rule__ObservableConjunction__Group__0 ) ) + { + // InternalFiacre.g:3418:2: ( ( rule__ObservableConjunction__Group__0 ) ) + // InternalFiacre.g:3419:3: ( rule__ObservableConjunction__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getGroup()); + } + // InternalFiacre.g:3420:3: ( rule__ObservableConjunction__Group__0 ) + // InternalFiacre.g:3420:4: rule__ObservableConjunction__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservableConjunction" + + + // $ANTLR start "entryRuleObservableNegation" + // InternalFiacre.g:3429:1: entryRuleObservableNegation : ruleObservableNegation EOF ; + public final void entryRuleObservableNegation() throws RecognitionException { + try { + // InternalFiacre.g:3430:1: ( ruleObservableNegation EOF ) + // InternalFiacre.g:3431:1: ruleObservableNegation EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservableNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservableNegation" + + + // $ANTLR start "ruleObservableNegation" + // InternalFiacre.g:3438:1: ruleObservableNegation : ( ( rule__ObservableNegation__Alternatives ) ) ; + public final void ruleObservableNegation() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3442:2: ( ( ( rule__ObservableNegation__Alternatives ) ) ) + // InternalFiacre.g:3443:2: ( ( rule__ObservableNegation__Alternatives ) ) + { + // InternalFiacre.g:3443:2: ( ( rule__ObservableNegation__Alternatives ) ) + // InternalFiacre.g:3444:3: ( rule__ObservableNegation__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getAlternatives()); + } + // InternalFiacre.g:3445:3: ( rule__ObservableNegation__Alternatives ) + // InternalFiacre.g:3445:4: rule__ObservableNegation__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservableNegation" + + + // $ANTLR start "entryRuleAtomicObservable" + // InternalFiacre.g:3454:1: entryRuleAtomicObservable : ruleAtomicObservable EOF ; + public final void entryRuleAtomicObservable() throws RecognitionException { + try { + // InternalFiacre.g:3455:1: ( ruleAtomicObservable EOF ) + // InternalFiacre.g:3456:1: ruleAtomicObservable EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAtomicObservable" + + + // $ANTLR start "ruleAtomicObservable" + // InternalFiacre.g:3463:1: ruleAtomicObservable : ( ( rule__AtomicObservable__Alternatives ) ) ; + public final void ruleAtomicObservable() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3467:2: ( ( ( rule__AtomicObservable__Alternatives ) ) ) + // InternalFiacre.g:3468:2: ( ( rule__AtomicObservable__Alternatives ) ) + { + // InternalFiacre.g:3468:2: ( ( rule__AtomicObservable__Alternatives ) ) + // InternalFiacre.g:3469:3: ( rule__AtomicObservable__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getAlternatives()); + } + // InternalFiacre.g:3470:3: ( rule__AtomicObservable__Alternatives ) + // InternalFiacre.g:3470:4: rule__AtomicObservable__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicObservable__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAtomicObservable" + + + // $ANTLR start "entryRuleObservableEvent" + // InternalFiacre.g:3479:1: entryRuleObservableEvent : ruleObservableEvent EOF ; + public final void entryRuleObservableEvent() throws RecognitionException { + try { + // InternalFiacre.g:3480:1: ( ruleObservableEvent EOF ) + // InternalFiacre.g:3481:1: ruleObservableEvent EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleObservableEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableEventRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleObservableEvent" + + + // $ANTLR start "ruleObservableEvent" + // InternalFiacre.g:3488:1: ruleObservableEvent : ( ( rule__ObservableEvent__Alternatives ) ) ; + public final void ruleObservableEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3492:2: ( ( ( rule__ObservableEvent__Alternatives ) ) ) + // InternalFiacre.g:3493:2: ( ( rule__ObservableEvent__Alternatives ) ) + { + // InternalFiacre.g:3493:2: ( ( rule__ObservableEvent__Alternatives ) ) + // InternalFiacre.g:3494:3: ( rule__ObservableEvent__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableEventAccess().getAlternatives()); + } + // InternalFiacre.g:3495:3: ( rule__ObservableEvent__Alternatives ) + // InternalFiacre.g:3495:4: rule__ObservableEvent__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableEvent__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableEventAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleObservableEvent" + + + // $ANTLR start "entryRulePathEvent" + // InternalFiacre.g:3504:1: entryRulePathEvent : rulePathEvent EOF ; + public final void entryRulePathEvent() throws RecognitionException { + try { + // InternalFiacre.g:3505:1: ( rulePathEvent EOF ) + // InternalFiacre.g:3506:1: rulePathEvent EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePathEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePathEvent" + + + // $ANTLR start "rulePathEvent" + // InternalFiacre.g:3513:1: rulePathEvent : ( ( rule__PathEvent__Group__0 ) ) ; + public final void rulePathEvent() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3517:2: ( ( ( rule__PathEvent__Group__0 ) ) ) + // InternalFiacre.g:3518:2: ( ( rule__PathEvent__Group__0 ) ) + { + // InternalFiacre.g:3518:2: ( ( rule__PathEvent__Group__0 ) ) + // InternalFiacre.g:3519:3: ( rule__PathEvent__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventAccess().getGroup()); + } + // InternalFiacre.g:3520:3: ( rule__PathEvent__Group__0 ) + // InternalFiacre.g:3520:4: rule__PathEvent__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PathEvent__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePathEvent" + + + // $ANTLR start "entryRulePath" + // InternalFiacre.g:3529:1: entryRulePath : rulePath EOF ; + public final void entryRulePath() throws RecognitionException { + try { + // InternalFiacre.g:3530:1: ( rulePath EOF ) + // InternalFiacre.g:3531:1: rulePath EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePath(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePath" + + + // $ANTLR start "rulePath" + // InternalFiacre.g:3538:1: rulePath : ( ( ( rule__Path__Group__0 ) ) ( ( rule__Path__Group__0 )* ) ) ; + public final void rulePath() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3542:2: ( ( ( ( rule__Path__Group__0 ) ) ( ( rule__Path__Group__0 )* ) ) ) + // InternalFiacre.g:3543:2: ( ( ( rule__Path__Group__0 ) ) ( ( rule__Path__Group__0 )* ) ) + { + // InternalFiacre.g:3543:2: ( ( ( rule__Path__Group__0 ) ) ( ( rule__Path__Group__0 )* ) ) + // InternalFiacre.g:3544:3: ( ( rule__Path__Group__0 ) ) ( ( rule__Path__Group__0 )* ) + { + // InternalFiacre.g:3544:3: ( ( rule__Path__Group__0 ) ) + // InternalFiacre.g:3545:4: ( rule__Path__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathAccess().getGroup()); + } + // InternalFiacre.g:3546:4: ( rule__Path__Group__0 ) + // InternalFiacre.g:3546:5: rule__Path__Group__0 + { + pushFollow(FollowSets000.FOLLOW_3); + rule__Path__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathAccess().getGroup()); + } + + } + + // InternalFiacre.g:3549:3: ( ( rule__Path__Group__0 )* ) + // InternalFiacre.g:3550:4: ( rule__Path__Group__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathAccess().getGroup()); + } + // InternalFiacre.g:3551:4: ( rule__Path__Group__0 )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==RULE_ID||LA1_0==RULE_INT) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalFiacre.g:3551:5: rule__Path__Group__0 + { + pushFollow(FollowSets000.FOLLOW_3); + rule__Path__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop1; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathAccess().getGroup()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePath" + + + // $ANTLR start "entryRulePathItem" + // InternalFiacre.g:3561:1: entryRulePathItem : rulePathItem EOF ; + public final void entryRulePathItem() throws RecognitionException { + try { + // InternalFiacre.g:3562:1: ( rulePathItem EOF ) + // InternalFiacre.g:3563:1: rulePathItem EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + rulePathItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathItemRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePathItem" + + + // $ANTLR start "rulePathItem" + // InternalFiacre.g:3570:1: rulePathItem : ( ( rule__PathItem__Alternatives ) ) ; + public final void rulePathItem() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3574:2: ( ( ( rule__PathItem__Alternatives ) ) ) + // InternalFiacre.g:3575:2: ( ( rule__PathItem__Alternatives ) ) + { + // InternalFiacre.g:3575:2: ( ( rule__PathItem__Alternatives ) ) + // InternalFiacre.g:3576:3: ( rule__PathItem__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathItemAccess().getAlternatives()); + } + // InternalFiacre.g:3577:3: ( rule__PathItem__Alternatives ) + // InternalFiacre.g:3577:4: rule__PathItem__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PathItem__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathItemAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePathItem" + + + // $ANTLR start "entryRuleNaturalItem" + // InternalFiacre.g:3586:1: entryRuleNaturalItem : ruleNaturalItem EOF ; + public final void entryRuleNaturalItem() throws RecognitionException { + try { + // InternalFiacre.g:3587:1: ( ruleNaturalItem EOF ) + // InternalFiacre.g:3588:1: ruleNaturalItem EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNaturalItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalItemRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNaturalItem" + + + // $ANTLR start "ruleNaturalItem" + // InternalFiacre.g:3595:1: ruleNaturalItem : ( ( rule__NaturalItem__ValueAssignment ) ) ; + public final void ruleNaturalItem() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3599:2: ( ( ( rule__NaturalItem__ValueAssignment ) ) ) + // InternalFiacre.g:3600:2: ( ( rule__NaturalItem__ValueAssignment ) ) + { + // InternalFiacre.g:3600:2: ( ( rule__NaturalItem__ValueAssignment ) ) + // InternalFiacre.g:3601:3: ( rule__NaturalItem__ValueAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalItemAccess().getValueAssignment()); + } + // InternalFiacre.g:3602:3: ( rule__NaturalItem__ValueAssignment ) + // InternalFiacre.g:3602:4: rule__NaturalItem__ValueAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalItem__ValueAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalItemAccess().getValueAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNaturalItem" + + + // $ANTLR start "entryRuleNamedItem" + // InternalFiacre.g:3611:1: entryRuleNamedItem : ruleNamedItem EOF ; + public final void entryRuleNamedItem() throws RecognitionException { + try { + // InternalFiacre.g:3612:1: ( ruleNamedItem EOF ) + // InternalFiacre.g:3613:1: ruleNamedItem EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleNamedItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedItemRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNamedItem" + + + // $ANTLR start "ruleNamedItem" + // InternalFiacre.g:3620:1: ruleNamedItem : ( ( rule__NamedItem__DeclarationAssignment ) ) ; + public final void ruleNamedItem() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3624:2: ( ( ( rule__NamedItem__DeclarationAssignment ) ) ) + // InternalFiacre.g:3625:2: ( ( rule__NamedItem__DeclarationAssignment ) ) + { + // InternalFiacre.g:3625:2: ( ( rule__NamedItem__DeclarationAssignment ) ) + // InternalFiacre.g:3626:3: ( rule__NamedItem__DeclarationAssignment ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedItemAccess().getDeclarationAssignment()); + } + // InternalFiacre.g:3627:3: ( rule__NamedItem__DeclarationAssignment ) + // InternalFiacre.g:3627:4: rule__NamedItem__DeclarationAssignment + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NamedItem__DeclarationAssignment(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedItemAccess().getDeclarationAssignment()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNamedItem" + + + // $ANTLR start "entryRuleSubject" + // InternalFiacre.g:3636:1: entryRuleSubject : ruleSubject EOF ; + public final void entryRuleSubject() throws RecognitionException { + try { + // InternalFiacre.g:3637:1: ( ruleSubject EOF ) + // InternalFiacre.g:3638:1: ruleSubject EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleSubject" + + + // $ANTLR start "ruleSubject" + // InternalFiacre.g:3645:1: ruleSubject : ( ( rule__Subject__Alternatives ) ) ; + public final void ruleSubject() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3649:2: ( ( ( rule__Subject__Alternatives ) ) ) + // InternalFiacre.g:3650:2: ( ( rule__Subject__Alternatives ) ) + { + // InternalFiacre.g:3650:2: ( ( rule__Subject__Alternatives ) ) + // InternalFiacre.g:3651:3: ( rule__Subject__Alternatives ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectAccess().getAlternatives()); + } + // InternalFiacre.g:3652:3: ( rule__Subject__Alternatives ) + // InternalFiacre.g:3652:4: rule__Subject__Alternatives + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Subject__Alternatives(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectAccess().getAlternatives()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleSubject" + + + // $ANTLR start "entryRuleStateSubject" + // InternalFiacre.g:3661:1: entryRuleStateSubject : ruleStateSubject EOF ; + public final void entryRuleStateSubject() throws RecognitionException { + try { + // InternalFiacre.g:3662:1: ( ruleStateSubject EOF ) + // InternalFiacre.g:3663:1: ruleStateSubject EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleStateSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStateSubject" + + + // $ANTLR start "ruleStateSubject" + // InternalFiacre.g:3670:1: ruleStateSubject : ( ( rule__StateSubject__Group__0 ) ) ; + public final void ruleStateSubject() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3674:2: ( ( ( rule__StateSubject__Group__0 ) ) ) + // InternalFiacre.g:3675:2: ( ( rule__StateSubject__Group__0 ) ) + { + // InternalFiacre.g:3675:2: ( ( rule__StateSubject__Group__0 ) ) + // InternalFiacre.g:3676:3: ( rule__StateSubject__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectAccess().getGroup()); + } + // InternalFiacre.g:3677:3: ( rule__StateSubject__Group__0 ) + // InternalFiacre.g:3677:4: rule__StateSubject__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StateSubject__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStateSubject" + + + // $ANTLR start "entryRuleValueSubject" + // InternalFiacre.g:3686:1: entryRuleValueSubject : ruleValueSubject EOF ; + public final void entryRuleValueSubject() throws RecognitionException { + try { + // InternalFiacre.g:3687:1: ( ruleValueSubject EOF ) + // InternalFiacre.g:3688:1: ruleValueSubject EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getValueSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleValueSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValueSubjectRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleValueSubject" + + + // $ANTLR start "ruleValueSubject" + // InternalFiacre.g:3695:1: ruleValueSubject : ( ( rule__ValueSubject__Group__0 ) ) ; + public final void ruleValueSubject() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3699:2: ( ( ( rule__ValueSubject__Group__0 ) ) ) + // InternalFiacre.g:3700:2: ( ( rule__ValueSubject__Group__0 ) ) + { + // InternalFiacre.g:3700:2: ( ( rule__ValueSubject__Group__0 ) ) + // InternalFiacre.g:3701:3: ( rule__ValueSubject__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getValueSubjectAccess().getGroup()); + } + // InternalFiacre.g:3702:3: ( rule__ValueSubject__Group__0 ) + // InternalFiacre.g:3702:4: rule__ValueSubject__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ValueSubject__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getValueSubjectAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleValueSubject" + + + // $ANTLR start "entryRuleTagSubject" + // InternalFiacre.g:3711:1: entryRuleTagSubject : ruleTagSubject EOF ; + public final void entryRuleTagSubject() throws RecognitionException { + try { + // InternalFiacre.g:3712:1: ( ruleTagSubject EOF ) + // InternalFiacre.g:3713:1: ruleTagSubject EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleTagSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleTagSubject" + + + // $ANTLR start "ruleTagSubject" + // InternalFiacre.g:3720:1: ruleTagSubject : ( ( rule__TagSubject__Group__0 ) ) ; + public final void ruleTagSubject() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3724:2: ( ( ( rule__TagSubject__Group__0 ) ) ) + // InternalFiacre.g:3725:2: ( ( rule__TagSubject__Group__0 ) ) + { + // InternalFiacre.g:3725:2: ( ( rule__TagSubject__Group__0 ) ) + // InternalFiacre.g:3726:3: ( rule__TagSubject__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectAccess().getGroup()); + } + // InternalFiacre.g:3727:3: ( rule__TagSubject__Group__0 ) + // InternalFiacre.g:3727:4: rule__TagSubject__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TagSubject__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleTagSubject" + + + // $ANTLR start "entryRuleEventSubject" + // InternalFiacre.g:3736:1: entryRuleEventSubject : ruleEventSubject EOF ; + public final void entryRuleEventSubject() throws RecognitionException { + try { + // InternalFiacre.g:3737:1: ( ruleEventSubject EOF ) + // InternalFiacre.g:3738:1: ruleEventSubject EOF + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEventSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + ruleEventSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEventSubjectRule()); + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleEventSubject" + + + // $ANTLR start "ruleEventSubject" + // InternalFiacre.g:3745:1: ruleEventSubject : ( ( rule__EventSubject__Group__0 ) ) ; + public final void ruleEventSubject() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3749:2: ( ( ( rule__EventSubject__Group__0 ) ) ) + // InternalFiacre.g:3750:2: ( ( rule__EventSubject__Group__0 ) ) + { + // InternalFiacre.g:3750:2: ( ( rule__EventSubject__Group__0 ) ) + // InternalFiacre.g:3751:3: ( rule__EventSubject__Group__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEventSubjectAccess().getGroup()); + } + // InternalFiacre.g:3752:3: ( rule__EventSubject__Group__0 ) + // InternalFiacre.g:3752:4: rule__EventSubject__Group__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EventSubject__Group__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEventSubjectAccess().getGroup()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleEventSubject" + + + // $ANTLR start "rule__Model__Alternatives_2" + // InternalFiacre.g:3760:1: rule__Model__Alternatives_2 : ( ( ( rule__Model__DeclarationsAssignment_2_0 ) ) | ( ( rule__Model__RequirementsAssignment_2_1 ) ) | ( ( rule__Model__RootAssignment_2_2 ) ) ); + public final void rule__Model__Alternatives_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3764:1: ( ( ( rule__Model__DeclarationsAssignment_2_0 ) ) | ( ( rule__Model__RequirementsAssignment_2_1 ) ) | ( ( rule__Model__RootAssignment_2_2 ) ) ) + int alt2=3; + switch ( input.LA(1) ) { + case 19: + case 26: + case 27: + case 39: + case 40: + case 48: + case 112: + { + alt2=1; + } + break; + case 109: + { + alt2=2; + } + break; + case RULE_ID: + { + alt2=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + + throw nvae; + } + + switch (alt2) { + case 1 : + // InternalFiacre.g:3765:2: ( ( rule__Model__DeclarationsAssignment_2_0 ) ) + { + // InternalFiacre.g:3765:2: ( ( rule__Model__DeclarationsAssignment_2_0 ) ) + // InternalFiacre.g:3766:3: ( rule__Model__DeclarationsAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getDeclarationsAssignment_2_0()); + } + // InternalFiacre.g:3767:3: ( rule__Model__DeclarationsAssignment_2_0 ) + // InternalFiacre.g:3767:4: rule__Model__DeclarationsAssignment_2_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__DeclarationsAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getDeclarationsAssignment_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3771:2: ( ( rule__Model__RequirementsAssignment_2_1 ) ) + { + // InternalFiacre.g:3771:2: ( ( rule__Model__RequirementsAssignment_2_1 ) ) + // InternalFiacre.g:3772:3: ( rule__Model__RequirementsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getRequirementsAssignment_2_1()); + } + // InternalFiacre.g:3773:3: ( rule__Model__RequirementsAssignment_2_1 ) + // InternalFiacre.g:3773:4: rule__Model__RequirementsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__RequirementsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getRequirementsAssignment_2_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3777:2: ( ( rule__Model__RootAssignment_2_2 ) ) + { + // InternalFiacre.g:3777:2: ( ( rule__Model__RootAssignment_2_2 ) ) + // InternalFiacre.g:3778:3: ( rule__Model__RootAssignment_2_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getRootAssignment_2_2()); + } + // InternalFiacre.g:3779:3: ( rule__Model__RootAssignment_2_2 ) + // InternalFiacre.g:3779:4: rule__Model__RootAssignment_2_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__RootAssignment_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getRootAssignment_2_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Alternatives_2" + + + // $ANTLR start "rule__Declaration__Alternatives" + // InternalFiacre.g:3787:1: rule__Declaration__Alternatives : ( ( ruleTypeDeclaration ) | ( ruleChannelDeclaration ) | ( ruleConstantDeclaration ) | ( ruleParameterizedDeclaration ) | ( rulePropertyDeclaration ) ); + public final void rule__Declaration__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3791:1: ( ( ruleTypeDeclaration ) | ( ruleChannelDeclaration ) | ( ruleConstantDeclaration ) | ( ruleParameterizedDeclaration ) | ( rulePropertyDeclaration ) ) + int alt3=5; + switch ( input.LA(1) ) { + case 26: + { + alt3=1; + } + break; + case 27: + { + alt3=2; + } + break; + case 39: + { + alt3=3; + } + break; + case 19: + case 40: + case 48: + { + alt3=4; + } + break; + case 112: + { + alt3=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + + switch (alt3) { + case 1 : + // InternalFiacre.g:3792:2: ( ruleTypeDeclaration ) + { + // InternalFiacre.g:3792:2: ( ruleTypeDeclaration ) + // InternalFiacre.g:3793:3: ruleTypeDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTypeDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3798:2: ( ruleChannelDeclaration ) + { + // InternalFiacre.g:3798:2: ( ruleChannelDeclaration ) + // InternalFiacre.g:3799:3: ruleChannelDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleChannelDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3804:2: ( ruleConstantDeclaration ) + { + // InternalFiacre.g:3804:2: ( ruleConstantDeclaration ) + // InternalFiacre.g:3805:3: ruleConstantDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleConstantDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:3810:2: ( ruleParameterizedDeclaration ) + { + // InternalFiacre.g:3810:2: ( ruleParameterizedDeclaration ) + // InternalFiacre.g:3811:3: ruleParameterizedDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParameterizedDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:3816:2: ( rulePropertyDeclaration ) + { + // InternalFiacre.g:3816:2: ( rulePropertyDeclaration ) + // InternalFiacre.g:3817:3: rulePropertyDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Declaration__Alternatives" + + + // $ANTLR start "rule__ParameterizedDeclaration__Alternatives" + // InternalFiacre.g:3826:1: rule__ParameterizedDeclaration__Alternatives : ( ( ruleProcessDeclaration ) | ( ruleComponentDeclaration ) | ( ruleFunctionDeclaration ) ); + public final void rule__ParameterizedDeclaration__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3830:1: ( ( ruleProcessDeclaration ) | ( ruleComponentDeclaration ) | ( ruleFunctionDeclaration ) ) + int alt4=3; + switch ( input.LA(1) ) { + case 40: + { + alt4=1; + } + break; + case 48: + { + alt4=2; + } + break; + case 19: + { + alt4=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + + switch (alt4) { + case 1 : + // InternalFiacre.g:3831:2: ( ruleProcessDeclaration ) + { + // InternalFiacre.g:3831:2: ( ruleProcessDeclaration ) + // InternalFiacre.g:3832:3: ruleProcessDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleProcessDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3837:2: ( ruleComponentDeclaration ) + { + // InternalFiacre.g:3837:2: ( ruleComponentDeclaration ) + // InternalFiacre.g:3838:3: ruleComponentDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComponentDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3843:2: ( ruleFunctionDeclaration ) + { + // InternalFiacre.g:3843:2: ( ruleFunctionDeclaration ) + // InternalFiacre.g:3844:3: ruleFunctionDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleFunctionDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterizedDeclaration__Alternatives" + + + // $ANTLR start "rule__ChannelType__Alternatives_2" + // InternalFiacre.g:3853:1: rule__ChannelType__Alternatives_2 : ( ( ( rule__ChannelType__Group_2_0__0 ) ) | ( 'none' ) | ( 'sync' ) ); + public final void rule__ChannelType__Alternatives_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3857:1: ( ( ( rule__ChannelType__Group_2_0__0 ) ) | ( 'none' ) | ( 'sync' ) ) + int alt5=3; + switch ( input.LA(1) ) { + case RULE_ID: + case RULE_INT: + case 14: + case 22: + case 28: + case 31: + case 32: + case 33: + case 35: + case 37: + case 38: + case 42: + case 49: + case 77: + case 78: + case 87: + case 91: + case 92: + case 93: + case 94: + case 95: + case 96: + case 97: + case 99: + case 100: + case 102: + case 104: + case 105: + case 106: + case 107: + case 137: + { + alt5=1; + } + break; + case 12: + { + int LA5_2 = input.LA(2); + + if ( (synpred10_InternalFiacre()) ) { + alt5=1; + } + else if ( (synpred11_InternalFiacre()) ) { + alt5=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 5, 2, input); + + throw nvae; + } + } + break; + case 13: + { + alt5=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + + switch (alt5) { + case 1 : + // InternalFiacre.g:3858:2: ( ( rule__ChannelType__Group_2_0__0 ) ) + { + // InternalFiacre.g:3858:2: ( ( rule__ChannelType__Group_2_0__0 ) ) + // InternalFiacre.g:3859:3: ( rule__ChannelType__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getGroup_2_0()); + } + // InternalFiacre.g:3860:3: ( rule__ChannelType__Group_2_0__0 ) + // InternalFiacre.g:3860:4: rule__ChannelType__Group_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3864:2: ( 'none' ) + { + // InternalFiacre.g:3864:2: ( 'none' ) + // InternalFiacre.g:3865:3: 'none' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); + } + match(input,12,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3870:2: ( 'sync' ) + { + // InternalFiacre.g:3870:2: ( 'sync' ) + // InternalFiacre.g:3871:3: 'sync' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); + } + match(input,13,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Alternatives_2" + + + // $ANTLR start "rule__ChannelType__Alternatives_2_0_0" + // InternalFiacre.g:3880:1: rule__ChannelType__Alternatives_2_0_0 : ( ( ( rule__ChannelType__Group_2_0_0_0__0 ) ) | ( ( rule__ChannelType__OutAssignment_2_0_0_1 ) ) ); + public final void rule__ChannelType__Alternatives_2_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3884:1: ( ( ( rule__ChannelType__Group_2_0_0_0__0 ) ) | ( ( rule__ChannelType__OutAssignment_2_0_0_1 ) ) ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==49) ) { + alt6=1; + } + else if ( (LA6_0==137) ) { + alt6=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // InternalFiacre.g:3885:2: ( ( rule__ChannelType__Group_2_0_0_0__0 ) ) + { + // InternalFiacre.g:3885:2: ( ( rule__ChannelType__Group_2_0_0_0__0 ) ) + // InternalFiacre.g:3886:3: ( rule__ChannelType__Group_2_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getGroup_2_0_0_0()); + } + // InternalFiacre.g:3887:3: ( rule__ChannelType__Group_2_0_0_0__0 ) + // InternalFiacre.g:3887:4: rule__ChannelType__Group_2_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getGroup_2_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3891:2: ( ( rule__ChannelType__OutAssignment_2_0_0_1 ) ) + { + // InternalFiacre.g:3891:2: ( ( rule__ChannelType__OutAssignment_2_0_0_1 ) ) + // InternalFiacre.g:3892:3: ( rule__ChannelType__OutAssignment_2_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_1()); + } + // InternalFiacre.g:3893:3: ( rule__ChannelType__OutAssignment_2_0_0_1 ) + // InternalFiacre.g:3893:4: rule__ChannelType__OutAssignment_2_0_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__OutAssignment_2_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Alternatives_2_0_0" + + + // $ANTLR start "rule__ChannelType__Alternatives_2_0_1" + // InternalFiacre.g:3901:1: rule__ChannelType__Alternatives_2_0_1 : ( ( ( rule__ChannelType__TypeAssignment_2_0_1_0 ) ) | ( 'none' ) ); + public final void rule__ChannelType__Alternatives_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3905:1: ( ( ( rule__ChannelType__TypeAssignment_2_0_1_0 ) ) | ( 'none' ) ) + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==RULE_ID||LA7_0==RULE_INT||LA7_0==14||LA7_0==22||LA7_0==28||(LA7_0>=31 && LA7_0<=33)||LA7_0==35||(LA7_0>=37 && LA7_0<=38)||LA7_0==42||(LA7_0>=77 && LA7_0<=78)||LA7_0==87||(LA7_0>=91 && LA7_0<=97)||(LA7_0>=99 && LA7_0<=100)||LA7_0==102||(LA7_0>=104 && LA7_0<=107)) ) { + alt7=1; + } + else if ( (LA7_0==12) ) { + alt7=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + switch (alt7) { + case 1 : + // InternalFiacre.g:3906:2: ( ( rule__ChannelType__TypeAssignment_2_0_1_0 ) ) + { + // InternalFiacre.g:3906:2: ( ( rule__ChannelType__TypeAssignment_2_0_1_0 ) ) + // InternalFiacre.g:3907:3: ( rule__ChannelType__TypeAssignment_2_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getTypeAssignment_2_0_1_0()); + } + // InternalFiacre.g:3908:3: ( rule__ChannelType__TypeAssignment_2_0_1_0 ) + // InternalFiacre.g:3908:4: rule__ChannelType__TypeAssignment_2_0_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__TypeAssignment_2_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getTypeAssignment_2_0_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3912:2: ( 'none' ) + { + // InternalFiacre.g:3912:2: ( 'none' ) + // InternalFiacre.g:3913:3: 'none' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); + } + match(input,12,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Alternatives_2_0_1" + + + // $ANTLR start "rule__Type__Alternatives" + // InternalFiacre.g:3922:1: rule__Type__Alternatives : ( ( ruleBasicType ) | ( ruleRangeType ) | ( ruleUnionType ) | ( ruleRecordType ) | ( ruleQueueType ) | ( ruleArrayType ) | ( ruleReferencedType ) ); + public final void rule__Type__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3926:1: ( ( ruleBasicType ) | ( ruleRangeType ) | ( ruleUnionType ) | ( ruleRecordType ) | ( ruleQueueType ) | ( ruleArrayType ) | ( ruleReferencedType ) ) + int alt8=7; + alt8 = dfa8.predict(input); + switch (alt8) { + case 1 : + // InternalFiacre.g:3927:2: ( ruleBasicType ) + { + // InternalFiacre.g:3927:2: ( ruleBasicType ) + // InternalFiacre.g:3928:3: ruleBasicType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleBasicType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3933:2: ( ruleRangeType ) + { + // InternalFiacre.g:3933:2: ( ruleRangeType ) + // InternalFiacre.g:3934:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3939:2: ( ruleUnionType ) + { + // InternalFiacre.g:3939:2: ( ruleUnionType ) + // InternalFiacre.g:3940:3: ruleUnionType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnionType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:3945:2: ( ruleRecordType ) + { + // InternalFiacre.g:3945:2: ( ruleRecordType ) + // InternalFiacre.g:3946:3: ruleRecordType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:3951:2: ( ruleQueueType ) + { + // InternalFiacre.g:3951:2: ( ruleQueueType ) + // InternalFiacre.g:3952:3: ruleQueueType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQueueType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:3957:2: ( ruleArrayType ) + { + // InternalFiacre.g:3957:2: ( ruleArrayType ) + // InternalFiacre.g:3958:3: ruleArrayType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleArrayType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:3963:2: ( ruleReferencedType ) + { + // InternalFiacre.g:3963:2: ( ruleReferencedType ) + // InternalFiacre.g:3964:3: ruleReferencedType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleReferencedType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Type__Alternatives" + + + // $ANTLR start "rule__BasicType__Alternatives" + // InternalFiacre.g:3973:1: rule__BasicType__Alternatives : ( ( ( rule__BasicType__Group_0__0 ) ) | ( ( rule__BasicType__Group_1__0 ) ) | ( ( rule__BasicType__Group_2__0 ) ) ); + public final void rule__BasicType__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:3977:1: ( ( ( rule__BasicType__Group_0__0 ) ) | ( ( rule__BasicType__Group_1__0 ) ) | ( ( rule__BasicType__Group_2__0 ) ) ) + int alt9=3; + switch ( input.LA(1) ) { + case 31: + { + alt9=1; + } + break; + case 32: + { + alt9=2; + } + break; + case 33: + { + alt9=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // InternalFiacre.g:3978:2: ( ( rule__BasicType__Group_0__0 ) ) + { + // InternalFiacre.g:3978:2: ( ( rule__BasicType__Group_0__0 ) ) + // InternalFiacre.g:3979:3: ( rule__BasicType__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getGroup_0()); + } + // InternalFiacre.g:3980:3: ( rule__BasicType__Group_0__0 ) + // InternalFiacre.g:3980:4: rule__BasicType__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:3984:2: ( ( rule__BasicType__Group_1__0 ) ) + { + // InternalFiacre.g:3984:2: ( ( rule__BasicType__Group_1__0 ) ) + // InternalFiacre.g:3985:3: ( rule__BasicType__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getGroup_1()); + } + // InternalFiacre.g:3986:3: ( rule__BasicType__Group_1__0 ) + // InternalFiacre.g:3986:4: rule__BasicType__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getGroup_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:3990:2: ( ( rule__BasicType__Group_2__0 ) ) + { + // InternalFiacre.g:3990:2: ( ( rule__BasicType__Group_2__0 ) ) + // InternalFiacre.g:3991:3: ( rule__BasicType__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getGroup_2()); + } + // InternalFiacre.g:3992:3: ( rule__BasicType__Group_2__0 ) + // InternalFiacre.g:3992:4: rule__BasicType__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getGroup_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Alternatives" + + + // $ANTLR start "rule__Statement__Alternatives" + // InternalFiacre.g:4000:1: rule__Statement__Alternatives : ( ( ruleNullStatement ) | ( ruleTaggedStatement ) | ( rulePatternStatement ) | ( ruleConditionalStatement ) | ( ruleSelectStatement ) | ( ruleWhileStatement ) | ( ruleForeachStatement ) | ( ruleToStatement ) | ( ruleCaseStatement ) | ( ruleLoopStatement ) | ( ruleOnStatement ) | ( ruleWaitStatement ) | ( ruleReturnStatement ) | ( ruleBlockStatement ) ); + public final void rule__Statement__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4004:1: ( ( ruleNullStatement ) | ( ruleTaggedStatement ) | ( rulePatternStatement ) | ( ruleConditionalStatement ) | ( ruleSelectStatement ) | ( ruleWhileStatement ) | ( ruleForeachStatement ) | ( ruleToStatement ) | ( ruleCaseStatement ) | ( ruleLoopStatement ) | ( ruleOnStatement ) | ( ruleWaitStatement ) | ( ruleReturnStatement ) | ( ruleBlockStatement ) ) + int alt10=14; + switch ( input.LA(1) ) { + case 56: + { + alt10=1; + } + break; + case 30: + { + alt10=2; + } + break; + case RULE_ID: + case RULE_INT: + case 14: + case 22: + case 57: + case 87: + case 106: + case 107: + { + alt10=3; + } + break; + case 62: + { + alt10=4; + } + break; + case 66: + { + alt10=5; + } + break; + case 67: + { + alt10=6; + } + break; + case 69: + { + alt10=7; + } + break; + case 70: + { + alt10=8; + } + break; + case 71: + { + alt10=9; + } + break; + case 72: + { + alt10=10; + } + break; + case 73: + { + alt10=11; + } + break; + case 74: + { + alt10=12; + } + break; + case 55: + { + alt10=13; + } + break; + case 54: + { + alt10=14; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + + switch (alt10) { + case 1 : + // InternalFiacre.g:4005:2: ( ruleNullStatement ) + { + // InternalFiacre.g:4005:2: ( ruleNullStatement ) + // InternalFiacre.g:4006:3: ruleNullStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNullStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4011:2: ( ruleTaggedStatement ) + { + // InternalFiacre.g:4011:2: ( ruleTaggedStatement ) + // InternalFiacre.g:4012:3: ruleTaggedStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTaggedStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4017:2: ( rulePatternStatement ) + { + // InternalFiacre.g:4017:2: ( rulePatternStatement ) + // InternalFiacre.g:4018:3: rulePatternStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePatternStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4023:2: ( ruleConditionalStatement ) + { + // InternalFiacre.g:4023:2: ( ruleConditionalStatement ) + // InternalFiacre.g:4024:3: ruleConditionalStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleConditionalStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4029:2: ( ruleSelectStatement ) + { + // InternalFiacre.g:4029:2: ( ruleSelectStatement ) + // InternalFiacre.g:4030:3: ruleSelectStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleSelectStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4035:2: ( ruleWhileStatement ) + { + // InternalFiacre.g:4035:2: ( ruleWhileStatement ) + // InternalFiacre.g:4036:3: ruleWhileStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleWhileStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:4041:2: ( ruleForeachStatement ) + { + // InternalFiacre.g:4041:2: ( ruleForeachStatement ) + // InternalFiacre.g:4042:3: ruleForeachStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleForeachStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); + } + + } + + + } + break; + case 8 : + // InternalFiacre.g:4047:2: ( ruleToStatement ) + { + // InternalFiacre.g:4047:2: ( ruleToStatement ) + // InternalFiacre.g:4048:3: ruleToStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleToStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); + } + + } + + + } + break; + case 9 : + // InternalFiacre.g:4053:2: ( ruleCaseStatement ) + { + // InternalFiacre.g:4053:2: ( ruleCaseStatement ) + // InternalFiacre.g:4054:3: ruleCaseStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleCaseStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); + } + + } + + + } + break; + case 10 : + // InternalFiacre.g:4059:2: ( ruleLoopStatement ) + { + // InternalFiacre.g:4059:2: ( ruleLoopStatement ) + // InternalFiacre.g:4060:3: ruleLoopStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLoopStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); + } + + } + + + } + break; + case 11 : + // InternalFiacre.g:4065:2: ( ruleOnStatement ) + { + // InternalFiacre.g:4065:2: ( ruleOnStatement ) + // InternalFiacre.g:4066:3: ruleOnStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleOnStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); + } + + } + + + } + break; + case 12 : + // InternalFiacre.g:4071:2: ( ruleWaitStatement ) + { + // InternalFiacre.g:4071:2: ( ruleWaitStatement ) + // InternalFiacre.g:4072:3: ruleWaitStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleWaitStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); + } + + } + + + } + break; + case 13 : + // InternalFiacre.g:4077:2: ( ruleReturnStatement ) + { + // InternalFiacre.g:4077:2: ( ruleReturnStatement ) + // InternalFiacre.g:4078:3: ruleReturnStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleReturnStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); + } + + } + + + } + break; + case 14 : + // InternalFiacre.g:4083:2: ( ruleBlockStatement ) + { + // InternalFiacre.g:4083:2: ( ruleBlockStatement ) + // InternalFiacre.g:4084:3: ruleBlockStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleBlockStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Statement__Alternatives" + + + // $ANTLR start "rule__PatternStatement__Alternatives_1" + // InternalFiacre.g:4093:1: rule__PatternStatement__Alternatives_1 : ( ( ( rule__PatternStatement__Group_1_0__0 ) ) | ( ( rule__PatternStatement__Group_1_1__0 ) ) | ( ( rule__PatternStatement__Group_1_2__0 ) ) | ( ( rule__PatternStatement__Group_1_3__0 ) ) | ( ( rule__PatternStatement__Group_1_4__0 ) ) | ( ( rule__PatternStatement__Group_1_5__0 ) ) ); + public final void rule__PatternStatement__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4097:1: ( ( ( rule__PatternStatement__Group_1_0__0 ) ) | ( ( rule__PatternStatement__Group_1_1__0 ) ) | ( ( rule__PatternStatement__Group_1_2__0 ) ) | ( ( rule__PatternStatement__Group_1_3__0 ) ) | ( ( rule__PatternStatement__Group_1_4__0 ) ) | ( ( rule__PatternStatement__Group_1_5__0 ) ) ) + int alt11=6; + switch ( input.LA(1) ) { + case 24: + { + int LA11_1 = input.LA(2); + + if ( (synpred35_InternalFiacre()) ) { + alt11=1; + } + else if ( (synpred37_InternalFiacre()) ) { + alt11=3; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 1, input); + + throw nvae; + } + } + break; + case 50: + { + int LA11_2 = input.LA(2); + + if ( (synpred36_InternalFiacre()) ) { + alt11=2; + } + else if ( (synpred38_InternalFiacre()) ) { + alt11=4; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 2, input); + + throw nvae; + } + } + break; + case 59: + { + alt11=5; + } + break; + case 60: + { + alt11=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + + throw nvae; + } + + switch (alt11) { + case 1 : + // InternalFiacre.g:4098:2: ( ( rule__PatternStatement__Group_1_0__0 ) ) + { + // InternalFiacre.g:4098:2: ( ( rule__PatternStatement__Group_1_0__0 ) ) + // InternalFiacre.g:4099:3: ( rule__PatternStatement__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_0()); + } + // InternalFiacre.g:4100:3: ( rule__PatternStatement__Group_1_0__0 ) + // InternalFiacre.g:4100:4: rule__PatternStatement__Group_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4104:2: ( ( rule__PatternStatement__Group_1_1__0 ) ) + { + // InternalFiacre.g:4104:2: ( ( rule__PatternStatement__Group_1_1__0 ) ) + // InternalFiacre.g:4105:3: ( rule__PatternStatement__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_1()); + } + // InternalFiacre.g:4106:3: ( rule__PatternStatement__Group_1_1__0 ) + // InternalFiacre.g:4106:4: rule__PatternStatement__Group_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4110:2: ( ( rule__PatternStatement__Group_1_2__0 ) ) + { + // InternalFiacre.g:4110:2: ( ( rule__PatternStatement__Group_1_2__0 ) ) + // InternalFiacre.g:4111:3: ( rule__PatternStatement__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_2()); + } + // InternalFiacre.g:4112:3: ( rule__PatternStatement__Group_1_2__0 ) + // InternalFiacre.g:4112:4: rule__PatternStatement__Group_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4116:2: ( ( rule__PatternStatement__Group_1_3__0 ) ) + { + // InternalFiacre.g:4116:2: ( ( rule__PatternStatement__Group_1_3__0 ) ) + // InternalFiacre.g:4117:3: ( rule__PatternStatement__Group_1_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_3()); + } + // InternalFiacre.g:4118:3: ( rule__PatternStatement__Group_1_3__0 ) + // InternalFiacre.g:4118:4: rule__PatternStatement__Group_1_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4122:2: ( ( rule__PatternStatement__Group_1_4__0 ) ) + { + // InternalFiacre.g:4122:2: ( ( rule__PatternStatement__Group_1_4__0 ) ) + // InternalFiacre.g:4123:3: ( rule__PatternStatement__Group_1_4__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_4()); + } + // InternalFiacre.g:4124:3: ( rule__PatternStatement__Group_1_4__0 ) + // InternalFiacre.g:4124:4: rule__PatternStatement__Group_1_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4128:2: ( ( rule__PatternStatement__Group_1_5__0 ) ) + { + // InternalFiacre.g:4128:2: ( ( rule__PatternStatement__Group_1_5__0 ) ) + // InternalFiacre.g:4129:3: ( rule__PatternStatement__Group_1_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_5()); + } + // InternalFiacre.g:4130:3: ( rule__PatternStatement__Group_1_5__0 ) + // InternalFiacre.g:4130:4: rule__PatternStatement__Group_1_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_5()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Alternatives_1" + + + // $ANTLR start "rule__Pattern__Alternatives" + // InternalFiacre.g:4138:1: rule__Pattern__Alternatives : ( ( ruleAnyPattern ) | ( ruleIntegerPattern ) | ( ruleConstantPattern ) | ( ( rule__Pattern__Group_3__0 ) ) | ( ruleIdentifierPattern ) ); + public final void rule__Pattern__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4142:1: ( ( ruleAnyPattern ) | ( ruleIntegerPattern ) | ( ruleConstantPattern ) | ( ( rule__Pattern__Group_3__0 ) ) | ( ruleIdentifierPattern ) ) + int alt12=5; + switch ( input.LA(1) ) { + case 57: + { + alt12=1; + } + break; + case 14: + case 87: + { + alt12=2; + } + break; + case RULE_INT: + case 106: + case 107: + { + alt12=3; + } + break; + case 22: + { + alt12=4; + } + break; + case RULE_ID: + { + alt12=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + + switch (alt12) { + case 1 : + // InternalFiacre.g:4143:2: ( ruleAnyPattern ) + { + // InternalFiacre.g:4143:2: ( ruleAnyPattern ) + // InternalFiacre.g:4144:3: ruleAnyPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAnyPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4149:2: ( ruleIntegerPattern ) + { + // InternalFiacre.g:4149:2: ( ruleIntegerPattern ) + // InternalFiacre.g:4150:3: ruleIntegerPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleIntegerPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4155:2: ( ruleConstantPattern ) + { + // InternalFiacre.g:4155:2: ( ruleConstantPattern ) + // InternalFiacre.g:4156:3: ruleConstantPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleConstantPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4161:2: ( ( rule__Pattern__Group_3__0 ) ) + { + // InternalFiacre.g:4161:2: ( ( rule__Pattern__Group_3__0 ) ) + // InternalFiacre.g:4162:3: ( rule__Pattern__Group_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getGroup_3()); + } + // InternalFiacre.g:4163:3: ( rule__Pattern__Group_3__0 ) + // InternalFiacre.g:4163:4: rule__Pattern__Group_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Pattern__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getGroup_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4167:2: ( ruleIdentifierPattern ) + { + // InternalFiacre.g:4167:2: ( ruleIdentifierPattern ) + // InternalFiacre.g:4168:3: ruleIdentifierPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleIdentifierPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Alternatives" + + + // $ANTLR start "rule__IntegerPattern__Alternatives_0" + // InternalFiacre.g:4177:1: rule__IntegerPattern__Alternatives_0 : ( ( '+' ) | ( ( rule__IntegerPattern__NegativeAssignment_0_1 ) ) ); + public final void rule__IntegerPattern__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4181:1: ( ( '+' ) | ( ( rule__IntegerPattern__NegativeAssignment_0_1 ) ) ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==14) ) { + alt13=1; + } + else if ( (LA13_0==87) ) { + alt13=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // InternalFiacre.g:4182:2: ( '+' ) + { + // InternalFiacre.g:4182:2: ( '+' ) + // InternalFiacre.g:4183:3: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); + } + match(input,14,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4188:2: ( ( rule__IntegerPattern__NegativeAssignment_0_1 ) ) + { + // InternalFiacre.g:4188:2: ( ( rule__IntegerPattern__NegativeAssignment_0_1 ) ) + // InternalFiacre.g:4189:3: ( rule__IntegerPattern__NegativeAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getNegativeAssignment_0_1()); + } + // InternalFiacre.g:4190:3: ( rule__IntegerPattern__NegativeAssignment_0_1 ) + // InternalFiacre.g:4190:4: rule__IntegerPattern__NegativeAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__NegativeAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getNegativeAssignment_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__Alternatives_0" + + + // $ANTLR start "rule__IdentifierPattern__Alternatives" + // InternalFiacre.g:4198:1: rule__IdentifierPattern__Alternatives : ( ( ( rule__IdentifierPattern__Group_0__0 ) ) | ( ( rule__IdentifierPattern__Group_1__0 ) ) ); + public final void rule__IdentifierPattern__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4202:1: ( ( ( rule__IdentifierPattern__Group_0__0 ) ) | ( ( rule__IdentifierPattern__Group_1__0 ) ) ) + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==RULE_ID) ) { + int LA14_1 = input.LA(2); + + if ( (LA14_1==EOF||LA14_1==RULE_ID||LA14_1==15||LA14_1==17||LA14_1==19||(LA14_1>=23 && LA14_1<=24)||(LA14_1>=26 && LA14_1<=27)||LA14_1==36||(LA14_1>=39 && LA14_1<=40)||LA14_1==42||(LA14_1>=47 && LA14_1<=48)||(LA14_1>=50 && LA14_1<=53)||(LA14_1>=58 && LA14_1<=61)||(LA14_1>=64 && LA14_1<=65)||LA14_1==75||LA14_1==109||LA14_1==112) ) { + alt14=2; + } + else if ( (LA14_1==22) ) { + alt14=1; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + + throw nvae; + } + switch (alt14) { + case 1 : + // InternalFiacre.g:4203:2: ( ( rule__IdentifierPattern__Group_0__0 ) ) + { + // InternalFiacre.g:4203:2: ( ( rule__IdentifierPattern__Group_0__0 ) ) + // InternalFiacre.g:4204:3: ( rule__IdentifierPattern__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_0()); + } + // InternalFiacre.g:4205:3: ( rule__IdentifierPattern__Group_0__0 ) + // InternalFiacre.g:4205:4: rule__IdentifierPattern__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4209:2: ( ( rule__IdentifierPattern__Group_1__0 ) ) + { + // InternalFiacre.g:4209:2: ( ( rule__IdentifierPattern__Group_1__0 ) ) + // InternalFiacre.g:4210:3: ( rule__IdentifierPattern__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_1()); + } + // InternalFiacre.g:4211:3: ( rule__IdentifierPattern__Group_1__0 ) + // InternalFiacre.g:4211:4: rule__IdentifierPattern__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Alternatives" + + + // $ANTLR start "rule__IdentifierPattern__Alternatives_1_1" + // InternalFiacre.g:4219:1: rule__IdentifierPattern__Alternatives_1_1 : ( ( ( rule__IdentifierPattern__Group_1_1_0__0 ) ) | ( ( rule__IdentifierPattern__Group_1_1_1__0 ) ) ); + public final void rule__IdentifierPattern__Alternatives_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4223:1: ( ( ( rule__IdentifierPattern__Group_1_1_0__0 ) ) | ( ( rule__IdentifierPattern__Group_1_1_1__0 ) ) ) + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==42) ) { + alt15=1; + } + else if ( (LA15_0==61) ) { + alt15=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + + throw nvae; + } + switch (alt15) { + case 1 : + // InternalFiacre.g:4224:2: ( ( rule__IdentifierPattern__Group_1_1_0__0 ) ) + { + // InternalFiacre.g:4224:2: ( ( rule__IdentifierPattern__Group_1_1_0__0 ) ) + // InternalFiacre.g:4225:3: ( rule__IdentifierPattern__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_0()); + } + // InternalFiacre.g:4226:3: ( rule__IdentifierPattern__Group_1_1_0__0 ) + // InternalFiacre.g:4226:4: rule__IdentifierPattern__Group_1_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4230:2: ( ( rule__IdentifierPattern__Group_1_1_1__0 ) ) + { + // InternalFiacre.g:4230:2: ( ( rule__IdentifierPattern__Group_1_1_1__0 ) ) + // InternalFiacre.g:4231:3: ( rule__IdentifierPattern__Group_1_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_1()); + } + // InternalFiacre.g:4232:3: ( rule__IdentifierPattern__Group_1_1_1__0 ) + // InternalFiacre.g:4232:4: rule__IdentifierPattern__Group_1_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_1_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Alternatives_1_1" + + + // $ANTLR start "rule__Block__Alternatives" + // InternalFiacre.g:4240:1: rule__Block__Alternatives : ( ( ruleCompositeBlock ) | ( ruleInstanceDeclaration ) ); + public final void rule__Block__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4244:1: ( ( ruleCompositeBlock ) | ( ruleInstanceDeclaration ) ) + int alt16=2; + alt16 = dfa16.predict(input); + switch (alt16) { + case 1 : + // InternalFiacre.g:4245:2: ( ruleCompositeBlock ) + { + // InternalFiacre.g:4245:2: ( ruleCompositeBlock ) + // InternalFiacre.g:4246:3: ruleCompositeBlock + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4251:2: ( ruleInstanceDeclaration ) + { + // InternalFiacre.g:4251:2: ( ruleInstanceDeclaration ) + // InternalFiacre.g:4252:3: ruleInstanceDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleInstanceDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Block__Alternatives" + + + // $ANTLR start "rule__CompositeBlock__Alternatives_0" + // InternalFiacre.g:4261:1: rule__CompositeBlock__Alternatives_0 : ( ( ( rule__CompositeBlock__Group_0_0__0 ) ) | ( '->' ) ); + public final void rule__CompositeBlock__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4265:1: ( ( ( rule__CompositeBlock__Group_0_0__0 ) ) | ( '->' ) ) + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==RULE_ID||LA17_0==RULE_INT||LA17_0==14||LA17_0==22||LA17_0==42||(LA17_0>=77 && LA17_0<=78)||(LA17_0>=87 && LA17_0<=88)||(LA17_0>=91 && LA17_0<=97)||(LA17_0>=99 && LA17_0<=100)||LA17_0==102||(LA17_0>=104 && LA17_0<=107)) ) { + alt17=1; + } + else if ( (LA17_0==15) ) { + alt17=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; + } + switch (alt17) { + case 1 : + // InternalFiacre.g:4266:2: ( ( rule__CompositeBlock__Group_0_0__0 ) ) + { + // InternalFiacre.g:4266:2: ( ( rule__CompositeBlock__Group_0_0__0 ) ) + // InternalFiacre.g:4267:3: ( rule__CompositeBlock__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getGroup_0_0()); + } + // InternalFiacre.g:4268:3: ( rule__CompositeBlock__Group_0_0__0 ) + // InternalFiacre.g:4268:4: rule__CompositeBlock__Group_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getGroup_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4272:2: ( '->' ) + { + // InternalFiacre.g:4272:2: ( '->' ) + // InternalFiacre.g:4273:3: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Alternatives_0" + + + // $ANTLR start "rule__InstanceDeclaration__Alternatives_0" + // InternalFiacre.g:4282:1: rule__InstanceDeclaration__Alternatives_0 : ( ( ( rule__InstanceDeclaration__Group_0_0__0 ) ) | ( '->' ) ); + public final void rule__InstanceDeclaration__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4286:1: ( ( ( rule__InstanceDeclaration__Group_0_0__0 ) ) | ( '->' ) ) + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==RULE_ID||LA18_0==RULE_INT||LA18_0==14||LA18_0==22||LA18_0==42||(LA18_0>=77 && LA18_0<=78)||(LA18_0>=87 && LA18_0<=88)||(LA18_0>=91 && LA18_0<=97)||(LA18_0>=99 && LA18_0<=100)||LA18_0==102||(LA18_0>=104 && LA18_0<=107)) ) { + alt18=1; + } + else if ( (LA18_0==15) ) { + alt18=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + switch (alt18) { + case 1 : + // InternalFiacre.g:4287:2: ( ( rule__InstanceDeclaration__Group_0_0__0 ) ) + { + // InternalFiacre.g:4287:2: ( ( rule__InstanceDeclaration__Group_0_0__0 ) ) + // InternalFiacre.g:4288:3: ( rule__InstanceDeclaration__Group_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getGroup_0_0()); + } + // InternalFiacre.g:4289:3: ( rule__InstanceDeclaration__Group_0_0__0 ) + // InternalFiacre.g:4289:4: rule__InstanceDeclaration__Group_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getGroup_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4293:2: ( '->' ) + { + // InternalFiacre.g:4293:2: ( '->' ) + // InternalFiacre.g:4294:3: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Alternatives_0" + + + // $ANTLR start "rule__PortSet__Alternatives" + // InternalFiacre.g:4303:1: rule__PortSet__Alternatives : ( ( ( rule__PortSet__AllPortsAssignment_0 ) ) | ( ( rule__PortSet__Group_1__0 ) ) ); + public final void rule__PortSet__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4307:1: ( ( ( rule__PortSet__AllPortsAssignment_0 ) ) | ( ( rule__PortSet__Group_1__0 ) ) ) + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==88) ) { + alt19=1; + } + else if ( (LA19_0==RULE_ID||LA19_0==RULE_INT||LA19_0==14||LA19_0==22||LA19_0==42||(LA19_0>=77 && LA19_0<=78)||LA19_0==87||(LA19_0>=91 && LA19_0<=97)||(LA19_0>=99 && LA19_0<=100)||LA19_0==102||(LA19_0>=104 && LA19_0<=107)) ) { + alt19=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 19, 0, input); + + throw nvae; + } + switch (alt19) { + case 1 : + // InternalFiacre.g:4308:2: ( ( rule__PortSet__AllPortsAssignment_0 ) ) + { + // InternalFiacre.g:4308:2: ( ( rule__PortSet__AllPortsAssignment_0 ) ) + // InternalFiacre.g:4309:3: ( rule__PortSet__AllPortsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getAllPortsAssignment_0()); + } + // InternalFiacre.g:4310:3: ( rule__PortSet__AllPortsAssignment_0 ) + // InternalFiacre.g:4310:4: rule__PortSet__AllPortsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__AllPortsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getAllPortsAssignment_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4314:2: ( ( rule__PortSet__Group_1__0 ) ) + { + // InternalFiacre.g:4314:2: ( ( rule__PortSet__Group_1__0 ) ) + // InternalFiacre.g:4315:3: ( rule__PortSet__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getGroup_1()); + } + // InternalFiacre.g:4316:3: ( rule__PortSet__Group_1__0 ) + // InternalFiacre.g:4316:4: rule__PortSet__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Alternatives" + + + // $ANTLR start "rule__QuantifiedExpression__Alternatives" + // InternalFiacre.g:4324:1: rule__QuantifiedExpression__Alternatives : ( ( ( rule__QuantifiedExpression__Group_0__0 ) ) | ( ruleConditional ) ); + public final void rule__QuantifiedExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4328:1: ( ( ( rule__QuantifiedExpression__Group_0__0 ) ) | ( ruleConditional ) ) + int alt20=2; + int LA20_0 = input.LA(1); + + if ( ((LA20_0>=77 && LA20_0<=78)) ) { + alt20=1; + } + else if ( (LA20_0==RULE_ID||LA20_0==RULE_INT||LA20_0==14||LA20_0==22||LA20_0==42||LA20_0==87||(LA20_0>=91 && LA20_0<=97)||(LA20_0>=99 && LA20_0<=100)||LA20_0==102||(LA20_0>=104 && LA20_0<=107)) ) { + alt20=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 20, 0, input); + + throw nvae; + } + switch (alt20) { + case 1 : + // InternalFiacre.g:4329:2: ( ( rule__QuantifiedExpression__Group_0__0 ) ) + { + // InternalFiacre.g:4329:2: ( ( rule__QuantifiedExpression__Group_0__0 ) ) + // InternalFiacre.g:4330:3: ( rule__QuantifiedExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0()); + } + // InternalFiacre.g:4331:3: ( rule__QuantifiedExpression__Group_0__0 ) + // InternalFiacre.g:4331:4: rule__QuantifiedExpression__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4335:2: ( ruleConditional ) + { + // InternalFiacre.g:4335:2: ( ruleConditional ) + // InternalFiacre.g:4336:3: ruleConditional + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleConditional(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Alternatives" + + + // $ANTLR start "rule__QuantifiedExpression__Alternatives_0_0" + // InternalFiacre.g:4345:1: rule__QuantifiedExpression__Alternatives_0_0 : ( ( ( rule__QuantifiedExpression__Group_0_0_0__0 ) ) | ( ( rule__QuantifiedExpression__Group_0_0_1__0 ) ) ); + public final void rule__QuantifiedExpression__Alternatives_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4349:1: ( ( ( rule__QuantifiedExpression__Group_0_0_0__0 ) ) | ( ( rule__QuantifiedExpression__Group_0_0_1__0 ) ) ) + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==77) ) { + alt21=1; + } + else if ( (LA21_0==78) ) { + alt21=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 21, 0, input); + + throw nvae; + } + switch (alt21) { + case 1 : + // InternalFiacre.g:4350:2: ( ( rule__QuantifiedExpression__Group_0_0_0__0 ) ) + { + // InternalFiacre.g:4350:2: ( ( rule__QuantifiedExpression__Group_0_0_0__0 ) ) + // InternalFiacre.g:4351:3: ( rule__QuantifiedExpression__Group_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_0()); + } + // InternalFiacre.g:4352:3: ( rule__QuantifiedExpression__Group_0_0_0__0 ) + // InternalFiacre.g:4352:4: rule__QuantifiedExpression__Group_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4356:2: ( ( rule__QuantifiedExpression__Group_0_0_1__0 ) ) + { + // InternalFiacre.g:4356:2: ( ( rule__QuantifiedExpression__Group_0_0_1__0 ) ) + // InternalFiacre.g:4357:3: ( rule__QuantifiedExpression__Group_0_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_1()); + } + // InternalFiacre.g:4358:3: ( rule__QuantifiedExpression__Group_0_0_1__0 ) + // InternalFiacre.g:4358:4: rule__QuantifiedExpression__Group_0_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Alternatives_0_0" + + + // $ANTLR start "rule__Comparison__Alternatives_1_0" + // InternalFiacre.g:4366:1: rule__Comparison__Alternatives_1_0 : ( ( ( rule__Comparison__Group_1_0_0__0 ) ) | ( ( rule__Comparison__Group_1_0_1__0 ) ) | ( ( rule__Comparison__Group_1_0_2__0 ) ) | ( ( rule__Comparison__Group_1_0_3__0 ) ) | ( ( rule__Comparison__Group_1_0_4__0 ) ) | ( ( rule__Comparison__Group_1_0_5__0 ) ) ); + public final void rule__Comparison__Alternatives_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4370:1: ( ( ( rule__Comparison__Group_1_0_0__0 ) ) | ( ( rule__Comparison__Group_1_0_1__0 ) ) | ( ( rule__Comparison__Group_1_0_2__0 ) ) | ( ( rule__Comparison__Group_1_0_3__0 ) ) | ( ( rule__Comparison__Group_1_0_4__0 ) ) | ( ( rule__Comparison__Group_1_0_5__0 ) ) ) + int alt22=6; + switch ( input.LA(1) ) { + case 82: + { + alt22=1; + } + break; + case 83: + { + alt22=2; + } + break; + case 84: + { + alt22=3; + } + break; + case 85: + { + alt22=4; + } + break; + case 16: + { + alt22=5; + } + break; + case 86: + { + alt22=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 22, 0, input); + + throw nvae; + } + + switch (alt22) { + case 1 : + // InternalFiacre.g:4371:2: ( ( rule__Comparison__Group_1_0_0__0 ) ) + { + // InternalFiacre.g:4371:2: ( ( rule__Comparison__Group_1_0_0__0 ) ) + // InternalFiacre.g:4372:3: ( rule__Comparison__Group_1_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_0()); + } + // InternalFiacre.g:4373:3: ( rule__Comparison__Group_1_0_0__0 ) + // InternalFiacre.g:4373:4: rule__Comparison__Group_1_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4377:2: ( ( rule__Comparison__Group_1_0_1__0 ) ) + { + // InternalFiacre.g:4377:2: ( ( rule__Comparison__Group_1_0_1__0 ) ) + // InternalFiacre.g:4378:3: ( rule__Comparison__Group_1_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_1()); + } + // InternalFiacre.g:4379:3: ( rule__Comparison__Group_1_0_1__0 ) + // InternalFiacre.g:4379:4: rule__Comparison__Group_1_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4383:2: ( ( rule__Comparison__Group_1_0_2__0 ) ) + { + // InternalFiacre.g:4383:2: ( ( rule__Comparison__Group_1_0_2__0 ) ) + // InternalFiacre.g:4384:3: ( rule__Comparison__Group_1_0_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_2()); + } + // InternalFiacre.g:4385:3: ( rule__Comparison__Group_1_0_2__0 ) + // InternalFiacre.g:4385:4: rule__Comparison__Group_1_0_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4389:2: ( ( rule__Comparison__Group_1_0_3__0 ) ) + { + // InternalFiacre.g:4389:2: ( ( rule__Comparison__Group_1_0_3__0 ) ) + // InternalFiacre.g:4390:3: ( rule__Comparison__Group_1_0_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_3()); + } + // InternalFiacre.g:4391:3: ( rule__Comparison__Group_1_0_3__0 ) + // InternalFiacre.g:4391:4: rule__Comparison__Group_1_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4395:2: ( ( rule__Comparison__Group_1_0_4__0 ) ) + { + // InternalFiacre.g:4395:2: ( ( rule__Comparison__Group_1_0_4__0 ) ) + // InternalFiacre.g:4396:3: ( rule__Comparison__Group_1_0_4__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_4()); + } + // InternalFiacre.g:4397:3: ( rule__Comparison__Group_1_0_4__0 ) + // InternalFiacre.g:4397:4: rule__Comparison__Group_1_0_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4401:2: ( ( rule__Comparison__Group_1_0_5__0 ) ) + { + // InternalFiacre.g:4401:2: ( ( rule__Comparison__Group_1_0_5__0 ) ) + // InternalFiacre.g:4402:3: ( rule__Comparison__Group_1_0_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1_0_5()); + } + // InternalFiacre.g:4403:3: ( rule__Comparison__Group_1_0_5__0 ) + // InternalFiacre.g:4403:4: rule__Comparison__Group_1_0_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1_0_5()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Alternatives_1_0" + + + // $ANTLR start "rule__UnaryExpression__Alternatives" + // InternalFiacre.g:4411:1: rule__UnaryExpression__Alternatives : ( ( ( rule__UnaryExpression__Group_0__0 ) ) | ( ruleProjection ) ); + public final void rule__UnaryExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4415:1: ( ( ( rule__UnaryExpression__Group_0__0 ) ) | ( ruleProjection ) ) + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==14||LA23_0==87||(LA23_0>=91 && LA23_0<=97)) ) { + alt23=1; + } + else if ( (LA23_0==RULE_ID||LA23_0==RULE_INT||LA23_0==22||LA23_0==42||(LA23_0>=99 && LA23_0<=100)||LA23_0==102||(LA23_0>=104 && LA23_0<=107)) ) { + alt23=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 23, 0, input); + + throw nvae; + } + switch (alt23) { + case 1 : + // InternalFiacre.g:4416:2: ( ( rule__UnaryExpression__Group_0__0 ) ) + { + // InternalFiacre.g:4416:2: ( ( rule__UnaryExpression__Group_0__0 ) ) + // InternalFiacre.g:4417:3: ( rule__UnaryExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0()); + } + // InternalFiacre.g:4418:3: ( rule__UnaryExpression__Group_0__0 ) + // InternalFiacre.g:4418:4: rule__UnaryExpression__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4422:2: ( ruleProjection ) + { + // InternalFiacre.g:4422:2: ( ruleProjection ) + // InternalFiacre.g:4423:3: ruleProjection + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleProjection(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Alternatives" + + + // $ANTLR start "rule__UnaryExpression__Alternatives_0_0" + // InternalFiacre.g:4432:1: rule__UnaryExpression__Alternatives_0_0 : ( ( ( rule__UnaryExpression__Group_0_0_0__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_1__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_2__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_3__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_4__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_5__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_6__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_7__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_8__0 ) ) ); + public final void rule__UnaryExpression__Alternatives_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4436:1: ( ( ( rule__UnaryExpression__Group_0_0_0__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_1__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_2__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_3__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_4__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_5__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_6__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_7__0 ) ) | ( ( rule__UnaryExpression__Group_0_0_8__0 ) ) ) + int alt24=9; + switch ( input.LA(1) ) { + case 14: + { + alt24=1; + } + break; + case 87: + { + alt24=2; + } + break; + case 91: + { + alt24=3; + } + break; + case 92: + { + alt24=4; + } + break; + case 93: + { + alt24=5; + } + break; + case 94: + { + alt24=6; + } + break; + case 95: + { + alt24=7; + } + break; + case 96: + { + alt24=8; + } + break; + case 97: + { + alt24=9; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 24, 0, input); + + throw nvae; + } + + switch (alt24) { + case 1 : + // InternalFiacre.g:4437:2: ( ( rule__UnaryExpression__Group_0_0_0__0 ) ) + { + // InternalFiacre.g:4437:2: ( ( rule__UnaryExpression__Group_0_0_0__0 ) ) + // InternalFiacre.g:4438:3: ( rule__UnaryExpression__Group_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_0()); + } + // InternalFiacre.g:4439:3: ( rule__UnaryExpression__Group_0_0_0__0 ) + // InternalFiacre.g:4439:4: rule__UnaryExpression__Group_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4443:2: ( ( rule__UnaryExpression__Group_0_0_1__0 ) ) + { + // InternalFiacre.g:4443:2: ( ( rule__UnaryExpression__Group_0_0_1__0 ) ) + // InternalFiacre.g:4444:3: ( rule__UnaryExpression__Group_0_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_1()); + } + // InternalFiacre.g:4445:3: ( rule__UnaryExpression__Group_0_0_1__0 ) + // InternalFiacre.g:4445:4: rule__UnaryExpression__Group_0_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4449:2: ( ( rule__UnaryExpression__Group_0_0_2__0 ) ) + { + // InternalFiacre.g:4449:2: ( ( rule__UnaryExpression__Group_0_0_2__0 ) ) + // InternalFiacre.g:4450:3: ( rule__UnaryExpression__Group_0_0_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_2()); + } + // InternalFiacre.g:4451:3: ( rule__UnaryExpression__Group_0_0_2__0 ) + // InternalFiacre.g:4451:4: rule__UnaryExpression__Group_0_0_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4455:2: ( ( rule__UnaryExpression__Group_0_0_3__0 ) ) + { + // InternalFiacre.g:4455:2: ( ( rule__UnaryExpression__Group_0_0_3__0 ) ) + // InternalFiacre.g:4456:3: ( rule__UnaryExpression__Group_0_0_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_3()); + } + // InternalFiacre.g:4457:3: ( rule__UnaryExpression__Group_0_0_3__0 ) + // InternalFiacre.g:4457:4: rule__UnaryExpression__Group_0_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4461:2: ( ( rule__UnaryExpression__Group_0_0_4__0 ) ) + { + // InternalFiacre.g:4461:2: ( ( rule__UnaryExpression__Group_0_0_4__0 ) ) + // InternalFiacre.g:4462:3: ( rule__UnaryExpression__Group_0_0_4__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_4()); + } + // InternalFiacre.g:4463:3: ( rule__UnaryExpression__Group_0_0_4__0 ) + // InternalFiacre.g:4463:4: rule__UnaryExpression__Group_0_0_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4467:2: ( ( rule__UnaryExpression__Group_0_0_5__0 ) ) + { + // InternalFiacre.g:4467:2: ( ( rule__UnaryExpression__Group_0_0_5__0 ) ) + // InternalFiacre.g:4468:3: ( rule__UnaryExpression__Group_0_0_5__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_5()); + } + // InternalFiacre.g:4469:3: ( rule__UnaryExpression__Group_0_0_5__0 ) + // InternalFiacre.g:4469:4: rule__UnaryExpression__Group_0_0_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_5()); + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:4473:2: ( ( rule__UnaryExpression__Group_0_0_6__0 ) ) + { + // InternalFiacre.g:4473:2: ( ( rule__UnaryExpression__Group_0_0_6__0 ) ) + // InternalFiacre.g:4474:3: ( rule__UnaryExpression__Group_0_0_6__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_6()); + } + // InternalFiacre.g:4475:3: ( rule__UnaryExpression__Group_0_0_6__0 ) + // InternalFiacre.g:4475:4: rule__UnaryExpression__Group_0_0_6__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_6()); + } + + } + + + } + break; + case 8 : + // InternalFiacre.g:4479:2: ( ( rule__UnaryExpression__Group_0_0_7__0 ) ) + { + // InternalFiacre.g:4479:2: ( ( rule__UnaryExpression__Group_0_0_7__0 ) ) + // InternalFiacre.g:4480:3: ( rule__UnaryExpression__Group_0_0_7__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_7()); + } + // InternalFiacre.g:4481:3: ( rule__UnaryExpression__Group_0_0_7__0 ) + // InternalFiacre.g:4481:4: rule__UnaryExpression__Group_0_0_7__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_7()); + } + + } + + + } + break; + case 9 : + // InternalFiacre.g:4485:2: ( ( rule__UnaryExpression__Group_0_0_8__0 ) ) + { + // InternalFiacre.g:4485:2: ( ( rule__UnaryExpression__Group_0_0_8__0 ) ) + // InternalFiacre.g:4486:3: ( rule__UnaryExpression__Group_0_0_8__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_8()); + } + // InternalFiacre.g:4487:3: ( rule__UnaryExpression__Group_0_0_8__0 ) + // InternalFiacre.g:4487:4: rule__UnaryExpression__Group_0_0_8__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_8__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getGroup_0_0_8()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Alternatives_0_0" + + + // $ANTLR start "rule__AtomicExpression__Alternatives" + // InternalFiacre.g:4495:1: rule__AtomicExpression__Alternatives : ( ( ruleIdentifierExpression ) | ( ruleReferenceExpression ) | ( ruleLiteralExpression ) | ( ruleRecordExpression ) | ( ruleArrayExpression ) | ( ruleQueueExpression ) | ( ruleEnqueueExpression ) | ( ruleAppendExpression ) | ( ( rule__AtomicExpression__Group_8__0 ) ) ); + public final void rule__AtomicExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4499:1: ( ( ruleIdentifierExpression ) | ( ruleReferenceExpression ) | ( ruleLiteralExpression ) | ( ruleRecordExpression ) | ( ruleArrayExpression ) | ( ruleQueueExpression ) | ( ruleEnqueueExpression ) | ( ruleAppendExpression ) | ( ( rule__AtomicExpression__Group_8__0 ) ) ) + int alt25=9; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt25=1; + } + break; + case 99: + { + alt25=2; + } + break; + case RULE_INT: + case 106: + case 107: + { + alt25=3; + } + break; + case 100: + { + alt25=4; + } + break; + case 42: + { + alt25=5; + } + break; + case 102: + { + alt25=6; + } + break; + case 104: + { + alt25=7; + } + break; + case 105: + { + alt25=8; + } + break; + case 22: + { + alt25=9; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 25, 0, input); + + throw nvae; + } + + switch (alt25) { + case 1 : + // InternalFiacre.g:4500:2: ( ruleIdentifierExpression ) + { + // InternalFiacre.g:4500:2: ( ruleIdentifierExpression ) + // InternalFiacre.g:4501:3: ruleIdentifierExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleIdentifierExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4506:2: ( ruleReferenceExpression ) + { + // InternalFiacre.g:4506:2: ( ruleReferenceExpression ) + // InternalFiacre.g:4507:3: ruleReferenceExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleReferenceExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4512:2: ( ruleLiteralExpression ) + { + // InternalFiacre.g:4512:2: ( ruleLiteralExpression ) + // InternalFiacre.g:4513:3: ruleLiteralExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4518:2: ( ruleRecordExpression ) + { + // InternalFiacre.g:4518:2: ( ruleRecordExpression ) + // InternalFiacre.g:4519:3: ruleRecordExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4524:2: ( ruleArrayExpression ) + { + // InternalFiacre.g:4524:2: ( ruleArrayExpression ) + // InternalFiacre.g:4525:3: ruleArrayExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleArrayExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4530:2: ( ruleQueueExpression ) + { + // InternalFiacre.g:4530:2: ( ruleQueueExpression ) + // InternalFiacre.g:4531:3: ruleQueueExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQueueExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:4536:2: ( ruleEnqueueExpression ) + { + // InternalFiacre.g:4536:2: ( ruleEnqueueExpression ) + // InternalFiacre.g:4537:3: ruleEnqueueExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleEnqueueExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); + } + + } + + + } + break; + case 8 : + // InternalFiacre.g:4542:2: ( ruleAppendExpression ) + { + // InternalFiacre.g:4542:2: ( ruleAppendExpression ) + // InternalFiacre.g:4543:3: ruleAppendExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAppendExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); + } + + } + + + } + break; + case 9 : + // InternalFiacre.g:4548:2: ( ( rule__AtomicExpression__Group_8__0 ) ) + { + // InternalFiacre.g:4548:2: ( ( rule__AtomicExpression__Group_8__0 ) ) + // InternalFiacre.g:4549:3: ( rule__AtomicExpression__Group_8__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getGroup_8()); + } + // InternalFiacre.g:4550:3: ( rule__AtomicExpression__Group_8__0 ) + // InternalFiacre.g:4550:4: rule__AtomicExpression__Group_8__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicExpression__Group_8__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getGroup_8()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Alternatives" + + + // $ANTLR start "rule__IdentifierExpression__Alternatives" + // InternalFiacre.g:4558:1: rule__IdentifierExpression__Alternatives : ( ( ( rule__IdentifierExpression__Group_0__0 ) ) | ( ( rule__IdentifierExpression__Group_1__0 ) ) ); + public final void rule__IdentifierExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4562:1: ( ( ( rule__IdentifierExpression__Group_0__0 ) ) | ( ( rule__IdentifierExpression__Group_1__0 ) ) ) + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==RULE_ID) ) { + int LA26_1 = input.LA(2); + + if ( (synpred75_InternalFiacre()) ) { + alt26=1; + } + else if ( (true) ) { + alt26=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 26, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 26, 0, input); + + throw nvae; + } + switch (alt26) { + case 1 : + // InternalFiacre.g:4563:2: ( ( rule__IdentifierExpression__Group_0__0 ) ) + { + // InternalFiacre.g:4563:2: ( ( rule__IdentifierExpression__Group_0__0 ) ) + // InternalFiacre.g:4564:3: ( rule__IdentifierExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_0()); + } + // InternalFiacre.g:4565:3: ( rule__IdentifierExpression__Group_0__0 ) + // InternalFiacre.g:4565:4: rule__IdentifierExpression__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4569:2: ( ( rule__IdentifierExpression__Group_1__0 ) ) + { + // InternalFiacre.g:4569:2: ( ( rule__IdentifierExpression__Group_1__0 ) ) + // InternalFiacre.g:4570:3: ( rule__IdentifierExpression__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_1()); + } + // InternalFiacre.g:4571:3: ( rule__IdentifierExpression__Group_1__0 ) + // InternalFiacre.g:4571:4: rule__IdentifierExpression__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Alternatives" + + + // $ANTLR start "rule__IdentifierExpression__Alternatives_1_1" + // InternalFiacre.g:4579:1: rule__IdentifierExpression__Alternatives_1_1 : ( ( ( rule__IdentifierExpression__Group_1_1_0__0 ) ) | ( ( rule__IdentifierExpression__Group_1_1_1__0 ) ) ); + public final void rule__IdentifierExpression__Alternatives_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4583:1: ( ( ( rule__IdentifierExpression__Group_1_1_0__0 ) ) | ( ( rule__IdentifierExpression__Group_1_1_1__0 ) ) ) + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==42) ) { + alt27=1; + } + else if ( (LA27_0==61) ) { + alt27=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 27, 0, input); + + throw nvae; + } + switch (alt27) { + case 1 : + // InternalFiacre.g:4584:2: ( ( rule__IdentifierExpression__Group_1_1_0__0 ) ) + { + // InternalFiacre.g:4584:2: ( ( rule__IdentifierExpression__Group_1_1_0__0 ) ) + // InternalFiacre.g:4585:3: ( rule__IdentifierExpression__Group_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0()); + } + // InternalFiacre.g:4586:3: ( rule__IdentifierExpression__Group_1_1_0__0 ) + // InternalFiacre.g:4586:4: rule__IdentifierExpression__Group_1_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4590:2: ( ( rule__IdentifierExpression__Group_1_1_1__0 ) ) + { + // InternalFiacre.g:4590:2: ( ( rule__IdentifierExpression__Group_1_1_1__0 ) ) + // InternalFiacre.g:4591:3: ( rule__IdentifierExpression__Group_1_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_1()); + } + // InternalFiacre.g:4592:3: ( rule__IdentifierExpression__Group_1_1_1__0 ) + // InternalFiacre.g:4592:4: rule__IdentifierExpression__Group_1_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Alternatives_1_1" + + + // $ANTLR start "rule__LiteralExpression__Alternatives" + // InternalFiacre.g:4600:1: rule__LiteralExpression__Alternatives : ( ( ruleBooleanLiteral ) | ( ruleNaturalLiteral ) ); + public final void rule__LiteralExpression__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4604:1: ( ( ruleBooleanLiteral ) | ( ruleNaturalLiteral ) ) + int alt28=2; + int LA28_0 = input.LA(1); + + if ( ((LA28_0>=106 && LA28_0<=107)) ) { + alt28=1; + } + else if ( (LA28_0==RULE_INT) ) { + alt28=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 28, 0, input); + + throw nvae; + } + switch (alt28) { + case 1 : + // InternalFiacre.g:4605:2: ( ruleBooleanLiteral ) + { + // InternalFiacre.g:4605:2: ( ruleBooleanLiteral ) + // InternalFiacre.g:4606:3: ruleBooleanLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleBooleanLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4611:2: ( ruleNaturalLiteral ) + { + // InternalFiacre.g:4611:2: ( ruleNaturalLiteral ) + // InternalFiacre.g:4612:3: ruleNaturalLiteral + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNaturalLiteral(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LiteralExpression__Alternatives" + + + // $ANTLR start "rule__BooleanLiteral__Alternatives" + // InternalFiacre.g:4621:1: rule__BooleanLiteral__Alternatives : ( ( ( rule__BooleanLiteral__Group_0__0 ) ) | ( ( rule__BooleanLiteral__Group_1__0 ) ) ); + public final void rule__BooleanLiteral__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4625:1: ( ( ( rule__BooleanLiteral__Group_0__0 ) ) | ( ( rule__BooleanLiteral__Group_1__0 ) ) ) + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==106) ) { + alt29=1; + } + else if ( (LA29_0==107) ) { + alt29=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 29, 0, input); + + throw nvae; + } + switch (alt29) { + case 1 : + // InternalFiacre.g:4626:2: ( ( rule__BooleanLiteral__Group_0__0 ) ) + { + // InternalFiacre.g:4626:2: ( ( rule__BooleanLiteral__Group_0__0 ) ) + // InternalFiacre.g:4627:3: ( rule__BooleanLiteral__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getGroup_0()); + } + // InternalFiacre.g:4628:3: ( rule__BooleanLiteral__Group_0__0 ) + // InternalFiacre.g:4628:4: rule__BooleanLiteral__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4632:2: ( ( rule__BooleanLiteral__Group_1__0 ) ) + { + // InternalFiacre.g:4632:2: ( ( rule__BooleanLiteral__Group_1__0 ) ) + // InternalFiacre.g:4633:3: ( rule__BooleanLiteral__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getGroup_1()); + } + // InternalFiacre.g:4634:3: ( rule__BooleanLiteral__Group_1__0 ) + // InternalFiacre.g:4634:4: rule__BooleanLiteral__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Alternatives" + + + // $ANTLR start "rule__LowerBound__Alternatives" + // InternalFiacre.g:4642:1: rule__LowerBound__Alternatives : ( ( ruleNaturalLowerBound ) | ( ruleDecimalLowerBound ) | ( ruleVariableLowerBound ) ); + public final void rule__LowerBound__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4646:1: ( ( ruleNaturalLowerBound ) | ( ruleDecimalLowerBound ) | ( ruleVariableLowerBound ) ) + int alt30=3; + int LA30_0 = input.LA(1); + + if ( (LA30_0==42) ) { + switch ( input.LA(2) ) { + case RULE_ID: + { + alt30=3; + } + break; + case RULE_INT: + { + alt30=1; + } + break; + case RULE_FLT: + { + alt30=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 1, input); + + throw nvae; + } + + } + else if ( (LA30_0==43) ) { + switch ( input.LA(2) ) { + case RULE_FLT: + { + alt30=2; + } + break; + case RULE_ID: + { + alt30=3; + } + break; + case RULE_INT: + { + alt30=1; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 2, input); + + throw nvae; + } + + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 30, 0, input); + + throw nvae; + } + switch (alt30) { + case 1 : + // InternalFiacre.g:4647:2: ( ruleNaturalLowerBound ) + { + // InternalFiacre.g:4647:2: ( ruleNaturalLowerBound ) + // InternalFiacre.g:4648:3: ruleNaturalLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNaturalLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4653:2: ( ruleDecimalLowerBound ) + { + // InternalFiacre.g:4653:2: ( ruleDecimalLowerBound ) + // InternalFiacre.g:4654:3: ruleDecimalLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDecimalLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4659:2: ( ruleVariableLowerBound ) + { + // InternalFiacre.g:4659:2: ( ruleVariableLowerBound ) + // InternalFiacre.g:4660:3: ruleVariableLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LowerBound__Alternatives" + + + // $ANTLR start "rule__UpperBound__Alternatives" + // InternalFiacre.g:4669:1: rule__UpperBound__Alternatives : ( ( ruleNaturalUpperBound ) | ( ruleDecimalUpperBound ) | ( ruleVariableUpperBound ) | ( ruleInfiniteUpperBound ) ); + public final void rule__UpperBound__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4673:1: ( ( ruleNaturalUpperBound ) | ( ruleDecimalUpperBound ) | ( ruleVariableUpperBound ) | ( ruleInfiniteUpperBound ) ) + int alt31=4; + switch ( input.LA(1) ) { + case RULE_INT: + { + alt31=1; + } + break; + case RULE_FLT: + { + alt31=2; + } + break; + case RULE_ID: + { + alt31=3; + } + break; + case 108: + { + alt31=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 31, 0, input); + + throw nvae; + } + + switch (alt31) { + case 1 : + // InternalFiacre.g:4674:2: ( ruleNaturalUpperBound ) + { + // InternalFiacre.g:4674:2: ( ruleNaturalUpperBound ) + // InternalFiacre.g:4675:3: ruleNaturalUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNaturalUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4680:2: ( ruleDecimalUpperBound ) + { + // InternalFiacre.g:4680:2: ( ruleDecimalUpperBound ) + // InternalFiacre.g:4681:3: ruleDecimalUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDecimalUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4686:2: ( ruleVariableUpperBound ) + { + // InternalFiacre.g:4686:2: ( ruleVariableUpperBound ) + // InternalFiacre.g:4687:3: ruleVariableUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4692:2: ( ruleInfiniteUpperBound ) + { + // InternalFiacre.g:4692:2: ( ruleInfiniteUpperBound ) + // InternalFiacre.g:4693:3: ruleInfiniteUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleInfiniteUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UpperBound__Alternatives" + + + // $ANTLR start "rule__NaturalLowerBound__Alternatives_0" + // InternalFiacre.g:4702:1: rule__NaturalLowerBound__Alternatives_0 : ( ( ( rule__NaturalLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__NaturalLowerBound__RightAssignment_0_1 ) ) ); + public final void rule__NaturalLowerBound__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4706:1: ( ( ( rule__NaturalLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__NaturalLowerBound__RightAssignment_0_1 ) ) ) + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==42) ) { + alt32=1; + } + else if ( (LA32_0==43) ) { + alt32=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 32, 0, input); + + throw nvae; + } + switch (alt32) { + case 1 : + // InternalFiacre.g:4707:2: ( ( rule__NaturalLowerBound__LeftAssignment_0_0 ) ) + { + // InternalFiacre.g:4707:2: ( ( rule__NaturalLowerBound__LeftAssignment_0_0 ) ) + // InternalFiacre.g:4708:3: ( rule__NaturalLowerBound__LeftAssignment_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getLeftAssignment_0_0()); + } + // InternalFiacre.g:4709:3: ( rule__NaturalLowerBound__LeftAssignment_0_0 ) + // InternalFiacre.g:4709:4: rule__NaturalLowerBound__LeftAssignment_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__LeftAssignment_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getLeftAssignment_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4713:2: ( ( rule__NaturalLowerBound__RightAssignment_0_1 ) ) + { + // InternalFiacre.g:4713:2: ( ( rule__NaturalLowerBound__RightAssignment_0_1 ) ) + // InternalFiacre.g:4714:3: ( rule__NaturalLowerBound__RightAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getRightAssignment_0_1()); + } + // InternalFiacre.g:4715:3: ( rule__NaturalLowerBound__RightAssignment_0_1 ) + // InternalFiacre.g:4715:4: rule__NaturalLowerBound__RightAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__RightAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getRightAssignment_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__Alternatives_0" + + + // $ANTLR start "rule__NaturalUpperBound__Alternatives_1" + // InternalFiacre.g:4723:1: rule__NaturalUpperBound__Alternatives_1 : ( ( ( rule__NaturalUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__NaturalUpperBound__RightAssignment_1_1 ) ) ); + public final void rule__NaturalUpperBound__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4727:1: ( ( ( rule__NaturalUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__NaturalUpperBound__RightAssignment_1_1 ) ) ) + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==42) ) { + alt33=1; + } + else if ( (LA33_0==43) ) { + alt33=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 33, 0, input); + + throw nvae; + } + switch (alt33) { + case 1 : + // InternalFiacre.g:4728:2: ( ( rule__NaturalUpperBound__LeftAssignment_1_0 ) ) + { + // InternalFiacre.g:4728:2: ( ( rule__NaturalUpperBound__LeftAssignment_1_0 ) ) + // InternalFiacre.g:4729:3: ( rule__NaturalUpperBound__LeftAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getLeftAssignment_1_0()); + } + // InternalFiacre.g:4730:3: ( rule__NaturalUpperBound__LeftAssignment_1_0 ) + // InternalFiacre.g:4730:4: rule__NaturalUpperBound__LeftAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__LeftAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getLeftAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4734:2: ( ( rule__NaturalUpperBound__RightAssignment_1_1 ) ) + { + // InternalFiacre.g:4734:2: ( ( rule__NaturalUpperBound__RightAssignment_1_1 ) ) + // InternalFiacre.g:4735:3: ( rule__NaturalUpperBound__RightAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getRightAssignment_1_1()); + } + // InternalFiacre.g:4736:3: ( rule__NaturalUpperBound__RightAssignment_1_1 ) + // InternalFiacre.g:4736:4: rule__NaturalUpperBound__RightAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__RightAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getRightAssignment_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__Alternatives_1" + + + // $ANTLR start "rule__DecimalLowerBound__Alternatives_0" + // InternalFiacre.g:4744:1: rule__DecimalLowerBound__Alternatives_0 : ( ( ( rule__DecimalLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__DecimalLowerBound__RightAssignment_0_1 ) ) ); + public final void rule__DecimalLowerBound__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4748:1: ( ( ( rule__DecimalLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__DecimalLowerBound__RightAssignment_0_1 ) ) ) + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==42) ) { + alt34=1; + } + else if ( (LA34_0==43) ) { + alt34=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 34, 0, input); + + throw nvae; + } + switch (alt34) { + case 1 : + // InternalFiacre.g:4749:2: ( ( rule__DecimalLowerBound__LeftAssignment_0_0 ) ) + { + // InternalFiacre.g:4749:2: ( ( rule__DecimalLowerBound__LeftAssignment_0_0 ) ) + // InternalFiacre.g:4750:3: ( rule__DecimalLowerBound__LeftAssignment_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getLeftAssignment_0_0()); + } + // InternalFiacre.g:4751:3: ( rule__DecimalLowerBound__LeftAssignment_0_0 ) + // InternalFiacre.g:4751:4: rule__DecimalLowerBound__LeftAssignment_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__LeftAssignment_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getLeftAssignment_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4755:2: ( ( rule__DecimalLowerBound__RightAssignment_0_1 ) ) + { + // InternalFiacre.g:4755:2: ( ( rule__DecimalLowerBound__RightAssignment_0_1 ) ) + // InternalFiacre.g:4756:3: ( rule__DecimalLowerBound__RightAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getRightAssignment_0_1()); + } + // InternalFiacre.g:4757:3: ( rule__DecimalLowerBound__RightAssignment_0_1 ) + // InternalFiacre.g:4757:4: rule__DecimalLowerBound__RightAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__RightAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getRightAssignment_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__Alternatives_0" + + + // $ANTLR start "rule__DecimalUpperBound__Alternatives_1" + // InternalFiacre.g:4765:1: rule__DecimalUpperBound__Alternatives_1 : ( ( ( rule__DecimalUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__DecimalUpperBound__RightAssignment_1_1 ) ) ); + public final void rule__DecimalUpperBound__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4769:1: ( ( ( rule__DecimalUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__DecimalUpperBound__RightAssignment_1_1 ) ) ) + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==42) ) { + alt35=1; + } + else if ( (LA35_0==43) ) { + alt35=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 35, 0, input); + + throw nvae; + } + switch (alt35) { + case 1 : + // InternalFiacre.g:4770:2: ( ( rule__DecimalUpperBound__LeftAssignment_1_0 ) ) + { + // InternalFiacre.g:4770:2: ( ( rule__DecimalUpperBound__LeftAssignment_1_0 ) ) + // InternalFiacre.g:4771:3: ( rule__DecimalUpperBound__LeftAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getLeftAssignment_1_0()); + } + // InternalFiacre.g:4772:3: ( rule__DecimalUpperBound__LeftAssignment_1_0 ) + // InternalFiacre.g:4772:4: rule__DecimalUpperBound__LeftAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__LeftAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getLeftAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4776:2: ( ( rule__DecimalUpperBound__RightAssignment_1_1 ) ) + { + // InternalFiacre.g:4776:2: ( ( rule__DecimalUpperBound__RightAssignment_1_1 ) ) + // InternalFiacre.g:4777:3: ( rule__DecimalUpperBound__RightAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getRightAssignment_1_1()); + } + // InternalFiacre.g:4778:3: ( rule__DecimalUpperBound__RightAssignment_1_1 ) + // InternalFiacre.g:4778:4: rule__DecimalUpperBound__RightAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__RightAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getRightAssignment_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__Alternatives_1" + + + // $ANTLR start "rule__VariableLowerBound__Alternatives_0" + // InternalFiacre.g:4786:1: rule__VariableLowerBound__Alternatives_0 : ( ( ( rule__VariableLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__VariableLowerBound__RightAssignment_0_1 ) ) ); + public final void rule__VariableLowerBound__Alternatives_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4790:1: ( ( ( rule__VariableLowerBound__LeftAssignment_0_0 ) ) | ( ( rule__VariableLowerBound__RightAssignment_0_1 ) ) ) + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==42) ) { + alt36=1; + } + else if ( (LA36_0==43) ) { + alt36=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 36, 0, input); + + throw nvae; + } + switch (alt36) { + case 1 : + // InternalFiacre.g:4791:2: ( ( rule__VariableLowerBound__LeftAssignment_0_0 ) ) + { + // InternalFiacre.g:4791:2: ( ( rule__VariableLowerBound__LeftAssignment_0_0 ) ) + // InternalFiacre.g:4792:3: ( rule__VariableLowerBound__LeftAssignment_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getLeftAssignment_0_0()); + } + // InternalFiacre.g:4793:3: ( rule__VariableLowerBound__LeftAssignment_0_0 ) + // InternalFiacre.g:4793:4: rule__VariableLowerBound__LeftAssignment_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__LeftAssignment_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getLeftAssignment_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4797:2: ( ( rule__VariableLowerBound__RightAssignment_0_1 ) ) + { + // InternalFiacre.g:4797:2: ( ( rule__VariableLowerBound__RightAssignment_0_1 ) ) + // InternalFiacre.g:4798:3: ( rule__VariableLowerBound__RightAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getRightAssignment_0_1()); + } + // InternalFiacre.g:4799:3: ( rule__VariableLowerBound__RightAssignment_0_1 ) + // InternalFiacre.g:4799:4: rule__VariableLowerBound__RightAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__RightAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getRightAssignment_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__Alternatives_0" + + + // $ANTLR start "rule__VariableUpperBound__Alternatives_1" + // InternalFiacre.g:4807:1: rule__VariableUpperBound__Alternatives_1 : ( ( ( rule__VariableUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__VariableUpperBound__RightAssignment_1_1 ) ) ); + public final void rule__VariableUpperBound__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4811:1: ( ( ( rule__VariableUpperBound__LeftAssignment_1_0 ) ) | ( ( rule__VariableUpperBound__RightAssignment_1_1 ) ) ) + int alt37=2; + int LA37_0 = input.LA(1); + + if ( (LA37_0==42) ) { + alt37=1; + } + else if ( (LA37_0==43) ) { + alt37=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 37, 0, input); + + throw nvae; + } + switch (alt37) { + case 1 : + // InternalFiacre.g:4812:2: ( ( rule__VariableUpperBound__LeftAssignment_1_0 ) ) + { + // InternalFiacre.g:4812:2: ( ( rule__VariableUpperBound__LeftAssignment_1_0 ) ) + // InternalFiacre.g:4813:3: ( rule__VariableUpperBound__LeftAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getLeftAssignment_1_0()); + } + // InternalFiacre.g:4814:3: ( rule__VariableUpperBound__LeftAssignment_1_0 ) + // InternalFiacre.g:4814:4: rule__VariableUpperBound__LeftAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__LeftAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getLeftAssignment_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4818:2: ( ( rule__VariableUpperBound__RightAssignment_1_1 ) ) + { + // InternalFiacre.g:4818:2: ( ( rule__VariableUpperBound__RightAssignment_1_1 ) ) + // InternalFiacre.g:4819:3: ( rule__VariableUpperBound__RightAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getRightAssignment_1_1()); + } + // InternalFiacre.g:4820:3: ( rule__VariableUpperBound__RightAssignment_1_1 ) + // InternalFiacre.g:4820:4: rule__VariableUpperBound__RightAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__RightAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getRightAssignment_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__Alternatives_1" + + + // $ANTLR start "rule__QuantifiedProperty__Alternatives" + // InternalFiacre.g:4828:1: rule__QuantifiedProperty__Alternatives : ( ( ( rule__QuantifiedProperty__Group_0__0 ) ) | ( rulePropertyDisjunction ) ); + public final void rule__QuantifiedProperty__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4832:1: ( ( ( rule__QuantifiedProperty__Group_0__0 ) ) | ( rulePropertyDisjunction ) ) + int alt38=2; + int LA38_0 = input.LA(1); + + if ( ((LA38_0>=77 && LA38_0<=78)) ) { + alt38=1; + } + else if ( (LA38_0==RULE_ID||LA38_0==RULE_INT||LA38_0==22||LA38_0==91||(LA38_0>=113 && LA38_0<=117)||LA38_0==124||LA38_0==126||(LA38_0>=131 && LA38_0<=132)) ) { + alt38=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 38, 0, input); + + throw nvae; + } + switch (alt38) { + case 1 : + // InternalFiacre.g:4833:2: ( ( rule__QuantifiedProperty__Group_0__0 ) ) + { + // InternalFiacre.g:4833:2: ( ( rule__QuantifiedProperty__Group_0__0 ) ) + // InternalFiacre.g:4834:3: ( rule__QuantifiedProperty__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0()); + } + // InternalFiacre.g:4835:3: ( rule__QuantifiedProperty__Group_0__0 ) + // InternalFiacre.g:4835:4: rule__QuantifiedProperty__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4839:2: ( rulePropertyDisjunction ) + { + // InternalFiacre.g:4839:2: ( rulePropertyDisjunction ) + // InternalFiacre.g:4840:3: rulePropertyDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Alternatives" + + + // $ANTLR start "rule__QuantifiedProperty__Alternatives_0_0" + // InternalFiacre.g:4849:1: rule__QuantifiedProperty__Alternatives_0_0 : ( ( ( rule__QuantifiedProperty__Group_0_0_0__0 ) ) | ( ( rule__QuantifiedProperty__Group_0_0_1__0 ) ) ); + public final void rule__QuantifiedProperty__Alternatives_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4853:1: ( ( ( rule__QuantifiedProperty__Group_0_0_0__0 ) ) | ( ( rule__QuantifiedProperty__Group_0_0_1__0 ) ) ) + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==77) ) { + alt39=1; + } + else if ( (LA39_0==78) ) { + alt39=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + + throw nvae; + } + switch (alt39) { + case 1 : + // InternalFiacre.g:4854:2: ( ( rule__QuantifiedProperty__Group_0_0_0__0 ) ) + { + // InternalFiacre.g:4854:2: ( ( rule__QuantifiedProperty__Group_0_0_0__0 ) ) + // InternalFiacre.g:4855:3: ( rule__QuantifiedProperty__Group_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_0()); + } + // InternalFiacre.g:4856:3: ( rule__QuantifiedProperty__Group_0_0_0__0 ) + // InternalFiacre.g:4856:4: rule__QuantifiedProperty__Group_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4860:2: ( ( rule__QuantifiedProperty__Group_0_0_1__0 ) ) + { + // InternalFiacre.g:4860:2: ( ( rule__QuantifiedProperty__Group_0_0_1__0 ) ) + // InternalFiacre.g:4861:3: ( rule__QuantifiedProperty__Group_0_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_1()); + } + // InternalFiacre.g:4862:3: ( rule__QuantifiedProperty__Group_0_0_1__0 ) + // InternalFiacre.g:4862:4: rule__QuantifiedProperty__Group_0_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getGroup_0_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Alternatives_0_0" + + + // $ANTLR start "rule__PropertyNegation__Alternatives" + // InternalFiacre.g:4870:1: rule__PropertyNegation__Alternatives : ( ( ( rule__PropertyNegation__Group_0__0 ) ) | ( ruleAtomicProperty ) ); + public final void rule__PropertyNegation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4874:1: ( ( ( rule__PropertyNegation__Group_0__0 ) ) | ( ruleAtomicProperty ) ) + int alt40=2; + int LA40_0 = input.LA(1); + + if ( (LA40_0==91) ) { + alt40=1; + } + else if ( (LA40_0==RULE_ID||LA40_0==RULE_INT||LA40_0==22||(LA40_0>=113 && LA40_0<=117)||LA40_0==124||LA40_0==126||(LA40_0>=131 && LA40_0<=132)) ) { + alt40=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 40, 0, input); + + throw nvae; + } + switch (alt40) { + case 1 : + // InternalFiacre.g:4875:2: ( ( rule__PropertyNegation__Group_0__0 ) ) + { + // InternalFiacre.g:4875:2: ( ( rule__PropertyNegation__Group_0__0 ) ) + // InternalFiacre.g:4876:3: ( rule__PropertyNegation__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getGroup_0()); + } + // InternalFiacre.g:4877:3: ( rule__PropertyNegation__Group_0__0 ) + // InternalFiacre.g:4877:4: rule__PropertyNegation__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4881:2: ( ruleAtomicProperty ) + { + // InternalFiacre.g:4881:2: ( ruleAtomicProperty ) + // InternalFiacre.g:4882:3: ruleAtomicProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Alternatives" + + + // $ANTLR start "rule__AtomicProperty__Alternatives" + // InternalFiacre.g:4891:1: rule__AtomicProperty__Alternatives : ( ( rulePatternProperty ) | ( ( rule__AtomicProperty__Group_1__0 ) ) ); + public final void rule__AtomicProperty__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4895:1: ( ( rulePatternProperty ) | ( ( rule__AtomicProperty__Group_1__0 ) ) ) + int alt41=2; + alt41 = dfa41.predict(input); + switch (alt41) { + case 1 : + // InternalFiacre.g:4896:2: ( rulePatternProperty ) + { + // InternalFiacre.g:4896:2: ( rulePatternProperty ) + // InternalFiacre.g:4897:3: rulePatternProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePatternProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4902:2: ( ( rule__AtomicProperty__Group_1__0 ) ) + { + // InternalFiacre.g:4902:2: ( ( rule__AtomicProperty__Group_1__0 ) ) + // InternalFiacre.g:4903:3: ( rule__AtomicProperty__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getGroup_1()); + } + // InternalFiacre.g:4904:3: ( rule__AtomicProperty__Group_1__0 ) + // InternalFiacre.g:4904:4: rule__AtomicProperty__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicProperty__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getGroup_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Alternatives" + + + // $ANTLR start "rule__PatternProperty__Alternatives" + // InternalFiacre.g:4912:1: rule__PatternProperty__Alternatives : ( ( ruleLTLPattern ) | ( ruleDeadlockFreePattern ) | ( ruleInfinitelyOftenPattern ) | ( ruleMortalPattern ) | ( rulePresencePattern ) | ( ruleAbsencePattern ) | ( ruleAlwaysPattern ) | ( ruleSequencePattern ) ); + public final void rule__PatternProperty__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4916:1: ( ( ruleLTLPattern ) | ( ruleDeadlockFreePattern ) | ( ruleInfinitelyOftenPattern ) | ( ruleMortalPattern ) | ( rulePresencePattern ) | ( ruleAbsencePattern ) | ( ruleAlwaysPattern ) | ( ruleSequencePattern ) ) + int alt42=8; + switch ( input.LA(1) ) { + case 113: + { + alt42=1; + } + break; + case 114: + { + alt42=2; + } + break; + case 115: + { + alt42=3; + } + break; + case 116: + { + alt42=4; + } + break; + case 117: + { + alt42=5; + } + break; + case 124: + { + alt42=6; + } + break; + case 126: + { + alt42=7; + } + break; + case RULE_ID: + case RULE_INT: + case 22: + case 131: + case 132: + { + alt42=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 42, 0, input); + + throw nvae; + } + + switch (alt42) { + case 1 : + // InternalFiacre.g:4917:2: ( ruleLTLPattern ) + { + // InternalFiacre.g:4917:2: ( ruleLTLPattern ) + // InternalFiacre.g:4918:3: ruleLTLPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4923:2: ( ruleDeadlockFreePattern ) + { + // InternalFiacre.g:4923:2: ( ruleDeadlockFreePattern ) + // InternalFiacre.g:4924:3: ruleDeadlockFreePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDeadlockFreePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4929:2: ( ruleInfinitelyOftenPattern ) + { + // InternalFiacre.g:4929:2: ( ruleInfinitelyOftenPattern ) + // InternalFiacre.g:4930:3: ruleInfinitelyOftenPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleInfinitelyOftenPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4935:2: ( ruleMortalPattern ) + { + // InternalFiacre.g:4935:2: ( ruleMortalPattern ) + // InternalFiacre.g:4936:3: ruleMortalPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleMortalPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4941:2: ( rulePresencePattern ) + { + // InternalFiacre.g:4941:2: ( rulePresencePattern ) + // InternalFiacre.g:4942:3: rulePresencePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePresencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:4947:2: ( ruleAbsencePattern ) + { + // InternalFiacre.g:4947:2: ( ruleAbsencePattern ) + // InternalFiacre.g:4948:3: ruleAbsencePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAbsencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:4953:2: ( ruleAlwaysPattern ) + { + // InternalFiacre.g:4953:2: ( ruleAlwaysPattern ) + // InternalFiacre.g:4954:3: ruleAlwaysPattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAlwaysPattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); + } + + } + + + } + break; + case 8 : + // InternalFiacre.g:4959:2: ( ruleSequencePattern ) + { + // InternalFiacre.g:4959:2: ( ruleSequencePattern ) + // InternalFiacre.g:4960:3: ruleSequencePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleSequencePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternProperty__Alternatives" + + + // $ANTLR start "rule__PresencePattern__Alternatives_2" + // InternalFiacre.g:4969:1: rule__PresencePattern__Alternatives_2 : ( ( ( rule__PresencePattern__Group_2_0__0 ) ) | ( ( rule__PresencePattern__Group_2_1__0 ) ) | ( ( rule__PresencePattern__Group_2_2__0 ) ) | ( ( rule__PresencePattern__Group_2_3__0 ) ) ); + public final void rule__PresencePattern__Alternatives_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:4973:1: ( ( ( rule__PresencePattern__Group_2_0__0 ) ) | ( ( rule__PresencePattern__Group_2_1__0 ) ) | ( ( rule__PresencePattern__Group_2_2__0 ) ) | ( ( rule__PresencePattern__Group_2_3__0 ) ) ) + int alt43=4; + switch ( input.LA(1) ) { + case 118: + { + alt43=1; + } + break; + case 119: + { + alt43=2; + } + break; + case 122: + { + alt43=3; + } + break; + case 123: + { + alt43=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 43, 0, input); + + throw nvae; + } + + switch (alt43) { + case 1 : + // InternalFiacre.g:4974:2: ( ( rule__PresencePattern__Group_2_0__0 ) ) + { + // InternalFiacre.g:4974:2: ( ( rule__PresencePattern__Group_2_0__0 ) ) + // InternalFiacre.g:4975:3: ( rule__PresencePattern__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_0()); + } + // InternalFiacre.g:4976:3: ( rule__PresencePattern__Group_2_0__0 ) + // InternalFiacre.g:4976:4: rule__PresencePattern__Group_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4980:2: ( ( rule__PresencePattern__Group_2_1__0 ) ) + { + // InternalFiacre.g:4980:2: ( ( rule__PresencePattern__Group_2_1__0 ) ) + // InternalFiacre.g:4981:3: ( rule__PresencePattern__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_1()); + } + // InternalFiacre.g:4982:3: ( rule__PresencePattern__Group_2_1__0 ) + // InternalFiacre.g:4982:4: rule__PresencePattern__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:4986:2: ( ( rule__PresencePattern__Group_2_2__0 ) ) + { + // InternalFiacre.g:4986:2: ( ( rule__PresencePattern__Group_2_2__0 ) ) + // InternalFiacre.g:4987:3: ( rule__PresencePattern__Group_2_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_2()); + } + // InternalFiacre.g:4988:3: ( rule__PresencePattern__Group_2_2__0 ) + // InternalFiacre.g:4988:4: rule__PresencePattern__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:4992:2: ( ( rule__PresencePattern__Group_2_3__0 ) ) + { + // InternalFiacre.g:4992:2: ( ( rule__PresencePattern__Group_2_3__0 ) ) + // InternalFiacre.g:4993:3: ( rule__PresencePattern__Group_2_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_3()); + } + // InternalFiacre.g:4994:3: ( rule__PresencePattern__Group_2_3__0 ) + // InternalFiacre.g:4994:4: rule__PresencePattern__Group_2_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Alternatives_2" + + + // $ANTLR start "rule__PresencePattern__Alternatives_2_1_1" + // InternalFiacre.g:5002:1: rule__PresencePattern__Alternatives_2_1_1 : ( ( ( rule__PresencePattern__Group_2_1_1_0__0 ) ) | ( ( rule__PresencePattern__Group_2_1_1_1__0 ) ) ); + public final void rule__PresencePattern__Alternatives_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5006:1: ( ( ( rule__PresencePattern__Group_2_1_1_0__0 ) ) | ( ( rule__PresencePattern__Group_2_1_1_1__0 ) ) ) + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==120) ) { + alt44=1; + } + else if ( (LA44_0==121) ) { + alt44=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 44, 0, input); + + throw nvae; + } + switch (alt44) { + case 1 : + // InternalFiacre.g:5007:2: ( ( rule__PresencePattern__Group_2_1_1_0__0 ) ) + { + // InternalFiacre.g:5007:2: ( ( rule__PresencePattern__Group_2_1_1_0__0 ) ) + // InternalFiacre.g:5008:3: ( rule__PresencePattern__Group_2_1_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_0()); + } + // InternalFiacre.g:5009:3: ( rule__PresencePattern__Group_2_1_1_0__0 ) + // InternalFiacre.g:5009:4: rule__PresencePattern__Group_2_1_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5013:2: ( ( rule__PresencePattern__Group_2_1_1_1__0 ) ) + { + // InternalFiacre.g:5013:2: ( ( rule__PresencePattern__Group_2_1_1_1__0 ) ) + // InternalFiacre.g:5014:3: ( rule__PresencePattern__Group_2_1_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_1()); + } + // InternalFiacre.g:5015:3: ( rule__PresencePattern__Group_2_1_1_1__0 ) + // InternalFiacre.g:5015:4: rule__PresencePattern__Group_2_1_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_1_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Alternatives_2_1_1" + + + // $ANTLR start "rule__AbsencePattern__Alternatives_2" + // InternalFiacre.g:5023:1: rule__AbsencePattern__Alternatives_2 : ( ( ( rule__AbsencePattern__Group_2_0__0 ) ) | ( ( rule__AbsencePattern__Group_2_1__0 ) ) | ( ( rule__AbsencePattern__Group_2_2__0 ) ) ); + public final void rule__AbsencePattern__Alternatives_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5027:1: ( ( ( rule__AbsencePattern__Group_2_0__0 ) ) | ( ( rule__AbsencePattern__Group_2_1__0 ) ) | ( ( rule__AbsencePattern__Group_2_2__0 ) ) ) + int alt45=3; + switch ( input.LA(1) ) { + case 119: + { + alt45=1; + } + break; + case 122: + { + alt45=2; + } + break; + case 123: + { + alt45=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 45, 0, input); + + throw nvae; + } + + switch (alt45) { + case 1 : + // InternalFiacre.g:5028:2: ( ( rule__AbsencePattern__Group_2_0__0 ) ) + { + // InternalFiacre.g:5028:2: ( ( rule__AbsencePattern__Group_2_0__0 ) ) + // InternalFiacre.g:5029:3: ( rule__AbsencePattern__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_0()); + } + // InternalFiacre.g:5030:3: ( rule__AbsencePattern__Group_2_0__0 ) + // InternalFiacre.g:5030:4: rule__AbsencePattern__Group_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5034:2: ( ( rule__AbsencePattern__Group_2_1__0 ) ) + { + // InternalFiacre.g:5034:2: ( ( rule__AbsencePattern__Group_2_1__0 ) ) + // InternalFiacre.g:5035:3: ( rule__AbsencePattern__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_1()); + } + // InternalFiacre.g:5036:3: ( rule__AbsencePattern__Group_2_1__0 ) + // InternalFiacre.g:5036:4: rule__AbsencePattern__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5040:2: ( ( rule__AbsencePattern__Group_2_2__0 ) ) + { + // InternalFiacre.g:5040:2: ( ( rule__AbsencePattern__Group_2_2__0 ) ) + // InternalFiacre.g:5041:3: ( rule__AbsencePattern__Group_2_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_2()); + } + // InternalFiacre.g:5042:3: ( rule__AbsencePattern__Group_2_2__0 ) + // InternalFiacre.g:5042:4: rule__AbsencePattern__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Alternatives_2" + + + // $ANTLR start "rule__AbsencePattern__Alternatives_2_0_1" + // InternalFiacre.g:5050:1: rule__AbsencePattern__Alternatives_2_0_1 : ( ( ( rule__AbsencePattern__Group_2_0_1_0__0 ) ) | ( ( rule__AbsencePattern__Group_2_0_1_1__0 ) ) ); + public final void rule__AbsencePattern__Alternatives_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5054:1: ( ( ( rule__AbsencePattern__Group_2_0_1_0__0 ) ) | ( ( rule__AbsencePattern__Group_2_0_1_1__0 ) ) ) + int alt46=2; + int LA46_0 = input.LA(1); + + if ( (LA46_0==120) ) { + alt46=1; + } + else if ( (LA46_0==121) ) { + alt46=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 46, 0, input); + + throw nvae; + } + switch (alt46) { + case 1 : + // InternalFiacre.g:5055:2: ( ( rule__AbsencePattern__Group_2_0_1_0__0 ) ) + { + // InternalFiacre.g:5055:2: ( ( rule__AbsencePattern__Group_2_0_1_0__0 ) ) + // InternalFiacre.g:5056:3: ( rule__AbsencePattern__Group_2_0_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_0()); + } + // InternalFiacre.g:5057:3: ( rule__AbsencePattern__Group_2_0_1_0__0 ) + // InternalFiacre.g:5057:4: rule__AbsencePattern__Group_2_0_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5061:2: ( ( rule__AbsencePattern__Group_2_0_1_1__0 ) ) + { + // InternalFiacre.g:5061:2: ( ( rule__AbsencePattern__Group_2_0_1_1__0 ) ) + // InternalFiacre.g:5062:3: ( rule__AbsencePattern__Group_2_0_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_1()); + } + // InternalFiacre.g:5063:3: ( rule__AbsencePattern__Group_2_0_1_1__0 ) + // InternalFiacre.g:5063:4: rule__AbsencePattern__Group_2_0_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Alternatives_2_0_1" + + + // $ANTLR start "rule__AlwaysPattern__Alternatives_2" + // InternalFiacre.g:5071:1: rule__AlwaysPattern__Alternatives_2 : ( ( ( rule__AlwaysPattern__Group_2_0__0 ) ) | ( ( rule__AlwaysPattern__Group_2_1__0 ) ) | ( ( rule__AlwaysPattern__Group_2_2__0 ) ) ); + public final void rule__AlwaysPattern__Alternatives_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5075:1: ( ( ( rule__AlwaysPattern__Group_2_0__0 ) ) | ( ( rule__AlwaysPattern__Group_2_1__0 ) ) | ( ( rule__AlwaysPattern__Group_2_2__0 ) ) ) + int alt47=3; + switch ( input.LA(1) ) { + case 122: + { + alt47=1; + } + break; + case 119: + { + alt47=2; + } + break; + case 123: + { + alt47=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 47, 0, input); + + throw nvae; + } + + switch (alt47) { + case 1 : + // InternalFiacre.g:5076:2: ( ( rule__AlwaysPattern__Group_2_0__0 ) ) + { + // InternalFiacre.g:5076:2: ( ( rule__AlwaysPattern__Group_2_0__0 ) ) + // InternalFiacre.g:5077:3: ( rule__AlwaysPattern__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getGroup_2_0()); + } + // InternalFiacre.g:5078:3: ( rule__AlwaysPattern__Group_2_0__0 ) + // InternalFiacre.g:5078:4: rule__AlwaysPattern__Group_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getGroup_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5082:2: ( ( rule__AlwaysPattern__Group_2_1__0 ) ) + { + // InternalFiacre.g:5082:2: ( ( rule__AlwaysPattern__Group_2_1__0 ) ) + // InternalFiacre.g:5083:3: ( rule__AlwaysPattern__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getGroup_2_1()); + } + // InternalFiacre.g:5084:3: ( rule__AlwaysPattern__Group_2_1__0 ) + // InternalFiacre.g:5084:4: rule__AlwaysPattern__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getGroup_2_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5088:2: ( ( rule__AlwaysPattern__Group_2_2__0 ) ) + { + // InternalFiacre.g:5088:2: ( ( rule__AlwaysPattern__Group_2_2__0 ) ) + // InternalFiacre.g:5089:3: ( rule__AlwaysPattern__Group_2_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getGroup_2_2()); + } + // InternalFiacre.g:5090:3: ( rule__AlwaysPattern__Group_2_2__0 ) + // InternalFiacre.g:5090:4: rule__AlwaysPattern__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getGroup_2_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Alternatives_2" + + + // $ANTLR start "rule__SequencePattern__Alternatives_1" + // InternalFiacre.g:5098:1: rule__SequencePattern__Alternatives_1 : ( ( ( rule__SequencePattern__Group_1_0__0 ) ) | ( ( rule__SequencePattern__Group_1_1__0 ) ) ); + public final void rule__SequencePattern__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5102:1: ( ( ( rule__SequencePattern__Group_1_0__0 ) ) | ( ( rule__SequencePattern__Group_1_1__0 ) ) ) + int alt48=2; + int LA48_0 = input.LA(1); + + if ( (LA48_0==127) ) { + alt48=1; + } + else if ( (LA48_0==128) ) { + alt48=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 48, 0, input); + + throw nvae; + } + switch (alt48) { + case 1 : + // InternalFiacre.g:5103:2: ( ( rule__SequencePattern__Group_1_0__0 ) ) + { + // InternalFiacre.g:5103:2: ( ( rule__SequencePattern__Group_1_0__0 ) ) + // InternalFiacre.g:5104:3: ( rule__SequencePattern__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0()); + } + // InternalFiacre.g:5105:3: ( rule__SequencePattern__Group_1_0__0 ) + // InternalFiacre.g:5105:4: rule__SequencePattern__Group_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5109:2: ( ( rule__SequencePattern__Group_1_1__0 ) ) + { + // InternalFiacre.g:5109:2: ( ( rule__SequencePattern__Group_1_1__0 ) ) + // InternalFiacre.g:5110:3: ( rule__SequencePattern__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_1()); + } + // InternalFiacre.g:5111:3: ( rule__SequencePattern__Group_1_1__0 ) + // InternalFiacre.g:5111:4: rule__SequencePattern__Group_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Alternatives_1" + + + // $ANTLR start "rule__SequencePattern__Alternatives_1_0_3" + // InternalFiacre.g:5119:1: rule__SequencePattern__Alternatives_1_0_3 : ( ( ( rule__SequencePattern__Group_1_0_3_0__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_1__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_2__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_3__0 ) ) ); + public final void rule__SequencePattern__Alternatives_1_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5123:1: ( ( ( rule__SequencePattern__Group_1_0_3_0__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_1__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_2__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_3__0 ) ) ) + int alt49=4; + switch ( input.LA(1) ) { + case 122: + { + alt49=1; + } + break; + case 120: + { + alt49=2; + } + break; + case 119: + { + alt49=3; + } + break; + case 123: + { + alt49=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 49, 0, input); + + throw nvae; + } + + switch (alt49) { + case 1 : + // InternalFiacre.g:5124:2: ( ( rule__SequencePattern__Group_1_0_3_0__0 ) ) + { + // InternalFiacre.g:5124:2: ( ( rule__SequencePattern__Group_1_0_3_0__0 ) ) + // InternalFiacre.g:5125:3: ( rule__SequencePattern__Group_1_0_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0()); + } + // InternalFiacre.g:5126:3: ( rule__SequencePattern__Group_1_0_3_0__0 ) + // InternalFiacre.g:5126:4: rule__SequencePattern__Group_1_0_3_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5130:2: ( ( rule__SequencePattern__Group_1_0_3_1__0 ) ) + { + // InternalFiacre.g:5130:2: ( ( rule__SequencePattern__Group_1_0_3_1__0 ) ) + // InternalFiacre.g:5131:3: ( rule__SequencePattern__Group_1_0_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_1()); + } + // InternalFiacre.g:5132:3: ( rule__SequencePattern__Group_1_0_3_1__0 ) + // InternalFiacre.g:5132:4: rule__SequencePattern__Group_1_0_3_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5136:2: ( ( rule__SequencePattern__Group_1_0_3_2__0 ) ) + { + // InternalFiacre.g:5136:2: ( ( rule__SequencePattern__Group_1_0_3_2__0 ) ) + // InternalFiacre.g:5137:3: ( rule__SequencePattern__Group_1_0_3_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2()); + } + // InternalFiacre.g:5138:3: ( rule__SequencePattern__Group_1_0_3_2__0 ) + // InternalFiacre.g:5138:4: rule__SequencePattern__Group_1_0_3_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:5142:2: ( ( rule__SequencePattern__Group_1_0_3_3__0 ) ) + { + // InternalFiacre.g:5142:2: ( ( rule__SequencePattern__Group_1_0_3_3__0 ) ) + // InternalFiacre.g:5143:3: ( rule__SequencePattern__Group_1_0_3_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_3()); + } + // InternalFiacre.g:5144:3: ( rule__SequencePattern__Group_1_0_3_3__0 ) + // InternalFiacre.g:5144:4: rule__SequencePattern__Group_1_0_3_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Alternatives_1_0_3" + + + // $ANTLR start "rule__SequencePattern__Alternatives_1_0_3_2_2" + // InternalFiacre.g:5152:1: rule__SequencePattern__Alternatives_1_0_3_2_2 : ( ( ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) ) ); + public final void rule__SequencePattern__Alternatives_1_0_3_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5156:1: ( ( ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) ) | ( ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) ) ) + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==120) ) { + alt50=1; + } + else if ( (LA50_0==121) ) { + alt50=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 50, 0, input); + + throw nvae; + } + switch (alt50) { + case 1 : + // InternalFiacre.g:5157:2: ( ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) ) + { + // InternalFiacre.g:5157:2: ( ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) ) + // InternalFiacre.g:5158:3: ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_0()); + } + // InternalFiacre.g:5159:3: ( rule__SequencePattern__Group_1_0_3_2_2_0__0 ) + // InternalFiacre.g:5159:4: rule__SequencePattern__Group_1_0_3_2_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5163:2: ( ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) ) + { + // InternalFiacre.g:5163:2: ( ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) ) + // InternalFiacre.g:5164:3: ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_1()); + } + // InternalFiacre.g:5165:3: ( rule__SequencePattern__Group_1_0_3_2_2_1__0 ) + // InternalFiacre.g:5165:4: rule__SequencePattern__Group_1_0_3_2_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_2_2_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Alternatives_1_0_3_2_2" + + + // $ANTLR start "rule__SequencePattern__Alternatives_1_1_3" + // InternalFiacre.g:5173:1: rule__SequencePattern__Alternatives_1_1_3 : ( ( ( rule__SequencePattern__Group_1_1_3_0__0 ) ) | ( ( rule__SequencePattern__Group_1_1_3_1__0 ) ) | ( ( rule__SequencePattern__Group_1_1_3_2__0 ) ) ); + public final void rule__SequencePattern__Alternatives_1_1_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5177:1: ( ( ( rule__SequencePattern__Group_1_1_3_0__0 ) ) | ( ( rule__SequencePattern__Group_1_1_3_1__0 ) ) | ( ( rule__SequencePattern__Group_1_1_3_2__0 ) ) ) + int alt51=3; + switch ( input.LA(1) ) { + case 122: + { + alt51=1; + } + break; + case 119: + { + alt51=2; + } + break; + case 123: + { + alt51=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 51, 0, input); + + throw nvae; + } + + switch (alt51) { + case 1 : + // InternalFiacre.g:5178:2: ( ( rule__SequencePattern__Group_1_1_3_0__0 ) ) + { + // InternalFiacre.g:5178:2: ( ( rule__SequencePattern__Group_1_1_3_0__0 ) ) + // InternalFiacre.g:5179:3: ( rule__SequencePattern__Group_1_1_3_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_0()); + } + // InternalFiacre.g:5180:3: ( rule__SequencePattern__Group_1_1_3_0__0 ) + // InternalFiacre.g:5180:4: rule__SequencePattern__Group_1_1_3_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5184:2: ( ( rule__SequencePattern__Group_1_1_3_1__0 ) ) + { + // InternalFiacre.g:5184:2: ( ( rule__SequencePattern__Group_1_1_3_1__0 ) ) + // InternalFiacre.g:5185:3: ( rule__SequencePattern__Group_1_1_3_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1()); + } + // InternalFiacre.g:5186:3: ( rule__SequencePattern__Group_1_1_3_1__0 ) + // InternalFiacre.g:5186:4: rule__SequencePattern__Group_1_1_3_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5190:2: ( ( rule__SequencePattern__Group_1_1_3_2__0 ) ) + { + // InternalFiacre.g:5190:2: ( ( rule__SequencePattern__Group_1_1_3_2__0 ) ) + // InternalFiacre.g:5191:3: ( rule__SequencePattern__Group_1_1_3_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_2()); + } + // InternalFiacre.g:5192:3: ( rule__SequencePattern__Group_1_1_3_2__0 ) + // InternalFiacre.g:5192:4: rule__SequencePattern__Group_1_1_3_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Alternatives_1_1_3" + + + // $ANTLR start "rule__LTLQuantified__Alternatives" + // InternalFiacre.g:5200:1: rule__LTLQuantified__Alternatives : ( ( ( rule__LTLQuantified__Group_0__0 ) ) | ( ruleLTLDisjunction ) ); + public final void rule__LTLQuantified__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5204:1: ( ( ( rule__LTLQuantified__Group_0__0 ) ) | ( ruleLTLDisjunction ) ) + int alt52=2; + int LA52_0 = input.LA(1); + + if ( ((LA52_0>=77 && LA52_0<=78)) ) { + alt52=1; + } + else if ( (LA52_0==RULE_ID||LA52_0==RULE_INT||LA52_0==22||LA52_0==52||LA52_0==83||LA52_0==91||(LA52_0>=130 && LA52_0<=132)) ) { + alt52=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 52, 0, input); + + throw nvae; + } + switch (alt52) { + case 1 : + // InternalFiacre.g:5205:2: ( ( rule__LTLQuantified__Group_0__0 ) ) + { + // InternalFiacre.g:5205:2: ( ( rule__LTLQuantified__Group_0__0 ) ) + // InternalFiacre.g:5206:3: ( rule__LTLQuantified__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getGroup_0()); + } + // InternalFiacre.g:5207:3: ( rule__LTLQuantified__Group_0__0 ) + // InternalFiacre.g:5207:4: rule__LTLQuantified__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5211:2: ( ruleLTLDisjunction ) + { + // InternalFiacre.g:5211:2: ( ruleLTLDisjunction ) + // InternalFiacre.g:5212:3: ruleLTLDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Alternatives" + + + // $ANTLR start "rule__LTLQuantified__Alternatives_0_0" + // InternalFiacre.g:5221:1: rule__LTLQuantified__Alternatives_0_0 : ( ( ( rule__LTLQuantified__Group_0_0_0__0 ) ) | ( ( rule__LTLQuantified__Group_0_0_1__0 ) ) ); + public final void rule__LTLQuantified__Alternatives_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5225:1: ( ( ( rule__LTLQuantified__Group_0_0_0__0 ) ) | ( ( rule__LTLQuantified__Group_0_0_1__0 ) ) ) + int alt53=2; + int LA53_0 = input.LA(1); + + if ( (LA53_0==77) ) { + alt53=1; + } + else if ( (LA53_0==78) ) { + alt53=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 53, 0, input); + + throw nvae; + } + switch (alt53) { + case 1 : + // InternalFiacre.g:5226:2: ( ( rule__LTLQuantified__Group_0_0_0__0 ) ) + { + // InternalFiacre.g:5226:2: ( ( rule__LTLQuantified__Group_0_0_0__0 ) ) + // InternalFiacre.g:5227:3: ( rule__LTLQuantified__Group_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_0()); + } + // InternalFiacre.g:5228:3: ( rule__LTLQuantified__Group_0_0_0__0 ) + // InternalFiacre.g:5228:4: rule__LTLQuantified__Group_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5232:2: ( ( rule__LTLQuantified__Group_0_0_1__0 ) ) + { + // InternalFiacre.g:5232:2: ( ( rule__LTLQuantified__Group_0_0_1__0 ) ) + // InternalFiacre.g:5233:3: ( rule__LTLQuantified__Group_0_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_1()); + } + // InternalFiacre.g:5234:3: ( rule__LTLQuantified__Group_0_0_1__0 ) + // InternalFiacre.g:5234:4: rule__LTLQuantified__Group_0_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getGroup_0_0_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Alternatives_0_0" + + + // $ANTLR start "rule__LTLBinary__Alternatives_1" + // InternalFiacre.g:5242:1: rule__LTLBinary__Alternatives_1 : ( ( ( rule__LTLBinary__Group_1_0__0 ) ) | ( ( rule__LTLBinary__Group_1_1__0 ) ) ); + public final void rule__LTLBinary__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5246:1: ( ( ( rule__LTLBinary__Group_1_0__0 ) ) | ( ( rule__LTLBinary__Group_1_1__0 ) ) ) + int alt54=2; + int LA54_0 = input.LA(1); + + if ( (LA54_0==121) ) { + alt54=1; + } + else if ( (LA54_0==129) ) { + alt54=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 54, 0, input); + + throw nvae; + } + switch (alt54) { + case 1 : + // InternalFiacre.g:5247:2: ( ( rule__LTLBinary__Group_1_0__0 ) ) + { + // InternalFiacre.g:5247:2: ( ( rule__LTLBinary__Group_1_0__0 ) ) + // InternalFiacre.g:5248:3: ( rule__LTLBinary__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getGroup_1_0()); + } + // InternalFiacre.g:5249:3: ( rule__LTLBinary__Group_1_0__0 ) + // InternalFiacre.g:5249:4: rule__LTLBinary__Group_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getGroup_1_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5253:2: ( ( rule__LTLBinary__Group_1_1__0 ) ) + { + // InternalFiacre.g:5253:2: ( ( rule__LTLBinary__Group_1_1__0 ) ) + // InternalFiacre.g:5254:3: ( rule__LTLBinary__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getGroup_1_1()); + } + // InternalFiacre.g:5255:3: ( rule__LTLBinary__Group_1_1__0 ) + // InternalFiacre.g:5255:4: rule__LTLBinary__Group_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getGroup_1_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Alternatives_1" + + + // $ANTLR start "rule__LTLUnary__Alternatives" + // InternalFiacre.g:5263:1: rule__LTLUnary__Alternatives : ( ( ( rule__LTLUnary__Group_0__0 ) ) | ( ruleAtomicLTL ) ); + public final void rule__LTLUnary__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5267:1: ( ( ( rule__LTLUnary__Group_0__0 ) ) | ( ruleAtomicLTL ) ) + int alt55=2; + int LA55_0 = input.LA(1); + + if ( (LA55_0==52||LA55_0==83||LA55_0==91||LA55_0==130) ) { + alt55=1; + } + else if ( (LA55_0==RULE_ID||LA55_0==RULE_INT||LA55_0==22||(LA55_0>=131 && LA55_0<=132)) ) { + alt55=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 55, 0, input); + + throw nvae; + } + switch (alt55) { + case 1 : + // InternalFiacre.g:5268:2: ( ( rule__LTLUnary__Group_0__0 ) ) + { + // InternalFiacre.g:5268:2: ( ( rule__LTLUnary__Group_0__0 ) ) + // InternalFiacre.g:5269:3: ( rule__LTLUnary__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getGroup_0()); + } + // InternalFiacre.g:5270:3: ( rule__LTLUnary__Group_0__0 ) + // InternalFiacre.g:5270:4: rule__LTLUnary__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5274:2: ( ruleAtomicLTL ) + { + // InternalFiacre.g:5274:2: ( ruleAtomicLTL ) + // InternalFiacre.g:5275:3: ruleAtomicLTL + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicLTL(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Alternatives" + + + // $ANTLR start "rule__LTLUnary__Alternatives_0_0" + // InternalFiacre.g:5284:1: rule__LTLUnary__Alternatives_0_0 : ( ( ( rule__LTLUnary__Group_0_0_0__0 ) ) | ( ( rule__LTLUnary__Group_0_0_1__0 ) ) | ( ( rule__LTLUnary__Group_0_0_2__0 ) ) | ( ( rule__LTLUnary__Group_0_0_3__0 ) ) ); + public final void rule__LTLUnary__Alternatives_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5288:1: ( ( ( rule__LTLUnary__Group_0_0_0__0 ) ) | ( ( rule__LTLUnary__Group_0_0_1__0 ) ) | ( ( rule__LTLUnary__Group_0_0_2__0 ) ) | ( ( rule__LTLUnary__Group_0_0_3__0 ) ) ) + int alt56=4; + switch ( input.LA(1) ) { + case 91: + { + alt56=1; + } + break; + case 130: + { + alt56=2; + } + break; + case 52: + { + alt56=3; + } + break; + case 83: + { + alt56=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 56, 0, input); + + throw nvae; + } + + switch (alt56) { + case 1 : + // InternalFiacre.g:5289:2: ( ( rule__LTLUnary__Group_0_0_0__0 ) ) + { + // InternalFiacre.g:5289:2: ( ( rule__LTLUnary__Group_0_0_0__0 ) ) + // InternalFiacre.g:5290:3: ( rule__LTLUnary__Group_0_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_0()); + } + // InternalFiacre.g:5291:3: ( rule__LTLUnary__Group_0_0_0__0 ) + // InternalFiacre.g:5291:4: rule__LTLUnary__Group_0_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5295:2: ( ( rule__LTLUnary__Group_0_0_1__0 ) ) + { + // InternalFiacre.g:5295:2: ( ( rule__LTLUnary__Group_0_0_1__0 ) ) + // InternalFiacre.g:5296:3: ( rule__LTLUnary__Group_0_0_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_1()); + } + // InternalFiacre.g:5297:3: ( rule__LTLUnary__Group_0_0_1__0 ) + // InternalFiacre.g:5297:4: rule__LTLUnary__Group_0_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5301:2: ( ( rule__LTLUnary__Group_0_0_2__0 ) ) + { + // InternalFiacre.g:5301:2: ( ( rule__LTLUnary__Group_0_0_2__0 ) ) + // InternalFiacre.g:5302:3: ( rule__LTLUnary__Group_0_0_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_2()); + } + // InternalFiacre.g:5303:3: ( rule__LTLUnary__Group_0_0_2__0 ) + // InternalFiacre.g:5303:4: rule__LTLUnary__Group_0_0_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:5307:2: ( ( rule__LTLUnary__Group_0_0_3__0 ) ) + { + // InternalFiacre.g:5307:2: ( ( rule__LTLUnary__Group_0_0_3__0 ) ) + // InternalFiacre.g:5308:3: ( rule__LTLUnary__Group_0_0_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getGroup_0_0_3()); + } + // InternalFiacre.g:5309:3: ( rule__LTLUnary__Group_0_0_3__0 ) + // InternalFiacre.g:5309:4: rule__LTLUnary__Group_0_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getGroup_0_0_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Alternatives_0_0" + + + // $ANTLR start "rule__AtomicLTL__Alternatives" + // InternalFiacre.g:5317:1: rule__AtomicLTL__Alternatives : ( ( ( rule__AtomicLTL__Group_0__0 ) ) | ( ruleObservableEvent ) | ( ( rule__AtomicLTL__Group_2__0 ) ) ); + public final void rule__AtomicLTL__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5321:1: ( ( ( rule__AtomicLTL__Group_0__0 ) ) | ( ruleObservableEvent ) | ( ( rule__AtomicLTL__Group_2__0 ) ) ) + int alt57=3; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA57_1 = input.LA(2); + + if ( (LA57_1==EOF||LA57_1==RULE_ID||LA57_1==19||LA57_1==23||(LA57_1>=26 && LA57_1<=27)||(LA57_1>=39 && LA57_1<=40)||LA57_1==48||(LA57_1>=79 && LA57_1<=81)||LA57_1==109||LA57_1==112||LA57_1==121||LA57_1==129) ) { + alt57=1; + } + else if ( (LA57_1==89) ) { + alt57=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 57, 1, input); + + throw nvae; + } + } + break; + case RULE_INT: + case 131: + case 132: + { + alt57=2; + } + break; + case 22: + { + alt57=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 57, 0, input); + + throw nvae; + } + + switch (alt57) { + case 1 : + // InternalFiacre.g:5322:2: ( ( rule__AtomicLTL__Group_0__0 ) ) + { + // InternalFiacre.g:5322:2: ( ( rule__AtomicLTL__Group_0__0 ) ) + // InternalFiacre.g:5323:3: ( rule__AtomicLTL__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getGroup_0()); + } + // InternalFiacre.g:5324:3: ( rule__AtomicLTL__Group_0__0 ) + // InternalFiacre.g:5324:4: rule__AtomicLTL__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5328:2: ( ruleObservableEvent ) + { + // InternalFiacre.g:5328:2: ( ruleObservableEvent ) + // InternalFiacre.g:5329:3: ruleObservableEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5334:2: ( ( rule__AtomicLTL__Group_2__0 ) ) + { + // InternalFiacre.g:5334:2: ( ( rule__AtomicLTL__Group_2__0 ) ) + // InternalFiacre.g:5335:3: ( rule__AtomicLTL__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getGroup_2()); + } + // InternalFiacre.g:5336:3: ( rule__AtomicLTL__Group_2__0 ) + // InternalFiacre.g:5336:4: rule__AtomicLTL__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getGroup_2()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Alternatives" + + + // $ANTLR start "rule__StateEvent__Alternatives" + // InternalFiacre.g:5344:1: rule__StateEvent__Alternatives : ( ( ruleEnterStateEvent ) | ( ruleLeaveStateEvent ) ); + public final void rule__StateEvent__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5348:1: ( ( ruleEnterStateEvent ) | ( ruleLeaveStateEvent ) ) + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==131) ) { + alt58=1; + } + else if ( (LA58_0==132) ) { + alt58=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 58, 0, input); + + throw nvae; + } + switch (alt58) { + case 1 : + // InternalFiacre.g:5349:2: ( ruleEnterStateEvent ) + { + // InternalFiacre.g:5349:2: ( ruleEnterStateEvent ) + // InternalFiacre.g:5350:3: ruleEnterStateEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleEnterStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5355:2: ( ruleLeaveStateEvent ) + { + // InternalFiacre.g:5355:2: ( ruleLeaveStateEvent ) + // InternalFiacre.g:5356:3: ruleLeaveStateEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLeaveStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateEvent__Alternatives" + + + // $ANTLR start "rule__ObservableNegation__Alternatives" + // InternalFiacre.g:5365:1: rule__ObservableNegation__Alternatives : ( ( ( rule__ObservableNegation__Group_0__0 ) ) | ( ruleAtomicObservable ) ); + public final void rule__ObservableNegation__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5369:1: ( ( ( rule__ObservableNegation__Group_0__0 ) ) | ( ruleAtomicObservable ) ) + int alt59=2; + int LA59_0 = input.LA(1); + + if ( (LA59_0==91) ) { + alt59=1; + } + else if ( (LA59_0==RULE_ID||LA59_0==RULE_INT||LA59_0==22||(LA59_0>=131 && LA59_0<=132)) ) { + alt59=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 59, 0, input); + + throw nvae; + } + switch (alt59) { + case 1 : + // InternalFiacre.g:5370:2: ( ( rule__ObservableNegation__Group_0__0 ) ) + { + // InternalFiacre.g:5370:2: ( ( rule__ObservableNegation__Group_0__0 ) ) + // InternalFiacre.g:5371:3: ( rule__ObservableNegation__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getGroup_0()); + } + // InternalFiacre.g:5372:3: ( rule__ObservableNegation__Group_0__0 ) + // InternalFiacre.g:5372:4: rule__ObservableNegation__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5376:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:5376:2: ( ruleAtomicObservable ) + // InternalFiacre.g:5377:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Alternatives" + + + // $ANTLR start "rule__AtomicObservable__Alternatives" + // InternalFiacre.g:5386:1: rule__AtomicObservable__Alternatives : ( ( ( rule__AtomicObservable__Group_0__0 ) ) | ( ruleObservableEvent ) ); + public final void rule__AtomicObservable__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5390:1: ( ( ( rule__AtomicObservable__Group_0__0 ) ) | ( ruleObservableEvent ) ) + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==22) ) { + alt60=1; + } + else if ( (LA60_0==RULE_ID||LA60_0==RULE_INT||(LA60_0>=131 && LA60_0<=132)) ) { + alt60=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 60, 0, input); + + throw nvae; + } + switch (alt60) { + case 1 : + // InternalFiacre.g:5391:2: ( ( rule__AtomicObservable__Group_0__0 ) ) + { + // InternalFiacre.g:5391:2: ( ( rule__AtomicObservable__Group_0__0 ) ) + // InternalFiacre.g:5392:3: ( rule__AtomicObservable__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getGroup_0()); + } + // InternalFiacre.g:5393:3: ( rule__AtomicObservable__Group_0__0 ) + // InternalFiacre.g:5393:4: rule__AtomicObservable__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicObservable__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getGroup_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5397:2: ( ruleObservableEvent ) + { + // InternalFiacre.g:5397:2: ( ruleObservableEvent ) + // InternalFiacre.g:5398:3: ruleObservableEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Alternatives" + + + // $ANTLR start "rule__ObservableEvent__Alternatives" + // InternalFiacre.g:5407:1: rule__ObservableEvent__Alternatives : ( ( rulePathEvent ) | ( ruleStateEvent ) ); + public final void rule__ObservableEvent__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5411:1: ( ( rulePathEvent ) | ( ruleStateEvent ) ) + int alt61=2; + int LA61_0 = input.LA(1); + + if ( (LA61_0==RULE_ID||LA61_0==RULE_INT) ) { + alt61=1; + } + else if ( ((LA61_0>=131 && LA61_0<=132)) ) { + alt61=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 61, 0, input); + + throw nvae; + } + switch (alt61) { + case 1 : + // InternalFiacre.g:5412:2: ( rulePathEvent ) + { + // InternalFiacre.g:5412:2: ( rulePathEvent ) + // InternalFiacre.g:5413:3: rulePathEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePathEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5418:2: ( ruleStateEvent ) + { + // InternalFiacre.g:5418:2: ( ruleStateEvent ) + // InternalFiacre.g:5419:3: ruleStateEvent + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStateEvent(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableEvent__Alternatives" + + + // $ANTLR start "rule__PathItem__Alternatives" + // InternalFiacre.g:5428:1: rule__PathItem__Alternatives : ( ( ruleNaturalItem ) | ( ruleNamedItem ) ); + public final void rule__PathItem__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5432:1: ( ( ruleNaturalItem ) | ( ruleNamedItem ) ) + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==RULE_INT) ) { + alt62=1; + } + else if ( (LA62_0==RULE_ID) ) { + alt62=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 62, 0, input); + + throw nvae; + } + switch (alt62) { + case 1 : + // InternalFiacre.g:5433:2: ( ruleNaturalItem ) + { + // InternalFiacre.g:5433:2: ( ruleNaturalItem ) + // InternalFiacre.g:5434:3: ruleNaturalItem + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNaturalItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5439:2: ( ruleNamedItem ) + { + // InternalFiacre.g:5439:2: ( ruleNamedItem ) + // InternalFiacre.g:5440:3: ruleNamedItem + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleNamedItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathItem__Alternatives" + + + // $ANTLR start "rule__Subject__Alternatives" + // InternalFiacre.g:5449:1: rule__Subject__Alternatives : ( ( ruleStateSubject ) | ( ruleValueSubject ) | ( ruleTagSubject ) | ( ruleEventSubject ) ); + public final void rule__Subject__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5453:1: ( ( ruleStateSubject ) | ( ruleValueSubject ) | ( ruleTagSubject ) | ( ruleEventSubject ) ) + int alt63=4; + switch ( input.LA(1) ) { + case 133: + { + alt63=1; + } + break; + case 134: + { + alt63=2; + } + break; + case 135: + { + alt63=3; + } + break; + case 136: + { + alt63=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 63, 0, input); + + throw nvae; + } + + switch (alt63) { + case 1 : + // InternalFiacre.g:5454:2: ( ruleStateSubject ) + { + // InternalFiacre.g:5454:2: ( ruleStateSubject ) + // InternalFiacre.g:5455:3: ruleStateSubject + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStateSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5460:2: ( ruleValueSubject ) + { + // InternalFiacre.g:5460:2: ( ruleValueSubject ) + // InternalFiacre.g:5461:3: ruleValueSubject + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleValueSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:5466:2: ( ruleTagSubject ) + { + // InternalFiacre.g:5466:2: ( ruleTagSubject ) + // InternalFiacre.g:5467:3: ruleTagSubject + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTagSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:5472:2: ( ruleEventSubject ) + { + // InternalFiacre.g:5472:2: ( ruleEventSubject ) + // InternalFiacre.g:5473:3: ruleEventSubject + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleEventSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); + } + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Subject__Alternatives" + + + // $ANTLR start "rule__Model__Group__0" + // InternalFiacre.g:5482:1: rule__Model__Group__0 : rule__Model__Group__0__Impl rule__Model__Group__1 ; + public final void rule__Model__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5486:1: ( rule__Model__Group__0__Impl rule__Model__Group__1 ) + // InternalFiacre.g:5487:2: rule__Model__Group__0__Impl rule__Model__Group__1 + { + pushFollow(FollowSets000.FOLLOW_4); + rule__Model__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__0" + + + // $ANTLR start "rule__Model__Group__0__Impl" + // InternalFiacre.g:5494:1: rule__Model__Group__0__Impl : ( () ) ; + public final void rule__Model__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5498:1: ( ( () ) ) + // InternalFiacre.g:5499:1: ( () ) + { + // InternalFiacre.g:5499:1: ( () ) + // InternalFiacre.g:5500:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getModelAction_0()); + } + // InternalFiacre.g:5501:2: () + // InternalFiacre.g:5501:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getModelAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__0__Impl" + + + // $ANTLR start "rule__Model__Group__1" + // InternalFiacre.g:5509:1: rule__Model__Group__1 : rule__Model__Group__1__Impl rule__Model__Group__2 ; + public final void rule__Model__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5513:1: ( rule__Model__Group__1__Impl rule__Model__Group__2 ) + // InternalFiacre.g:5514:2: rule__Model__Group__1__Impl rule__Model__Group__2 + { + pushFollow(FollowSets000.FOLLOW_4); + rule__Model__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__1" + + + // $ANTLR start "rule__Model__Group__1__Impl" + // InternalFiacre.g:5521:1: rule__Model__Group__1__Impl : ( ( rule__Model__ImportsAssignment_1 )* ) ; + public final void rule__Model__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5525:1: ( ( ( rule__Model__ImportsAssignment_1 )* ) ) + // InternalFiacre.g:5526:1: ( ( rule__Model__ImportsAssignment_1 )* ) + { + // InternalFiacre.g:5526:1: ( ( rule__Model__ImportsAssignment_1 )* ) + // InternalFiacre.g:5527:2: ( rule__Model__ImportsAssignment_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getImportsAssignment_1()); + } + // InternalFiacre.g:5528:2: ( rule__Model__ImportsAssignment_1 )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==18) ) { + alt64=1; + } + + + switch (alt64) { + case 1 : + // InternalFiacre.g:5528:3: rule__Model__ImportsAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_5); + rule__Model__ImportsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop64; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getImportsAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__1__Impl" + + + // $ANTLR start "rule__Model__Group__2" + // InternalFiacre.g:5536:1: rule__Model__Group__2 : rule__Model__Group__2__Impl ; + public final void rule__Model__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5540:1: ( rule__Model__Group__2__Impl ) + // InternalFiacre.g:5541:2: rule__Model__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Model__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__2" + + + // $ANTLR start "rule__Model__Group__2__Impl" + // InternalFiacre.g:5547:1: rule__Model__Group__2__Impl : ( ( rule__Model__Alternatives_2 )* ) ; + public final void rule__Model__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5551:1: ( ( ( rule__Model__Alternatives_2 )* ) ) + // InternalFiacre.g:5552:1: ( ( rule__Model__Alternatives_2 )* ) + { + // InternalFiacre.g:5552:1: ( ( rule__Model__Alternatives_2 )* ) + // InternalFiacre.g:5553:2: ( rule__Model__Alternatives_2 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getAlternatives_2()); + } + // InternalFiacre.g:5554:2: ( rule__Model__Alternatives_2 )* + loop65: + do { + int alt65=2; + int LA65_0 = input.LA(1); + + if ( (LA65_0==RULE_ID||LA65_0==19||(LA65_0>=26 && LA65_0<=27)||(LA65_0>=39 && LA65_0<=40)||LA65_0==48||LA65_0==109||LA65_0==112) ) { + alt65=1; + } + + + switch (alt65) { + case 1 : + // InternalFiacre.g:5554:3: rule__Model__Alternatives_2 + { + pushFollow(FollowSets000.FOLLOW_6); + rule__Model__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop65; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__Group__2__Impl" + + + // $ANTLR start "rule__Root__Group__0" + // InternalFiacre.g:5563:1: rule__Root__Group__0 : rule__Root__Group__0__Impl rule__Root__Group__1 ; + public final void rule__Root__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5567:1: ( rule__Root__Group__0__Impl rule__Root__Group__1 ) + // InternalFiacre.g:5568:2: rule__Root__Group__0__Impl rule__Root__Group__1 + { + pushFollow(FollowSets000.FOLLOW_7); + rule__Root__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__0" + + + // $ANTLR start "rule__Root__Group__0__Impl" + // InternalFiacre.g:5575:1: rule__Root__Group__0__Impl : ( () ) ; + public final void rule__Root__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5579:1: ( ( () ) ) + // InternalFiacre.g:5580:1: ( () ) + { + // InternalFiacre.g:5580:1: ( () ) + // InternalFiacre.g:5581:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getRootAction_0()); + } + // InternalFiacre.g:5582:2: () + // InternalFiacre.g:5582:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getRootAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__0__Impl" + + + // $ANTLR start "rule__Root__Group__1" + // InternalFiacre.g:5590:1: rule__Root__Group__1 : rule__Root__Group__1__Impl rule__Root__Group__2 ; + public final void rule__Root__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5594:1: ( rule__Root__Group__1__Impl rule__Root__Group__2 ) + // InternalFiacre.g:5595:2: rule__Root__Group__1__Impl rule__Root__Group__2 + { + pushFollow(FollowSets000.FOLLOW_8); + rule__Root__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__1" + + + // $ANTLR start "rule__Root__Group__1__Impl" + // InternalFiacre.g:5602:1: rule__Root__Group__1__Impl : ( ( rule__Root__DeclarationAssignment_1 ) ) ; + public final void rule__Root__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5606:1: ( ( ( rule__Root__DeclarationAssignment_1 ) ) ) + // InternalFiacre.g:5607:1: ( ( rule__Root__DeclarationAssignment_1 ) ) + { + // InternalFiacre.g:5607:1: ( ( rule__Root__DeclarationAssignment_1 ) ) + // InternalFiacre.g:5608:2: ( rule__Root__DeclarationAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getDeclarationAssignment_1()); + } + // InternalFiacre.g:5609:2: ( rule__Root__DeclarationAssignment_1 ) + // InternalFiacre.g:5609:3: rule__Root__DeclarationAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__DeclarationAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getDeclarationAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__1__Impl" + + + // $ANTLR start "rule__Root__Group__2" + // InternalFiacre.g:5617:1: rule__Root__Group__2 : rule__Root__Group__2__Impl ; + public final void rule__Root__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5621:1: ( rule__Root__Group__2__Impl ) + // InternalFiacre.g:5622:2: rule__Root__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__2" + + + // $ANTLR start "rule__Root__Group__2__Impl" + // InternalFiacre.g:5628:1: rule__Root__Group__2__Impl : ( ( rule__Root__Group_2__0 )? ) ; + public final void rule__Root__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5632:1: ( ( ( rule__Root__Group_2__0 )? ) ) + // InternalFiacre.g:5633:1: ( ( rule__Root__Group_2__0 )? ) + { + // InternalFiacre.g:5633:1: ( ( rule__Root__Group_2__0 )? ) + // InternalFiacre.g:5634:2: ( rule__Root__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getGroup_2()); + } + // InternalFiacre.g:5635:2: ( rule__Root__Group_2__0 )? + int alt66=2; + int LA66_0 = input.LA(1); + + if ( (LA66_0==16) ) { + alt66=1; + } + switch (alt66) { + case 1 : + // InternalFiacre.g:5635:3: rule__Root__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group__2__Impl" + + + // $ANTLR start "rule__Root__Group_2__0" + // InternalFiacre.g:5644:1: rule__Root__Group_2__0 : rule__Root__Group_2__0__Impl rule__Root__Group_2__1 ; + public final void rule__Root__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5648:1: ( rule__Root__Group_2__0__Impl rule__Root__Group_2__1 ) + // InternalFiacre.g:5649:2: rule__Root__Group_2__0__Impl rule__Root__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__Root__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2__0" + + + // $ANTLR start "rule__Root__Group_2__0__Impl" + // InternalFiacre.g:5656:1: rule__Root__Group_2__0__Impl : ( '>' ) ; + public final void rule__Root__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5660:1: ( ( '>' ) ) + // InternalFiacre.g:5661:1: ( '>' ) + { + // InternalFiacre.g:5661:1: ( '>' ) + // InternalFiacre.g:5662:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); + } + match(input,16,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2__0__Impl" + + + // $ANTLR start "rule__Root__Group_2__1" + // InternalFiacre.g:5671:1: rule__Root__Group_2__1 : rule__Root__Group_2__1__Impl ; + public final void rule__Root__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5675:1: ( rule__Root__Group_2__1__Impl ) + // InternalFiacre.g:5676:2: rule__Root__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2__1" + + + // $ANTLR start "rule__Root__Group_2__1__Impl" + // InternalFiacre.g:5682:1: rule__Root__Group_2__1__Impl : ( ( rule__Root__Group_2_1__0 ) ) ; + public final void rule__Root__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5686:1: ( ( ( rule__Root__Group_2_1__0 ) ) ) + // InternalFiacre.g:5687:1: ( ( rule__Root__Group_2_1__0 ) ) + { + // InternalFiacre.g:5687:1: ( ( rule__Root__Group_2_1__0 ) ) + // InternalFiacre.g:5688:2: ( rule__Root__Group_2_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getGroup_2_1()); + } + // InternalFiacre.g:5689:2: ( rule__Root__Group_2_1__0 ) + // InternalFiacre.g:5689:3: rule__Root__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2__1__Impl" + + + // $ANTLR start "rule__Root__Group_2_1__0" + // InternalFiacre.g:5698:1: rule__Root__Group_2_1__0 : rule__Root__Group_2_1__0__Impl rule__Root__Group_2_1__1 ; + public final void rule__Root__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5702:1: ( rule__Root__Group_2_1__0__Impl rule__Root__Group_2_1__1 ) + // InternalFiacre.g:5703:2: rule__Root__Group_2_1__0__Impl rule__Root__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_10); + rule__Root__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1__0" + + + // $ANTLR start "rule__Root__Group_2_1__0__Impl" + // InternalFiacre.g:5710:1: rule__Root__Group_2_1__0__Impl : ( ( rule__Root__ObservedAssignment_2_1_0 ) ) ; + public final void rule__Root__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5714:1: ( ( ( rule__Root__ObservedAssignment_2_1_0 ) ) ) + // InternalFiacre.g:5715:1: ( ( rule__Root__ObservedAssignment_2_1_0 ) ) + { + // InternalFiacre.g:5715:1: ( ( rule__Root__ObservedAssignment_2_1_0 ) ) + // InternalFiacre.g:5716:2: ( rule__Root__ObservedAssignment_2_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedAssignment_2_1_0()); + } + // InternalFiacre.g:5717:2: ( rule__Root__ObservedAssignment_2_1_0 ) + // InternalFiacre.g:5717:3: rule__Root__ObservedAssignment_2_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__ObservedAssignment_2_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedAssignment_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1__0__Impl" + + + // $ANTLR start "rule__Root__Group_2_1__1" + // InternalFiacre.g:5725:1: rule__Root__Group_2_1__1 : rule__Root__Group_2_1__1__Impl ; + public final void rule__Root__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5729:1: ( rule__Root__Group_2_1__1__Impl ) + // InternalFiacre.g:5730:2: rule__Root__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1__1" + + + // $ANTLR start "rule__Root__Group_2_1__1__Impl" + // InternalFiacre.g:5736:1: rule__Root__Group_2_1__1__Impl : ( ( rule__Root__Group_2_1_1__0 )* ) ; + public final void rule__Root__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5740:1: ( ( ( rule__Root__Group_2_1_1__0 )* ) ) + // InternalFiacre.g:5741:1: ( ( rule__Root__Group_2_1_1__0 )* ) + { + // InternalFiacre.g:5741:1: ( ( rule__Root__Group_2_1_1__0 )* ) + // InternalFiacre.g:5742:2: ( rule__Root__Group_2_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getGroup_2_1_1()); + } + // InternalFiacre.g:5743:2: ( rule__Root__Group_2_1_1__0 )* + loop67: + do { + int alt67=2; + int LA67_0 = input.LA(1); + + if ( (LA67_0==17) ) { + alt67=1; + } + + + switch (alt67) { + case 1 : + // InternalFiacre.g:5743:3: rule__Root__Group_2_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_11); + rule__Root__Group_2_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop67; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getGroup_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1__1__Impl" + + + // $ANTLR start "rule__Root__Group_2_1_1__0" + // InternalFiacre.g:5752:1: rule__Root__Group_2_1_1__0 : rule__Root__Group_2_1_1__0__Impl rule__Root__Group_2_1_1__1 ; + public final void rule__Root__Group_2_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5756:1: ( rule__Root__Group_2_1_1__0__Impl rule__Root__Group_2_1_1__1 ) + // InternalFiacre.g:5757:2: rule__Root__Group_2_1_1__0__Impl rule__Root__Group_2_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__Root__Group_2_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1_1__0" + + + // $ANTLR start "rule__Root__Group_2_1_1__0__Impl" + // InternalFiacre.g:5764:1: rule__Root__Group_2_1_1__0__Impl : ( '|' ) ; + public final void rule__Root__Group_2_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5768:1: ( ( '|' ) ) + // InternalFiacre.g:5769:1: ( '|' ) + { + // InternalFiacre.g:5769:1: ( '|' ) + // InternalFiacre.g:5770:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); + } + match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1_1__0__Impl" + + + // $ANTLR start "rule__Root__Group_2_1_1__1" + // InternalFiacre.g:5779:1: rule__Root__Group_2_1_1__1 : rule__Root__Group_2_1_1__1__Impl ; + public final void rule__Root__Group_2_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5783:1: ( rule__Root__Group_2_1_1__1__Impl ) + // InternalFiacre.g:5784:2: rule__Root__Group_2_1_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__Group_2_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1_1__1" + + + // $ANTLR start "rule__Root__Group_2_1_1__1__Impl" + // InternalFiacre.g:5790:1: rule__Root__Group_2_1_1__1__Impl : ( ( rule__Root__ObservedAssignment_2_1_1_1 ) ) ; + public final void rule__Root__Group_2_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5794:1: ( ( ( rule__Root__ObservedAssignment_2_1_1_1 ) ) ) + // InternalFiacre.g:5795:1: ( ( rule__Root__ObservedAssignment_2_1_1_1 ) ) + { + // InternalFiacre.g:5795:1: ( ( rule__Root__ObservedAssignment_2_1_1_1 ) ) + // InternalFiacre.g:5796:2: ( rule__Root__ObservedAssignment_2_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedAssignment_2_1_1_1()); + } + // InternalFiacre.g:5797:2: ( rule__Root__ObservedAssignment_2_1_1_1 ) + // InternalFiacre.g:5797:3: rule__Root__ObservedAssignment_2_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Root__ObservedAssignment_2_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedAssignment_2_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__Group_2_1_1__1__Impl" + + + // $ANTLR start "rule__ImportDeclaration__Group__0" + // InternalFiacre.g:5806:1: rule__ImportDeclaration__Group__0 : rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 ; + public final void rule__ImportDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5810:1: ( rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 ) + // InternalFiacre.g:5811:2: rule__ImportDeclaration__Group__0__Impl rule__ImportDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_12); + rule__ImportDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ImportDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__0" + + + // $ANTLR start "rule__ImportDeclaration__Group__0__Impl" + // InternalFiacre.g:5818:1: rule__ImportDeclaration__Group__0__Impl : ( '#include' ) ; + public final void rule__ImportDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5822:1: ( ( '#include' ) ) + // InternalFiacre.g:5823:1: ( '#include' ) + { + // InternalFiacre.g:5823:1: ( '#include' ) + // InternalFiacre.g:5824:2: '#include' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); + } + match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ImportDeclaration__Group__1" + // InternalFiacre.g:5833:1: rule__ImportDeclaration__Group__1 : rule__ImportDeclaration__Group__1__Impl ; + public final void rule__ImportDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5837:1: ( rule__ImportDeclaration__Group__1__Impl ) + // InternalFiacre.g:5838:2: rule__ImportDeclaration__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ImportDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__1" + + + // $ANTLR start "rule__ImportDeclaration__Group__1__Impl" + // InternalFiacre.g:5844:1: rule__ImportDeclaration__Group__1__Impl : ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) ; + public final void rule__ImportDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5848:1: ( ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) ) + // InternalFiacre.g:5849:1: ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) + { + // InternalFiacre.g:5849:1: ( ( rule__ImportDeclaration__ImportURIAssignment_1 ) ) + // InternalFiacre.g:5850:2: ( rule__ImportDeclaration__ImportURIAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); + } + // InternalFiacre.g:5851:2: ( rule__ImportDeclaration__ImportURIAssignment_1 ) + // InternalFiacre.g:5851:3: rule__ImportDeclaration__ImportURIAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ImportDeclaration__ImportURIAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImportDeclarationAccess().getImportURIAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__0" + // InternalFiacre.g:5860:1: rule__FunctionDeclaration__Group__0 : rule__FunctionDeclaration__Group__0__Impl rule__FunctionDeclaration__Group__1 ; + public final void rule__FunctionDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5864:1: ( rule__FunctionDeclaration__Group__0__Impl rule__FunctionDeclaration__Group__1 ) + // InternalFiacre.g:5865:2: rule__FunctionDeclaration__Group__0__Impl rule__FunctionDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__FunctionDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group__0__Impl" + // InternalFiacre.g:5872:1: rule__FunctionDeclaration__Group__0__Impl : ( 'function' ) ; + public final void rule__FunctionDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5876:1: ( ( 'function' ) ) + // InternalFiacre.g:5877:1: ( 'function' ) + { + // InternalFiacre.g:5877:1: ( 'function' ) + // InternalFiacre.g:5878:2: 'function' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); + } + match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__1" + // InternalFiacre.g:5887:1: rule__FunctionDeclaration__Group__1 : rule__FunctionDeclaration__Group__1__Impl rule__FunctionDeclaration__Group__2 ; + public final void rule__FunctionDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5891:1: ( rule__FunctionDeclaration__Group__1__Impl rule__FunctionDeclaration__Group__2 ) + // InternalFiacre.g:5892:2: rule__FunctionDeclaration__Group__1__Impl rule__FunctionDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_13); + rule__FunctionDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group__1__Impl" + // InternalFiacre.g:5899:1: rule__FunctionDeclaration__Group__1__Impl : ( ( rule__FunctionDeclaration__NameAssignment_1 ) ) ; + public final void rule__FunctionDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5903:1: ( ( ( rule__FunctionDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:5904:1: ( ( rule__FunctionDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:5904:1: ( ( rule__FunctionDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:5905:2: ( rule__FunctionDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:5906:2: ( rule__FunctionDeclaration__NameAssignment_1 ) + // InternalFiacre.g:5906:3: rule__FunctionDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__2" + // InternalFiacre.g:5914:1: rule__FunctionDeclaration__Group__2 : rule__FunctionDeclaration__Group__2__Impl rule__FunctionDeclaration__Group__3 ; + public final void rule__FunctionDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5918:1: ( rule__FunctionDeclaration__Group__2__Impl rule__FunctionDeclaration__Group__3 ) + // InternalFiacre.g:5919:2: rule__FunctionDeclaration__Group__2__Impl rule__FunctionDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_14); + rule__FunctionDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__2" + + + // $ANTLR start "rule__FunctionDeclaration__Group__2__Impl" + // InternalFiacre.g:5926:1: rule__FunctionDeclaration__Group__2__Impl : ( ( rule__FunctionDeclaration__Group_2__0 ) ) ; + public final void rule__FunctionDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5930:1: ( ( ( rule__FunctionDeclaration__Group_2__0 ) ) ) + // InternalFiacre.g:5931:1: ( ( rule__FunctionDeclaration__Group_2__0 ) ) + { + // InternalFiacre.g:5931:1: ( ( rule__FunctionDeclaration__Group_2__0 ) ) + // InternalFiacre.g:5932:2: ( rule__FunctionDeclaration__Group_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup_2()); + } + // InternalFiacre.g:5933:2: ( rule__FunctionDeclaration__Group_2__0 ) + // InternalFiacre.g:5933:3: rule__FunctionDeclaration__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__3" + // InternalFiacre.g:5941:1: rule__FunctionDeclaration__Group__3 : rule__FunctionDeclaration__Group__3__Impl rule__FunctionDeclaration__Group__4 ; + public final void rule__FunctionDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5945:1: ( rule__FunctionDeclaration__Group__3__Impl rule__FunctionDeclaration__Group__4 ) + // InternalFiacre.g:5946:2: rule__FunctionDeclaration__Group__3__Impl rule__FunctionDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__FunctionDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__3" + + + // $ANTLR start "rule__FunctionDeclaration__Group__3__Impl" + // InternalFiacre.g:5953:1: rule__FunctionDeclaration__Group__3__Impl : ( ':' ) ; + public final void rule__FunctionDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5957:1: ( ( ':' ) ) + // InternalFiacre.g:5958:1: ( ':' ) + { + // InternalFiacre.g:5958:1: ( ':' ) + // InternalFiacre.g:5959:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__4" + // InternalFiacre.g:5968:1: rule__FunctionDeclaration__Group__4 : rule__FunctionDeclaration__Group__4__Impl rule__FunctionDeclaration__Group__5 ; + public final void rule__FunctionDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5972:1: ( rule__FunctionDeclaration__Group__4__Impl rule__FunctionDeclaration__Group__5 ) + // InternalFiacre.g:5973:2: rule__FunctionDeclaration__Group__4__Impl rule__FunctionDeclaration__Group__5 + { + pushFollow(FollowSets000.FOLLOW_16); + rule__FunctionDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__4" + + + // $ANTLR start "rule__FunctionDeclaration__Group__4__Impl" + // InternalFiacre.g:5980:1: rule__FunctionDeclaration__Group__4__Impl : ( ( rule__FunctionDeclaration__TypeAssignment_4 ) ) ; + public final void rule__FunctionDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5984:1: ( ( ( rule__FunctionDeclaration__TypeAssignment_4 ) ) ) + // InternalFiacre.g:5985:1: ( ( rule__FunctionDeclaration__TypeAssignment_4 ) ) + { + // InternalFiacre.g:5985:1: ( ( rule__FunctionDeclaration__TypeAssignment_4 ) ) + // InternalFiacre.g:5986:2: ( rule__FunctionDeclaration__TypeAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getTypeAssignment_4()); + } + // InternalFiacre.g:5987:2: ( rule__FunctionDeclaration__TypeAssignment_4 ) + // InternalFiacre.g:5987:3: rule__FunctionDeclaration__TypeAssignment_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__TypeAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getTypeAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__5" + // InternalFiacre.g:5995:1: rule__FunctionDeclaration__Group__5 : rule__FunctionDeclaration__Group__5__Impl rule__FunctionDeclaration__Group__6 ; + public final void rule__FunctionDeclaration__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:5999:1: ( rule__FunctionDeclaration__Group__5__Impl rule__FunctionDeclaration__Group__6 ) + // InternalFiacre.g:6000:2: rule__FunctionDeclaration__Group__5__Impl rule__FunctionDeclaration__Group__6 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__FunctionDeclaration__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__5" + + + // $ANTLR start "rule__FunctionDeclaration__Group__5__Impl" + // InternalFiacre.g:6007:1: rule__FunctionDeclaration__Group__5__Impl : ( 'is' ) ; + public final void rule__FunctionDeclaration__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6011:1: ( ( 'is' ) ) + // InternalFiacre.g:6012:1: ( 'is' ) + { + // InternalFiacre.g:6012:1: ( 'is' ) + // InternalFiacre.g:6013:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__5__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__6" + // InternalFiacre.g:6022:1: rule__FunctionDeclaration__Group__6 : rule__FunctionDeclaration__Group__6__Impl rule__FunctionDeclaration__Group__7 ; + public final void rule__FunctionDeclaration__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6026:1: ( rule__FunctionDeclaration__Group__6__Impl rule__FunctionDeclaration__Group__7 ) + // InternalFiacre.g:6027:2: rule__FunctionDeclaration__Group__6__Impl rule__FunctionDeclaration__Group__7 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__FunctionDeclaration__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__6" + + + // $ANTLR start "rule__FunctionDeclaration__Group__6__Impl" + // InternalFiacre.g:6034:1: rule__FunctionDeclaration__Group__6__Impl : ( ( rule__FunctionDeclaration__Group_6__0 )? ) ; + public final void rule__FunctionDeclaration__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6038:1: ( ( ( rule__FunctionDeclaration__Group_6__0 )? ) ) + // InternalFiacre.g:6039:1: ( ( rule__FunctionDeclaration__Group_6__0 )? ) + { + // InternalFiacre.g:6039:1: ( ( rule__FunctionDeclaration__Group_6__0 )? ) + // InternalFiacre.g:6040:2: ( rule__FunctionDeclaration__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup_6()); + } + // InternalFiacre.g:6041:2: ( rule__FunctionDeclaration__Group_6__0 )? + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==25) ) { + alt68=1; + } + switch (alt68) { + case 1 : + // InternalFiacre.g:6041:3: rule__FunctionDeclaration__Group_6__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__6__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group__7" + // InternalFiacre.g:6049:1: rule__FunctionDeclaration__Group__7 : rule__FunctionDeclaration__Group__7__Impl ; + public final void rule__FunctionDeclaration__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6053:1: ( rule__FunctionDeclaration__Group__7__Impl ) + // InternalFiacre.g:6054:2: rule__FunctionDeclaration__Group__7__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__7" + + + // $ANTLR start "rule__FunctionDeclaration__Group__7__Impl" + // InternalFiacre.g:6060:1: rule__FunctionDeclaration__Group__7__Impl : ( ( rule__FunctionDeclaration__StatementAssignment_7 ) ) ; + public final void rule__FunctionDeclaration__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6064:1: ( ( ( rule__FunctionDeclaration__StatementAssignment_7 ) ) ) + // InternalFiacre.g:6065:1: ( ( rule__FunctionDeclaration__StatementAssignment_7 ) ) + { + // InternalFiacre.g:6065:1: ( ( rule__FunctionDeclaration__StatementAssignment_7 ) ) + // InternalFiacre.g:6066:2: ( rule__FunctionDeclaration__StatementAssignment_7 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getStatementAssignment_7()); + } + // InternalFiacre.g:6067:2: ( rule__FunctionDeclaration__StatementAssignment_7 ) + // InternalFiacre.g:6067:3: rule__FunctionDeclaration__StatementAssignment_7 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__StatementAssignment_7(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getStatementAssignment_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group__7__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__0" + // InternalFiacre.g:6076:1: rule__FunctionDeclaration__Group_2__0 : rule__FunctionDeclaration__Group_2__0__Impl rule__FunctionDeclaration__Group_2__1 ; + public final void rule__FunctionDeclaration__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6080:1: ( rule__FunctionDeclaration__Group_2__0__Impl rule__FunctionDeclaration__Group_2__1 ) + // InternalFiacre.g:6081:2: rule__FunctionDeclaration__Group_2__0__Impl rule__FunctionDeclaration__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_18); + rule__FunctionDeclaration__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__0__Impl" + // InternalFiacre.g:6088:1: rule__FunctionDeclaration__Group_2__0__Impl : ( '(' ) ; + public final void rule__FunctionDeclaration__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6092:1: ( ( '(' ) ) + // InternalFiacre.g:6093:1: ( '(' ) + { + // InternalFiacre.g:6093:1: ( '(' ) + // InternalFiacre.g:6094:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__1" + // InternalFiacre.g:6103:1: rule__FunctionDeclaration__Group_2__1 : rule__FunctionDeclaration__Group_2__1__Impl rule__FunctionDeclaration__Group_2__2 ; + public final void rule__FunctionDeclaration__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6107:1: ( rule__FunctionDeclaration__Group_2__1__Impl rule__FunctionDeclaration__Group_2__2 ) + // InternalFiacre.g:6108:2: rule__FunctionDeclaration__Group_2__1__Impl rule__FunctionDeclaration__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_18); + rule__FunctionDeclaration__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__1__Impl" + // InternalFiacre.g:6115:1: rule__FunctionDeclaration__Group_2__1__Impl : ( ( rule__FunctionDeclaration__Group_2_1__0 )? ) ; + public final void rule__FunctionDeclaration__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6119:1: ( ( ( rule__FunctionDeclaration__Group_2_1__0 )? ) ) + // InternalFiacre.g:6120:1: ( ( rule__FunctionDeclaration__Group_2_1__0 )? ) + { + // InternalFiacre.g:6120:1: ( ( rule__FunctionDeclaration__Group_2_1__0 )? ) + // InternalFiacre.g:6121:2: ( rule__FunctionDeclaration__Group_2_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1()); + } + // InternalFiacre.g:6122:2: ( rule__FunctionDeclaration__Group_2_1__0 )? + int alt69=2; + int LA69_0 = input.LA(1); + + if ( (LA69_0==RULE_ID||LA69_0==99) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // InternalFiacre.g:6122:3: rule__FunctionDeclaration__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__2" + // InternalFiacre.g:6130:1: rule__FunctionDeclaration__Group_2__2 : rule__FunctionDeclaration__Group_2__2__Impl ; + public final void rule__FunctionDeclaration__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6134:1: ( rule__FunctionDeclaration__Group_2__2__Impl ) + // InternalFiacre.g:6135:2: rule__FunctionDeclaration__Group_2__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__2" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2__2__Impl" + // InternalFiacre.g:6141:1: rule__FunctionDeclaration__Group_2__2__Impl : ( ')' ) ; + public final void rule__FunctionDeclaration__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6145:1: ( ( ')' ) ) + // InternalFiacre.g:6146:1: ( ')' ) + { + // InternalFiacre.g:6146:1: ( ')' ) + // InternalFiacre.g:6147:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2__2__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1__0" + // InternalFiacre.g:6157:1: rule__FunctionDeclaration__Group_2_1__0 : rule__FunctionDeclaration__Group_2_1__0__Impl rule__FunctionDeclaration__Group_2_1__1 ; + public final void rule__FunctionDeclaration__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6161:1: ( rule__FunctionDeclaration__Group_2_1__0__Impl rule__FunctionDeclaration__Group_2_1__1 ) + // InternalFiacre.g:6162:2: rule__FunctionDeclaration__Group_2_1__0__Impl rule__FunctionDeclaration__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__FunctionDeclaration__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1__0__Impl" + // InternalFiacre.g:6169:1: rule__FunctionDeclaration__Group_2_1__0__Impl : ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) ) ; + public final void rule__FunctionDeclaration__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6173:1: ( ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) ) ) + // InternalFiacre.g:6174:1: ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) ) + { + // InternalFiacre.g:6174:1: ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) ) + // InternalFiacre.g:6175:2: ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_0()); + } + // InternalFiacre.g:6176:2: ( rule__FunctionDeclaration__ParametersAssignment_2_1_0 ) + // InternalFiacre.g:6176:3: rule__FunctionDeclaration__ParametersAssignment_2_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__ParametersAssignment_2_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1__1" + // InternalFiacre.g:6184:1: rule__FunctionDeclaration__Group_2_1__1 : rule__FunctionDeclaration__Group_2_1__1__Impl ; + public final void rule__FunctionDeclaration__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6188:1: ( rule__FunctionDeclaration__Group_2_1__1__Impl ) + // InternalFiacre.g:6189:2: rule__FunctionDeclaration__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1__1__Impl" + // InternalFiacre.g:6195:1: rule__FunctionDeclaration__Group_2_1__1__Impl : ( ( rule__FunctionDeclaration__Group_2_1_1__0 )* ) ; + public final void rule__FunctionDeclaration__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6199:1: ( ( ( rule__FunctionDeclaration__Group_2_1_1__0 )* ) ) + // InternalFiacre.g:6200:1: ( ( rule__FunctionDeclaration__Group_2_1_1__0 )* ) + { + // InternalFiacre.g:6200:1: ( ( rule__FunctionDeclaration__Group_2_1_1__0 )* ) + // InternalFiacre.g:6201:2: ( rule__FunctionDeclaration__Group_2_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1_1()); + } + // InternalFiacre.g:6202:2: ( rule__FunctionDeclaration__Group_2_1_1__0 )* + loop70: + do { + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==24) ) { + alt70=1; + } + + + switch (alt70) { + case 1 : + // InternalFiacre.g:6202:3: rule__FunctionDeclaration__Group_2_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__FunctionDeclaration__Group_2_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop70; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1_1__0" + // InternalFiacre.g:6211:1: rule__FunctionDeclaration__Group_2_1_1__0 : rule__FunctionDeclaration__Group_2_1_1__0__Impl rule__FunctionDeclaration__Group_2_1_1__1 ; + public final void rule__FunctionDeclaration__Group_2_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6215:1: ( rule__FunctionDeclaration__Group_2_1_1__0__Impl rule__FunctionDeclaration__Group_2_1_1__1 ) + // InternalFiacre.g:6216:2: rule__FunctionDeclaration__Group_2_1_1__0__Impl rule__FunctionDeclaration__Group_2_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__FunctionDeclaration__Group_2_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1_1__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1_1__0__Impl" + // InternalFiacre.g:6223:1: rule__FunctionDeclaration__Group_2_1_1__0__Impl : ( ',' ) ; + public final void rule__FunctionDeclaration__Group_2_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6227:1: ( ( ',' ) ) + // InternalFiacre.g:6228:1: ( ',' ) + { + // InternalFiacre.g:6228:1: ( ',' ) + // InternalFiacre.g:6229:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1_1__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1_1__1" + // InternalFiacre.g:6238:1: rule__FunctionDeclaration__Group_2_1_1__1 : rule__FunctionDeclaration__Group_2_1_1__1__Impl ; + public final void rule__FunctionDeclaration__Group_2_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6242:1: ( rule__FunctionDeclaration__Group_2_1_1__1__Impl ) + // InternalFiacre.g:6243:2: rule__FunctionDeclaration__Group_2_1_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_2_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1_1__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group_2_1_1__1__Impl" + // InternalFiacre.g:6249:1: rule__FunctionDeclaration__Group_2_1_1__1__Impl : ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) ) ; + public final void rule__FunctionDeclaration__Group_2_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6253:1: ( ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) ) ) + // InternalFiacre.g:6254:1: ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) ) + { + // InternalFiacre.g:6254:1: ( ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) ) + // InternalFiacre.g:6255:2: ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_1_1()); + } + // InternalFiacre.g:6256:2: ( rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 ) + // InternalFiacre.g:6256:3: rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__ParametersAssignment_2_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getParametersAssignment_2_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_2_1_1__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__0" + // InternalFiacre.g:6265:1: rule__FunctionDeclaration__Group_6__0 : rule__FunctionDeclaration__Group_6__0__Impl rule__FunctionDeclaration__Group_6__1 ; + public final void rule__FunctionDeclaration__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6269:1: ( rule__FunctionDeclaration__Group_6__0__Impl rule__FunctionDeclaration__Group_6__1 ) + // InternalFiacre.g:6270:2: rule__FunctionDeclaration__Group_6__0__Impl rule__FunctionDeclaration__Group_6__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__FunctionDeclaration__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__0__Impl" + // InternalFiacre.g:6277:1: rule__FunctionDeclaration__Group_6__0__Impl : ( 'var' ) ; + public final void rule__FunctionDeclaration__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6281:1: ( ( 'var' ) ) + // InternalFiacre.g:6282:1: ( 'var' ) + { + // InternalFiacre.g:6282:1: ( 'var' ) + // InternalFiacre.g:6283:2: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); + } + match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__1" + // InternalFiacre.g:6292:1: rule__FunctionDeclaration__Group_6__1 : rule__FunctionDeclaration__Group_6__1__Impl rule__FunctionDeclaration__Group_6__2 ; + public final void rule__FunctionDeclaration__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6296:1: ( rule__FunctionDeclaration__Group_6__1__Impl rule__FunctionDeclaration__Group_6__2 ) + // InternalFiacre.g:6297:2: rule__FunctionDeclaration__Group_6__1__Impl rule__FunctionDeclaration__Group_6__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__FunctionDeclaration__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__1__Impl" + // InternalFiacre.g:6304:1: rule__FunctionDeclaration__Group_6__1__Impl : ( ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) ) ; + public final void rule__FunctionDeclaration__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6308:1: ( ( ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) ) ) + // InternalFiacre.g:6309:1: ( ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) ) + { + // InternalFiacre.g:6309:1: ( ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) ) + // InternalFiacre.g:6310:2: ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_1()); + } + // InternalFiacre.g:6311:2: ( rule__FunctionDeclaration__VariablesAssignment_6_1 ) + // InternalFiacre.g:6311:3: rule__FunctionDeclaration__VariablesAssignment_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__VariablesAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__1__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__2" + // InternalFiacre.g:6319:1: rule__FunctionDeclaration__Group_6__2 : rule__FunctionDeclaration__Group_6__2__Impl ; + public final void rule__FunctionDeclaration__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6323:1: ( rule__FunctionDeclaration__Group_6__2__Impl ) + // InternalFiacre.g:6324:2: rule__FunctionDeclaration__Group_6__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__2" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6__2__Impl" + // InternalFiacre.g:6330:1: rule__FunctionDeclaration__Group_6__2__Impl : ( ( rule__FunctionDeclaration__Group_6_2__0 )* ) ; + public final void rule__FunctionDeclaration__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6334:1: ( ( ( rule__FunctionDeclaration__Group_6_2__0 )* ) ) + // InternalFiacre.g:6335:1: ( ( rule__FunctionDeclaration__Group_6_2__0 )* ) + { + // InternalFiacre.g:6335:1: ( ( rule__FunctionDeclaration__Group_6_2__0 )* ) + // InternalFiacre.g:6336:2: ( rule__FunctionDeclaration__Group_6_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getGroup_6_2()); + } + // InternalFiacre.g:6337:2: ( rule__FunctionDeclaration__Group_6_2__0 )* + loop71: + do { + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==24) ) { + alt71=1; + } + + + switch (alt71) { + case 1 : + // InternalFiacre.g:6337:3: rule__FunctionDeclaration__Group_6_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__FunctionDeclaration__Group_6_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop71; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getGroup_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6__2__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6_2__0" + // InternalFiacre.g:6346:1: rule__FunctionDeclaration__Group_6_2__0 : rule__FunctionDeclaration__Group_6_2__0__Impl rule__FunctionDeclaration__Group_6_2__1 ; + public final void rule__FunctionDeclaration__Group_6_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6350:1: ( rule__FunctionDeclaration__Group_6_2__0__Impl rule__FunctionDeclaration__Group_6_2__1 ) + // InternalFiacre.g:6351:2: rule__FunctionDeclaration__Group_6_2__0__Impl rule__FunctionDeclaration__Group_6_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__FunctionDeclaration__Group_6_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6_2__0" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6_2__0__Impl" + // InternalFiacre.g:6358:1: rule__FunctionDeclaration__Group_6_2__0__Impl : ( ',' ) ; + public final void rule__FunctionDeclaration__Group_6_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6362:1: ( ( ',' ) ) + // InternalFiacre.g:6363:1: ( ',' ) + { + // InternalFiacre.g:6363:1: ( ',' ) + // InternalFiacre.g:6364:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6_2__0__Impl" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6_2__1" + // InternalFiacre.g:6373:1: rule__FunctionDeclaration__Group_6_2__1 : rule__FunctionDeclaration__Group_6_2__1__Impl ; + public final void rule__FunctionDeclaration__Group_6_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6377:1: ( rule__FunctionDeclaration__Group_6_2__1__Impl ) + // InternalFiacre.g:6378:2: rule__FunctionDeclaration__Group_6_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__Group_6_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6_2__1" + + + // $ANTLR start "rule__FunctionDeclaration__Group_6_2__1__Impl" + // InternalFiacre.g:6384:1: rule__FunctionDeclaration__Group_6_2__1__Impl : ( ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) ) ; + public final void rule__FunctionDeclaration__Group_6_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6388:1: ( ( ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) ) ) + // InternalFiacre.g:6389:1: ( ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) ) + { + // InternalFiacre.g:6389:1: ( ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) ) + // InternalFiacre.g:6390:2: ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_2_1()); + } + // InternalFiacre.g:6391:2: ( rule__FunctionDeclaration__VariablesAssignment_6_2_1 ) + // InternalFiacre.g:6391:3: rule__FunctionDeclaration__VariablesAssignment_6_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FunctionDeclaration__VariablesAssignment_6_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getVariablesAssignment_6_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__Group_6_2__1__Impl" + + + // $ANTLR start "rule__TypeDeclaration__Group__0" + // InternalFiacre.g:6400:1: rule__TypeDeclaration__Group__0 : rule__TypeDeclaration__Group__0__Impl rule__TypeDeclaration__Group__1 ; + public final void rule__TypeDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6404:1: ( rule__TypeDeclaration__Group__0__Impl rule__TypeDeclaration__Group__1 ) + // InternalFiacre.g:6405:2: rule__TypeDeclaration__Group__0__Impl rule__TypeDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__TypeDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__0" + + + // $ANTLR start "rule__TypeDeclaration__Group__0__Impl" + // InternalFiacre.g:6412:1: rule__TypeDeclaration__Group__0__Impl : ( 'type' ) ; + public final void rule__TypeDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6416:1: ( ( 'type' ) ) + // InternalFiacre.g:6417:1: ( 'type' ) + { + // InternalFiacre.g:6417:1: ( 'type' ) + // InternalFiacre.g:6418:2: 'type' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); + } + match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__TypeDeclaration__Group__1" + // InternalFiacre.g:6427:1: rule__TypeDeclaration__Group__1 : rule__TypeDeclaration__Group__1__Impl rule__TypeDeclaration__Group__2 ; + public final void rule__TypeDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6431:1: ( rule__TypeDeclaration__Group__1__Impl rule__TypeDeclaration__Group__2 ) + // InternalFiacre.g:6432:2: rule__TypeDeclaration__Group__1__Impl rule__TypeDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_16); + rule__TypeDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__1" + + + // $ANTLR start "rule__TypeDeclaration__Group__1__Impl" + // InternalFiacre.g:6439:1: rule__TypeDeclaration__Group__1__Impl : ( ( rule__TypeDeclaration__NameAssignment_1 ) ) ; + public final void rule__TypeDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6443:1: ( ( ( rule__TypeDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:6444:1: ( ( rule__TypeDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:6444:1: ( ( rule__TypeDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:6445:2: ( rule__TypeDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:6446:2: ( rule__TypeDeclaration__NameAssignment_1 ) + // InternalFiacre.g:6446:3: rule__TypeDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__TypeDeclaration__Group__2" + // InternalFiacre.g:6454:1: rule__TypeDeclaration__Group__2 : rule__TypeDeclaration__Group__2__Impl rule__TypeDeclaration__Group__3 ; + public final void rule__TypeDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6458:1: ( rule__TypeDeclaration__Group__2__Impl rule__TypeDeclaration__Group__3 ) + // InternalFiacre.g:6459:2: rule__TypeDeclaration__Group__2__Impl rule__TypeDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__TypeDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__2" + + + // $ANTLR start "rule__TypeDeclaration__Group__2__Impl" + // InternalFiacre.g:6466:1: rule__TypeDeclaration__Group__2__Impl : ( 'is' ) ; + public final void rule__TypeDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6470:1: ( ( 'is' ) ) + // InternalFiacre.g:6471:1: ( 'is' ) + { + // InternalFiacre.g:6471:1: ( 'is' ) + // InternalFiacre.g:6472:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__TypeDeclaration__Group__3" + // InternalFiacre.g:6481:1: rule__TypeDeclaration__Group__3 : rule__TypeDeclaration__Group__3__Impl ; + public final void rule__TypeDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6485:1: ( rule__TypeDeclaration__Group__3__Impl ) + // InternalFiacre.g:6486:2: rule__TypeDeclaration__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__3" + + + // $ANTLR start "rule__TypeDeclaration__Group__3__Impl" + // InternalFiacre.g:6492:1: rule__TypeDeclaration__Group__3__Impl : ( ( rule__TypeDeclaration__ValueAssignment_3 ) ) ; + public final void rule__TypeDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6496:1: ( ( ( rule__TypeDeclaration__ValueAssignment_3 ) ) ) + // InternalFiacre.g:6497:1: ( ( rule__TypeDeclaration__ValueAssignment_3 ) ) + { + // InternalFiacre.g:6497:1: ( ( rule__TypeDeclaration__ValueAssignment_3 ) ) + // InternalFiacre.g:6498:2: ( rule__TypeDeclaration__ValueAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getValueAssignment_3()); + } + // InternalFiacre.g:6499:2: ( rule__TypeDeclaration__ValueAssignment_3 ) + // InternalFiacre.g:6499:3: rule__TypeDeclaration__ValueAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TypeDeclaration__ValueAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getValueAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ChannelDeclaration__Group__0" + // InternalFiacre.g:6508:1: rule__ChannelDeclaration__Group__0 : rule__ChannelDeclaration__Group__0__Impl rule__ChannelDeclaration__Group__1 ; + public final void rule__ChannelDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6512:1: ( rule__ChannelDeclaration__Group__0__Impl rule__ChannelDeclaration__Group__1 ) + // InternalFiacre.g:6513:2: rule__ChannelDeclaration__Group__0__Impl rule__ChannelDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ChannelDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__0" + + + // $ANTLR start "rule__ChannelDeclaration__Group__0__Impl" + // InternalFiacre.g:6520:1: rule__ChannelDeclaration__Group__0__Impl : ( 'channel' ) ; + public final void rule__ChannelDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6524:1: ( ( 'channel' ) ) + // InternalFiacre.g:6525:1: ( 'channel' ) + { + // InternalFiacre.g:6525:1: ( 'channel' ) + // InternalFiacre.g:6526:2: 'channel' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); + } + match(input,27,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ChannelDeclaration__Group__1" + // InternalFiacre.g:6535:1: rule__ChannelDeclaration__Group__1 : rule__ChannelDeclaration__Group__1__Impl rule__ChannelDeclaration__Group__2 ; + public final void rule__ChannelDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6539:1: ( rule__ChannelDeclaration__Group__1__Impl rule__ChannelDeclaration__Group__2 ) + // InternalFiacre.g:6540:2: rule__ChannelDeclaration__Group__1__Impl rule__ChannelDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_16); + rule__ChannelDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__1" + + + // $ANTLR start "rule__ChannelDeclaration__Group__1__Impl" + // InternalFiacre.g:6547:1: rule__ChannelDeclaration__Group__1__Impl : ( ( rule__ChannelDeclaration__NameAssignment_1 ) ) ; + public final void rule__ChannelDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6551:1: ( ( ( rule__ChannelDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:6552:1: ( ( rule__ChannelDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:6552:1: ( ( rule__ChannelDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:6553:2: ( rule__ChannelDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:6554:2: ( rule__ChannelDeclaration__NameAssignment_1 ) + // InternalFiacre.g:6554:3: rule__ChannelDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ChannelDeclaration__Group__2" + // InternalFiacre.g:6562:1: rule__ChannelDeclaration__Group__2 : rule__ChannelDeclaration__Group__2__Impl rule__ChannelDeclaration__Group__3 ; + public final void rule__ChannelDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6566:1: ( rule__ChannelDeclaration__Group__2__Impl rule__ChannelDeclaration__Group__3 ) + // InternalFiacre.g:6567:2: rule__ChannelDeclaration__Group__2__Impl rule__ChannelDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_22); + rule__ChannelDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__2" + + + // $ANTLR start "rule__ChannelDeclaration__Group__2__Impl" + // InternalFiacre.g:6574:1: rule__ChannelDeclaration__Group__2__Impl : ( 'is' ) ; + public final void rule__ChannelDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6578:1: ( ( 'is' ) ) + // InternalFiacre.g:6579:1: ( 'is' ) + { + // InternalFiacre.g:6579:1: ( 'is' ) + // InternalFiacre.g:6580:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ChannelDeclaration__Group__3" + // InternalFiacre.g:6589:1: rule__ChannelDeclaration__Group__3 : rule__ChannelDeclaration__Group__3__Impl ; + public final void rule__ChannelDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6593:1: ( rule__ChannelDeclaration__Group__3__Impl ) + // InternalFiacre.g:6594:2: rule__ChannelDeclaration__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__3" + + + // $ANTLR start "rule__ChannelDeclaration__Group__3__Impl" + // InternalFiacre.g:6600:1: rule__ChannelDeclaration__Group__3__Impl : ( ( rule__ChannelDeclaration__ValueAssignment_3 ) ) ; + public final void rule__ChannelDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6604:1: ( ( ( rule__ChannelDeclaration__ValueAssignment_3 ) ) ) + // InternalFiacre.g:6605:1: ( ( rule__ChannelDeclaration__ValueAssignment_3 ) ) + { + // InternalFiacre.g:6605:1: ( ( rule__ChannelDeclaration__ValueAssignment_3 ) ) + // InternalFiacre.g:6606:2: ( rule__ChannelDeclaration__ValueAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getValueAssignment_3()); + } + // InternalFiacre.g:6607:2: ( rule__ChannelDeclaration__ValueAssignment_3 ) + // InternalFiacre.g:6607:3: rule__ChannelDeclaration__ValueAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelDeclaration__ValueAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getValueAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ChannelType__Group__0" + // InternalFiacre.g:6616:1: rule__ChannelType__Group__0 : rule__ChannelType__Group__0__Impl rule__ChannelType__Group__1 ; + public final void rule__ChannelType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6620:1: ( rule__ChannelType__Group__0__Impl rule__ChannelType__Group__1 ) + // InternalFiacre.g:6621:2: rule__ChannelType__Group__0__Impl rule__ChannelType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_22); + rule__ChannelType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__0" + + + // $ANTLR start "rule__ChannelType__Group__0__Impl" + // InternalFiacre.g:6628:1: rule__ChannelType__Group__0__Impl : ( () ) ; + public final void rule__ChannelType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6632:1: ( ( () ) ) + // InternalFiacre.g:6633:1: ( () ) + { + // InternalFiacre.g:6633:1: ( () ) + // InternalFiacre.g:6634:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getChannelTypeAction_0()); + } + // InternalFiacre.g:6635:2: () + // InternalFiacre.g:6635:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getChannelTypeAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__0__Impl" + + + // $ANTLR start "rule__ChannelType__Group__1" + // InternalFiacre.g:6643:1: rule__ChannelType__Group__1 : rule__ChannelType__Group__1__Impl rule__ChannelType__Group__2 ; + public final void rule__ChannelType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6647:1: ( rule__ChannelType__Group__1__Impl rule__ChannelType__Group__2 ) + // InternalFiacre.g:6648:2: rule__ChannelType__Group__1__Impl rule__ChannelType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_22); + rule__ChannelType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__1" + + + // $ANTLR start "rule__ChannelType__Group__1__Impl" + // InternalFiacre.g:6655:1: rule__ChannelType__Group__1__Impl : ( ( rule__ChannelType__Group_1__0 )? ) ; + public final void rule__ChannelType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6659:1: ( ( ( rule__ChannelType__Group_1__0 )? ) ) + // InternalFiacre.g:6660:1: ( ( rule__ChannelType__Group_1__0 )? ) + { + // InternalFiacre.g:6660:1: ( ( rule__ChannelType__Group_1__0 )? ) + // InternalFiacre.g:6661:2: ( rule__ChannelType__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getGroup_1()); + } + // InternalFiacre.g:6662:2: ( rule__ChannelType__Group_1__0 )? + int alt72=2; + alt72 = dfa72.predict(input); + switch (alt72) { + case 1 : + // InternalFiacre.g:6662:3: rule__ChannelType__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__1__Impl" + + + // $ANTLR start "rule__ChannelType__Group__2" + // InternalFiacre.g:6670:1: rule__ChannelType__Group__2 : rule__ChannelType__Group__2__Impl ; + public final void rule__ChannelType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6674:1: ( rule__ChannelType__Group__2__Impl ) + // InternalFiacre.g:6675:2: rule__ChannelType__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__2" + + + // $ANTLR start "rule__ChannelType__Group__2__Impl" + // InternalFiacre.g:6681:1: rule__ChannelType__Group__2__Impl : ( ( rule__ChannelType__Alternatives_2 ) ) ; + public final void rule__ChannelType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6685:1: ( ( ( rule__ChannelType__Alternatives_2 ) ) ) + // InternalFiacre.g:6686:1: ( ( rule__ChannelType__Alternatives_2 ) ) + { + // InternalFiacre.g:6686:1: ( ( rule__ChannelType__Alternatives_2 ) ) + // InternalFiacre.g:6687:2: ( rule__ChannelType__Alternatives_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getAlternatives_2()); + } + // InternalFiacre.g:6688:2: ( rule__ChannelType__Alternatives_2 ) + // InternalFiacre.g:6688:3: rule__ChannelType__Alternatives_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group__2__Impl" + + + // $ANTLR start "rule__ChannelType__Group_1__0" + // InternalFiacre.g:6697:1: rule__ChannelType__Group_1__0 : rule__ChannelType__Group_1__0__Impl rule__ChannelType__Group_1__1 ; + public final void rule__ChannelType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6701:1: ( rule__ChannelType__Group_1__0__Impl rule__ChannelType__Group_1__1 ) + // InternalFiacre.g:6702:2: rule__ChannelType__Group_1__0__Impl rule__ChannelType__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ChannelType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__0" + + + // $ANTLR start "rule__ChannelType__Group_1__0__Impl" + // InternalFiacre.g:6709:1: rule__ChannelType__Group_1__0__Impl : ( 'array' ) ; + public final void rule__ChannelType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6713:1: ( ( 'array' ) ) + // InternalFiacre.g:6714:1: ( 'array' ) + { + // InternalFiacre.g:6714:1: ( 'array' ) + // InternalFiacre.g:6715:2: 'array' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); + } + match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__0__Impl" + + + // $ANTLR start "rule__ChannelType__Group_1__1" + // InternalFiacre.g:6724:1: rule__ChannelType__Group_1__1 : rule__ChannelType__Group_1__1__Impl rule__ChannelType__Group_1__2 ; + public final void rule__ChannelType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6728:1: ( rule__ChannelType__Group_1__1__Impl rule__ChannelType__Group_1__2 ) + // InternalFiacre.g:6729:2: rule__ChannelType__Group_1__1__Impl rule__ChannelType__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_24); + rule__ChannelType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__1" + + + // $ANTLR start "rule__ChannelType__Group_1__1__Impl" + // InternalFiacre.g:6736:1: rule__ChannelType__Group_1__1__Impl : ( ( rule__ChannelType__SizeAssignment_1_1 ) ) ; + public final void rule__ChannelType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6740:1: ( ( ( rule__ChannelType__SizeAssignment_1_1 ) ) ) + // InternalFiacre.g:6741:1: ( ( rule__ChannelType__SizeAssignment_1_1 ) ) + { + // InternalFiacre.g:6741:1: ( ( rule__ChannelType__SizeAssignment_1_1 ) ) + // InternalFiacre.g:6742:2: ( rule__ChannelType__SizeAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getSizeAssignment_1_1()); + } + // InternalFiacre.g:6743:2: ( rule__ChannelType__SizeAssignment_1_1 ) + // InternalFiacre.g:6743:3: rule__ChannelType__SizeAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__SizeAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getSizeAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__1__Impl" + + + // $ANTLR start "rule__ChannelType__Group_1__2" + // InternalFiacre.g:6751:1: rule__ChannelType__Group_1__2 : rule__ChannelType__Group_1__2__Impl ; + public final void rule__ChannelType__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6755:1: ( rule__ChannelType__Group_1__2__Impl ) + // InternalFiacre.g:6756:2: rule__ChannelType__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__2" + + + // $ANTLR start "rule__ChannelType__Group_1__2__Impl" + // InternalFiacre.g:6762:1: rule__ChannelType__Group_1__2__Impl : ( 'of' ) ; + public final void rule__ChannelType__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6766:1: ( ( 'of' ) ) + // InternalFiacre.g:6767:1: ( 'of' ) + { + // InternalFiacre.g:6767:1: ( 'of' ) + // InternalFiacre.g:6768:2: 'of' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); + } + match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_1__2__Impl" + + + // $ANTLR start "rule__ChannelType__Group_2_0__0" + // InternalFiacre.g:6778:1: rule__ChannelType__Group_2_0__0 : rule__ChannelType__Group_2_0__0__Impl rule__ChannelType__Group_2_0__1 ; + public final void rule__ChannelType__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6782:1: ( rule__ChannelType__Group_2_0__0__Impl rule__ChannelType__Group_2_0__1 ) + // InternalFiacre.g:6783:2: rule__ChannelType__Group_2_0__0__Impl rule__ChannelType__Group_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_25); + rule__ChannelType__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0__0" + + + // $ANTLR start "rule__ChannelType__Group_2_0__0__Impl" + // InternalFiacre.g:6790:1: rule__ChannelType__Group_2_0__0__Impl : ( ( rule__ChannelType__Alternatives_2_0_0 )? ) ; + public final void rule__ChannelType__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6794:1: ( ( ( rule__ChannelType__Alternatives_2_0_0 )? ) ) + // InternalFiacre.g:6795:1: ( ( rule__ChannelType__Alternatives_2_0_0 )? ) + { + // InternalFiacre.g:6795:1: ( ( rule__ChannelType__Alternatives_2_0_0 )? ) + // InternalFiacre.g:6796:2: ( rule__ChannelType__Alternatives_2_0_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_0()); + } + // InternalFiacre.g:6797:2: ( rule__ChannelType__Alternatives_2_0_0 )? + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==49||LA73_0==137) ) { + alt73=1; + } + switch (alt73) { + case 1 : + // InternalFiacre.g:6797:3: rule__ChannelType__Alternatives_2_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Alternatives_2_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0__0__Impl" + + + // $ANTLR start "rule__ChannelType__Group_2_0__1" + // InternalFiacre.g:6805:1: rule__ChannelType__Group_2_0__1 : rule__ChannelType__Group_2_0__1__Impl ; + public final void rule__ChannelType__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6809:1: ( rule__ChannelType__Group_2_0__1__Impl ) + // InternalFiacre.g:6810:2: rule__ChannelType__Group_2_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0__1" + + + // $ANTLR start "rule__ChannelType__Group_2_0__1__Impl" + // InternalFiacre.g:6816:1: rule__ChannelType__Group_2_0__1__Impl : ( ( rule__ChannelType__Alternatives_2_0_1 ) ) ; + public final void rule__ChannelType__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6820:1: ( ( ( rule__ChannelType__Alternatives_2_0_1 ) ) ) + // InternalFiacre.g:6821:1: ( ( rule__ChannelType__Alternatives_2_0_1 ) ) + { + // InternalFiacre.g:6821:1: ( ( rule__ChannelType__Alternatives_2_0_1 ) ) + // InternalFiacre.g:6822:2: ( rule__ChannelType__Alternatives_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_1()); + } + // InternalFiacre.g:6823:2: ( rule__ChannelType__Alternatives_2_0_1 ) + // InternalFiacre.g:6823:3: rule__ChannelType__Alternatives_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Alternatives_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getAlternatives_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0__1__Impl" + + + // $ANTLR start "rule__ChannelType__Group_2_0_0_0__0" + // InternalFiacre.g:6832:1: rule__ChannelType__Group_2_0_0_0__0 : rule__ChannelType__Group_2_0_0_0__0__Impl rule__ChannelType__Group_2_0_0_0__1 ; + public final void rule__ChannelType__Group_2_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6836:1: ( rule__ChannelType__Group_2_0_0_0__0__Impl rule__ChannelType__Group_2_0_0_0__1 ) + // InternalFiacre.g:6837:2: rule__ChannelType__Group_2_0_0_0__0__Impl rule__ChannelType__Group_2_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_26); + rule__ChannelType__Group_2_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0_0_0__0" + + + // $ANTLR start "rule__ChannelType__Group_2_0_0_0__0__Impl" + // InternalFiacre.g:6844:1: rule__ChannelType__Group_2_0_0_0__0__Impl : ( ( rule__ChannelType__InAssignment_2_0_0_0_0 ) ) ; + public final void rule__ChannelType__Group_2_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6848:1: ( ( ( rule__ChannelType__InAssignment_2_0_0_0_0 ) ) ) + // InternalFiacre.g:6849:1: ( ( rule__ChannelType__InAssignment_2_0_0_0_0 ) ) + { + // InternalFiacre.g:6849:1: ( ( rule__ChannelType__InAssignment_2_0_0_0_0 ) ) + // InternalFiacre.g:6850:2: ( rule__ChannelType__InAssignment_2_0_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getInAssignment_2_0_0_0_0()); + } + // InternalFiacre.g:6851:2: ( rule__ChannelType__InAssignment_2_0_0_0_0 ) + // InternalFiacre.g:6851:3: rule__ChannelType__InAssignment_2_0_0_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__InAssignment_2_0_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getInAssignment_2_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0_0_0__0__Impl" + + + // $ANTLR start "rule__ChannelType__Group_2_0_0_0__1" + // InternalFiacre.g:6859:1: rule__ChannelType__Group_2_0_0_0__1 : rule__ChannelType__Group_2_0_0_0__1__Impl ; + public final void rule__ChannelType__Group_2_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6863:1: ( rule__ChannelType__Group_2_0_0_0__1__Impl ) + // InternalFiacre.g:6864:2: rule__ChannelType__Group_2_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0_0_0__1" + + + // $ANTLR start "rule__ChannelType__Group_2_0_0_0__1__Impl" + // InternalFiacre.g:6870:1: rule__ChannelType__Group_2_0_0_0__1__Impl : ( ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? ) ; + public final void rule__ChannelType__Group_2_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6874:1: ( ( ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? ) ) + // InternalFiacre.g:6875:1: ( ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? ) + { + // InternalFiacre.g:6875:1: ( ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? ) + // InternalFiacre.g:6876:2: ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_0_1()); + } + // InternalFiacre.g:6877:2: ( rule__ChannelType__OutAssignment_2_0_0_0_1 )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==137) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalFiacre.g:6877:3: rule__ChannelType__OutAssignment_2_0_0_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__OutAssignment_2_0_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutAssignment_2_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__Group_2_0_0_0__1__Impl" + + + // $ANTLR start "rule__TupleType__Group__0" + // InternalFiacre.g:6886:1: rule__TupleType__Group__0 : rule__TupleType__Group__0__Impl rule__TupleType__Group__1 ; + public final void rule__TupleType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6890:1: ( rule__TupleType__Group__0__Impl rule__TupleType__Group__1 ) + // InternalFiacre.g:6891:2: rule__TupleType__Group__0__Impl rule__TupleType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_27); + rule__TupleType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group__0" + + + // $ANTLR start "rule__TupleType__Group__0__Impl" + // InternalFiacre.g:6898:1: rule__TupleType__Group__0__Impl : ( ruleType ) ; + public final void rule__TupleType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6902:1: ( ( ruleType ) ) + // InternalFiacre.g:6903:1: ( ruleType ) + { + // InternalFiacre.g:6903:1: ( ruleType ) + // InternalFiacre.g:6904:2: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group__0__Impl" + + + // $ANTLR start "rule__TupleType__Group__1" + // InternalFiacre.g:6913:1: rule__TupleType__Group__1 : rule__TupleType__Group__1__Impl ; + public final void rule__TupleType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6917:1: ( rule__TupleType__Group__1__Impl ) + // InternalFiacre.g:6918:2: rule__TupleType__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group__1" + + + // $ANTLR start "rule__TupleType__Group__1__Impl" + // InternalFiacre.g:6924:1: rule__TupleType__Group__1__Impl : ( ( rule__TupleType__Group_1__0 )* ) ; + public final void rule__TupleType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6928:1: ( ( ( rule__TupleType__Group_1__0 )* ) ) + // InternalFiacre.g:6929:1: ( ( rule__TupleType__Group_1__0 )* ) + { + // InternalFiacre.g:6929:1: ( ( rule__TupleType__Group_1__0 )* ) + // InternalFiacre.g:6930:2: ( rule__TupleType__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getGroup_1()); + } + // InternalFiacre.g:6931:2: ( rule__TupleType__Group_1__0 )* + loop75: + do { + int alt75=2; + int LA75_0 = input.LA(1); + + if ( (LA75_0==30) ) { + alt75=1; + } + + + switch (alt75) { + case 1 : + // InternalFiacre.g:6931:3: rule__TupleType__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_28); + rule__TupleType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop75; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group__1__Impl" + + + // $ANTLR start "rule__TupleType__Group_1__0" + // InternalFiacre.g:6940:1: rule__TupleType__Group_1__0 : rule__TupleType__Group_1__0__Impl rule__TupleType__Group_1__1 ; + public final void rule__TupleType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6944:1: ( rule__TupleType__Group_1__0__Impl rule__TupleType__Group_1__1 ) + // InternalFiacre.g:6945:2: rule__TupleType__Group_1__0__Impl rule__TupleType__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_27); + rule__TupleType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__0" + + + // $ANTLR start "rule__TupleType__Group_1__0__Impl" + // InternalFiacre.g:6952:1: rule__TupleType__Group_1__0__Impl : ( () ) ; + public final void rule__TupleType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6956:1: ( ( () ) ) + // InternalFiacre.g:6957:1: ( () ) + { + // InternalFiacre.g:6957:1: ( () ) + // InternalFiacre.g:6958:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0()); + } + // InternalFiacre.g:6959:2: () + // InternalFiacre.g:6959:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__0__Impl" + + + // $ANTLR start "rule__TupleType__Group_1__1" + // InternalFiacre.g:6967:1: rule__TupleType__Group_1__1 : rule__TupleType__Group_1__1__Impl rule__TupleType__Group_1__2 ; + public final void rule__TupleType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6971:1: ( rule__TupleType__Group_1__1__Impl rule__TupleType__Group_1__2 ) + // InternalFiacre.g:6972:2: rule__TupleType__Group_1__1__Impl rule__TupleType__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__TupleType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__1" + + + // $ANTLR start "rule__TupleType__Group_1__1__Impl" + // InternalFiacre.g:6979:1: rule__TupleType__Group_1__1__Impl : ( '#' ) ; + public final void rule__TupleType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6983:1: ( ( '#' ) ) + // InternalFiacre.g:6984:1: ( '#' ) + { + // InternalFiacre.g:6984:1: ( '#' ) + // InternalFiacre.g:6985:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); + } + match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__1__Impl" + + + // $ANTLR start "rule__TupleType__Group_1__2" + // InternalFiacre.g:6994:1: rule__TupleType__Group_1__2 : rule__TupleType__Group_1__2__Impl ; + public final void rule__TupleType__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:6998:1: ( rule__TupleType__Group_1__2__Impl ) + // InternalFiacre.g:6999:2: rule__TupleType__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__2" + + + // $ANTLR start "rule__TupleType__Group_1__2__Impl" + // InternalFiacre.g:7005:1: rule__TupleType__Group_1__2__Impl : ( ( rule__TupleType__TypesAssignment_1_2 ) ) ; + public final void rule__TupleType__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7009:1: ( ( ( rule__TupleType__TypesAssignment_1_2 ) ) ) + // InternalFiacre.g:7010:1: ( ( rule__TupleType__TypesAssignment_1_2 ) ) + { + // InternalFiacre.g:7010:1: ( ( rule__TupleType__TypesAssignment_1_2 ) ) + // InternalFiacre.g:7011:2: ( rule__TupleType__TypesAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getTypesAssignment_1_2()); + } + // InternalFiacre.g:7012:2: ( rule__TupleType__TypesAssignment_1_2 ) + // InternalFiacre.g:7012:3: rule__TupleType__TypesAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TupleType__TypesAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getTypesAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__Group_1__2__Impl" + + + // $ANTLR start "rule__BasicType__Group_0__0" + // InternalFiacre.g:7021:1: rule__BasicType__Group_0__0 : rule__BasicType__Group_0__0__Impl rule__BasicType__Group_0__1 ; + public final void rule__BasicType__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7025:1: ( rule__BasicType__Group_0__0__Impl rule__BasicType__Group_0__1 ) + // InternalFiacre.g:7026:2: rule__BasicType__Group_0__0__Impl rule__BasicType__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_29); + rule__BasicType__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_0__0" + + + // $ANTLR start "rule__BasicType__Group_0__0__Impl" + // InternalFiacre.g:7033:1: rule__BasicType__Group_0__0__Impl : ( () ) ; + public final void rule__BasicType__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7037:1: ( ( () ) ) + // InternalFiacre.g:7038:1: ( () ) + { + // InternalFiacre.g:7038:1: ( () ) + // InternalFiacre.g:7039:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0()); + } + // InternalFiacre.g:7040:2: () + // InternalFiacre.g:7040:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_0__0__Impl" + + + // $ANTLR start "rule__BasicType__Group_0__1" + // InternalFiacre.g:7048:1: rule__BasicType__Group_0__1 : rule__BasicType__Group_0__1__Impl ; + public final void rule__BasicType__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7052:1: ( rule__BasicType__Group_0__1__Impl ) + // InternalFiacre.g:7053:2: rule__BasicType__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_0__1" + + + // $ANTLR start "rule__BasicType__Group_0__1__Impl" + // InternalFiacre.g:7059:1: rule__BasicType__Group_0__1__Impl : ( 'nat' ) ; + public final void rule__BasicType__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7063:1: ( ( 'nat' ) ) + // InternalFiacre.g:7064:1: ( 'nat' ) + { + // InternalFiacre.g:7064:1: ( 'nat' ) + // InternalFiacre.g:7065:2: 'nat' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); + } + match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_0__1__Impl" + + + // $ANTLR start "rule__BasicType__Group_1__0" + // InternalFiacre.g:7075:1: rule__BasicType__Group_1__0 : rule__BasicType__Group_1__0__Impl rule__BasicType__Group_1__1 ; + public final void rule__BasicType__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7079:1: ( rule__BasicType__Group_1__0__Impl rule__BasicType__Group_1__1 ) + // InternalFiacre.g:7080:2: rule__BasicType__Group_1__0__Impl rule__BasicType__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_30); + rule__BasicType__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_1__0" + + + // $ANTLR start "rule__BasicType__Group_1__0__Impl" + // InternalFiacre.g:7087:1: rule__BasicType__Group_1__0__Impl : ( () ) ; + public final void rule__BasicType__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7091:1: ( ( () ) ) + // InternalFiacre.g:7092:1: ( () ) + { + // InternalFiacre.g:7092:1: ( () ) + // InternalFiacre.g:7093:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0()); + } + // InternalFiacre.g:7094:2: () + // InternalFiacre.g:7094:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_1__0__Impl" + + + // $ANTLR start "rule__BasicType__Group_1__1" + // InternalFiacre.g:7102:1: rule__BasicType__Group_1__1 : rule__BasicType__Group_1__1__Impl ; + public final void rule__BasicType__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7106:1: ( rule__BasicType__Group_1__1__Impl ) + // InternalFiacre.g:7107:2: rule__BasicType__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_1__1" + + + // $ANTLR start "rule__BasicType__Group_1__1__Impl" + // InternalFiacre.g:7113:1: rule__BasicType__Group_1__1__Impl : ( 'int' ) ; + public final void rule__BasicType__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7117:1: ( ( 'int' ) ) + // InternalFiacre.g:7118:1: ( 'int' ) + { + // InternalFiacre.g:7118:1: ( 'int' ) + // InternalFiacre.g:7119:2: 'int' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); + } + match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_1__1__Impl" + + + // $ANTLR start "rule__BasicType__Group_2__0" + // InternalFiacre.g:7129:1: rule__BasicType__Group_2__0 : rule__BasicType__Group_2__0__Impl rule__BasicType__Group_2__1 ; + public final void rule__BasicType__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7133:1: ( rule__BasicType__Group_2__0__Impl rule__BasicType__Group_2__1 ) + // InternalFiacre.g:7134:2: rule__BasicType__Group_2__0__Impl rule__BasicType__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_31); + rule__BasicType__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_2__0" + + + // $ANTLR start "rule__BasicType__Group_2__0__Impl" + // InternalFiacre.g:7141:1: rule__BasicType__Group_2__0__Impl : ( () ) ; + public final void rule__BasicType__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7145:1: ( ( () ) ) + // InternalFiacre.g:7146:1: ( () ) + { + // InternalFiacre.g:7146:1: ( () ) + // InternalFiacre.g:7147:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0()); + } + // InternalFiacre.g:7148:2: () + // InternalFiacre.g:7148:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_2__0__Impl" + + + // $ANTLR start "rule__BasicType__Group_2__1" + // InternalFiacre.g:7156:1: rule__BasicType__Group_2__1 : rule__BasicType__Group_2__1__Impl ; + public final void rule__BasicType__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7160:1: ( rule__BasicType__Group_2__1__Impl ) + // InternalFiacre.g:7161:2: rule__BasicType__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BasicType__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_2__1" + + + // $ANTLR start "rule__BasicType__Group_2__1__Impl" + // InternalFiacre.g:7167:1: rule__BasicType__Group_2__1__Impl : ( 'bool' ) ; + public final void rule__BasicType__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7171:1: ( ( 'bool' ) ) + // InternalFiacre.g:7172:1: ( 'bool' ) + { + // InternalFiacre.g:7172:1: ( 'bool' ) + // InternalFiacre.g:7173:2: 'bool' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); + } + match(input,33,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BasicType__Group_2__1__Impl" + + + // $ANTLR start "rule__RangeType__Group__0" + // InternalFiacre.g:7183:1: rule__RangeType__Group__0 : rule__RangeType__Group__0__Impl rule__RangeType__Group__1 ; + public final void rule__RangeType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7187:1: ( rule__RangeType__Group__0__Impl rule__RangeType__Group__1 ) + // InternalFiacre.g:7188:2: rule__RangeType__Group__0__Impl rule__RangeType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_32); + rule__RangeType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__0" + + + // $ANTLR start "rule__RangeType__Group__0__Impl" + // InternalFiacre.g:7195:1: rule__RangeType__Group__0__Impl : ( ( rule__RangeType__MinimumAssignment_0 ) ) ; + public final void rule__RangeType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7199:1: ( ( ( rule__RangeType__MinimumAssignment_0 ) ) ) + // InternalFiacre.g:7200:1: ( ( rule__RangeType__MinimumAssignment_0 ) ) + { + // InternalFiacre.g:7200:1: ( ( rule__RangeType__MinimumAssignment_0 ) ) + // InternalFiacre.g:7201:2: ( rule__RangeType__MinimumAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getMinimumAssignment_0()); + } + // InternalFiacre.g:7202:2: ( rule__RangeType__MinimumAssignment_0 ) + // InternalFiacre.g:7202:3: rule__RangeType__MinimumAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__MinimumAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getMinimumAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__0__Impl" + + + // $ANTLR start "rule__RangeType__Group__1" + // InternalFiacre.g:7210:1: rule__RangeType__Group__1 : rule__RangeType__Group__1__Impl rule__RangeType__Group__2 ; + public final void rule__RangeType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7214:1: ( rule__RangeType__Group__1__Impl rule__RangeType__Group__2 ) + // InternalFiacre.g:7215:2: rule__RangeType__Group__1__Impl rule__RangeType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__RangeType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__1" + + + // $ANTLR start "rule__RangeType__Group__1__Impl" + // InternalFiacre.g:7222:1: rule__RangeType__Group__1__Impl : ( '..' ) ; + public final void rule__RangeType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7226:1: ( ( '..' ) ) + // InternalFiacre.g:7227:1: ( '..' ) + { + // InternalFiacre.g:7227:1: ( '..' ) + // InternalFiacre.g:7228:2: '..' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); + } + match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__1__Impl" + + + // $ANTLR start "rule__RangeType__Group__2" + // InternalFiacre.g:7237:1: rule__RangeType__Group__2 : rule__RangeType__Group__2__Impl ; + public final void rule__RangeType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7241:1: ( rule__RangeType__Group__2__Impl ) + // InternalFiacre.g:7242:2: rule__RangeType__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__2" + + + // $ANTLR start "rule__RangeType__Group__2__Impl" + // InternalFiacre.g:7248:1: rule__RangeType__Group__2__Impl : ( ( rule__RangeType__MaximumAssignment_2 ) ) ; + public final void rule__RangeType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7252:1: ( ( ( rule__RangeType__MaximumAssignment_2 ) ) ) + // InternalFiacre.g:7253:1: ( ( rule__RangeType__MaximumAssignment_2 ) ) + { + // InternalFiacre.g:7253:1: ( ( rule__RangeType__MaximumAssignment_2 ) ) + // InternalFiacre.g:7254:2: ( rule__RangeType__MaximumAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getMaximumAssignment_2()); + } + // InternalFiacre.g:7255:2: ( rule__RangeType__MaximumAssignment_2 ) + // InternalFiacre.g:7255:3: rule__RangeType__MaximumAssignment_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RangeType__MaximumAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getMaximumAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__Group__2__Impl" + + + // $ANTLR start "rule__UnionType__Group__0" + // InternalFiacre.g:7264:1: rule__UnionType__Group__0 : rule__UnionType__Group__0__Impl rule__UnionType__Group__1 ; + public final void rule__UnionType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7268:1: ( rule__UnionType__Group__0__Impl rule__UnionType__Group__1 ) + // InternalFiacre.g:7269:2: rule__UnionType__Group__0__Impl rule__UnionType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__UnionType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__0" + + + // $ANTLR start "rule__UnionType__Group__0__Impl" + // InternalFiacre.g:7276:1: rule__UnionType__Group__0__Impl : ( 'union' ) ; + public final void rule__UnionType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7280:1: ( ( 'union' ) ) + // InternalFiacre.g:7281:1: ( 'union' ) + { + // InternalFiacre.g:7281:1: ( 'union' ) + // InternalFiacre.g:7282:2: 'union' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); + } + match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__0__Impl" + + + // $ANTLR start "rule__UnionType__Group__1" + // InternalFiacre.g:7291:1: rule__UnionType__Group__1 : rule__UnionType__Group__1__Impl rule__UnionType__Group__2 ; + public final void rule__UnionType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7295:1: ( rule__UnionType__Group__1__Impl rule__UnionType__Group__2 ) + // InternalFiacre.g:7296:2: rule__UnionType__Group__1__Impl rule__UnionType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__UnionType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__1" + + + // $ANTLR start "rule__UnionType__Group__1__Impl" + // InternalFiacre.g:7303:1: rule__UnionType__Group__1__Impl : ( ( rule__UnionType__TagsAssignment_1 ) ) ; + public final void rule__UnionType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7307:1: ( ( ( rule__UnionType__TagsAssignment_1 ) ) ) + // InternalFiacre.g:7308:1: ( ( rule__UnionType__TagsAssignment_1 ) ) + { + // InternalFiacre.g:7308:1: ( ( rule__UnionType__TagsAssignment_1 ) ) + // InternalFiacre.g:7309:2: ( rule__UnionType__TagsAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getTagsAssignment_1()); + } + // InternalFiacre.g:7310:2: ( rule__UnionType__TagsAssignment_1 ) + // InternalFiacre.g:7310:3: rule__UnionType__TagsAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__TagsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getTagsAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__1__Impl" + + + // $ANTLR start "rule__UnionType__Group__2" + // InternalFiacre.g:7318:1: rule__UnionType__Group__2 : rule__UnionType__Group__2__Impl rule__UnionType__Group__3 ; + public final void rule__UnionType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7322:1: ( rule__UnionType__Group__2__Impl rule__UnionType__Group__3 ) + // InternalFiacre.g:7323:2: rule__UnionType__Group__2__Impl rule__UnionType__Group__3 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__UnionType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__2" + + + // $ANTLR start "rule__UnionType__Group__2__Impl" + // InternalFiacre.g:7330:1: rule__UnionType__Group__2__Impl : ( ( rule__UnionType__Group_2__0 )* ) ; + public final void rule__UnionType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7334:1: ( ( ( rule__UnionType__Group_2__0 )* ) ) + // InternalFiacre.g:7335:1: ( ( rule__UnionType__Group_2__0 )* ) + { + // InternalFiacre.g:7335:1: ( ( rule__UnionType__Group_2__0 )* ) + // InternalFiacre.g:7336:2: ( rule__UnionType__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getGroup_2()); + } + // InternalFiacre.g:7337:2: ( rule__UnionType__Group_2__0 )* + loop76: + do { + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==17) ) { + alt76=1; + } + + + switch (alt76) { + case 1 : + // InternalFiacre.g:7337:3: rule__UnionType__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_11); + rule__UnionType__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop76; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__2__Impl" + + + // $ANTLR start "rule__UnionType__Group__3" + // InternalFiacre.g:7345:1: rule__UnionType__Group__3 : rule__UnionType__Group__3__Impl rule__UnionType__Group__4 ; + public final void rule__UnionType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7349:1: ( rule__UnionType__Group__3__Impl rule__UnionType__Group__4 ) + // InternalFiacre.g:7350:2: rule__UnionType__Group__3__Impl rule__UnionType__Group__4 + { + pushFollow(FollowSets000.FOLLOW_34); + rule__UnionType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__3" + + + // $ANTLR start "rule__UnionType__Group__3__Impl" + // InternalFiacre.g:7357:1: rule__UnionType__Group__3__Impl : ( 'end' ) ; + public final void rule__UnionType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7361:1: ( ( 'end' ) ) + // InternalFiacre.g:7362:1: ( 'end' ) + { + // InternalFiacre.g:7362:1: ( 'end' ) + // InternalFiacre.g:7363:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getEndKeyword_3()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getEndKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__3__Impl" + + + // $ANTLR start "rule__UnionType__Group__4" + // InternalFiacre.g:7372:1: rule__UnionType__Group__4 : rule__UnionType__Group__4__Impl ; + public final void rule__UnionType__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7376:1: ( rule__UnionType__Group__4__Impl ) + // InternalFiacre.g:7377:2: rule__UnionType__Group__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__4" + + + // $ANTLR start "rule__UnionType__Group__4__Impl" + // InternalFiacre.g:7383:1: rule__UnionType__Group__4__Impl : ( ( 'union' )? ) ; + public final void rule__UnionType__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7387:1: ( ( ( 'union' )? ) ) + // InternalFiacre.g:7388:1: ( ( 'union' )? ) + { + // InternalFiacre.g:7388:1: ( ( 'union' )? ) + // InternalFiacre.g:7389:2: ( 'union' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); + } + // InternalFiacre.g:7390:2: ( 'union' )? + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==35) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // InternalFiacre.g:7390:3: 'union' + { + match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group__4__Impl" + + + // $ANTLR start "rule__UnionType__Group_2__0" + // InternalFiacre.g:7399:1: rule__UnionType__Group_2__0 : rule__UnionType__Group_2__0__Impl rule__UnionType__Group_2__1 ; + public final void rule__UnionType__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7403:1: ( rule__UnionType__Group_2__0__Impl rule__UnionType__Group_2__1 ) + // InternalFiacre.g:7404:2: rule__UnionType__Group_2__0__Impl rule__UnionType__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__UnionType__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group_2__0" + + + // $ANTLR start "rule__UnionType__Group_2__0__Impl" + // InternalFiacre.g:7411:1: rule__UnionType__Group_2__0__Impl : ( '|' ) ; + public final void rule__UnionType__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7415:1: ( ( '|' ) ) + // InternalFiacre.g:7416:1: ( '|' ) + { + // InternalFiacre.g:7416:1: ( '|' ) + // InternalFiacre.g:7417:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); + } + match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group_2__0__Impl" + + + // $ANTLR start "rule__UnionType__Group_2__1" + // InternalFiacre.g:7426:1: rule__UnionType__Group_2__1 : rule__UnionType__Group_2__1__Impl ; + public final void rule__UnionType__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7430:1: ( rule__UnionType__Group_2__1__Impl ) + // InternalFiacre.g:7431:2: rule__UnionType__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group_2__1" + + + // $ANTLR start "rule__UnionType__Group_2__1__Impl" + // InternalFiacre.g:7437:1: rule__UnionType__Group_2__1__Impl : ( ( rule__UnionType__TagsAssignment_2_1 ) ) ; + public final void rule__UnionType__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7441:1: ( ( ( rule__UnionType__TagsAssignment_2_1 ) ) ) + // InternalFiacre.g:7442:1: ( ( rule__UnionType__TagsAssignment_2_1 ) ) + { + // InternalFiacre.g:7442:1: ( ( rule__UnionType__TagsAssignment_2_1 ) ) + // InternalFiacre.g:7443:2: ( rule__UnionType__TagsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getTagsAssignment_2_1()); + } + // InternalFiacre.g:7444:2: ( rule__UnionType__TagsAssignment_2_1 ) + // InternalFiacre.g:7444:3: rule__UnionType__TagsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionType__TagsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getTagsAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__Group_2__1__Impl" + + + // $ANTLR start "rule__UnionTags__Group__0" + // InternalFiacre.g:7453:1: rule__UnionTags__Group__0 : rule__UnionTags__Group__0__Impl rule__UnionTags__Group__1 ; + public final void rule__UnionTags__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7457:1: ( rule__UnionTags__Group__0__Impl rule__UnionTags__Group__1 ) + // InternalFiacre.g:7458:2: rule__UnionTags__Group__0__Impl rule__UnionTags__Group__1 + { + pushFollow(FollowSets000.FOLLOW_35); + rule__UnionTags__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__0" + + + // $ANTLR start "rule__UnionTags__Group__0__Impl" + // InternalFiacre.g:7465:1: rule__UnionTags__Group__0__Impl : ( ( rule__UnionTags__TagsAssignment_0 ) ) ; + public final void rule__UnionTags__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7469:1: ( ( ( rule__UnionTags__TagsAssignment_0 ) ) ) + // InternalFiacre.g:7470:1: ( ( rule__UnionTags__TagsAssignment_0 ) ) + { + // InternalFiacre.g:7470:1: ( ( rule__UnionTags__TagsAssignment_0 ) ) + // InternalFiacre.g:7471:2: ( rule__UnionTags__TagsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTagsAssignment_0()); + } + // InternalFiacre.g:7472:2: ( rule__UnionTags__TagsAssignment_0 ) + // InternalFiacre.g:7472:3: rule__UnionTags__TagsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__TagsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTagsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__0__Impl" + + + // $ANTLR start "rule__UnionTags__Group__1" + // InternalFiacre.g:7480:1: rule__UnionTags__Group__1 : rule__UnionTags__Group__1__Impl rule__UnionTags__Group__2 ; + public final void rule__UnionTags__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7484:1: ( rule__UnionTags__Group__1__Impl rule__UnionTags__Group__2 ) + // InternalFiacre.g:7485:2: rule__UnionTags__Group__1__Impl rule__UnionTags__Group__2 + { + pushFollow(FollowSets000.FOLLOW_35); + rule__UnionTags__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__1" + + + // $ANTLR start "rule__UnionTags__Group__1__Impl" + // InternalFiacre.g:7492:1: rule__UnionTags__Group__1__Impl : ( ( rule__UnionTags__Group_1__0 )* ) ; + public final void rule__UnionTags__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7496:1: ( ( ( rule__UnionTags__Group_1__0 )* ) ) + // InternalFiacre.g:7497:1: ( ( rule__UnionTags__Group_1__0 )* ) + { + // InternalFiacre.g:7497:1: ( ( rule__UnionTags__Group_1__0 )* ) + // InternalFiacre.g:7498:2: ( rule__UnionTags__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getGroup_1()); + } + // InternalFiacre.g:7499:2: ( rule__UnionTags__Group_1__0 )* + loop78: + do { + int alt78=2; + int LA78_0 = input.LA(1); + + if ( (LA78_0==24) ) { + alt78=1; + } + + + switch (alt78) { + case 1 : + // InternalFiacre.g:7499:3: rule__UnionTags__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__UnionTags__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop78; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__1__Impl" + + + // $ANTLR start "rule__UnionTags__Group__2" + // InternalFiacre.g:7507:1: rule__UnionTags__Group__2 : rule__UnionTags__Group__2__Impl ; + public final void rule__UnionTags__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7511:1: ( rule__UnionTags__Group__2__Impl ) + // InternalFiacre.g:7512:2: rule__UnionTags__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__2" + + + // $ANTLR start "rule__UnionTags__Group__2__Impl" + // InternalFiacre.g:7518:1: rule__UnionTags__Group__2__Impl : ( ( rule__UnionTags__Group_2__0 )? ) ; + public final void rule__UnionTags__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7522:1: ( ( ( rule__UnionTags__Group_2__0 )? ) ) + // InternalFiacre.g:7523:1: ( ( rule__UnionTags__Group_2__0 )? ) + { + // InternalFiacre.g:7523:1: ( ( rule__UnionTags__Group_2__0 )? ) + // InternalFiacre.g:7524:2: ( rule__UnionTags__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getGroup_2()); + } + // InternalFiacre.g:7525:2: ( rule__UnionTags__Group_2__0 )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==29) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // InternalFiacre.g:7525:3: rule__UnionTags__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group__2__Impl" + + + // $ANTLR start "rule__UnionTags__Group_1__0" + // InternalFiacre.g:7534:1: rule__UnionTags__Group_1__0 : rule__UnionTags__Group_1__0__Impl rule__UnionTags__Group_1__1 ; + public final void rule__UnionTags__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7538:1: ( rule__UnionTags__Group_1__0__Impl rule__UnionTags__Group_1__1 ) + // InternalFiacre.g:7539:2: rule__UnionTags__Group_1__0__Impl rule__UnionTags__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__UnionTags__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_1__0" + + + // $ANTLR start "rule__UnionTags__Group_1__0__Impl" + // InternalFiacre.g:7546:1: rule__UnionTags__Group_1__0__Impl : ( ',' ) ; + public final void rule__UnionTags__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7550:1: ( ( ',' ) ) + // InternalFiacre.g:7551:1: ( ',' ) + { + // InternalFiacre.g:7551:1: ( ',' ) + // InternalFiacre.g:7552:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_1__0__Impl" + + + // $ANTLR start "rule__UnionTags__Group_1__1" + // InternalFiacre.g:7561:1: rule__UnionTags__Group_1__1 : rule__UnionTags__Group_1__1__Impl ; + public final void rule__UnionTags__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7565:1: ( rule__UnionTags__Group_1__1__Impl ) + // InternalFiacre.g:7566:2: rule__UnionTags__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_1__1" + + + // $ANTLR start "rule__UnionTags__Group_1__1__Impl" + // InternalFiacre.g:7572:1: rule__UnionTags__Group_1__1__Impl : ( ( rule__UnionTags__TagsAssignment_1_1 ) ) ; + public final void rule__UnionTags__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7576:1: ( ( ( rule__UnionTags__TagsAssignment_1_1 ) ) ) + // InternalFiacre.g:7577:1: ( ( rule__UnionTags__TagsAssignment_1_1 ) ) + { + // InternalFiacre.g:7577:1: ( ( rule__UnionTags__TagsAssignment_1_1 ) ) + // InternalFiacre.g:7578:2: ( rule__UnionTags__TagsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTagsAssignment_1_1()); + } + // InternalFiacre.g:7579:2: ( rule__UnionTags__TagsAssignment_1_1 ) + // InternalFiacre.g:7579:3: rule__UnionTags__TagsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__TagsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTagsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_1__1__Impl" + + + // $ANTLR start "rule__UnionTags__Group_2__0" + // InternalFiacre.g:7588:1: rule__UnionTags__Group_2__0 : rule__UnionTags__Group_2__0__Impl rule__UnionTags__Group_2__1 ; + public final void rule__UnionTags__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7592:1: ( rule__UnionTags__Group_2__0__Impl rule__UnionTags__Group_2__1 ) + // InternalFiacre.g:7593:2: rule__UnionTags__Group_2__0__Impl rule__UnionTags__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__UnionTags__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_2__0" + + + // $ANTLR start "rule__UnionTags__Group_2__0__Impl" + // InternalFiacre.g:7600:1: rule__UnionTags__Group_2__0__Impl : ( 'of' ) ; + public final void rule__UnionTags__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7604:1: ( ( 'of' ) ) + // InternalFiacre.g:7605:1: ( 'of' ) + { + // InternalFiacre.g:7605:1: ( 'of' ) + // InternalFiacre.g:7606:2: 'of' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); + } + match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_2__0__Impl" + + + // $ANTLR start "rule__UnionTags__Group_2__1" + // InternalFiacre.g:7615:1: rule__UnionTags__Group_2__1 : rule__UnionTags__Group_2__1__Impl ; + public final void rule__UnionTags__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7619:1: ( rule__UnionTags__Group_2__1__Impl ) + // InternalFiacre.g:7620:2: rule__UnionTags__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_2__1" + + + // $ANTLR start "rule__UnionTags__Group_2__1__Impl" + // InternalFiacre.g:7626:1: rule__UnionTags__Group_2__1__Impl : ( ( rule__UnionTags__TypeAssignment_2_1 ) ) ; + public final void rule__UnionTags__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7630:1: ( ( ( rule__UnionTags__TypeAssignment_2_1 ) ) ) + // InternalFiacre.g:7631:1: ( ( rule__UnionTags__TypeAssignment_2_1 ) ) + { + // InternalFiacre.g:7631:1: ( ( rule__UnionTags__TypeAssignment_2_1 ) ) + // InternalFiacre.g:7632:2: ( rule__UnionTags__TypeAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTypeAssignment_2_1()); + } + // InternalFiacre.g:7633:2: ( rule__UnionTags__TypeAssignment_2_1 ) + // InternalFiacre.g:7633:3: rule__UnionTags__TypeAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnionTags__TypeAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTypeAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__Group_2__1__Impl" + + + // $ANTLR start "rule__RecordType__Group__0" + // InternalFiacre.g:7642:1: rule__RecordType__Group__0 : rule__RecordType__Group__0__Impl rule__RecordType__Group__1 ; + public final void rule__RecordType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7646:1: ( rule__RecordType__Group__0__Impl rule__RecordType__Group__1 ) + // InternalFiacre.g:7647:2: rule__RecordType__Group__0__Impl rule__RecordType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__RecordType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__0" + + + // $ANTLR start "rule__RecordType__Group__0__Impl" + // InternalFiacre.g:7654:1: rule__RecordType__Group__0__Impl : ( 'record' ) ; + public final void rule__RecordType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7658:1: ( ( 'record' ) ) + // InternalFiacre.g:7659:1: ( 'record' ) + { + // InternalFiacre.g:7659:1: ( 'record' ) + // InternalFiacre.g:7660:2: 'record' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); + } + match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__0__Impl" + + + // $ANTLR start "rule__RecordType__Group__1" + // InternalFiacre.g:7669:1: rule__RecordType__Group__1 : rule__RecordType__Group__1__Impl rule__RecordType__Group__2 ; + public final void rule__RecordType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7673:1: ( rule__RecordType__Group__1__Impl rule__RecordType__Group__2 ) + // InternalFiacre.g:7674:2: rule__RecordType__Group__1__Impl rule__RecordType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_36); + rule__RecordType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__1" + + + // $ANTLR start "rule__RecordType__Group__1__Impl" + // InternalFiacre.g:7681:1: rule__RecordType__Group__1__Impl : ( ( rule__RecordType__FieldsAssignment_1 ) ) ; + public final void rule__RecordType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7685:1: ( ( ( rule__RecordType__FieldsAssignment_1 ) ) ) + // InternalFiacre.g:7686:1: ( ( rule__RecordType__FieldsAssignment_1 ) ) + { + // InternalFiacre.g:7686:1: ( ( rule__RecordType__FieldsAssignment_1 ) ) + // InternalFiacre.g:7687:2: ( rule__RecordType__FieldsAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getFieldsAssignment_1()); + } + // InternalFiacre.g:7688:2: ( rule__RecordType__FieldsAssignment_1 ) + // InternalFiacre.g:7688:3: rule__RecordType__FieldsAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__FieldsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getFieldsAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__1__Impl" + + + // $ANTLR start "rule__RecordType__Group__2" + // InternalFiacre.g:7696:1: rule__RecordType__Group__2 : rule__RecordType__Group__2__Impl rule__RecordType__Group__3 ; + public final void rule__RecordType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7700:1: ( rule__RecordType__Group__2__Impl rule__RecordType__Group__3 ) + // InternalFiacre.g:7701:2: rule__RecordType__Group__2__Impl rule__RecordType__Group__3 + { + pushFollow(FollowSets000.FOLLOW_36); + rule__RecordType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__2" + + + // $ANTLR start "rule__RecordType__Group__2__Impl" + // InternalFiacre.g:7708:1: rule__RecordType__Group__2__Impl : ( ( rule__RecordType__Group_2__0 )* ) ; + public final void rule__RecordType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7712:1: ( ( ( rule__RecordType__Group_2__0 )* ) ) + // InternalFiacre.g:7713:1: ( ( rule__RecordType__Group_2__0 )* ) + { + // InternalFiacre.g:7713:1: ( ( rule__RecordType__Group_2__0 )* ) + // InternalFiacre.g:7714:2: ( rule__RecordType__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getGroup_2()); + } + // InternalFiacre.g:7715:2: ( rule__RecordType__Group_2__0 )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==24) ) { + alt80=1; + } + + + switch (alt80) { + case 1 : + // InternalFiacre.g:7715:3: rule__RecordType__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__RecordType__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop80; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__2__Impl" + + + // $ANTLR start "rule__RecordType__Group__3" + // InternalFiacre.g:7723:1: rule__RecordType__Group__3 : rule__RecordType__Group__3__Impl rule__RecordType__Group__4 ; + public final void rule__RecordType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7727:1: ( rule__RecordType__Group__3__Impl rule__RecordType__Group__4 ) + // InternalFiacre.g:7728:2: rule__RecordType__Group__3__Impl rule__RecordType__Group__4 + { + pushFollow(FollowSets000.FOLLOW_37); + rule__RecordType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__3" + + + // $ANTLR start "rule__RecordType__Group__3__Impl" + // InternalFiacre.g:7735:1: rule__RecordType__Group__3__Impl : ( 'end' ) ; + public final void rule__RecordType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7739:1: ( ( 'end' ) ) + // InternalFiacre.g:7740:1: ( 'end' ) + { + // InternalFiacre.g:7740:1: ( 'end' ) + // InternalFiacre.g:7741:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getEndKeyword_3()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getEndKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__3__Impl" + + + // $ANTLR start "rule__RecordType__Group__4" + // InternalFiacre.g:7750:1: rule__RecordType__Group__4 : rule__RecordType__Group__4__Impl ; + public final void rule__RecordType__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7754:1: ( rule__RecordType__Group__4__Impl ) + // InternalFiacre.g:7755:2: rule__RecordType__Group__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__4" + + + // $ANTLR start "rule__RecordType__Group__4__Impl" + // InternalFiacre.g:7761:1: rule__RecordType__Group__4__Impl : ( ( 'record' )? ) ; + public final void rule__RecordType__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7765:1: ( ( ( 'record' )? ) ) + // InternalFiacre.g:7766:1: ( ( 'record' )? ) + { + // InternalFiacre.g:7766:1: ( ( 'record' )? ) + // InternalFiacre.g:7767:2: ( 'record' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); + } + // InternalFiacre.g:7768:2: ( 'record' )? + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==37) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // InternalFiacre.g:7768:3: 'record' + { + match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group__4__Impl" + + + // $ANTLR start "rule__RecordType__Group_2__0" + // InternalFiacre.g:7777:1: rule__RecordType__Group_2__0 : rule__RecordType__Group_2__0__Impl rule__RecordType__Group_2__1 ; + public final void rule__RecordType__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7781:1: ( rule__RecordType__Group_2__0__Impl rule__RecordType__Group_2__1 ) + // InternalFiacre.g:7782:2: rule__RecordType__Group_2__0__Impl rule__RecordType__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__RecordType__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group_2__0" + + + // $ANTLR start "rule__RecordType__Group_2__0__Impl" + // InternalFiacre.g:7789:1: rule__RecordType__Group_2__0__Impl : ( ',' ) ; + public final void rule__RecordType__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7793:1: ( ( ',' ) ) + // InternalFiacre.g:7794:1: ( ',' ) + { + // InternalFiacre.g:7794:1: ( ',' ) + // InternalFiacre.g:7795:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group_2__0__Impl" + + + // $ANTLR start "rule__RecordType__Group_2__1" + // InternalFiacre.g:7804:1: rule__RecordType__Group_2__1 : rule__RecordType__Group_2__1__Impl ; + public final void rule__RecordType__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7808:1: ( rule__RecordType__Group_2__1__Impl ) + // InternalFiacre.g:7809:2: rule__RecordType__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group_2__1" + + + // $ANTLR start "rule__RecordType__Group_2__1__Impl" + // InternalFiacre.g:7815:1: rule__RecordType__Group_2__1__Impl : ( ( rule__RecordType__FieldsAssignment_2_1 ) ) ; + public final void rule__RecordType__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7819:1: ( ( ( rule__RecordType__FieldsAssignment_2_1 ) ) ) + // InternalFiacre.g:7820:1: ( ( rule__RecordType__FieldsAssignment_2_1 ) ) + { + // InternalFiacre.g:7820:1: ( ( rule__RecordType__FieldsAssignment_2_1 ) ) + // InternalFiacre.g:7821:2: ( rule__RecordType__FieldsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getFieldsAssignment_2_1()); + } + // InternalFiacre.g:7822:2: ( rule__RecordType__FieldsAssignment_2_1 ) + // InternalFiacre.g:7822:3: rule__RecordType__FieldsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordType__FieldsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getFieldsAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__Group_2__1__Impl" + + + // $ANTLR start "rule__RecordFields__Group__0" + // InternalFiacre.g:7831:1: rule__RecordFields__Group__0 : rule__RecordFields__Group__0__Impl rule__RecordFields__Group__1 ; + public final void rule__RecordFields__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7835:1: ( rule__RecordFields__Group__0__Impl rule__RecordFields__Group__1 ) + // InternalFiacre.g:7836:2: rule__RecordFields__Group__0__Impl rule__RecordFields__Group__1 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__RecordFields__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__0" + + + // $ANTLR start "rule__RecordFields__Group__0__Impl" + // InternalFiacre.g:7843:1: rule__RecordFields__Group__0__Impl : ( ( rule__RecordFields__FieldsAssignment_0 ) ) ; + public final void rule__RecordFields__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7847:1: ( ( ( rule__RecordFields__FieldsAssignment_0 ) ) ) + // InternalFiacre.g:7848:1: ( ( rule__RecordFields__FieldsAssignment_0 ) ) + { + // InternalFiacre.g:7848:1: ( ( rule__RecordFields__FieldsAssignment_0 ) ) + // InternalFiacre.g:7849:2: ( rule__RecordFields__FieldsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_0()); + } + // InternalFiacre.g:7850:2: ( rule__RecordFields__FieldsAssignment_0 ) + // InternalFiacre.g:7850:3: rule__RecordFields__FieldsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__FieldsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__0__Impl" + + + // $ANTLR start "rule__RecordFields__Group__1" + // InternalFiacre.g:7858:1: rule__RecordFields__Group__1 : rule__RecordFields__Group__1__Impl rule__RecordFields__Group__2 ; + public final void rule__RecordFields__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7862:1: ( rule__RecordFields__Group__1__Impl rule__RecordFields__Group__2 ) + // InternalFiacre.g:7863:2: rule__RecordFields__Group__1__Impl rule__RecordFields__Group__2 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__RecordFields__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__1" + + + // $ANTLR start "rule__RecordFields__Group__1__Impl" + // InternalFiacre.g:7870:1: rule__RecordFields__Group__1__Impl : ( ( rule__RecordFields__Group_1__0 )* ) ; + public final void rule__RecordFields__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7874:1: ( ( ( rule__RecordFields__Group_1__0 )* ) ) + // InternalFiacre.g:7875:1: ( ( rule__RecordFields__Group_1__0 )* ) + { + // InternalFiacre.g:7875:1: ( ( rule__RecordFields__Group_1__0 )* ) + // InternalFiacre.g:7876:2: ( rule__RecordFields__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getGroup_1()); + } + // InternalFiacre.g:7877:2: ( rule__RecordFields__Group_1__0 )* + loop82: + do { + int alt82=2; + int LA82_0 = input.LA(1); + + if ( (LA82_0==24) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // InternalFiacre.g:7877:3: rule__RecordFields__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__RecordFields__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop82; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__1__Impl" + + + // $ANTLR start "rule__RecordFields__Group__2" + // InternalFiacre.g:7885:1: rule__RecordFields__Group__2 : rule__RecordFields__Group__2__Impl rule__RecordFields__Group__3 ; + public final void rule__RecordFields__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7889:1: ( rule__RecordFields__Group__2__Impl rule__RecordFields__Group__3 ) + // InternalFiacre.g:7890:2: rule__RecordFields__Group__2__Impl rule__RecordFields__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__RecordFields__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__2" + + + // $ANTLR start "rule__RecordFields__Group__2__Impl" + // InternalFiacre.g:7897:1: rule__RecordFields__Group__2__Impl : ( ':' ) ; + public final void rule__RecordFields__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7901:1: ( ( ':' ) ) + // InternalFiacre.g:7902:1: ( ':' ) + { + // InternalFiacre.g:7902:1: ( ':' ) + // InternalFiacre.g:7903:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__2__Impl" + + + // $ANTLR start "rule__RecordFields__Group__3" + // InternalFiacre.g:7912:1: rule__RecordFields__Group__3 : rule__RecordFields__Group__3__Impl ; + public final void rule__RecordFields__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7916:1: ( rule__RecordFields__Group__3__Impl ) + // InternalFiacre.g:7917:2: rule__RecordFields__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__3" + + + // $ANTLR start "rule__RecordFields__Group__3__Impl" + // InternalFiacre.g:7923:1: rule__RecordFields__Group__3__Impl : ( ( rule__RecordFields__TypeAssignment_3 ) ) ; + public final void rule__RecordFields__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7927:1: ( ( ( rule__RecordFields__TypeAssignment_3 ) ) ) + // InternalFiacre.g:7928:1: ( ( rule__RecordFields__TypeAssignment_3 ) ) + { + // InternalFiacre.g:7928:1: ( ( rule__RecordFields__TypeAssignment_3 ) ) + // InternalFiacre.g:7929:2: ( rule__RecordFields__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:7930:2: ( rule__RecordFields__TypeAssignment_3 ) + // InternalFiacre.g:7930:3: rule__RecordFields__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group__3__Impl" + + + // $ANTLR start "rule__RecordFields__Group_1__0" + // InternalFiacre.g:7939:1: rule__RecordFields__Group_1__0 : rule__RecordFields__Group_1__0__Impl rule__RecordFields__Group_1__1 ; + public final void rule__RecordFields__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7943:1: ( rule__RecordFields__Group_1__0__Impl rule__RecordFields__Group_1__1 ) + // InternalFiacre.g:7944:2: rule__RecordFields__Group_1__0__Impl rule__RecordFields__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__RecordFields__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group_1__0" + + + // $ANTLR start "rule__RecordFields__Group_1__0__Impl" + // InternalFiacre.g:7951:1: rule__RecordFields__Group_1__0__Impl : ( ',' ) ; + public final void rule__RecordFields__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7955:1: ( ( ',' ) ) + // InternalFiacre.g:7956:1: ( ',' ) + { + // InternalFiacre.g:7956:1: ( ',' ) + // InternalFiacre.g:7957:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group_1__0__Impl" + + + // $ANTLR start "rule__RecordFields__Group_1__1" + // InternalFiacre.g:7966:1: rule__RecordFields__Group_1__1 : rule__RecordFields__Group_1__1__Impl ; + public final void rule__RecordFields__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7970:1: ( rule__RecordFields__Group_1__1__Impl ) + // InternalFiacre.g:7971:2: rule__RecordFields__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group_1__1" + + + // $ANTLR start "rule__RecordFields__Group_1__1__Impl" + // InternalFiacre.g:7977:1: rule__RecordFields__Group_1__1__Impl : ( ( rule__RecordFields__FieldsAssignment_1_1 ) ) ; + public final void rule__RecordFields__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7981:1: ( ( ( rule__RecordFields__FieldsAssignment_1_1 ) ) ) + // InternalFiacre.g:7982:1: ( ( rule__RecordFields__FieldsAssignment_1_1 ) ) + { + // InternalFiacre.g:7982:1: ( ( rule__RecordFields__FieldsAssignment_1_1 ) ) + // InternalFiacre.g:7983:2: ( rule__RecordFields__FieldsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_1_1()); + } + // InternalFiacre.g:7984:2: ( rule__RecordFields__FieldsAssignment_1_1 ) + // InternalFiacre.g:7984:3: rule__RecordFields__FieldsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordFields__FieldsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getFieldsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__Group_1__1__Impl" + + + // $ANTLR start "rule__QueueType__Group__0" + // InternalFiacre.g:7993:1: rule__QueueType__Group__0 : rule__QueueType__Group__0__Impl rule__QueueType__Group__1 ; + public final void rule__QueueType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:7997:1: ( rule__QueueType__Group__0__Impl rule__QueueType__Group__1 ) + // InternalFiacre.g:7998:2: rule__QueueType__Group__0__Impl rule__QueueType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__QueueType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__0" + + + // $ANTLR start "rule__QueueType__Group__0__Impl" + // InternalFiacre.g:8005:1: rule__QueueType__Group__0__Impl : ( 'queue' ) ; + public final void rule__QueueType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8009:1: ( ( 'queue' ) ) + // InternalFiacre.g:8010:1: ( 'queue' ) + { + // InternalFiacre.g:8010:1: ( 'queue' ) + // InternalFiacre.g:8011:2: 'queue' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); + } + match(input,38,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__0__Impl" + + + // $ANTLR start "rule__QueueType__Group__1" + // InternalFiacre.g:8020:1: rule__QueueType__Group__1 : rule__QueueType__Group__1__Impl rule__QueueType__Group__2 ; + public final void rule__QueueType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8024:1: ( rule__QueueType__Group__1__Impl rule__QueueType__Group__2 ) + // InternalFiacre.g:8025:2: rule__QueueType__Group__1__Impl rule__QueueType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_24); + rule__QueueType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__1" + + + // $ANTLR start "rule__QueueType__Group__1__Impl" + // InternalFiacre.g:8032:1: rule__QueueType__Group__1__Impl : ( ( rule__QueueType__SizeAssignment_1 ) ) ; + public final void rule__QueueType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8036:1: ( ( ( rule__QueueType__SizeAssignment_1 ) ) ) + // InternalFiacre.g:8037:1: ( ( rule__QueueType__SizeAssignment_1 ) ) + { + // InternalFiacre.g:8037:1: ( ( rule__QueueType__SizeAssignment_1 ) ) + // InternalFiacre.g:8038:2: ( rule__QueueType__SizeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getSizeAssignment_1()); + } + // InternalFiacre.g:8039:2: ( rule__QueueType__SizeAssignment_1 ) + // InternalFiacre.g:8039:3: rule__QueueType__SizeAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__SizeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getSizeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__1__Impl" + + + // $ANTLR start "rule__QueueType__Group__2" + // InternalFiacre.g:8047:1: rule__QueueType__Group__2 : rule__QueueType__Group__2__Impl rule__QueueType__Group__3 ; + public final void rule__QueueType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8051:1: ( rule__QueueType__Group__2__Impl rule__QueueType__Group__3 ) + // InternalFiacre.g:8052:2: rule__QueueType__Group__2__Impl rule__QueueType__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__QueueType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__2" + + + // $ANTLR start "rule__QueueType__Group__2__Impl" + // InternalFiacre.g:8059:1: rule__QueueType__Group__2__Impl : ( 'of' ) ; + public final void rule__QueueType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8063:1: ( ( 'of' ) ) + // InternalFiacre.g:8064:1: ( 'of' ) + { + // InternalFiacre.g:8064:1: ( 'of' ) + // InternalFiacre.g:8065:2: 'of' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getOfKeyword_2()); + } + match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getOfKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__2__Impl" + + + // $ANTLR start "rule__QueueType__Group__3" + // InternalFiacre.g:8074:1: rule__QueueType__Group__3 : rule__QueueType__Group__3__Impl ; + public final void rule__QueueType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8078:1: ( rule__QueueType__Group__3__Impl ) + // InternalFiacre.g:8079:2: rule__QueueType__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__3" + + + // $ANTLR start "rule__QueueType__Group__3__Impl" + // InternalFiacre.g:8085:1: rule__QueueType__Group__3__Impl : ( ( rule__QueueType__TypeAssignment_3 ) ) ; + public final void rule__QueueType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8089:1: ( ( ( rule__QueueType__TypeAssignment_3 ) ) ) + // InternalFiacre.g:8090:1: ( ( rule__QueueType__TypeAssignment_3 ) ) + { + // InternalFiacre.g:8090:1: ( ( rule__QueueType__TypeAssignment_3 ) ) + // InternalFiacre.g:8091:2: ( rule__QueueType__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:8092:2: ( rule__QueueType__TypeAssignment_3 ) + // InternalFiacre.g:8092:3: rule__QueueType__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueType__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__Group__3__Impl" + + + // $ANTLR start "rule__ArrayType__Group__0" + // InternalFiacre.g:8101:1: rule__ArrayType__Group__0 : rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1 ; + public final void rule__ArrayType__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8105:1: ( rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1 ) + // InternalFiacre.g:8106:2: rule__ArrayType__Group__0__Impl rule__ArrayType__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ArrayType__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__0" + + + // $ANTLR start "rule__ArrayType__Group__0__Impl" + // InternalFiacre.g:8113:1: rule__ArrayType__Group__0__Impl : ( 'array' ) ; + public final void rule__ArrayType__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8117:1: ( ( 'array' ) ) + // InternalFiacre.g:8118:1: ( 'array' ) + { + // InternalFiacre.g:8118:1: ( 'array' ) + // InternalFiacre.g:8119:2: 'array' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); + } + match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__0__Impl" + + + // $ANTLR start "rule__ArrayType__Group__1" + // InternalFiacre.g:8128:1: rule__ArrayType__Group__1 : rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2 ; + public final void rule__ArrayType__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8132:1: ( rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2 ) + // InternalFiacre.g:8133:2: rule__ArrayType__Group__1__Impl rule__ArrayType__Group__2 + { + pushFollow(FollowSets000.FOLLOW_24); + rule__ArrayType__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__1" + + + // $ANTLR start "rule__ArrayType__Group__1__Impl" + // InternalFiacre.g:8140:1: rule__ArrayType__Group__1__Impl : ( ( rule__ArrayType__SizeAssignment_1 ) ) ; + public final void rule__ArrayType__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8144:1: ( ( ( rule__ArrayType__SizeAssignment_1 ) ) ) + // InternalFiacre.g:8145:1: ( ( rule__ArrayType__SizeAssignment_1 ) ) + { + // InternalFiacre.g:8145:1: ( ( rule__ArrayType__SizeAssignment_1 ) ) + // InternalFiacre.g:8146:2: ( rule__ArrayType__SizeAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getSizeAssignment_1()); + } + // InternalFiacre.g:8147:2: ( rule__ArrayType__SizeAssignment_1 ) + // InternalFiacre.g:8147:3: rule__ArrayType__SizeAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__SizeAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getSizeAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__1__Impl" + + + // $ANTLR start "rule__ArrayType__Group__2" + // InternalFiacre.g:8155:1: rule__ArrayType__Group__2 : rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3 ; + public final void rule__ArrayType__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8159:1: ( rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3 ) + // InternalFiacre.g:8160:2: rule__ArrayType__Group__2__Impl rule__ArrayType__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__ArrayType__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__2" + + + // $ANTLR start "rule__ArrayType__Group__2__Impl" + // InternalFiacre.g:8167:1: rule__ArrayType__Group__2__Impl : ( 'of' ) ; + public final void rule__ArrayType__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8171:1: ( ( 'of' ) ) + // InternalFiacre.g:8172:1: ( 'of' ) + { + // InternalFiacre.g:8172:1: ( 'of' ) + // InternalFiacre.g:8173:2: 'of' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getOfKeyword_2()); + } + match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getOfKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__2__Impl" + + + // $ANTLR start "rule__ArrayType__Group__3" + // InternalFiacre.g:8182:1: rule__ArrayType__Group__3 : rule__ArrayType__Group__3__Impl ; + public final void rule__ArrayType__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8186:1: ( rule__ArrayType__Group__3__Impl ) + // InternalFiacre.g:8187:2: rule__ArrayType__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__3" + + + // $ANTLR start "rule__ArrayType__Group__3__Impl" + // InternalFiacre.g:8193:1: rule__ArrayType__Group__3__Impl : ( ( rule__ArrayType__TypeAssignment_3 ) ) ; + public final void rule__ArrayType__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8197:1: ( ( ( rule__ArrayType__TypeAssignment_3 ) ) ) + // InternalFiacre.g:8198:1: ( ( rule__ArrayType__TypeAssignment_3 ) ) + { + // InternalFiacre.g:8198:1: ( ( rule__ArrayType__TypeAssignment_3 ) ) + // InternalFiacre.g:8199:2: ( rule__ArrayType__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:8200:2: ( rule__ArrayType__TypeAssignment_3 ) + // InternalFiacre.g:8200:3: rule__ArrayType__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayType__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__Group__3__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__0" + // InternalFiacre.g:8209:1: rule__ConstantDeclaration__Group__0 : rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1 ; + public final void rule__ConstantDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8213:1: ( rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1 ) + // InternalFiacre.g:8214:2: rule__ConstantDeclaration__Group__0__Impl rule__ConstantDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ConstantDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__0" + + + // $ANTLR start "rule__ConstantDeclaration__Group__0__Impl" + // InternalFiacre.g:8221:1: rule__ConstantDeclaration__Group__0__Impl : ( 'const' ) ; + public final void rule__ConstantDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8225:1: ( ( 'const' ) ) + // InternalFiacre.g:8226:1: ( 'const' ) + { + // InternalFiacre.g:8226:1: ( 'const' ) + // InternalFiacre.g:8227:2: 'const' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); + } + match(input,39,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__1" + // InternalFiacre.g:8236:1: rule__ConstantDeclaration__Group__1 : rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2 ; + public final void rule__ConstantDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8240:1: ( rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2 ) + // InternalFiacre.g:8241:2: rule__ConstantDeclaration__Group__1__Impl rule__ConstantDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_14); + rule__ConstantDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__1" + + + // $ANTLR start "rule__ConstantDeclaration__Group__1__Impl" + // InternalFiacre.g:8248:1: rule__ConstantDeclaration__Group__1__Impl : ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) ; + public final void rule__ConstantDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8252:1: ( ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:8253:1: ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:8253:1: ( ( rule__ConstantDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:8254:2: ( rule__ConstantDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:8255:2: ( rule__ConstantDeclaration__NameAssignment_1 ) + // InternalFiacre.g:8255:3: rule__ConstantDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__2" + // InternalFiacre.g:8263:1: rule__ConstantDeclaration__Group__2 : rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3 ; + public final void rule__ConstantDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8267:1: ( rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3 ) + // InternalFiacre.g:8268:2: rule__ConstantDeclaration__Group__2__Impl rule__ConstantDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__ConstantDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__2" + + + // $ANTLR start "rule__ConstantDeclaration__Group__2__Impl" + // InternalFiacre.g:8275:1: rule__ConstantDeclaration__Group__2__Impl : ( ':' ) ; + public final void rule__ConstantDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8279:1: ( ( ':' ) ) + // InternalFiacre.g:8280:1: ( ':' ) + { + // InternalFiacre.g:8280:1: ( ':' ) + // InternalFiacre.g:8281:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__3" + // InternalFiacre.g:8290:1: rule__ConstantDeclaration__Group__3 : rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4 ; + public final void rule__ConstantDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8294:1: ( rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4 ) + // InternalFiacre.g:8295:2: rule__ConstantDeclaration__Group__3__Impl rule__ConstantDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_16); + rule__ConstantDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__3" + + + // $ANTLR start "rule__ConstantDeclaration__Group__3__Impl" + // InternalFiacre.g:8302:1: rule__ConstantDeclaration__Group__3__Impl : ( ( rule__ConstantDeclaration__TypeAssignment_3 ) ) ; + public final void rule__ConstantDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8306:1: ( ( ( rule__ConstantDeclaration__TypeAssignment_3 ) ) ) + // InternalFiacre.g:8307:1: ( ( rule__ConstantDeclaration__TypeAssignment_3 ) ) + { + // InternalFiacre.g:8307:1: ( ( rule__ConstantDeclaration__TypeAssignment_3 ) ) + // InternalFiacre.g:8308:2: ( rule__ConstantDeclaration__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:8309:2: ( rule__ConstantDeclaration__TypeAssignment_3 ) + // InternalFiacre.g:8309:3: rule__ConstantDeclaration__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__4" + // InternalFiacre.g:8317:1: rule__ConstantDeclaration__Group__4 : rule__ConstantDeclaration__Group__4__Impl rule__ConstantDeclaration__Group__5 ; + public final void rule__ConstantDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8321:1: ( rule__ConstantDeclaration__Group__4__Impl rule__ConstantDeclaration__Group__5 ) + // InternalFiacre.g:8322:2: rule__ConstantDeclaration__Group__4__Impl rule__ConstantDeclaration__Group__5 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ConstantDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__4" + + + // $ANTLR start "rule__ConstantDeclaration__Group__4__Impl" + // InternalFiacre.g:8329:1: rule__ConstantDeclaration__Group__4__Impl : ( 'is' ) ; + public final void rule__ConstantDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8333:1: ( ( 'is' ) ) + // InternalFiacre.g:8334:1: ( 'is' ) + { + // InternalFiacre.g:8334:1: ( 'is' ) + // InternalFiacre.g:8335:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__ConstantDeclaration__Group__5" + // InternalFiacre.g:8344:1: rule__ConstantDeclaration__Group__5 : rule__ConstantDeclaration__Group__5__Impl ; + public final void rule__ConstantDeclaration__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8348:1: ( rule__ConstantDeclaration__Group__5__Impl ) + // InternalFiacre.g:8349:2: rule__ConstantDeclaration__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__5" + + + // $ANTLR start "rule__ConstantDeclaration__Group__5__Impl" + // InternalFiacre.g:8355:1: rule__ConstantDeclaration__Group__5__Impl : ( ( rule__ConstantDeclaration__ValueAssignment_5 ) ) ; + public final void rule__ConstantDeclaration__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8359:1: ( ( ( rule__ConstantDeclaration__ValueAssignment_5 ) ) ) + // InternalFiacre.g:8360:1: ( ( rule__ConstantDeclaration__ValueAssignment_5 ) ) + { + // InternalFiacre.g:8360:1: ( ( rule__ConstantDeclaration__ValueAssignment_5 ) ) + // InternalFiacre.g:8361:2: ( rule__ConstantDeclaration__ValueAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getValueAssignment_5()); + } + // InternalFiacre.g:8362:2: ( rule__ConstantDeclaration__ValueAssignment_5 ) + // InternalFiacre.g:8362:3: rule__ConstantDeclaration__ValueAssignment_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConstantDeclaration__ValueAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getValueAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__Group__5__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__0" + // InternalFiacre.g:8371:1: rule__ProcessDeclaration__Group__0 : rule__ProcessDeclaration__Group__0__Impl rule__ProcessDeclaration__Group__1 ; + public final void rule__ProcessDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8375:1: ( rule__ProcessDeclaration__Group__0__Impl rule__ProcessDeclaration__Group__1 ) + // InternalFiacre.g:8376:2: rule__ProcessDeclaration__Group__0__Impl rule__ProcessDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group__0__Impl" + // InternalFiacre.g:8383:1: rule__ProcessDeclaration__Group__0__Impl : ( 'process' ) ; + public final void rule__ProcessDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8387:1: ( ( 'process' ) ) + // InternalFiacre.g:8388:1: ( 'process' ) + { + // InternalFiacre.g:8388:1: ( 'process' ) + // InternalFiacre.g:8389:2: 'process' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); + } + match(input,40,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__1" + // InternalFiacre.g:8398:1: rule__ProcessDeclaration__Group__1 : rule__ProcessDeclaration__Group__1__Impl rule__ProcessDeclaration__Group__2 ; + public final void rule__ProcessDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8402:1: ( rule__ProcessDeclaration__Group__1__Impl rule__ProcessDeclaration__Group__2 ) + // InternalFiacre.g:8403:2: rule__ProcessDeclaration__Group__1__Impl rule__ProcessDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ProcessDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group__1__Impl" + // InternalFiacre.g:8410:1: rule__ProcessDeclaration__Group__1__Impl : ( ( rule__ProcessDeclaration__NameAssignment_1 ) ) ; + public final void rule__ProcessDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8414:1: ( ( ( rule__ProcessDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:8415:1: ( ( rule__ProcessDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:8415:1: ( ( rule__ProcessDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:8416:2: ( rule__ProcessDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:8417:2: ( rule__ProcessDeclaration__NameAssignment_1 ) + // InternalFiacre.g:8417:3: rule__ProcessDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__2" + // InternalFiacre.g:8425:1: rule__ProcessDeclaration__Group__2 : rule__ProcessDeclaration__Group__2__Impl rule__ProcessDeclaration__Group__3 ; + public final void rule__ProcessDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8429:1: ( rule__ProcessDeclaration__Group__2__Impl rule__ProcessDeclaration__Group__3 ) + // InternalFiacre.g:8430:2: rule__ProcessDeclaration__Group__2__Impl rule__ProcessDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ProcessDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group__2__Impl" + // InternalFiacre.g:8437:1: rule__ProcessDeclaration__Group__2__Impl : ( ( rule__ProcessDeclaration__Group_2__0 )? ) ; + public final void rule__ProcessDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8441:1: ( ( ( rule__ProcessDeclaration__Group_2__0 )? ) ) + // InternalFiacre.g:8442:1: ( ( rule__ProcessDeclaration__Group_2__0 )? ) + { + // InternalFiacre.g:8442:1: ( ( rule__ProcessDeclaration__Group_2__0 )? ) + // InternalFiacre.g:8443:2: ( rule__ProcessDeclaration__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_2()); + } + // InternalFiacre.g:8444:2: ( rule__ProcessDeclaration__Group_2__0 )? + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==42) ) { + alt83=1; + } + switch (alt83) { + case 1 : + // InternalFiacre.g:8444:3: rule__ProcessDeclaration__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__3" + // InternalFiacre.g:8452:1: rule__ProcessDeclaration__Group__3 : rule__ProcessDeclaration__Group__3__Impl rule__ProcessDeclaration__Group__4 ; + public final void rule__ProcessDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8456:1: ( rule__ProcessDeclaration__Group__3__Impl rule__ProcessDeclaration__Group__4 ) + // InternalFiacre.g:8457:2: rule__ProcessDeclaration__Group__3__Impl rule__ProcessDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ProcessDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__3" + + + // $ANTLR start "rule__ProcessDeclaration__Group__3__Impl" + // InternalFiacre.g:8464:1: rule__ProcessDeclaration__Group__3__Impl : ( ( rule__ProcessDeclaration__Group_3__0 )? ) ; + public final void rule__ProcessDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8468:1: ( ( ( rule__ProcessDeclaration__Group_3__0 )? ) ) + // InternalFiacre.g:8469:1: ( ( rule__ProcessDeclaration__Group_3__0 )? ) + { + // InternalFiacre.g:8469:1: ( ( rule__ProcessDeclaration__Group_3__0 )? ) + // InternalFiacre.g:8470:2: ( rule__ProcessDeclaration__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_3()); + } + // InternalFiacre.g:8471:2: ( rule__ProcessDeclaration__Group_3__0 )? + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==22) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // InternalFiacre.g:8471:3: rule__ProcessDeclaration__Group_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__4" + // InternalFiacre.g:8479:1: rule__ProcessDeclaration__Group__4 : rule__ProcessDeclaration__Group__4__Impl rule__ProcessDeclaration__Group__5 ; + public final void rule__ProcessDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8483:1: ( rule__ProcessDeclaration__Group__4__Impl rule__ProcessDeclaration__Group__5 ) + // InternalFiacre.g:8484:2: rule__ProcessDeclaration__Group__4__Impl rule__ProcessDeclaration__Group__5 + { + pushFollow(FollowSets000.FOLLOW_40); + rule__ProcessDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__4" + + + // $ANTLR start "rule__ProcessDeclaration__Group__4__Impl" + // InternalFiacre.g:8491:1: rule__ProcessDeclaration__Group__4__Impl : ( 'is' ) ; + public final void rule__ProcessDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8495:1: ( ( 'is' ) ) + // InternalFiacre.g:8496:1: ( 'is' ) + { + // InternalFiacre.g:8496:1: ( 'is' ) + // InternalFiacre.g:8497:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__5" + // InternalFiacre.g:8506:1: rule__ProcessDeclaration__Group__5 : rule__ProcessDeclaration__Group__5__Impl rule__ProcessDeclaration__Group__6 ; + public final void rule__ProcessDeclaration__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8510:1: ( rule__ProcessDeclaration__Group__5__Impl rule__ProcessDeclaration__Group__6 ) + // InternalFiacre.g:8511:2: rule__ProcessDeclaration__Group__5__Impl rule__ProcessDeclaration__Group__6 + { + pushFollow(FollowSets000.FOLLOW_40); + rule__ProcessDeclaration__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__5" + + + // $ANTLR start "rule__ProcessDeclaration__Group__5__Impl" + // InternalFiacre.g:8518:1: rule__ProcessDeclaration__Group__5__Impl : ( ( rule__ProcessDeclaration__Group_5__0 )? ) ; + public final void rule__ProcessDeclaration__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8522:1: ( ( ( rule__ProcessDeclaration__Group_5__0 )? ) ) + // InternalFiacre.g:8523:1: ( ( rule__ProcessDeclaration__Group_5__0 )? ) + { + // InternalFiacre.g:8523:1: ( ( rule__ProcessDeclaration__Group_5__0 )? ) + // InternalFiacre.g:8524:2: ( rule__ProcessDeclaration__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_5()); + } + // InternalFiacre.g:8525:2: ( rule__ProcessDeclaration__Group_5__0 )? + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==44) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // InternalFiacre.g:8525:3: rule__ProcessDeclaration__Group_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__5__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__6" + // InternalFiacre.g:8533:1: rule__ProcessDeclaration__Group__6 : rule__ProcessDeclaration__Group__6__Impl rule__ProcessDeclaration__Group__7 ; + public final void rule__ProcessDeclaration__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8537:1: ( rule__ProcessDeclaration__Group__6__Impl rule__ProcessDeclaration__Group__7 ) + // InternalFiacre.g:8538:2: rule__ProcessDeclaration__Group__6__Impl rule__ProcessDeclaration__Group__7 + { + pushFollow(FollowSets000.FOLLOW_40); + rule__ProcessDeclaration__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__6" + + + // $ANTLR start "rule__ProcessDeclaration__Group__6__Impl" + // InternalFiacre.g:8545:1: rule__ProcessDeclaration__Group__6__Impl : ( ( rule__ProcessDeclaration__Group_6__0 )? ) ; + public final void rule__ProcessDeclaration__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8549:1: ( ( ( rule__ProcessDeclaration__Group_6__0 )? ) ) + // InternalFiacre.g:8550:1: ( ( rule__ProcessDeclaration__Group_6__0 )? ) + { + // InternalFiacre.g:8550:1: ( ( rule__ProcessDeclaration__Group_6__0 )? ) + // InternalFiacre.g:8551:2: ( rule__ProcessDeclaration__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_6()); + } + // InternalFiacre.g:8552:2: ( rule__ProcessDeclaration__Group_6__0 )? + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==45) ) { + alt86=1; + } + switch (alt86) { + case 1 : + // InternalFiacre.g:8552:3: rule__ProcessDeclaration__Group_6__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__6__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__7" + // InternalFiacre.g:8560:1: rule__ProcessDeclaration__Group__7 : rule__ProcessDeclaration__Group__7__Impl rule__ProcessDeclaration__Group__8 ; + public final void rule__ProcessDeclaration__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8564:1: ( rule__ProcessDeclaration__Group__7__Impl rule__ProcessDeclaration__Group__8 ) + // InternalFiacre.g:8565:2: rule__ProcessDeclaration__Group__7__Impl rule__ProcessDeclaration__Group__8 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__7" + + + // $ANTLR start "rule__ProcessDeclaration__Group__7__Impl" + // InternalFiacre.g:8572:1: rule__ProcessDeclaration__Group__7__Impl : ( 'states' ) ; + public final void rule__ProcessDeclaration__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8576:1: ( ( 'states' ) ) + // InternalFiacre.g:8577:1: ( 'states' ) + { + // InternalFiacre.g:8577:1: ( 'states' ) + // InternalFiacre.g:8578:2: 'states' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); + } + match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__7__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__8" + // InternalFiacre.g:8587:1: rule__ProcessDeclaration__Group__8 : rule__ProcessDeclaration__Group__8__Impl rule__ProcessDeclaration__Group__9 ; + public final void rule__ProcessDeclaration__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8591:1: ( rule__ProcessDeclaration__Group__8__Impl rule__ProcessDeclaration__Group__9 ) + // InternalFiacre.g:8592:2: rule__ProcessDeclaration__Group__8__Impl rule__ProcessDeclaration__Group__9 + { + pushFollow(FollowSets000.FOLLOW_41); + rule__ProcessDeclaration__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__9(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__8" + + + // $ANTLR start "rule__ProcessDeclaration__Group__8__Impl" + // InternalFiacre.g:8599:1: rule__ProcessDeclaration__Group__8__Impl : ( ( rule__ProcessDeclaration__StatesAssignment_8 ) ) ; + public final void rule__ProcessDeclaration__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8603:1: ( ( ( rule__ProcessDeclaration__StatesAssignment_8 ) ) ) + // InternalFiacre.g:8604:1: ( ( rule__ProcessDeclaration__StatesAssignment_8 ) ) + { + // InternalFiacre.g:8604:1: ( ( rule__ProcessDeclaration__StatesAssignment_8 ) ) + // InternalFiacre.g:8605:2: ( rule__ProcessDeclaration__StatesAssignment_8 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_8()); + } + // InternalFiacre.g:8606:2: ( rule__ProcessDeclaration__StatesAssignment_8 ) + // InternalFiacre.g:8606:3: rule__ProcessDeclaration__StatesAssignment_8 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__StatesAssignment_8(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__8__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__9" + // InternalFiacre.g:8614:1: rule__ProcessDeclaration__Group__9 : rule__ProcessDeclaration__Group__9__Impl rule__ProcessDeclaration__Group__10 ; + public final void rule__ProcessDeclaration__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8618:1: ( rule__ProcessDeclaration__Group__9__Impl rule__ProcessDeclaration__Group__10 ) + // InternalFiacre.g:8619:2: rule__ProcessDeclaration__Group__9__Impl rule__ProcessDeclaration__Group__10 + { + pushFollow(FollowSets000.FOLLOW_41); + rule__ProcessDeclaration__Group__9__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__10(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__9" + + + // $ANTLR start "rule__ProcessDeclaration__Group__9__Impl" + // InternalFiacre.g:8626:1: rule__ProcessDeclaration__Group__9__Impl : ( ( rule__ProcessDeclaration__Group_9__0 )* ) ; + public final void rule__ProcessDeclaration__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8630:1: ( ( ( rule__ProcessDeclaration__Group_9__0 )* ) ) + // InternalFiacre.g:8631:1: ( ( rule__ProcessDeclaration__Group_9__0 )* ) + { + // InternalFiacre.g:8631:1: ( ( rule__ProcessDeclaration__Group_9__0 )* ) + // InternalFiacre.g:8632:2: ( rule__ProcessDeclaration__Group_9__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_9()); + } + // InternalFiacre.g:8633:2: ( rule__ProcessDeclaration__Group_9__0 )* + loop87: + do { + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==24) ) { + alt87=1; + } + + + switch (alt87) { + case 1 : + // InternalFiacre.g:8633:3: rule__ProcessDeclaration__Group_9__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_9__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop87; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_9()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__9__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__10" + // InternalFiacre.g:8641:1: rule__ProcessDeclaration__Group__10 : rule__ProcessDeclaration__Group__10__Impl rule__ProcessDeclaration__Group__11 ; + public final void rule__ProcessDeclaration__Group__10() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8645:1: ( rule__ProcessDeclaration__Group__10__Impl rule__ProcessDeclaration__Group__11 ) + // InternalFiacre.g:8646:2: rule__ProcessDeclaration__Group__10__Impl rule__ProcessDeclaration__Group__11 + { + pushFollow(FollowSets000.FOLLOW_41); + rule__ProcessDeclaration__Group__10__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__11(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__10" + + + // $ANTLR start "rule__ProcessDeclaration__Group__10__Impl" + // InternalFiacre.g:8653:1: rule__ProcessDeclaration__Group__10__Impl : ( ( rule__ProcessDeclaration__Group_10__0 )? ) ; + public final void rule__ProcessDeclaration__Group__10__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8657:1: ( ( ( rule__ProcessDeclaration__Group_10__0 )? ) ) + // InternalFiacre.g:8658:1: ( ( rule__ProcessDeclaration__Group_10__0 )? ) + { + // InternalFiacre.g:8658:1: ( ( rule__ProcessDeclaration__Group_10__0 )? ) + // InternalFiacre.g:8659:2: ( rule__ProcessDeclaration__Group_10__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_10()); + } + // InternalFiacre.g:8660:2: ( rule__ProcessDeclaration__Group_10__0 )? + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==25) ) { + alt88=1; + } + switch (alt88) { + case 1 : + // InternalFiacre.g:8660:3: rule__ProcessDeclaration__Group_10__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_10()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__10__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__11" + // InternalFiacre.g:8668:1: rule__ProcessDeclaration__Group__11 : rule__ProcessDeclaration__Group__11__Impl rule__ProcessDeclaration__Group__12 ; + public final void rule__ProcessDeclaration__Group__11() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8672:1: ( rule__ProcessDeclaration__Group__11__Impl rule__ProcessDeclaration__Group__12 ) + // InternalFiacre.g:8673:2: rule__ProcessDeclaration__Group__11__Impl rule__ProcessDeclaration__Group__12 + { + pushFollow(FollowSets000.FOLLOW_41); + rule__ProcessDeclaration__Group__11__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__12(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__11" + + + // $ANTLR start "rule__ProcessDeclaration__Group__11__Impl" + // InternalFiacre.g:8680:1: rule__ProcessDeclaration__Group__11__Impl : ( ( rule__ProcessDeclaration__Group_11__0 )? ) ; + public final void rule__ProcessDeclaration__Group__11__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8684:1: ( ( ( rule__ProcessDeclaration__Group_11__0 )? ) ) + // InternalFiacre.g:8685:1: ( ( rule__ProcessDeclaration__Group_11__0 )? ) + { + // InternalFiacre.g:8685:1: ( ( rule__ProcessDeclaration__Group_11__0 )? ) + // InternalFiacre.g:8686:2: ( rule__ProcessDeclaration__Group_11__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_11()); + } + // InternalFiacre.g:8687:2: ( rule__ProcessDeclaration__Group_11__0 )? + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==46) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // InternalFiacre.g:8687:3: rule__ProcessDeclaration__Group_11__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_11__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_11()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__11__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group__12" + // InternalFiacre.g:8695:1: rule__ProcessDeclaration__Group__12 : rule__ProcessDeclaration__Group__12__Impl ; + public final void rule__ProcessDeclaration__Group__12() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8699:1: ( rule__ProcessDeclaration__Group__12__Impl ) + // InternalFiacre.g:8700:2: rule__ProcessDeclaration__Group__12__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group__12__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__12" + + + // $ANTLR start "rule__ProcessDeclaration__Group__12__Impl" + // InternalFiacre.g:8706:1: rule__ProcessDeclaration__Group__12__Impl : ( ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) ) ; + public final void rule__ProcessDeclaration__Group__12__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8710:1: ( ( ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) ) ) + // InternalFiacre.g:8711:1: ( ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) ) + { + // InternalFiacre.g:8711:1: ( ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) ) + // InternalFiacre.g:8712:2: ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) + { + // InternalFiacre.g:8712:2: ( ( rule__ProcessDeclaration__TransitionsAssignment_12 ) ) + // InternalFiacre.g:8713:3: ( rule__ProcessDeclaration__TransitionsAssignment_12 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); + } + // InternalFiacre.g:8714:3: ( rule__ProcessDeclaration__TransitionsAssignment_12 ) + // InternalFiacre.g:8714:4: rule__ProcessDeclaration__TransitionsAssignment_12 + { + pushFollow(FollowSets000.FOLLOW_42); + rule__ProcessDeclaration__TransitionsAssignment_12(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); + } + + } + + // InternalFiacre.g:8717:2: ( ( rule__ProcessDeclaration__TransitionsAssignment_12 )* ) + // InternalFiacre.g:8718:3: ( rule__ProcessDeclaration__TransitionsAssignment_12 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); + } + // InternalFiacre.g:8719:3: ( rule__ProcessDeclaration__TransitionsAssignment_12 )* + loop90: + do { + int alt90=2; + int LA90_0 = input.LA(1); + + if ( (LA90_0==47) ) { + alt90=1; + } + + + switch (alt90) { + case 1 : + // InternalFiacre.g:8719:4: rule__ProcessDeclaration__TransitionsAssignment_12 + { + pushFollow(FollowSets000.FOLLOW_42); + rule__ProcessDeclaration__TransitionsAssignment_12(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop90; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getTransitionsAssignment_12()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group__12__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__0" + // InternalFiacre.g:8729:1: rule__ProcessDeclaration__Group_2__0 : rule__ProcessDeclaration__Group_2__0__Impl rule__ProcessDeclaration__Group_2__1 ; + public final void rule__ProcessDeclaration__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8733:1: ( rule__ProcessDeclaration__Group_2__0__Impl rule__ProcessDeclaration__Group_2__1 ) + // InternalFiacre.g:8734:2: rule__ProcessDeclaration__Group_2__0__Impl rule__ProcessDeclaration__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__0__Impl" + // InternalFiacre.g:8741:1: rule__ProcessDeclaration__Group_2__0__Impl : ( '[' ) ; + public final void rule__ProcessDeclaration__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8745:1: ( ( '[' ) ) + // InternalFiacre.g:8746:1: ( '[' ) + { + // InternalFiacre.g:8746:1: ( '[' ) + // InternalFiacre.g:8747:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__1" + // InternalFiacre.g:8756:1: rule__ProcessDeclaration__Group_2__1 : rule__ProcessDeclaration__Group_2__1__Impl rule__ProcessDeclaration__Group_2__2 ; + public final void rule__ProcessDeclaration__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8760:1: ( rule__ProcessDeclaration__Group_2__1__Impl rule__ProcessDeclaration__Group_2__2 ) + // InternalFiacre.g:8761:2: rule__ProcessDeclaration__Group_2__1__Impl rule__ProcessDeclaration__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ProcessDeclaration__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__1__Impl" + // InternalFiacre.g:8768:1: rule__ProcessDeclaration__Group_2__1__Impl : ( ( rule__ProcessDeclaration__PortsAssignment_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8772:1: ( ( ( rule__ProcessDeclaration__PortsAssignment_2_1 ) ) ) + // InternalFiacre.g:8773:1: ( ( rule__ProcessDeclaration__PortsAssignment_2_1 ) ) + { + // InternalFiacre.g:8773:1: ( ( rule__ProcessDeclaration__PortsAssignment_2_1 ) ) + // InternalFiacre.g:8774:2: ( rule__ProcessDeclaration__PortsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_1()); + } + // InternalFiacre.g:8775:2: ( rule__ProcessDeclaration__PortsAssignment_2_1 ) + // InternalFiacre.g:8775:3: rule__ProcessDeclaration__PortsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__PortsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__2" + // InternalFiacre.g:8783:1: rule__ProcessDeclaration__Group_2__2 : rule__ProcessDeclaration__Group_2__2__Impl rule__ProcessDeclaration__Group_2__3 ; + public final void rule__ProcessDeclaration__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8787:1: ( rule__ProcessDeclaration__Group_2__2__Impl rule__ProcessDeclaration__Group_2__3 ) + // InternalFiacre.g:8788:2: rule__ProcessDeclaration__Group_2__2__Impl rule__ProcessDeclaration__Group_2__3 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ProcessDeclaration__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__2__Impl" + // InternalFiacre.g:8795:1: rule__ProcessDeclaration__Group_2__2__Impl : ( ( rule__ProcessDeclaration__Group_2_2__0 )* ) ; + public final void rule__ProcessDeclaration__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8799:1: ( ( ( rule__ProcessDeclaration__Group_2_2__0 )* ) ) + // InternalFiacre.g:8800:1: ( ( rule__ProcessDeclaration__Group_2_2__0 )* ) + { + // InternalFiacre.g:8800:1: ( ( rule__ProcessDeclaration__Group_2_2__0 )* ) + // InternalFiacre.g:8801:2: ( rule__ProcessDeclaration__Group_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_2_2()); + } + // InternalFiacre.g:8802:2: ( rule__ProcessDeclaration__Group_2_2__0 )* + loop91: + do { + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==24) ) { + alt91=1; + } + + + switch (alt91) { + case 1 : + // InternalFiacre.g:8802:3: rule__ProcessDeclaration__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop91; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__3" + // InternalFiacre.g:8810:1: rule__ProcessDeclaration__Group_2__3 : rule__ProcessDeclaration__Group_2__3__Impl ; + public final void rule__ProcessDeclaration__Group_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8814:1: ( rule__ProcessDeclaration__Group_2__3__Impl ) + // InternalFiacre.g:8815:2: rule__ProcessDeclaration__Group_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__3" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2__3__Impl" + // InternalFiacre.g:8821:1: rule__ProcessDeclaration__Group_2__3__Impl : ( ']' ) ; + public final void rule__ProcessDeclaration__Group_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8825:1: ( ( ']' ) ) + // InternalFiacre.g:8826:1: ( ']' ) + { + // InternalFiacre.g:8826:1: ( ']' ) + // InternalFiacre.g:8827:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2__3__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2_2__0" + // InternalFiacre.g:8837:1: rule__ProcessDeclaration__Group_2_2__0 : rule__ProcessDeclaration__Group_2_2__0__Impl rule__ProcessDeclaration__Group_2_2__1 ; + public final void rule__ProcessDeclaration__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8841:1: ( rule__ProcessDeclaration__Group_2_2__0__Impl rule__ProcessDeclaration__Group_2_2__1 ) + // InternalFiacre.g:8842:2: rule__ProcessDeclaration__Group_2_2__0__Impl rule__ProcessDeclaration__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2_2__0__Impl" + // InternalFiacre.g:8849:1: rule__ProcessDeclaration__Group_2_2__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8853:1: ( ( ',' ) ) + // InternalFiacre.g:8854:1: ( ',' ) + { + // InternalFiacre.g:8854:1: ( ',' ) + // InternalFiacre.g:8855:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2_2__1" + // InternalFiacre.g:8864:1: rule__ProcessDeclaration__Group_2_2__1 : rule__ProcessDeclaration__Group_2_2__1__Impl ; + public final void rule__ProcessDeclaration__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8868:1: ( rule__ProcessDeclaration__Group_2_2__1__Impl ) + // InternalFiacre.g:8869:2: rule__ProcessDeclaration__Group_2_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_2_2__1__Impl" + // InternalFiacre.g:8875:1: rule__ProcessDeclaration__Group_2_2__1__Impl : ( ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8879:1: ( ( ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) ) ) + // InternalFiacre.g:8880:1: ( ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) ) + { + // InternalFiacre.g:8880:1: ( ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) ) + // InternalFiacre.g:8881:2: ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_2_1()); + } + // InternalFiacre.g:8882:2: ( rule__ProcessDeclaration__PortsAssignment_2_2_1 ) + // InternalFiacre.g:8882:3: rule__ProcessDeclaration__PortsAssignment_2_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__PortsAssignment_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPortsAssignment_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_2_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__0" + // InternalFiacre.g:8891:1: rule__ProcessDeclaration__Group_3__0 : rule__ProcessDeclaration__Group_3__0__Impl rule__ProcessDeclaration__Group_3__1 ; + public final void rule__ProcessDeclaration__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8895:1: ( rule__ProcessDeclaration__Group_3__0__Impl rule__ProcessDeclaration__Group_3__1 ) + // InternalFiacre.g:8896:2: rule__ProcessDeclaration__Group_3__0__Impl rule__ProcessDeclaration__Group_3__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ProcessDeclaration__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__0__Impl" + // InternalFiacre.g:8903:1: rule__ProcessDeclaration__Group_3__0__Impl : ( '(' ) ; + public final void rule__ProcessDeclaration__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8907:1: ( ( '(' ) ) + // InternalFiacre.g:8908:1: ( '(' ) + { + // InternalFiacre.g:8908:1: ( '(' ) + // InternalFiacre.g:8909:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__1" + // InternalFiacre.g:8918:1: rule__ProcessDeclaration__Group_3__1 : rule__ProcessDeclaration__Group_3__1__Impl rule__ProcessDeclaration__Group_3__2 ; + public final void rule__ProcessDeclaration__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8922:1: ( rule__ProcessDeclaration__Group_3__1__Impl rule__ProcessDeclaration__Group_3__2 ) + // InternalFiacre.g:8923:2: rule__ProcessDeclaration__Group_3__1__Impl rule__ProcessDeclaration__Group_3__2 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ProcessDeclaration__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__1__Impl" + // InternalFiacre.g:8930:1: rule__ProcessDeclaration__Group_3__1__Impl : ( ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) ) ; + public final void rule__ProcessDeclaration__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8934:1: ( ( ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) ) ) + // InternalFiacre.g:8935:1: ( ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) ) + { + // InternalFiacre.g:8935:1: ( ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) ) + // InternalFiacre.g:8936:2: ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_1()); + } + // InternalFiacre.g:8937:2: ( rule__ProcessDeclaration__ParametersAssignment_3_1 ) + // InternalFiacre.g:8937:3: rule__ProcessDeclaration__ParametersAssignment_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__ParametersAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__2" + // InternalFiacre.g:8945:1: rule__ProcessDeclaration__Group_3__2 : rule__ProcessDeclaration__Group_3__2__Impl rule__ProcessDeclaration__Group_3__3 ; + public final void rule__ProcessDeclaration__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8949:1: ( rule__ProcessDeclaration__Group_3__2__Impl rule__ProcessDeclaration__Group_3__3 ) + // InternalFiacre.g:8950:2: rule__ProcessDeclaration__Group_3__2__Impl rule__ProcessDeclaration__Group_3__3 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ProcessDeclaration__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__2__Impl" + // InternalFiacre.g:8957:1: rule__ProcessDeclaration__Group_3__2__Impl : ( ( rule__ProcessDeclaration__Group_3_2__0 )* ) ; + public final void rule__ProcessDeclaration__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8961:1: ( ( ( rule__ProcessDeclaration__Group_3_2__0 )* ) ) + // InternalFiacre.g:8962:1: ( ( rule__ProcessDeclaration__Group_3_2__0 )* ) + { + // InternalFiacre.g:8962:1: ( ( rule__ProcessDeclaration__Group_3_2__0 )* ) + // InternalFiacre.g:8963:2: ( rule__ProcessDeclaration__Group_3_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_3_2()); + } + // InternalFiacre.g:8964:2: ( rule__ProcessDeclaration__Group_3_2__0 )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==24) ) { + alt92=1; + } + + + switch (alt92) { + case 1 : + // InternalFiacre.g:8964:3: rule__ProcessDeclaration__Group_3_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop92; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__3" + // InternalFiacre.g:8972:1: rule__ProcessDeclaration__Group_3__3 : rule__ProcessDeclaration__Group_3__3__Impl ; + public final void rule__ProcessDeclaration__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8976:1: ( rule__ProcessDeclaration__Group_3__3__Impl ) + // InternalFiacre.g:8977:2: rule__ProcessDeclaration__Group_3__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__3" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3__3__Impl" + // InternalFiacre.g:8983:1: rule__ProcessDeclaration__Group_3__3__Impl : ( ')' ) ; + public final void rule__ProcessDeclaration__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:8987:1: ( ( ')' ) ) + // InternalFiacre.g:8988:1: ( ')' ) + { + // InternalFiacre.g:8988:1: ( ')' ) + // InternalFiacre.g:8989:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3__3__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3_2__0" + // InternalFiacre.g:8999:1: rule__ProcessDeclaration__Group_3_2__0 : rule__ProcessDeclaration__Group_3_2__0__Impl rule__ProcessDeclaration__Group_3_2__1 ; + public final void rule__ProcessDeclaration__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9003:1: ( rule__ProcessDeclaration__Group_3_2__0__Impl rule__ProcessDeclaration__Group_3_2__1 ) + // InternalFiacre.g:9004:2: rule__ProcessDeclaration__Group_3_2__0__Impl rule__ProcessDeclaration__Group_3_2__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ProcessDeclaration__Group_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3_2__0__Impl" + // InternalFiacre.g:9011:1: rule__ProcessDeclaration__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9015:1: ( ( ',' ) ) + // InternalFiacre.g:9016:1: ( ',' ) + { + // InternalFiacre.g:9016:1: ( ',' ) + // InternalFiacre.g:9017:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3_2__1" + // InternalFiacre.g:9026:1: rule__ProcessDeclaration__Group_3_2__1 : rule__ProcessDeclaration__Group_3_2__1__Impl ; + public final void rule__ProcessDeclaration__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9030:1: ( rule__ProcessDeclaration__Group_3_2__1__Impl ) + // InternalFiacre.g:9031:2: rule__ProcessDeclaration__Group_3_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_3_2__1__Impl" + // InternalFiacre.g:9037:1: rule__ProcessDeclaration__Group_3_2__1__Impl : ( ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9041:1: ( ( ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) ) ) + // InternalFiacre.g:9042:1: ( ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) ) + { + // InternalFiacre.g:9042:1: ( ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) ) + // InternalFiacre.g:9043:2: ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_2_1()); + } + // InternalFiacre.g:9044:2: ( rule__ProcessDeclaration__ParametersAssignment_3_2_1 ) + // InternalFiacre.g:9044:3: rule__ProcessDeclaration__ParametersAssignment_3_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__ParametersAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getParametersAssignment_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_3_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__0" + // InternalFiacre.g:9053:1: rule__ProcessDeclaration__Group_5__0 : rule__ProcessDeclaration__Group_5__0__Impl rule__ProcessDeclaration__Group_5__1 ; + public final void rule__ProcessDeclaration__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9057:1: ( rule__ProcessDeclaration__Group_5__0__Impl rule__ProcessDeclaration__Group_5__1 ) + // InternalFiacre.g:9058:2: rule__ProcessDeclaration__Group_5__0__Impl rule__ProcessDeclaration__Group_5__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__0__Impl" + // InternalFiacre.g:9065:1: rule__ProcessDeclaration__Group_5__0__Impl : ( 'port' ) ; + public final void rule__ProcessDeclaration__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9069:1: ( ( 'port' ) ) + // InternalFiacre.g:9070:1: ( 'port' ) + { + // InternalFiacre.g:9070:1: ( 'port' ) + // InternalFiacre.g:9071:2: 'port' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); + } + match(input,44,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__1" + // InternalFiacre.g:9080:1: rule__ProcessDeclaration__Group_5__1 : rule__ProcessDeclaration__Group_5__1__Impl rule__ProcessDeclaration__Group_5__2 ; + public final void rule__ProcessDeclaration__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9084:1: ( rule__ProcessDeclaration__Group_5__1__Impl rule__ProcessDeclaration__Group_5__2 ) + // InternalFiacre.g:9085:2: rule__ProcessDeclaration__Group_5__1__Impl rule__ProcessDeclaration__Group_5__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ProcessDeclaration__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__1__Impl" + // InternalFiacre.g:9092:1: rule__ProcessDeclaration__Group_5__1__Impl : ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) ) ; + public final void rule__ProcessDeclaration__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9096:1: ( ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) ) ) + // InternalFiacre.g:9097:1: ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) ) + { + // InternalFiacre.g:9097:1: ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) ) + // InternalFiacre.g:9098:2: ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_1()); + } + // InternalFiacre.g:9099:2: ( rule__ProcessDeclaration__LocalPortsAssignment_5_1 ) + // InternalFiacre.g:9099:3: rule__ProcessDeclaration__LocalPortsAssignment_5_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__LocalPortsAssignment_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__2" + // InternalFiacre.g:9107:1: rule__ProcessDeclaration__Group_5__2 : rule__ProcessDeclaration__Group_5__2__Impl ; + public final void rule__ProcessDeclaration__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9111:1: ( rule__ProcessDeclaration__Group_5__2__Impl ) + // InternalFiacre.g:9112:2: rule__ProcessDeclaration__Group_5__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5__2__Impl" + // InternalFiacre.g:9118:1: rule__ProcessDeclaration__Group_5__2__Impl : ( ( rule__ProcessDeclaration__Group_5_2__0 )* ) ; + public final void rule__ProcessDeclaration__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9122:1: ( ( ( rule__ProcessDeclaration__Group_5_2__0 )* ) ) + // InternalFiacre.g:9123:1: ( ( rule__ProcessDeclaration__Group_5_2__0 )* ) + { + // InternalFiacre.g:9123:1: ( ( rule__ProcessDeclaration__Group_5_2__0 )* ) + // InternalFiacre.g:9124:2: ( rule__ProcessDeclaration__Group_5_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_5_2()); + } + // InternalFiacre.g:9125:2: ( rule__ProcessDeclaration__Group_5_2__0 )* + loop93: + do { + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==24) ) { + alt93=1; + } + + + switch (alt93) { + case 1 : + // InternalFiacre.g:9125:3: rule__ProcessDeclaration__Group_5_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_5_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop93; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5_2__0" + // InternalFiacre.g:9134:1: rule__ProcessDeclaration__Group_5_2__0 : rule__ProcessDeclaration__Group_5_2__0__Impl rule__ProcessDeclaration__Group_5_2__1 ; + public final void rule__ProcessDeclaration__Group_5_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9138:1: ( rule__ProcessDeclaration__Group_5_2__0__Impl rule__ProcessDeclaration__Group_5_2__1 ) + // InternalFiacre.g:9139:2: rule__ProcessDeclaration__Group_5_2__0__Impl rule__ProcessDeclaration__Group_5_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_5_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5_2__0__Impl" + // InternalFiacre.g:9146:1: rule__ProcessDeclaration__Group_5_2__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_5_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9150:1: ( ( ',' ) ) + // InternalFiacre.g:9151:1: ( ',' ) + { + // InternalFiacre.g:9151:1: ( ',' ) + // InternalFiacre.g:9152:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5_2__1" + // InternalFiacre.g:9161:1: rule__ProcessDeclaration__Group_5_2__1 : rule__ProcessDeclaration__Group_5_2__1__Impl ; + public final void rule__ProcessDeclaration__Group_5_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9165:1: ( rule__ProcessDeclaration__Group_5_2__1__Impl ) + // InternalFiacre.g:9166:2: rule__ProcessDeclaration__Group_5_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_5_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_5_2__1__Impl" + // InternalFiacre.g:9172:1: rule__ProcessDeclaration__Group_5_2__1__Impl : ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_5_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9176:1: ( ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) ) ) + // InternalFiacre.g:9177:1: ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) ) + { + // InternalFiacre.g:9177:1: ( ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) ) + // InternalFiacre.g:9178:2: ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_2_1()); + } + // InternalFiacre.g:9179:2: ( rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 ) + // InternalFiacre.g:9179:3: rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__LocalPortsAssignment_5_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLocalPortsAssignment_5_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_5_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__0" + // InternalFiacre.g:9188:1: rule__ProcessDeclaration__Group_6__0 : rule__ProcessDeclaration__Group_6__0__Impl rule__ProcessDeclaration__Group_6__1 ; + public final void rule__ProcessDeclaration__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9192:1: ( rule__ProcessDeclaration__Group_6__0__Impl rule__ProcessDeclaration__Group_6__1 ) + // InternalFiacre.g:9193:2: rule__ProcessDeclaration__Group_6__0__Impl rule__ProcessDeclaration__Group_6__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__0__Impl" + // InternalFiacre.g:9200:1: rule__ProcessDeclaration__Group_6__0__Impl : ( 'priority' ) ; + public final void rule__ProcessDeclaration__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9204:1: ( ( 'priority' ) ) + // InternalFiacre.g:9205:1: ( 'priority' ) + { + // InternalFiacre.g:9205:1: ( 'priority' ) + // InternalFiacre.g:9206:2: 'priority' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); + } + match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__1" + // InternalFiacre.g:9215:1: rule__ProcessDeclaration__Group_6__1 : rule__ProcessDeclaration__Group_6__1__Impl rule__ProcessDeclaration__Group_6__2 ; + public final void rule__ProcessDeclaration__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9219:1: ( rule__ProcessDeclaration__Group_6__1__Impl rule__ProcessDeclaration__Group_6__2 ) + // InternalFiacre.g:9220:2: rule__ProcessDeclaration__Group_6__1__Impl rule__ProcessDeclaration__Group_6__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ProcessDeclaration__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__1__Impl" + // InternalFiacre.g:9227:1: rule__ProcessDeclaration__Group_6__1__Impl : ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) ) ; + public final void rule__ProcessDeclaration__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9231:1: ( ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) ) ) + // InternalFiacre.g:9232:1: ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) ) + { + // InternalFiacre.g:9232:1: ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) ) + // InternalFiacre.g:9233:2: ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_1()); + } + // InternalFiacre.g:9234:2: ( rule__ProcessDeclaration__PrioritiesAssignment_6_1 ) + // InternalFiacre.g:9234:3: rule__ProcessDeclaration__PrioritiesAssignment_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__PrioritiesAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__2" + // InternalFiacre.g:9242:1: rule__ProcessDeclaration__Group_6__2 : rule__ProcessDeclaration__Group_6__2__Impl ; + public final void rule__ProcessDeclaration__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9246:1: ( rule__ProcessDeclaration__Group_6__2__Impl ) + // InternalFiacre.g:9247:2: rule__ProcessDeclaration__Group_6__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6__2__Impl" + // InternalFiacre.g:9253:1: rule__ProcessDeclaration__Group_6__2__Impl : ( ( rule__ProcessDeclaration__Group_6_2__0 )* ) ; + public final void rule__ProcessDeclaration__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9257:1: ( ( ( rule__ProcessDeclaration__Group_6_2__0 )* ) ) + // InternalFiacre.g:9258:1: ( ( rule__ProcessDeclaration__Group_6_2__0 )* ) + { + // InternalFiacre.g:9258:1: ( ( rule__ProcessDeclaration__Group_6_2__0 )* ) + // InternalFiacre.g:9259:2: ( rule__ProcessDeclaration__Group_6_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_6_2()); + } + // InternalFiacre.g:9260:2: ( rule__ProcessDeclaration__Group_6_2__0 )* + loop94: + do { + int alt94=2; + int LA94_0 = input.LA(1); + + if ( (LA94_0==24) ) { + alt94=1; + } + + + switch (alt94) { + case 1 : + // InternalFiacre.g:9260:3: rule__ProcessDeclaration__Group_6_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_6_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop94; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6_2__0" + // InternalFiacre.g:9269:1: rule__ProcessDeclaration__Group_6_2__0 : rule__ProcessDeclaration__Group_6_2__0__Impl rule__ProcessDeclaration__Group_6_2__1 ; + public final void rule__ProcessDeclaration__Group_6_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9273:1: ( rule__ProcessDeclaration__Group_6_2__0__Impl rule__ProcessDeclaration__Group_6_2__1 ) + // InternalFiacre.g:9274:2: rule__ProcessDeclaration__Group_6_2__0__Impl rule__ProcessDeclaration__Group_6_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_6_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6_2__0__Impl" + // InternalFiacre.g:9281:1: rule__ProcessDeclaration__Group_6_2__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_6_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9285:1: ( ( ',' ) ) + // InternalFiacre.g:9286:1: ( ',' ) + { + // InternalFiacre.g:9286:1: ( ',' ) + // InternalFiacre.g:9287:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6_2__1" + // InternalFiacre.g:9296:1: rule__ProcessDeclaration__Group_6_2__1 : rule__ProcessDeclaration__Group_6_2__1__Impl ; + public final void rule__ProcessDeclaration__Group_6_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9300:1: ( rule__ProcessDeclaration__Group_6_2__1__Impl ) + // InternalFiacre.g:9301:2: rule__ProcessDeclaration__Group_6_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_6_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_6_2__1__Impl" + // InternalFiacre.g:9307:1: rule__ProcessDeclaration__Group_6_2__1__Impl : ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_6_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9311:1: ( ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) ) ) + // InternalFiacre.g:9312:1: ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) ) + { + // InternalFiacre.g:9312:1: ( ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) ) + // InternalFiacre.g:9313:2: ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_2_1()); + } + // InternalFiacre.g:9314:2: ( rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 ) + // InternalFiacre.g:9314:3: rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__PrioritiesAssignment_6_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPrioritiesAssignment_6_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_6_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_9__0" + // InternalFiacre.g:9323:1: rule__ProcessDeclaration__Group_9__0 : rule__ProcessDeclaration__Group_9__0__Impl rule__ProcessDeclaration__Group_9__1 ; + public final void rule__ProcessDeclaration__Group_9__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9327:1: ( rule__ProcessDeclaration__Group_9__0__Impl rule__ProcessDeclaration__Group_9__1 ) + // InternalFiacre.g:9328:2: rule__ProcessDeclaration__Group_9__0__Impl rule__ProcessDeclaration__Group_9__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_9__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_9__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_9__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_9__0__Impl" + // InternalFiacre.g:9335:1: rule__ProcessDeclaration__Group_9__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_9__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9339:1: ( ( ',' ) ) + // InternalFiacre.g:9340:1: ( ',' ) + { + // InternalFiacre.g:9340:1: ( ',' ) + // InternalFiacre.g:9341:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_9__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_9__1" + // InternalFiacre.g:9350:1: rule__ProcessDeclaration__Group_9__1 : rule__ProcessDeclaration__Group_9__1__Impl ; + public final void rule__ProcessDeclaration__Group_9__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9354:1: ( rule__ProcessDeclaration__Group_9__1__Impl ) + // InternalFiacre.g:9355:2: rule__ProcessDeclaration__Group_9__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_9__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_9__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_9__1__Impl" + // InternalFiacre.g:9361:1: rule__ProcessDeclaration__Group_9__1__Impl : ( ( rule__ProcessDeclaration__StatesAssignment_9_1 ) ) ; + public final void rule__ProcessDeclaration__Group_9__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9365:1: ( ( ( rule__ProcessDeclaration__StatesAssignment_9_1 ) ) ) + // InternalFiacre.g:9366:1: ( ( rule__ProcessDeclaration__StatesAssignment_9_1 ) ) + { + // InternalFiacre.g:9366:1: ( ( rule__ProcessDeclaration__StatesAssignment_9_1 ) ) + // InternalFiacre.g:9367:2: ( rule__ProcessDeclaration__StatesAssignment_9_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_9_1()); + } + // InternalFiacre.g:9368:2: ( rule__ProcessDeclaration__StatesAssignment_9_1 ) + // InternalFiacre.g:9368:3: rule__ProcessDeclaration__StatesAssignment_9_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__StatesAssignment_9_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getStatesAssignment_9_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_9__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__0" + // InternalFiacre.g:9377:1: rule__ProcessDeclaration__Group_10__0 : rule__ProcessDeclaration__Group_10__0__Impl rule__ProcessDeclaration__Group_10__1 ; + public final void rule__ProcessDeclaration__Group_10__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9381:1: ( rule__ProcessDeclaration__Group_10__0__Impl rule__ProcessDeclaration__Group_10__1 ) + // InternalFiacre.g:9382:2: rule__ProcessDeclaration__Group_10__0__Impl rule__ProcessDeclaration__Group_10__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_10__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__0__Impl" + // InternalFiacre.g:9389:1: rule__ProcessDeclaration__Group_10__0__Impl : ( 'var' ) ; + public final void rule__ProcessDeclaration__Group_10__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9393:1: ( ( 'var' ) ) + // InternalFiacre.g:9394:1: ( 'var' ) + { + // InternalFiacre.g:9394:1: ( 'var' ) + // InternalFiacre.g:9395:2: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); + } + match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__1" + // InternalFiacre.g:9404:1: rule__ProcessDeclaration__Group_10__1 : rule__ProcessDeclaration__Group_10__1__Impl rule__ProcessDeclaration__Group_10__2 ; + public final void rule__ProcessDeclaration__Group_10__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9408:1: ( rule__ProcessDeclaration__Group_10__1__Impl rule__ProcessDeclaration__Group_10__2 ) + // InternalFiacre.g:9409:2: rule__ProcessDeclaration__Group_10__1__Impl rule__ProcessDeclaration__Group_10__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ProcessDeclaration__Group_10__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__1__Impl" + // InternalFiacre.g:9416:1: rule__ProcessDeclaration__Group_10__1__Impl : ( ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) ) ; + public final void rule__ProcessDeclaration__Group_10__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9420:1: ( ( ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) ) ) + // InternalFiacre.g:9421:1: ( ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) ) + { + // InternalFiacre.g:9421:1: ( ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) ) + // InternalFiacre.g:9422:2: ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_1()); + } + // InternalFiacre.g:9423:2: ( rule__ProcessDeclaration__VariablesAssignment_10_1 ) + // InternalFiacre.g:9423:3: rule__ProcessDeclaration__VariablesAssignment_10_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__VariablesAssignment_10_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__2" + // InternalFiacre.g:9431:1: rule__ProcessDeclaration__Group_10__2 : rule__ProcessDeclaration__Group_10__2__Impl ; + public final void rule__ProcessDeclaration__Group_10__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9435:1: ( rule__ProcessDeclaration__Group_10__2__Impl ) + // InternalFiacre.g:9436:2: rule__ProcessDeclaration__Group_10__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__2" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10__2__Impl" + // InternalFiacre.g:9442:1: rule__ProcessDeclaration__Group_10__2__Impl : ( ( rule__ProcessDeclaration__Group_10_2__0 )* ) ; + public final void rule__ProcessDeclaration__Group_10__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9446:1: ( ( ( rule__ProcessDeclaration__Group_10_2__0 )* ) ) + // InternalFiacre.g:9447:1: ( ( rule__ProcessDeclaration__Group_10_2__0 )* ) + { + // InternalFiacre.g:9447:1: ( ( rule__ProcessDeclaration__Group_10_2__0 )* ) + // InternalFiacre.g:9448:2: ( rule__ProcessDeclaration__Group_10_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getGroup_10_2()); + } + // InternalFiacre.g:9449:2: ( rule__ProcessDeclaration__Group_10_2__0 )* + loop95: + do { + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==24) ) { + alt95=1; + } + + + switch (alt95) { + case 1 : + // InternalFiacre.g:9449:3: rule__ProcessDeclaration__Group_10_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ProcessDeclaration__Group_10_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop95; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getGroup_10_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10__2__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10_2__0" + // InternalFiacre.g:9458:1: rule__ProcessDeclaration__Group_10_2__0 : rule__ProcessDeclaration__Group_10_2__0__Impl rule__ProcessDeclaration__Group_10_2__1 ; + public final void rule__ProcessDeclaration__Group_10_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9462:1: ( rule__ProcessDeclaration__Group_10_2__0__Impl rule__ProcessDeclaration__Group_10_2__1 ) + // InternalFiacre.g:9463:2: rule__ProcessDeclaration__Group_10_2__0__Impl rule__ProcessDeclaration__Group_10_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ProcessDeclaration__Group_10_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10_2__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10_2__0__Impl" + // InternalFiacre.g:9470:1: rule__ProcessDeclaration__Group_10_2__0__Impl : ( ',' ) ; + public final void rule__ProcessDeclaration__Group_10_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9474:1: ( ( ',' ) ) + // InternalFiacre.g:9475:1: ( ',' ) + { + // InternalFiacre.g:9475:1: ( ',' ) + // InternalFiacre.g:9476:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10_2__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10_2__1" + // InternalFiacre.g:9485:1: rule__ProcessDeclaration__Group_10_2__1 : rule__ProcessDeclaration__Group_10_2__1__Impl ; + public final void rule__ProcessDeclaration__Group_10_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9489:1: ( rule__ProcessDeclaration__Group_10_2__1__Impl ) + // InternalFiacre.g:9490:2: rule__ProcessDeclaration__Group_10_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_10_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10_2__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_10_2__1__Impl" + // InternalFiacre.g:9496:1: rule__ProcessDeclaration__Group_10_2__1__Impl : ( ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) ) ; + public final void rule__ProcessDeclaration__Group_10_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9500:1: ( ( ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) ) ) + // InternalFiacre.g:9501:1: ( ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) ) + { + // InternalFiacre.g:9501:1: ( ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) ) + // InternalFiacre.g:9502:2: ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_2_1()); + } + // InternalFiacre.g:9503:2: ( rule__ProcessDeclaration__VariablesAssignment_10_2_1 ) + // InternalFiacre.g:9503:3: rule__ProcessDeclaration__VariablesAssignment_10_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__VariablesAssignment_10_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getVariablesAssignment_10_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_10_2__1__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_11__0" + // InternalFiacre.g:9512:1: rule__ProcessDeclaration__Group_11__0 : rule__ProcessDeclaration__Group_11__0__Impl rule__ProcessDeclaration__Group_11__1 ; + public final void rule__ProcessDeclaration__Group_11__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9516:1: ( rule__ProcessDeclaration__Group_11__0__Impl rule__ProcessDeclaration__Group_11__1 ) + // InternalFiacre.g:9517:2: rule__ProcessDeclaration__Group_11__0__Impl rule__ProcessDeclaration__Group_11__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ProcessDeclaration__Group_11__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_11__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_11__0" + + + // $ANTLR start "rule__ProcessDeclaration__Group_11__0__Impl" + // InternalFiacre.g:9524:1: rule__ProcessDeclaration__Group_11__0__Impl : ( 'init' ) ; + public final void rule__ProcessDeclaration__Group_11__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9528:1: ( ( 'init' ) ) + // InternalFiacre.g:9529:1: ( 'init' ) + { + // InternalFiacre.g:9529:1: ( 'init' ) + // InternalFiacre.g:9530:2: 'init' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); + } + match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_11__0__Impl" + + + // $ANTLR start "rule__ProcessDeclaration__Group_11__1" + // InternalFiacre.g:9539:1: rule__ProcessDeclaration__Group_11__1 : rule__ProcessDeclaration__Group_11__1__Impl ; + public final void rule__ProcessDeclaration__Group_11__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9543:1: ( rule__ProcessDeclaration__Group_11__1__Impl ) + // InternalFiacre.g:9544:2: rule__ProcessDeclaration__Group_11__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__Group_11__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_11__1" + + + // $ANTLR start "rule__ProcessDeclaration__Group_11__1__Impl" + // InternalFiacre.g:9550:1: rule__ProcessDeclaration__Group_11__1__Impl : ( ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) ) ; + public final void rule__ProcessDeclaration__Group_11__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9554:1: ( ( ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) ) ) + // InternalFiacre.g:9555:1: ( ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) ) + { + // InternalFiacre.g:9555:1: ( ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) ) + // InternalFiacre.g:9556:2: ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPreludeAssignment_11_1()); + } + // InternalFiacre.g:9557:2: ( rule__ProcessDeclaration__PreludeAssignment_11_1 ) + // InternalFiacre.g:9557:3: rule__ProcessDeclaration__PreludeAssignment_11_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ProcessDeclaration__PreludeAssignment_11_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPreludeAssignment_11_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__Group_11__1__Impl" + + + // $ANTLR start "rule__TransitionSource__Group__0" + // InternalFiacre.g:9566:1: rule__TransitionSource__Group__0 : rule__TransitionSource__Group__0__Impl rule__TransitionSource__Group__1 ; + public final void rule__TransitionSource__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9570:1: ( rule__TransitionSource__Group__0__Impl rule__TransitionSource__Group__1 ) + // InternalFiacre.g:9571:2: rule__TransitionSource__Group__0__Impl rule__TransitionSource__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__TransitionSource__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TransitionSource__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransitionSource__Group__0" + + + // $ANTLR start "rule__TransitionSource__Group__0__Impl" + // InternalFiacre.g:9578:1: rule__TransitionSource__Group__0__Impl : ( 'from' ) ; + public final void rule__TransitionSource__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9582:1: ( ( 'from' ) ) + // InternalFiacre.g:9583:1: ( 'from' ) + { + // InternalFiacre.g:9583:1: ( 'from' ) + // InternalFiacre.g:9584:2: 'from' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); + } + match(input,47,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransitionSource__Group__0__Impl" + + + // $ANTLR start "rule__TransitionSource__Group__1" + // InternalFiacre.g:9593:1: rule__TransitionSource__Group__1 : rule__TransitionSource__Group__1__Impl ; + public final void rule__TransitionSource__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9597:1: ( rule__TransitionSource__Group__1__Impl ) + // InternalFiacre.g:9598:2: rule__TransitionSource__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TransitionSource__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransitionSource__Group__1" + + + // $ANTLR start "rule__TransitionSource__Group__1__Impl" + // InternalFiacre.g:9604:1: rule__TransitionSource__Group__1__Impl : ( ( rule__TransitionSource__OriginAssignment_1 ) ) ; + public final void rule__TransitionSource__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9608:1: ( ( ( rule__TransitionSource__OriginAssignment_1 ) ) ) + // InternalFiacre.g:9609:1: ( ( rule__TransitionSource__OriginAssignment_1 ) ) + { + // InternalFiacre.g:9609:1: ( ( rule__TransitionSource__OriginAssignment_1 ) ) + // InternalFiacre.g:9610:2: ( rule__TransitionSource__OriginAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceAccess().getOriginAssignment_1()); + } + // InternalFiacre.g:9611:2: ( rule__TransitionSource__OriginAssignment_1 ) + // InternalFiacre.g:9611:3: rule__TransitionSource__OriginAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TransitionSource__OriginAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceAccess().getOriginAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransitionSource__Group__1__Impl" + + + // $ANTLR start "rule__Transition__Group__0" + // InternalFiacre.g:9620:1: rule__Transition__Group__0 : rule__Transition__Group__0__Impl rule__Transition__Group__1 ; + public final void rule__Transition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9624:1: ( rule__Transition__Group__0__Impl rule__Transition__Group__1 ) + // InternalFiacre.g:9625:2: rule__Transition__Group__0__Impl rule__Transition__Group__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__Transition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Transition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__0" + + + // $ANTLR start "rule__Transition__Group__0__Impl" + // InternalFiacre.g:9632:1: rule__Transition__Group__0__Impl : ( ( rule__Transition__SourceAssignment_0 ) ) ; + public final void rule__Transition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9636:1: ( ( ( rule__Transition__SourceAssignment_0 ) ) ) + // InternalFiacre.g:9637:1: ( ( rule__Transition__SourceAssignment_0 ) ) + { + // InternalFiacre.g:9637:1: ( ( rule__Transition__SourceAssignment_0 ) ) + // InternalFiacre.g:9638:2: ( rule__Transition__SourceAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionAccess().getSourceAssignment_0()); + } + // InternalFiacre.g:9639:2: ( rule__Transition__SourceAssignment_0 ) + // InternalFiacre.g:9639:3: rule__Transition__SourceAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Transition__SourceAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionAccess().getSourceAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__0__Impl" + + + // $ANTLR start "rule__Transition__Group__1" + // InternalFiacre.g:9647:1: rule__Transition__Group__1 : rule__Transition__Group__1__Impl ; + public final void rule__Transition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9651:1: ( rule__Transition__Group__1__Impl ) + // InternalFiacre.g:9652:2: rule__Transition__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Transition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__1" + + + // $ANTLR start "rule__Transition__Group__1__Impl" + // InternalFiacre.g:9658:1: rule__Transition__Group__1__Impl : ( ( rule__Transition__ActionAssignment_1 ) ) ; + public final void rule__Transition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9662:1: ( ( ( rule__Transition__ActionAssignment_1 ) ) ) + // InternalFiacre.g:9663:1: ( ( rule__Transition__ActionAssignment_1 ) ) + { + // InternalFiacre.g:9663:1: ( ( rule__Transition__ActionAssignment_1 ) ) + // InternalFiacre.g:9664:2: ( rule__Transition__ActionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionAccess().getActionAssignment_1()); + } + // InternalFiacre.g:9665:2: ( rule__Transition__ActionAssignment_1 ) + // InternalFiacre.g:9665:3: rule__Transition__ActionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Transition__ActionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionAccess().getActionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__Group__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__0" + // InternalFiacre.g:9674:1: rule__ComponentDeclaration__Group__0 : rule__ComponentDeclaration__Group__0__Impl rule__ComponentDeclaration__Group__1 ; + public final void rule__ComponentDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9678:1: ( rule__ComponentDeclaration__Group__0__Impl rule__ComponentDeclaration__Group__1 ) + // InternalFiacre.g:9679:2: rule__ComponentDeclaration__Group__0__Impl rule__ComponentDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group__0__Impl" + // InternalFiacre.g:9686:1: rule__ComponentDeclaration__Group__0__Impl : ( 'component' ) ; + public final void rule__ComponentDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9690:1: ( ( 'component' ) ) + // InternalFiacre.g:9691:1: ( 'component' ) + { + // InternalFiacre.g:9691:1: ( 'component' ) + // InternalFiacre.g:9692:2: 'component' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); + } + match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__1" + // InternalFiacre.g:9701:1: rule__ComponentDeclaration__Group__1 : rule__ComponentDeclaration__Group__1__Impl rule__ComponentDeclaration__Group__2 ; + public final void rule__ComponentDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9705:1: ( rule__ComponentDeclaration__Group__1__Impl rule__ComponentDeclaration__Group__2 ) + // InternalFiacre.g:9706:2: rule__ComponentDeclaration__Group__1__Impl rule__ComponentDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ComponentDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group__1__Impl" + // InternalFiacre.g:9713:1: rule__ComponentDeclaration__Group__1__Impl : ( ( rule__ComponentDeclaration__NameAssignment_1 ) ) ; + public final void rule__ComponentDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9717:1: ( ( ( rule__ComponentDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:9718:1: ( ( rule__ComponentDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:9718:1: ( ( rule__ComponentDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:9719:2: ( rule__ComponentDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:9720:2: ( rule__ComponentDeclaration__NameAssignment_1 ) + // InternalFiacre.g:9720:3: rule__ComponentDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__2" + // InternalFiacre.g:9728:1: rule__ComponentDeclaration__Group__2 : rule__ComponentDeclaration__Group__2__Impl rule__ComponentDeclaration__Group__3 ; + public final void rule__ComponentDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9732:1: ( rule__ComponentDeclaration__Group__2__Impl rule__ComponentDeclaration__Group__3 ) + // InternalFiacre.g:9733:2: rule__ComponentDeclaration__Group__2__Impl rule__ComponentDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ComponentDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group__2__Impl" + // InternalFiacre.g:9740:1: rule__ComponentDeclaration__Group__2__Impl : ( ( rule__ComponentDeclaration__Group_2__0 )? ) ; + public final void rule__ComponentDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9744:1: ( ( ( rule__ComponentDeclaration__Group_2__0 )? ) ) + // InternalFiacre.g:9745:1: ( ( rule__ComponentDeclaration__Group_2__0 )? ) + { + // InternalFiacre.g:9745:1: ( ( rule__ComponentDeclaration__Group_2__0 )? ) + // InternalFiacre.g:9746:2: ( rule__ComponentDeclaration__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_2()); + } + // InternalFiacre.g:9747:2: ( rule__ComponentDeclaration__Group_2__0 )? + int alt96=2; + int LA96_0 = input.LA(1); + + if ( (LA96_0==42) ) { + alt96=1; + } + switch (alt96) { + case 1 : + // InternalFiacre.g:9747:3: rule__ComponentDeclaration__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__3" + // InternalFiacre.g:9755:1: rule__ComponentDeclaration__Group__3 : rule__ComponentDeclaration__Group__3__Impl rule__ComponentDeclaration__Group__4 ; + public final void rule__ComponentDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9759:1: ( rule__ComponentDeclaration__Group__3__Impl rule__ComponentDeclaration__Group__4 ) + // InternalFiacre.g:9760:2: rule__ComponentDeclaration__Group__3__Impl rule__ComponentDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_39); + rule__ComponentDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__3" + + + // $ANTLR start "rule__ComponentDeclaration__Group__3__Impl" + // InternalFiacre.g:9767:1: rule__ComponentDeclaration__Group__3__Impl : ( ( rule__ComponentDeclaration__Group_3__0 )? ) ; + public final void rule__ComponentDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9771:1: ( ( ( rule__ComponentDeclaration__Group_3__0 )? ) ) + // InternalFiacre.g:9772:1: ( ( rule__ComponentDeclaration__Group_3__0 )? ) + { + // InternalFiacre.g:9772:1: ( ( rule__ComponentDeclaration__Group_3__0 )? ) + // InternalFiacre.g:9773:2: ( rule__ComponentDeclaration__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_3()); + } + // InternalFiacre.g:9774:2: ( rule__ComponentDeclaration__Group_3__0 )? + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==22) ) { + alt97=1; + } + switch (alt97) { + case 1 : + // InternalFiacre.g:9774:3: rule__ComponentDeclaration__Group_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__4" + // InternalFiacre.g:9782:1: rule__ComponentDeclaration__Group__4 : rule__ComponentDeclaration__Group__4__Impl rule__ComponentDeclaration__Group__5 ; + public final void rule__ComponentDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9786:1: ( rule__ComponentDeclaration__Group__4__Impl rule__ComponentDeclaration__Group__5 ) + // InternalFiacre.g:9787:2: rule__ComponentDeclaration__Group__4__Impl rule__ComponentDeclaration__Group__5 + { + pushFollow(FollowSets000.FOLLOW_45); + rule__ComponentDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__4" + + + // $ANTLR start "rule__ComponentDeclaration__Group__4__Impl" + // InternalFiacre.g:9794:1: rule__ComponentDeclaration__Group__4__Impl : ( 'is' ) ; + public final void rule__ComponentDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9798:1: ( ( 'is' ) ) + // InternalFiacre.g:9799:1: ( 'is' ) + { + // InternalFiacre.g:9799:1: ( 'is' ) + // InternalFiacre.g:9800:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__5" + // InternalFiacre.g:9809:1: rule__ComponentDeclaration__Group__5 : rule__ComponentDeclaration__Group__5__Impl rule__ComponentDeclaration__Group__6 ; + public final void rule__ComponentDeclaration__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9813:1: ( rule__ComponentDeclaration__Group__5__Impl rule__ComponentDeclaration__Group__6 ) + // InternalFiacre.g:9814:2: rule__ComponentDeclaration__Group__5__Impl rule__ComponentDeclaration__Group__6 + { + pushFollow(FollowSets000.FOLLOW_45); + rule__ComponentDeclaration__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__5" + + + // $ANTLR start "rule__ComponentDeclaration__Group__5__Impl" + // InternalFiacre.g:9821:1: rule__ComponentDeclaration__Group__5__Impl : ( ( rule__ComponentDeclaration__Group_5__0 )? ) ; + public final void rule__ComponentDeclaration__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9825:1: ( ( ( rule__ComponentDeclaration__Group_5__0 )? ) ) + // InternalFiacre.g:9826:1: ( ( rule__ComponentDeclaration__Group_5__0 )? ) + { + // InternalFiacre.g:9826:1: ( ( rule__ComponentDeclaration__Group_5__0 )? ) + // InternalFiacre.g:9827:2: ( rule__ComponentDeclaration__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_5()); + } + // InternalFiacre.g:9828:2: ( rule__ComponentDeclaration__Group_5__0 )? + int alt98=2; + int LA98_0 = input.LA(1); + + if ( (LA98_0==25) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // InternalFiacre.g:9828:3: rule__ComponentDeclaration__Group_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__5__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__6" + // InternalFiacre.g:9836:1: rule__ComponentDeclaration__Group__6 : rule__ComponentDeclaration__Group__6__Impl rule__ComponentDeclaration__Group__7 ; + public final void rule__ComponentDeclaration__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9840:1: ( rule__ComponentDeclaration__Group__6__Impl rule__ComponentDeclaration__Group__7 ) + // InternalFiacre.g:9841:2: rule__ComponentDeclaration__Group__6__Impl rule__ComponentDeclaration__Group__7 + { + pushFollow(FollowSets000.FOLLOW_45); + rule__ComponentDeclaration__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__6" + + + // $ANTLR start "rule__ComponentDeclaration__Group__6__Impl" + // InternalFiacre.g:9848:1: rule__ComponentDeclaration__Group__6__Impl : ( ( rule__ComponentDeclaration__Group_6__0 )? ) ; + public final void rule__ComponentDeclaration__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9852:1: ( ( ( rule__ComponentDeclaration__Group_6__0 )? ) ) + // InternalFiacre.g:9853:1: ( ( rule__ComponentDeclaration__Group_6__0 )? ) + { + // InternalFiacre.g:9853:1: ( ( rule__ComponentDeclaration__Group_6__0 )? ) + // InternalFiacre.g:9854:2: ( rule__ComponentDeclaration__Group_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_6()); + } + // InternalFiacre.g:9855:2: ( rule__ComponentDeclaration__Group_6__0 )? + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==44) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // InternalFiacre.g:9855:3: rule__ComponentDeclaration__Group_6__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__6__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__7" + // InternalFiacre.g:9863:1: rule__ComponentDeclaration__Group__7 : rule__ComponentDeclaration__Group__7__Impl rule__ComponentDeclaration__Group__8 ; + public final void rule__ComponentDeclaration__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9867:1: ( rule__ComponentDeclaration__Group__7__Impl rule__ComponentDeclaration__Group__8 ) + // InternalFiacre.g:9868:2: rule__ComponentDeclaration__Group__7__Impl rule__ComponentDeclaration__Group__8 + { + pushFollow(FollowSets000.FOLLOW_45); + rule__ComponentDeclaration__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__7" + + + // $ANTLR start "rule__ComponentDeclaration__Group__7__Impl" + // InternalFiacre.g:9875:1: rule__ComponentDeclaration__Group__7__Impl : ( ( rule__ComponentDeclaration__Group_7__0 )? ) ; + public final void rule__ComponentDeclaration__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9879:1: ( ( ( rule__ComponentDeclaration__Group_7__0 )? ) ) + // InternalFiacre.g:9880:1: ( ( rule__ComponentDeclaration__Group_7__0 )? ) + { + // InternalFiacre.g:9880:1: ( ( rule__ComponentDeclaration__Group_7__0 )? ) + // InternalFiacre.g:9881:2: ( rule__ComponentDeclaration__Group_7__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_7()); + } + // InternalFiacre.g:9882:2: ( rule__ComponentDeclaration__Group_7__0 )? + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==45) ) { + alt100=1; + } + switch (alt100) { + case 1 : + // InternalFiacre.g:9882:3: rule__ComponentDeclaration__Group_7__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__7__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__8" + // InternalFiacre.g:9890:1: rule__ComponentDeclaration__Group__8 : rule__ComponentDeclaration__Group__8__Impl rule__ComponentDeclaration__Group__9 ; + public final void rule__ComponentDeclaration__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9894:1: ( rule__ComponentDeclaration__Group__8__Impl rule__ComponentDeclaration__Group__9 ) + // InternalFiacre.g:9895:2: rule__ComponentDeclaration__Group__8__Impl rule__ComponentDeclaration__Group__9 + { + pushFollow(FollowSets000.FOLLOW_45); + rule__ComponentDeclaration__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__9(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__8" + + + // $ANTLR start "rule__ComponentDeclaration__Group__8__Impl" + // InternalFiacre.g:9902:1: rule__ComponentDeclaration__Group__8__Impl : ( ( rule__ComponentDeclaration__Group_8__0 )? ) ; + public final void rule__ComponentDeclaration__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9906:1: ( ( ( rule__ComponentDeclaration__Group_8__0 )? ) ) + // InternalFiacre.g:9907:1: ( ( rule__ComponentDeclaration__Group_8__0 )? ) + { + // InternalFiacre.g:9907:1: ( ( rule__ComponentDeclaration__Group_8__0 )? ) + // InternalFiacre.g:9908:2: ( rule__ComponentDeclaration__Group_8__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_8()); + } + // InternalFiacre.g:9909:2: ( rule__ComponentDeclaration__Group_8__0 )? + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==46) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // InternalFiacre.g:9909:3: rule__ComponentDeclaration__Group_8__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_8__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__8__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group__9" + // InternalFiacre.g:9917:1: rule__ComponentDeclaration__Group__9 : rule__ComponentDeclaration__Group__9__Impl ; + public final void rule__ComponentDeclaration__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9921:1: ( rule__ComponentDeclaration__Group__9__Impl ) + // InternalFiacre.g:9922:2: rule__ComponentDeclaration__Group__9__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group__9__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__9" + + + // $ANTLR start "rule__ComponentDeclaration__Group__9__Impl" + // InternalFiacre.g:9928:1: rule__ComponentDeclaration__Group__9__Impl : ( ( rule__ComponentDeclaration__BodyAssignment_9 ) ) ; + public final void rule__ComponentDeclaration__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9932:1: ( ( ( rule__ComponentDeclaration__BodyAssignment_9 ) ) ) + // InternalFiacre.g:9933:1: ( ( rule__ComponentDeclaration__BodyAssignment_9 ) ) + { + // InternalFiacre.g:9933:1: ( ( rule__ComponentDeclaration__BodyAssignment_9 ) ) + // InternalFiacre.g:9934:2: ( rule__ComponentDeclaration__BodyAssignment_9 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getBodyAssignment_9()); + } + // InternalFiacre.g:9935:2: ( rule__ComponentDeclaration__BodyAssignment_9 ) + // InternalFiacre.g:9935:3: rule__ComponentDeclaration__BodyAssignment_9 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__BodyAssignment_9(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getBodyAssignment_9()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group__9__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__0" + // InternalFiacre.g:9944:1: rule__ComponentDeclaration__Group_2__0 : rule__ComponentDeclaration__Group_2__0__Impl rule__ComponentDeclaration__Group_2__1 ; + public final void rule__ComponentDeclaration__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9948:1: ( rule__ComponentDeclaration__Group_2__0__Impl rule__ComponentDeclaration__Group_2__1 ) + // InternalFiacre.g:9949:2: rule__ComponentDeclaration__Group_2__0__Impl rule__ComponentDeclaration__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__0__Impl" + // InternalFiacre.g:9956:1: rule__ComponentDeclaration__Group_2__0__Impl : ( '[' ) ; + public final void rule__ComponentDeclaration__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9960:1: ( ( '[' ) ) + // InternalFiacre.g:9961:1: ( '[' ) + { + // InternalFiacre.g:9961:1: ( '[' ) + // InternalFiacre.g:9962:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__1" + // InternalFiacre.g:9971:1: rule__ComponentDeclaration__Group_2__1 : rule__ComponentDeclaration__Group_2__1__Impl rule__ComponentDeclaration__Group_2__2 ; + public final void rule__ComponentDeclaration__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9975:1: ( rule__ComponentDeclaration__Group_2__1__Impl rule__ComponentDeclaration__Group_2__2 ) + // InternalFiacre.g:9976:2: rule__ComponentDeclaration__Group_2__1__Impl rule__ComponentDeclaration__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ComponentDeclaration__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__1__Impl" + // InternalFiacre.g:9983:1: rule__ComponentDeclaration__Group_2__1__Impl : ( ( rule__ComponentDeclaration__PortsAssignment_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:9987:1: ( ( ( rule__ComponentDeclaration__PortsAssignment_2_1 ) ) ) + // InternalFiacre.g:9988:1: ( ( rule__ComponentDeclaration__PortsAssignment_2_1 ) ) + { + // InternalFiacre.g:9988:1: ( ( rule__ComponentDeclaration__PortsAssignment_2_1 ) ) + // InternalFiacre.g:9989:2: ( rule__ComponentDeclaration__PortsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_1()); + } + // InternalFiacre.g:9990:2: ( rule__ComponentDeclaration__PortsAssignment_2_1 ) + // InternalFiacre.g:9990:3: rule__ComponentDeclaration__PortsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__PortsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__2" + // InternalFiacre.g:9998:1: rule__ComponentDeclaration__Group_2__2 : rule__ComponentDeclaration__Group_2__2__Impl rule__ComponentDeclaration__Group_2__3 ; + public final void rule__ComponentDeclaration__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10002:1: ( rule__ComponentDeclaration__Group_2__2__Impl rule__ComponentDeclaration__Group_2__3 ) + // InternalFiacre.g:10003:2: rule__ComponentDeclaration__Group_2__2__Impl rule__ComponentDeclaration__Group_2__3 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ComponentDeclaration__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__2__Impl" + // InternalFiacre.g:10010:1: rule__ComponentDeclaration__Group_2__2__Impl : ( ( rule__ComponentDeclaration__Group_2_2__0 )* ) ; + public final void rule__ComponentDeclaration__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10014:1: ( ( ( rule__ComponentDeclaration__Group_2_2__0 )* ) ) + // InternalFiacre.g:10015:1: ( ( rule__ComponentDeclaration__Group_2_2__0 )* ) + { + // InternalFiacre.g:10015:1: ( ( rule__ComponentDeclaration__Group_2_2__0 )* ) + // InternalFiacre.g:10016:2: ( rule__ComponentDeclaration__Group_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_2_2()); + } + // InternalFiacre.g:10017:2: ( rule__ComponentDeclaration__Group_2_2__0 )* + loop102: + do { + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==24) ) { + alt102=1; + } + + + switch (alt102) { + case 1 : + // InternalFiacre.g:10017:3: rule__ComponentDeclaration__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentDeclaration__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop102; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__3" + // InternalFiacre.g:10025:1: rule__ComponentDeclaration__Group_2__3 : rule__ComponentDeclaration__Group_2__3__Impl ; + public final void rule__ComponentDeclaration__Group_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10029:1: ( rule__ComponentDeclaration__Group_2__3__Impl ) + // InternalFiacre.g:10030:2: rule__ComponentDeclaration__Group_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__3" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2__3__Impl" + // InternalFiacre.g:10036:1: rule__ComponentDeclaration__Group_2__3__Impl : ( ']' ) ; + public final void rule__ComponentDeclaration__Group_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10040:1: ( ( ']' ) ) + // InternalFiacre.g:10041:1: ( ']' ) + { + // InternalFiacre.g:10041:1: ( ']' ) + // InternalFiacre.g:10042:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2__3__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2_2__0" + // InternalFiacre.g:10052:1: rule__ComponentDeclaration__Group_2_2__0 : rule__ComponentDeclaration__Group_2_2__0__Impl rule__ComponentDeclaration__Group_2_2__1 ; + public final void rule__ComponentDeclaration__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10056:1: ( rule__ComponentDeclaration__Group_2_2__0__Impl rule__ComponentDeclaration__Group_2_2__1 ) + // InternalFiacre.g:10057:2: rule__ComponentDeclaration__Group_2_2__0__Impl rule__ComponentDeclaration__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2_2__0__Impl" + // InternalFiacre.g:10064:1: rule__ComponentDeclaration__Group_2_2__0__Impl : ( ',' ) ; + public final void rule__ComponentDeclaration__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10068:1: ( ( ',' ) ) + // InternalFiacre.g:10069:1: ( ',' ) + { + // InternalFiacre.g:10069:1: ( ',' ) + // InternalFiacre.g:10070:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2_2__1" + // InternalFiacre.g:10079:1: rule__ComponentDeclaration__Group_2_2__1 : rule__ComponentDeclaration__Group_2_2__1__Impl ; + public final void rule__ComponentDeclaration__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10083:1: ( rule__ComponentDeclaration__Group_2_2__1__Impl ) + // InternalFiacre.g:10084:2: rule__ComponentDeclaration__Group_2_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_2_2__1__Impl" + // InternalFiacre.g:10090:1: rule__ComponentDeclaration__Group_2_2__1__Impl : ( ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10094:1: ( ( ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) ) ) + // InternalFiacre.g:10095:1: ( ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) ) + { + // InternalFiacre.g:10095:1: ( ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) ) + // InternalFiacre.g:10096:2: ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_2_1()); + } + // InternalFiacre.g:10097:2: ( rule__ComponentDeclaration__PortsAssignment_2_2_1 ) + // InternalFiacre.g:10097:3: rule__ComponentDeclaration__PortsAssignment_2_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__PortsAssignment_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPortsAssignment_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_2_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__0" + // InternalFiacre.g:10106:1: rule__ComponentDeclaration__Group_3__0 : rule__ComponentDeclaration__Group_3__0__Impl rule__ComponentDeclaration__Group_3__1 ; + public final void rule__ComponentDeclaration__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10110:1: ( rule__ComponentDeclaration__Group_3__0__Impl rule__ComponentDeclaration__Group_3__1 ) + // InternalFiacre.g:10111:2: rule__ComponentDeclaration__Group_3__0__Impl rule__ComponentDeclaration__Group_3__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ComponentDeclaration__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__0__Impl" + // InternalFiacre.g:10118:1: rule__ComponentDeclaration__Group_3__0__Impl : ( '(' ) ; + public final void rule__ComponentDeclaration__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10122:1: ( ( '(' ) ) + // InternalFiacre.g:10123:1: ( '(' ) + { + // InternalFiacre.g:10123:1: ( '(' ) + // InternalFiacre.g:10124:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__1" + // InternalFiacre.g:10133:1: rule__ComponentDeclaration__Group_3__1 : rule__ComponentDeclaration__Group_3__1__Impl rule__ComponentDeclaration__Group_3__2 ; + public final void rule__ComponentDeclaration__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10137:1: ( rule__ComponentDeclaration__Group_3__1__Impl rule__ComponentDeclaration__Group_3__2 ) + // InternalFiacre.g:10138:2: rule__ComponentDeclaration__Group_3__1__Impl rule__ComponentDeclaration__Group_3__2 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ComponentDeclaration__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__1__Impl" + // InternalFiacre.g:10145:1: rule__ComponentDeclaration__Group_3__1__Impl : ( ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) ) ; + public final void rule__ComponentDeclaration__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10149:1: ( ( ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) ) ) + // InternalFiacre.g:10150:1: ( ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) ) + { + // InternalFiacre.g:10150:1: ( ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) ) + // InternalFiacre.g:10151:2: ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_1()); + } + // InternalFiacre.g:10152:2: ( rule__ComponentDeclaration__ParametersAssignment_3_1 ) + // InternalFiacre.g:10152:3: rule__ComponentDeclaration__ParametersAssignment_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__ParametersAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__2" + // InternalFiacre.g:10160:1: rule__ComponentDeclaration__Group_3__2 : rule__ComponentDeclaration__Group_3__2__Impl rule__ComponentDeclaration__Group_3__3 ; + public final void rule__ComponentDeclaration__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10164:1: ( rule__ComponentDeclaration__Group_3__2__Impl rule__ComponentDeclaration__Group_3__3 ) + // InternalFiacre.g:10165:2: rule__ComponentDeclaration__Group_3__2__Impl rule__ComponentDeclaration__Group_3__3 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ComponentDeclaration__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__2__Impl" + // InternalFiacre.g:10172:1: rule__ComponentDeclaration__Group_3__2__Impl : ( ( rule__ComponentDeclaration__Group_3_2__0 )* ) ; + public final void rule__ComponentDeclaration__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10176:1: ( ( ( rule__ComponentDeclaration__Group_3_2__0 )* ) ) + // InternalFiacre.g:10177:1: ( ( rule__ComponentDeclaration__Group_3_2__0 )* ) + { + // InternalFiacre.g:10177:1: ( ( rule__ComponentDeclaration__Group_3_2__0 )* ) + // InternalFiacre.g:10178:2: ( rule__ComponentDeclaration__Group_3_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_3_2()); + } + // InternalFiacre.g:10179:2: ( rule__ComponentDeclaration__Group_3_2__0 )* + loop103: + do { + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==24) ) { + alt103=1; + } + + + switch (alt103) { + case 1 : + // InternalFiacre.g:10179:3: rule__ComponentDeclaration__Group_3_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentDeclaration__Group_3_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop103; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__3" + // InternalFiacre.g:10187:1: rule__ComponentDeclaration__Group_3__3 : rule__ComponentDeclaration__Group_3__3__Impl ; + public final void rule__ComponentDeclaration__Group_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10191:1: ( rule__ComponentDeclaration__Group_3__3__Impl ) + // InternalFiacre.g:10192:2: rule__ComponentDeclaration__Group_3__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__3" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3__3__Impl" + // InternalFiacre.g:10198:1: rule__ComponentDeclaration__Group_3__3__Impl : ( ')' ) ; + public final void rule__ComponentDeclaration__Group_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10202:1: ( ( ')' ) ) + // InternalFiacre.g:10203:1: ( ')' ) + { + // InternalFiacre.g:10203:1: ( ')' ) + // InternalFiacre.g:10204:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3__3__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3_2__0" + // InternalFiacre.g:10214:1: rule__ComponentDeclaration__Group_3_2__0 : rule__ComponentDeclaration__Group_3_2__0__Impl rule__ComponentDeclaration__Group_3_2__1 ; + public final void rule__ComponentDeclaration__Group_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10218:1: ( rule__ComponentDeclaration__Group_3_2__0__Impl rule__ComponentDeclaration__Group_3_2__1 ) + // InternalFiacre.g:10219:2: rule__ComponentDeclaration__Group_3_2__0__Impl rule__ComponentDeclaration__Group_3_2__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ComponentDeclaration__Group_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3_2__0__Impl" + // InternalFiacre.g:10226:1: rule__ComponentDeclaration__Group_3_2__0__Impl : ( ',' ) ; + public final void rule__ComponentDeclaration__Group_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10230:1: ( ( ',' ) ) + // InternalFiacre.g:10231:1: ( ',' ) + { + // InternalFiacre.g:10231:1: ( ',' ) + // InternalFiacre.g:10232:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3_2__1" + // InternalFiacre.g:10241:1: rule__ComponentDeclaration__Group_3_2__1 : rule__ComponentDeclaration__Group_3_2__1__Impl ; + public final void rule__ComponentDeclaration__Group_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10245:1: ( rule__ComponentDeclaration__Group_3_2__1__Impl ) + // InternalFiacre.g:10246:2: rule__ComponentDeclaration__Group_3_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_3_2__1__Impl" + // InternalFiacre.g:10252:1: rule__ComponentDeclaration__Group_3_2__1__Impl : ( ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10256:1: ( ( ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) ) ) + // InternalFiacre.g:10257:1: ( ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) ) + { + // InternalFiacre.g:10257:1: ( ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) ) + // InternalFiacre.g:10258:2: ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_2_1()); + } + // InternalFiacre.g:10259:2: ( rule__ComponentDeclaration__ParametersAssignment_3_2_1 ) + // InternalFiacre.g:10259:3: rule__ComponentDeclaration__ParametersAssignment_3_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__ParametersAssignment_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getParametersAssignment_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_3_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__0" + // InternalFiacre.g:10268:1: rule__ComponentDeclaration__Group_5__0 : rule__ComponentDeclaration__Group_5__0__Impl rule__ComponentDeclaration__Group_5__1 ; + public final void rule__ComponentDeclaration__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10272:1: ( rule__ComponentDeclaration__Group_5__0__Impl rule__ComponentDeclaration__Group_5__1 ) + // InternalFiacre.g:10273:2: rule__ComponentDeclaration__Group_5__0__Impl rule__ComponentDeclaration__Group_5__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__0__Impl" + // InternalFiacre.g:10280:1: rule__ComponentDeclaration__Group_5__0__Impl : ( 'var' ) ; + public final void rule__ComponentDeclaration__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10284:1: ( ( 'var' ) ) + // InternalFiacre.g:10285:1: ( 'var' ) + { + // InternalFiacre.g:10285:1: ( 'var' ) + // InternalFiacre.g:10286:2: 'var' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); + } + match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__1" + // InternalFiacre.g:10295:1: rule__ComponentDeclaration__Group_5__1 : rule__ComponentDeclaration__Group_5__1__Impl rule__ComponentDeclaration__Group_5__2 ; + public final void rule__ComponentDeclaration__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10299:1: ( rule__ComponentDeclaration__Group_5__1__Impl rule__ComponentDeclaration__Group_5__2 ) + // InternalFiacre.g:10300:2: rule__ComponentDeclaration__Group_5__1__Impl rule__ComponentDeclaration__Group_5__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ComponentDeclaration__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__1__Impl" + // InternalFiacre.g:10307:1: rule__ComponentDeclaration__Group_5__1__Impl : ( ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) ) ; + public final void rule__ComponentDeclaration__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10311:1: ( ( ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) ) ) + // InternalFiacre.g:10312:1: ( ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) ) + { + // InternalFiacre.g:10312:1: ( ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) ) + // InternalFiacre.g:10313:2: ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_1()); + } + // InternalFiacre.g:10314:2: ( rule__ComponentDeclaration__VariablesAssignment_5_1 ) + // InternalFiacre.g:10314:3: rule__ComponentDeclaration__VariablesAssignment_5_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__VariablesAssignment_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__2" + // InternalFiacre.g:10322:1: rule__ComponentDeclaration__Group_5__2 : rule__ComponentDeclaration__Group_5__2__Impl ; + public final void rule__ComponentDeclaration__Group_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10326:1: ( rule__ComponentDeclaration__Group_5__2__Impl ) + // InternalFiacre.g:10327:2: rule__ComponentDeclaration__Group_5__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5__2__Impl" + // InternalFiacre.g:10333:1: rule__ComponentDeclaration__Group_5__2__Impl : ( ( rule__ComponentDeclaration__Group_5_2__0 )* ) ; + public final void rule__ComponentDeclaration__Group_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10337:1: ( ( ( rule__ComponentDeclaration__Group_5_2__0 )* ) ) + // InternalFiacre.g:10338:1: ( ( rule__ComponentDeclaration__Group_5_2__0 )* ) + { + // InternalFiacre.g:10338:1: ( ( rule__ComponentDeclaration__Group_5_2__0 )* ) + // InternalFiacre.g:10339:2: ( rule__ComponentDeclaration__Group_5_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_5_2()); + } + // InternalFiacre.g:10340:2: ( rule__ComponentDeclaration__Group_5_2__0 )* + loop104: + do { + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==24) ) { + alt104=1; + } + + + switch (alt104) { + case 1 : + // InternalFiacre.g:10340:3: rule__ComponentDeclaration__Group_5_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentDeclaration__Group_5_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop104; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5_2__0" + // InternalFiacre.g:10349:1: rule__ComponentDeclaration__Group_5_2__0 : rule__ComponentDeclaration__Group_5_2__0__Impl rule__ComponentDeclaration__Group_5_2__1 ; + public final void rule__ComponentDeclaration__Group_5_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10353:1: ( rule__ComponentDeclaration__Group_5_2__0__Impl rule__ComponentDeclaration__Group_5_2__1 ) + // InternalFiacre.g:10354:2: rule__ComponentDeclaration__Group_5_2__0__Impl rule__ComponentDeclaration__Group_5_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_5_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5_2__0__Impl" + // InternalFiacre.g:10361:1: rule__ComponentDeclaration__Group_5_2__0__Impl : ( ',' ) ; + public final void rule__ComponentDeclaration__Group_5_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10365:1: ( ( ',' ) ) + // InternalFiacre.g:10366:1: ( ',' ) + { + // InternalFiacre.g:10366:1: ( ',' ) + // InternalFiacre.g:10367:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5_2__1" + // InternalFiacre.g:10376:1: rule__ComponentDeclaration__Group_5_2__1 : rule__ComponentDeclaration__Group_5_2__1__Impl ; + public final void rule__ComponentDeclaration__Group_5_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10380:1: ( rule__ComponentDeclaration__Group_5_2__1__Impl ) + // InternalFiacre.g:10381:2: rule__ComponentDeclaration__Group_5_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_5_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_5_2__1__Impl" + // InternalFiacre.g:10387:1: rule__ComponentDeclaration__Group_5_2__1__Impl : ( ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_5_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10391:1: ( ( ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) ) ) + // InternalFiacre.g:10392:1: ( ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) ) + { + // InternalFiacre.g:10392:1: ( ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) ) + // InternalFiacre.g:10393:2: ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_2_1()); + } + // InternalFiacre.g:10394:2: ( rule__ComponentDeclaration__VariablesAssignment_5_2_1 ) + // InternalFiacre.g:10394:3: rule__ComponentDeclaration__VariablesAssignment_5_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__VariablesAssignment_5_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getVariablesAssignment_5_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_5_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__0" + // InternalFiacre.g:10403:1: rule__ComponentDeclaration__Group_6__0 : rule__ComponentDeclaration__Group_6__0__Impl rule__ComponentDeclaration__Group_6__1 ; + public final void rule__ComponentDeclaration__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10407:1: ( rule__ComponentDeclaration__Group_6__0__Impl rule__ComponentDeclaration__Group_6__1 ) + // InternalFiacre.g:10408:2: rule__ComponentDeclaration__Group_6__0__Impl rule__ComponentDeclaration__Group_6__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__0__Impl" + // InternalFiacre.g:10415:1: rule__ComponentDeclaration__Group_6__0__Impl : ( 'port' ) ; + public final void rule__ComponentDeclaration__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10419:1: ( ( 'port' ) ) + // InternalFiacre.g:10420:1: ( 'port' ) + { + // InternalFiacre.g:10420:1: ( 'port' ) + // InternalFiacre.g:10421:2: 'port' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); + } + match(input,44,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__1" + // InternalFiacre.g:10430:1: rule__ComponentDeclaration__Group_6__1 : rule__ComponentDeclaration__Group_6__1__Impl rule__ComponentDeclaration__Group_6__2 ; + public final void rule__ComponentDeclaration__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10434:1: ( rule__ComponentDeclaration__Group_6__1__Impl rule__ComponentDeclaration__Group_6__2 ) + // InternalFiacre.g:10435:2: rule__ComponentDeclaration__Group_6__1__Impl rule__ComponentDeclaration__Group_6__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ComponentDeclaration__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__1__Impl" + // InternalFiacre.g:10442:1: rule__ComponentDeclaration__Group_6__1__Impl : ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) ) ; + public final void rule__ComponentDeclaration__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10446:1: ( ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) ) ) + // InternalFiacre.g:10447:1: ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) ) + { + // InternalFiacre.g:10447:1: ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) ) + // InternalFiacre.g:10448:2: ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_1()); + } + // InternalFiacre.g:10449:2: ( rule__ComponentDeclaration__LocalPortsAssignment_6_1 ) + // InternalFiacre.g:10449:3: rule__ComponentDeclaration__LocalPortsAssignment_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__LocalPortsAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__2" + // InternalFiacre.g:10457:1: rule__ComponentDeclaration__Group_6__2 : rule__ComponentDeclaration__Group_6__2__Impl ; + public final void rule__ComponentDeclaration__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10461:1: ( rule__ComponentDeclaration__Group_6__2__Impl ) + // InternalFiacre.g:10462:2: rule__ComponentDeclaration__Group_6__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6__2__Impl" + // InternalFiacre.g:10468:1: rule__ComponentDeclaration__Group_6__2__Impl : ( ( rule__ComponentDeclaration__Group_6_2__0 )* ) ; + public final void rule__ComponentDeclaration__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10472:1: ( ( ( rule__ComponentDeclaration__Group_6_2__0 )* ) ) + // InternalFiacre.g:10473:1: ( ( rule__ComponentDeclaration__Group_6_2__0 )* ) + { + // InternalFiacre.g:10473:1: ( ( rule__ComponentDeclaration__Group_6_2__0 )* ) + // InternalFiacre.g:10474:2: ( rule__ComponentDeclaration__Group_6_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_6_2()); + } + // InternalFiacre.g:10475:2: ( rule__ComponentDeclaration__Group_6_2__0 )* + loop105: + do { + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==24) ) { + alt105=1; + } + + + switch (alt105) { + case 1 : + // InternalFiacre.g:10475:3: rule__ComponentDeclaration__Group_6_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentDeclaration__Group_6_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop105; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6_2__0" + // InternalFiacre.g:10484:1: rule__ComponentDeclaration__Group_6_2__0 : rule__ComponentDeclaration__Group_6_2__0__Impl rule__ComponentDeclaration__Group_6_2__1 ; + public final void rule__ComponentDeclaration__Group_6_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10488:1: ( rule__ComponentDeclaration__Group_6_2__0__Impl rule__ComponentDeclaration__Group_6_2__1 ) + // InternalFiacre.g:10489:2: rule__ComponentDeclaration__Group_6_2__0__Impl rule__ComponentDeclaration__Group_6_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_6_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6_2__0__Impl" + // InternalFiacre.g:10496:1: rule__ComponentDeclaration__Group_6_2__0__Impl : ( ',' ) ; + public final void rule__ComponentDeclaration__Group_6_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10500:1: ( ( ',' ) ) + // InternalFiacre.g:10501:1: ( ',' ) + { + // InternalFiacre.g:10501:1: ( ',' ) + // InternalFiacre.g:10502:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6_2__1" + // InternalFiacre.g:10511:1: rule__ComponentDeclaration__Group_6_2__1 : rule__ComponentDeclaration__Group_6_2__1__Impl ; + public final void rule__ComponentDeclaration__Group_6_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10515:1: ( rule__ComponentDeclaration__Group_6_2__1__Impl ) + // InternalFiacre.g:10516:2: rule__ComponentDeclaration__Group_6_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_6_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_6_2__1__Impl" + // InternalFiacre.g:10522:1: rule__ComponentDeclaration__Group_6_2__1__Impl : ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_6_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10526:1: ( ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) ) ) + // InternalFiacre.g:10527:1: ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) ) + { + // InternalFiacre.g:10527:1: ( ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) ) + // InternalFiacre.g:10528:2: ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_2_1()); + } + // InternalFiacre.g:10529:2: ( rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 ) + // InternalFiacre.g:10529:3: rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__LocalPortsAssignment_6_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLocalPortsAssignment_6_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_6_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__0" + // InternalFiacre.g:10538:1: rule__ComponentDeclaration__Group_7__0 : rule__ComponentDeclaration__Group_7__0__Impl rule__ComponentDeclaration__Group_7__1 ; + public final void rule__ComponentDeclaration__Group_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10542:1: ( rule__ComponentDeclaration__Group_7__0__Impl rule__ComponentDeclaration__Group_7__1 ) + // InternalFiacre.g:10543:2: rule__ComponentDeclaration__Group_7__0__Impl rule__ComponentDeclaration__Group_7__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_7__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__0__Impl" + // InternalFiacre.g:10550:1: rule__ComponentDeclaration__Group_7__0__Impl : ( 'priority' ) ; + public final void rule__ComponentDeclaration__Group_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10554:1: ( ( 'priority' ) ) + // InternalFiacre.g:10555:1: ( 'priority' ) + { + // InternalFiacre.g:10555:1: ( 'priority' ) + // InternalFiacre.g:10556:2: 'priority' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); + } + match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__1" + // InternalFiacre.g:10565:1: rule__ComponentDeclaration__Group_7__1 : rule__ComponentDeclaration__Group_7__1__Impl rule__ComponentDeclaration__Group_7__2 ; + public final void rule__ComponentDeclaration__Group_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10569:1: ( rule__ComponentDeclaration__Group_7__1__Impl rule__ComponentDeclaration__Group_7__2 ) + // InternalFiacre.g:10570:2: rule__ComponentDeclaration__Group_7__1__Impl rule__ComponentDeclaration__Group_7__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ComponentDeclaration__Group_7__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__1__Impl" + // InternalFiacre.g:10577:1: rule__ComponentDeclaration__Group_7__1__Impl : ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) ) ; + public final void rule__ComponentDeclaration__Group_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10581:1: ( ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) ) ) + // InternalFiacre.g:10582:1: ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) ) + { + // InternalFiacre.g:10582:1: ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) ) + // InternalFiacre.g:10583:2: ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_1()); + } + // InternalFiacre.g:10584:2: ( rule__ComponentDeclaration__PrioritiesAssignment_7_1 ) + // InternalFiacre.g:10584:3: rule__ComponentDeclaration__PrioritiesAssignment_7_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__PrioritiesAssignment_7_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__2" + // InternalFiacre.g:10592:1: rule__ComponentDeclaration__Group_7__2 : rule__ComponentDeclaration__Group_7__2__Impl ; + public final void rule__ComponentDeclaration__Group_7__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10596:1: ( rule__ComponentDeclaration__Group_7__2__Impl ) + // InternalFiacre.g:10597:2: rule__ComponentDeclaration__Group_7__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__2" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7__2__Impl" + // InternalFiacre.g:10603:1: rule__ComponentDeclaration__Group_7__2__Impl : ( ( rule__ComponentDeclaration__Group_7_2__0 )* ) ; + public final void rule__ComponentDeclaration__Group_7__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10607:1: ( ( ( rule__ComponentDeclaration__Group_7_2__0 )* ) ) + // InternalFiacre.g:10608:1: ( ( rule__ComponentDeclaration__Group_7_2__0 )* ) + { + // InternalFiacre.g:10608:1: ( ( rule__ComponentDeclaration__Group_7_2__0 )* ) + // InternalFiacre.g:10609:2: ( rule__ComponentDeclaration__Group_7_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getGroup_7_2()); + } + // InternalFiacre.g:10610:2: ( rule__ComponentDeclaration__Group_7_2__0 )* + loop106: + do { + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==24) ) { + alt106=1; + } + + + switch (alt106) { + case 1 : + // InternalFiacre.g:10610:3: rule__ComponentDeclaration__Group_7_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentDeclaration__Group_7_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop106; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getGroup_7_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7__2__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7_2__0" + // InternalFiacre.g:10619:1: rule__ComponentDeclaration__Group_7_2__0 : rule__ComponentDeclaration__Group_7_2__0__Impl rule__ComponentDeclaration__Group_7_2__1 ; + public final void rule__ComponentDeclaration__Group_7_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10623:1: ( rule__ComponentDeclaration__Group_7_2__0__Impl rule__ComponentDeclaration__Group_7_2__1 ) + // InternalFiacre.g:10624:2: rule__ComponentDeclaration__Group_7_2__0__Impl rule__ComponentDeclaration__Group_7_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ComponentDeclaration__Group_7_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7_2__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7_2__0__Impl" + // InternalFiacre.g:10631:1: rule__ComponentDeclaration__Group_7_2__0__Impl : ( ',' ) ; + public final void rule__ComponentDeclaration__Group_7_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10635:1: ( ( ',' ) ) + // InternalFiacre.g:10636:1: ( ',' ) + { + // InternalFiacre.g:10636:1: ( ',' ) + // InternalFiacre.g:10637:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7_2__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7_2__1" + // InternalFiacre.g:10646:1: rule__ComponentDeclaration__Group_7_2__1 : rule__ComponentDeclaration__Group_7_2__1__Impl ; + public final void rule__ComponentDeclaration__Group_7_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10650:1: ( rule__ComponentDeclaration__Group_7_2__1__Impl ) + // InternalFiacre.g:10651:2: rule__ComponentDeclaration__Group_7_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_7_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7_2__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_7_2__1__Impl" + // InternalFiacre.g:10657:1: rule__ComponentDeclaration__Group_7_2__1__Impl : ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) ) ; + public final void rule__ComponentDeclaration__Group_7_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10661:1: ( ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) ) ) + // InternalFiacre.g:10662:1: ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) ) + { + // InternalFiacre.g:10662:1: ( ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) ) + // InternalFiacre.g:10663:2: ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_2_1()); + } + // InternalFiacre.g:10664:2: ( rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 ) + // InternalFiacre.g:10664:3: rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__PrioritiesAssignment_7_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPrioritiesAssignment_7_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_7_2__1__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_8__0" + // InternalFiacre.g:10673:1: rule__ComponentDeclaration__Group_8__0 : rule__ComponentDeclaration__Group_8__0__Impl rule__ComponentDeclaration__Group_8__1 ; + public final void rule__ComponentDeclaration__Group_8__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10677:1: ( rule__ComponentDeclaration__Group_8__0__Impl rule__ComponentDeclaration__Group_8__1 ) + // InternalFiacre.g:10678:2: rule__ComponentDeclaration__Group_8__0__Impl rule__ComponentDeclaration__Group_8__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ComponentDeclaration__Group_8__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_8__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_8__0" + + + // $ANTLR start "rule__ComponentDeclaration__Group_8__0__Impl" + // InternalFiacre.g:10685:1: rule__ComponentDeclaration__Group_8__0__Impl : ( 'init' ) ; + public final void rule__ComponentDeclaration__Group_8__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10689:1: ( ( 'init' ) ) + // InternalFiacre.g:10690:1: ( 'init' ) + { + // InternalFiacre.g:10690:1: ( 'init' ) + // InternalFiacre.g:10691:2: 'init' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); + } + match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_8__0__Impl" + + + // $ANTLR start "rule__ComponentDeclaration__Group_8__1" + // InternalFiacre.g:10700:1: rule__ComponentDeclaration__Group_8__1 : rule__ComponentDeclaration__Group_8__1__Impl ; + public final void rule__ComponentDeclaration__Group_8__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10704:1: ( rule__ComponentDeclaration__Group_8__1__Impl ) + // InternalFiacre.g:10705:2: rule__ComponentDeclaration__Group_8__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__Group_8__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_8__1" + + + // $ANTLR start "rule__ComponentDeclaration__Group_8__1__Impl" + // InternalFiacre.g:10711:1: rule__ComponentDeclaration__Group_8__1__Impl : ( ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) ) ; + public final void rule__ComponentDeclaration__Group_8__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10715:1: ( ( ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) ) ) + // InternalFiacre.g:10716:1: ( ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) ) + { + // InternalFiacre.g:10716:1: ( ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) ) + // InternalFiacre.g:10717:2: ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPreludeAssignment_8_1()); + } + // InternalFiacre.g:10718:2: ( rule__ComponentDeclaration__PreludeAssignment_8_1 ) + // InternalFiacre.g:10718:3: rule__ComponentDeclaration__PreludeAssignment_8_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentDeclaration__PreludeAssignment_8_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPreludeAssignment_8_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__Group_8__1__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group__0" + // InternalFiacre.g:10727:1: rule__PortsDeclaration__Group__0 : rule__PortsDeclaration__Group__0__Impl rule__PortsDeclaration__Group__1 ; + public final void rule__PortsDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10731:1: ( rule__PortsDeclaration__Group__0__Impl rule__PortsDeclaration__Group__1 ) + // InternalFiacre.g:10732:2: rule__PortsDeclaration__Group__0__Impl rule__PortsDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__PortsDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__0" + + + // $ANTLR start "rule__PortsDeclaration__Group__0__Impl" + // InternalFiacre.g:10739:1: rule__PortsDeclaration__Group__0__Impl : ( ( rule__PortsDeclaration__PortsAssignment_0 ) ) ; + public final void rule__PortsDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10743:1: ( ( ( rule__PortsDeclaration__PortsAssignment_0 ) ) ) + // InternalFiacre.g:10744:1: ( ( rule__PortsDeclaration__PortsAssignment_0 ) ) + { + // InternalFiacre.g:10744:1: ( ( rule__PortsDeclaration__PortsAssignment_0 ) ) + // InternalFiacre.g:10745:2: ( rule__PortsDeclaration__PortsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_0()); + } + // InternalFiacre.g:10746:2: ( rule__PortsDeclaration__PortsAssignment_0 ) + // InternalFiacre.g:10746:3: rule__PortsDeclaration__PortsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__PortsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group__1" + // InternalFiacre.g:10754:1: rule__PortsDeclaration__Group__1 : rule__PortsDeclaration__Group__1__Impl rule__PortsDeclaration__Group__2 ; + public final void rule__PortsDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10758:1: ( rule__PortsDeclaration__Group__1__Impl rule__PortsDeclaration__Group__2 ) + // InternalFiacre.g:10759:2: rule__PortsDeclaration__Group__1__Impl rule__PortsDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__PortsDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__1" + + + // $ANTLR start "rule__PortsDeclaration__Group__1__Impl" + // InternalFiacre.g:10766:1: rule__PortsDeclaration__Group__1__Impl : ( ( rule__PortsDeclaration__Group_1__0 )* ) ; + public final void rule__PortsDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10770:1: ( ( ( rule__PortsDeclaration__Group_1__0 )* ) ) + // InternalFiacre.g:10771:1: ( ( rule__PortsDeclaration__Group_1__0 )* ) + { + // InternalFiacre.g:10771:1: ( ( rule__PortsDeclaration__Group_1__0 )* ) + // InternalFiacre.g:10772:2: ( rule__PortsDeclaration__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:10773:2: ( rule__PortsDeclaration__Group_1__0 )* + loop107: + do { + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==24) ) { + alt107=1; + } + + + switch (alt107) { + case 1 : + // InternalFiacre.g:10773:3: rule__PortsDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PortsDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop107; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group__2" + // InternalFiacre.g:10781:1: rule__PortsDeclaration__Group__2 : rule__PortsDeclaration__Group__2__Impl rule__PortsDeclaration__Group__3 ; + public final void rule__PortsDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10785:1: ( rule__PortsDeclaration__Group__2__Impl rule__PortsDeclaration__Group__3 ) + // InternalFiacre.g:10786:2: rule__PortsDeclaration__Group__2__Impl rule__PortsDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_22); + rule__PortsDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__2" + + + // $ANTLR start "rule__PortsDeclaration__Group__2__Impl" + // InternalFiacre.g:10793:1: rule__PortsDeclaration__Group__2__Impl : ( ':' ) ; + public final void rule__PortsDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10797:1: ( ( ':' ) ) + // InternalFiacre.g:10798:1: ( ':' ) + { + // InternalFiacre.g:10798:1: ( ':' ) + // InternalFiacre.g:10799:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group__3" + // InternalFiacre.g:10808:1: rule__PortsDeclaration__Group__3 : rule__PortsDeclaration__Group__3__Impl ; + public final void rule__PortsDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10812:1: ( rule__PortsDeclaration__Group__3__Impl ) + // InternalFiacre.g:10813:2: rule__PortsDeclaration__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__3" + + + // $ANTLR start "rule__PortsDeclaration__Group__3__Impl" + // InternalFiacre.g:10819:1: rule__PortsDeclaration__Group__3__Impl : ( ( rule__PortsDeclaration__TypeAssignment_3 ) ) ; + public final void rule__PortsDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10823:1: ( ( ( rule__PortsDeclaration__TypeAssignment_3 ) ) ) + // InternalFiacre.g:10824:1: ( ( rule__PortsDeclaration__TypeAssignment_3 ) ) + { + // InternalFiacre.g:10824:1: ( ( rule__PortsDeclaration__TypeAssignment_3 ) ) + // InternalFiacre.g:10825:2: ( rule__PortsDeclaration__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:10826:2: ( rule__PortsDeclaration__TypeAssignment_3 ) + // InternalFiacre.g:10826:3: rule__PortsDeclaration__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group_1__0" + // InternalFiacre.g:10835:1: rule__PortsDeclaration__Group_1__0 : rule__PortsDeclaration__Group_1__0__Impl rule__PortsDeclaration__Group_1__1 ; + public final void rule__PortsDeclaration__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10839:1: ( rule__PortsDeclaration__Group_1__0__Impl rule__PortsDeclaration__Group_1__1 ) + // InternalFiacre.g:10840:2: rule__PortsDeclaration__Group_1__0__Impl rule__PortsDeclaration__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__PortsDeclaration__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group_1__0" + + + // $ANTLR start "rule__PortsDeclaration__Group_1__0__Impl" + // InternalFiacre.g:10847:1: rule__PortsDeclaration__Group_1__0__Impl : ( ',' ) ; + public final void rule__PortsDeclaration__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10851:1: ( ( ',' ) ) + // InternalFiacre.g:10852:1: ( ',' ) + { + // InternalFiacre.g:10852:1: ( ',' ) + // InternalFiacre.g:10853:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group_1__0__Impl" + + + // $ANTLR start "rule__PortsDeclaration__Group_1__1" + // InternalFiacre.g:10862:1: rule__PortsDeclaration__Group_1__1 : rule__PortsDeclaration__Group_1__1__Impl ; + public final void rule__PortsDeclaration__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10866:1: ( rule__PortsDeclaration__Group_1__1__Impl ) + // InternalFiacre.g:10867:2: rule__PortsDeclaration__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group_1__1" + + + // $ANTLR start "rule__PortsDeclaration__Group_1__1__Impl" + // InternalFiacre.g:10873:1: rule__PortsDeclaration__Group_1__1__Impl : ( ( rule__PortsDeclaration__PortsAssignment_1_1 ) ) ; + public final void rule__PortsDeclaration__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10877:1: ( ( ( rule__PortsDeclaration__PortsAssignment_1_1 ) ) ) + // InternalFiacre.g:10878:1: ( ( rule__PortsDeclaration__PortsAssignment_1_1 ) ) + { + // InternalFiacre.g:10878:1: ( ( rule__PortsDeclaration__PortsAssignment_1_1 ) ) + // InternalFiacre.g:10879:2: ( rule__PortsDeclaration__PortsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_1_1()); + } + // InternalFiacre.g:10880:2: ( rule__PortsDeclaration__PortsAssignment_1_1 ) + // InternalFiacre.g:10880:3: rule__PortsDeclaration__PortsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortsDeclaration__PortsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getPortsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__Group_1__1__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__0" + // InternalFiacre.g:10889:1: rule__LocalPortsDeclaration__Group__0 : rule__LocalPortsDeclaration__Group__0__Impl rule__LocalPortsDeclaration__Group__1 ; + public final void rule__LocalPortsDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10893:1: ( rule__LocalPortsDeclaration__Group__0__Impl rule__LocalPortsDeclaration__Group__1 ) + // InternalFiacre.g:10894:2: rule__LocalPortsDeclaration__Group__0__Impl rule__LocalPortsDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__LocalPortsDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__0" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__0__Impl" + // InternalFiacre.g:10901:1: rule__LocalPortsDeclaration__Group__0__Impl : ( ( rule__LocalPortsDeclaration__PortsAssignment_0 ) ) ; + public final void rule__LocalPortsDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10905:1: ( ( ( rule__LocalPortsDeclaration__PortsAssignment_0 ) ) ) + // InternalFiacre.g:10906:1: ( ( rule__LocalPortsDeclaration__PortsAssignment_0 ) ) + { + // InternalFiacre.g:10906:1: ( ( rule__LocalPortsDeclaration__PortsAssignment_0 ) ) + // InternalFiacre.g:10907:2: ( rule__LocalPortsDeclaration__PortsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_0()); + } + // InternalFiacre.g:10908:2: ( rule__LocalPortsDeclaration__PortsAssignment_0 ) + // InternalFiacre.g:10908:3: rule__LocalPortsDeclaration__PortsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__PortsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__1" + // InternalFiacre.g:10916:1: rule__LocalPortsDeclaration__Group__1 : rule__LocalPortsDeclaration__Group__1__Impl rule__LocalPortsDeclaration__Group__2 ; + public final void rule__LocalPortsDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10920:1: ( rule__LocalPortsDeclaration__Group__1__Impl rule__LocalPortsDeclaration__Group__2 ) + // InternalFiacre.g:10921:2: rule__LocalPortsDeclaration__Group__1__Impl rule__LocalPortsDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__LocalPortsDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__1" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__1__Impl" + // InternalFiacre.g:10928:1: rule__LocalPortsDeclaration__Group__1__Impl : ( ( rule__LocalPortsDeclaration__Group_1__0 )* ) ; + public final void rule__LocalPortsDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10932:1: ( ( ( rule__LocalPortsDeclaration__Group_1__0 )* ) ) + // InternalFiacre.g:10933:1: ( ( rule__LocalPortsDeclaration__Group_1__0 )* ) + { + // InternalFiacre.g:10933:1: ( ( rule__LocalPortsDeclaration__Group_1__0 )* ) + // InternalFiacre.g:10934:2: ( rule__LocalPortsDeclaration__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:10935:2: ( rule__LocalPortsDeclaration__Group_1__0 )* + loop108: + do { + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==24) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // InternalFiacre.g:10935:3: rule__LocalPortsDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__LocalPortsDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop108; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__2" + // InternalFiacre.g:10943:1: rule__LocalPortsDeclaration__Group__2 : rule__LocalPortsDeclaration__Group__2__Impl rule__LocalPortsDeclaration__Group__3 ; + public final void rule__LocalPortsDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10947:1: ( rule__LocalPortsDeclaration__Group__2__Impl rule__LocalPortsDeclaration__Group__3 ) + // InternalFiacre.g:10948:2: rule__LocalPortsDeclaration__Group__2__Impl rule__LocalPortsDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_22); + rule__LocalPortsDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__2" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__2__Impl" + // InternalFiacre.g:10955:1: rule__LocalPortsDeclaration__Group__2__Impl : ( ':' ) ; + public final void rule__LocalPortsDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10959:1: ( ( ':' ) ) + // InternalFiacre.g:10960:1: ( ':' ) + { + // InternalFiacre.g:10960:1: ( ':' ) + // InternalFiacre.g:10961:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__3" + // InternalFiacre.g:10970:1: rule__LocalPortsDeclaration__Group__3 : rule__LocalPortsDeclaration__Group__3__Impl rule__LocalPortsDeclaration__Group__4 ; + public final void rule__LocalPortsDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10974:1: ( rule__LocalPortsDeclaration__Group__3__Impl rule__LocalPortsDeclaration__Group__4 ) + // InternalFiacre.g:10975:2: rule__LocalPortsDeclaration__Group__3__Impl rule__LocalPortsDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_46); + rule__LocalPortsDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__3" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__3__Impl" + // InternalFiacre.g:10982:1: rule__LocalPortsDeclaration__Group__3__Impl : ( ( rule__LocalPortsDeclaration__TypeAssignment_3 ) ) ; + public final void rule__LocalPortsDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:10986:1: ( ( ( rule__LocalPortsDeclaration__TypeAssignment_3 ) ) ) + // InternalFiacre.g:10987:1: ( ( rule__LocalPortsDeclaration__TypeAssignment_3 ) ) + { + // InternalFiacre.g:10987:1: ( ( rule__LocalPortsDeclaration__TypeAssignment_3 ) ) + // InternalFiacre.g:10988:2: ( rule__LocalPortsDeclaration__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:10989:2: ( rule__LocalPortsDeclaration__TypeAssignment_3 ) + // InternalFiacre.g:10989:3: rule__LocalPortsDeclaration__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__4" + // InternalFiacre.g:10997:1: rule__LocalPortsDeclaration__Group__4 : rule__LocalPortsDeclaration__Group__4__Impl ; + public final void rule__LocalPortsDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11001:1: ( rule__LocalPortsDeclaration__Group__4__Impl ) + // InternalFiacre.g:11002:2: rule__LocalPortsDeclaration__Group__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__4" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group__4__Impl" + // InternalFiacre.g:11008:1: rule__LocalPortsDeclaration__Group__4__Impl : ( ( rule__LocalPortsDeclaration__Group_4__0 )? ) ; + public final void rule__LocalPortsDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11012:1: ( ( ( rule__LocalPortsDeclaration__Group_4__0 )? ) ) + // InternalFiacre.g:11013:1: ( ( rule__LocalPortsDeclaration__Group_4__0 )? ) + { + // InternalFiacre.g:11013:1: ( ( rule__LocalPortsDeclaration__Group_4__0 )? ) + // InternalFiacre.g:11014:2: ( rule__LocalPortsDeclaration__Group_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getGroup_4()); + } + // InternalFiacre.g:11015:2: ( rule__LocalPortsDeclaration__Group_4__0 )? + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==49) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // InternalFiacre.g:11015:3: rule__LocalPortsDeclaration__Group_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getGroup_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_1__0" + // InternalFiacre.g:11024:1: rule__LocalPortsDeclaration__Group_1__0 : rule__LocalPortsDeclaration__Group_1__0__Impl rule__LocalPortsDeclaration__Group_1__1 ; + public final void rule__LocalPortsDeclaration__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11028:1: ( rule__LocalPortsDeclaration__Group_1__0__Impl rule__LocalPortsDeclaration__Group_1__1 ) + // InternalFiacre.g:11029:2: rule__LocalPortsDeclaration__Group_1__0__Impl rule__LocalPortsDeclaration__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__LocalPortsDeclaration__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_1__0" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_1__0__Impl" + // InternalFiacre.g:11036:1: rule__LocalPortsDeclaration__Group_1__0__Impl : ( ',' ) ; + public final void rule__LocalPortsDeclaration__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11040:1: ( ( ',' ) ) + // InternalFiacre.g:11041:1: ( ',' ) + { + // InternalFiacre.g:11041:1: ( ',' ) + // InternalFiacre.g:11042:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_1__0__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_1__1" + // InternalFiacre.g:11051:1: rule__LocalPortsDeclaration__Group_1__1 : rule__LocalPortsDeclaration__Group_1__1__Impl ; + public final void rule__LocalPortsDeclaration__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11055:1: ( rule__LocalPortsDeclaration__Group_1__1__Impl ) + // InternalFiacre.g:11056:2: rule__LocalPortsDeclaration__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_1__1" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_1__1__Impl" + // InternalFiacre.g:11062:1: rule__LocalPortsDeclaration__Group_1__1__Impl : ( ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) ) ; + public final void rule__LocalPortsDeclaration__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11066:1: ( ( ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) ) ) + // InternalFiacre.g:11067:1: ( ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) ) + { + // InternalFiacre.g:11067:1: ( ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) ) + // InternalFiacre.g:11068:2: ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_1_1()); + } + // InternalFiacre.g:11069:2: ( rule__LocalPortsDeclaration__PortsAssignment_1_1 ) + // InternalFiacre.g:11069:3: rule__LocalPortsDeclaration__PortsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__PortsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getPortsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_1__1__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__0" + // InternalFiacre.g:11078:1: rule__LocalPortsDeclaration__Group_4__0 : rule__LocalPortsDeclaration__Group_4__0__Impl rule__LocalPortsDeclaration__Group_4__1 ; + public final void rule__LocalPortsDeclaration__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11082:1: ( rule__LocalPortsDeclaration__Group_4__0__Impl rule__LocalPortsDeclaration__Group_4__1 ) + // InternalFiacre.g:11083:2: rule__LocalPortsDeclaration__Group_4__0__Impl rule__LocalPortsDeclaration__Group_4__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__LocalPortsDeclaration__Group_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__0" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__0__Impl" + // InternalFiacre.g:11090:1: rule__LocalPortsDeclaration__Group_4__0__Impl : ( 'in' ) ; + public final void rule__LocalPortsDeclaration__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11094:1: ( ( 'in' ) ) + // InternalFiacre.g:11095:1: ( 'in' ) + { + // InternalFiacre.g:11095:1: ( 'in' ) + // InternalFiacre.g:11096:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__0__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__1" + // InternalFiacre.g:11105:1: rule__LocalPortsDeclaration__Group_4__1 : rule__LocalPortsDeclaration__Group_4__1__Impl rule__LocalPortsDeclaration__Group_4__2 ; + public final void rule__LocalPortsDeclaration__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11109:1: ( rule__LocalPortsDeclaration__Group_4__1__Impl rule__LocalPortsDeclaration__Group_4__2 ) + // InternalFiacre.g:11110:2: rule__LocalPortsDeclaration__Group_4__1__Impl rule__LocalPortsDeclaration__Group_4__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__LocalPortsDeclaration__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__1" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__1__Impl" + // InternalFiacre.g:11117:1: rule__LocalPortsDeclaration__Group_4__1__Impl : ( ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) ) ; + public final void rule__LocalPortsDeclaration__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11121:1: ( ( ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) ) ) + // InternalFiacre.g:11122:1: ( ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) ) + { + // InternalFiacre.g:11122:1: ( ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) ) + // InternalFiacre.g:11123:2: ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getLeftAssignment_4_1()); + } + // InternalFiacre.g:11124:2: ( rule__LocalPortsDeclaration__LeftAssignment_4_1 ) + // InternalFiacre.g:11124:3: rule__LocalPortsDeclaration__LeftAssignment_4_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__LeftAssignment_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getLeftAssignment_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__1__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__2" + // InternalFiacre.g:11132:1: rule__LocalPortsDeclaration__Group_4__2 : rule__LocalPortsDeclaration__Group_4__2__Impl rule__LocalPortsDeclaration__Group_4__3 ; + public final void rule__LocalPortsDeclaration__Group_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11136:1: ( rule__LocalPortsDeclaration__Group_4__2__Impl rule__LocalPortsDeclaration__Group_4__3 ) + // InternalFiacre.g:11137:2: rule__LocalPortsDeclaration__Group_4__2__Impl rule__LocalPortsDeclaration__Group_4__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__LocalPortsDeclaration__Group_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_4__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__2" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__2__Impl" + // InternalFiacre.g:11144:1: rule__LocalPortsDeclaration__Group_4__2__Impl : ( ',' ) ; + public final void rule__LocalPortsDeclaration__Group_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11148:1: ( ( ',' ) ) + // InternalFiacre.g:11149:1: ( ',' ) + { + // InternalFiacre.g:11149:1: ( ',' ) + // InternalFiacre.g:11150:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__2__Impl" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__3" + // InternalFiacre.g:11159:1: rule__LocalPortsDeclaration__Group_4__3 : rule__LocalPortsDeclaration__Group_4__3__Impl ; + public final void rule__LocalPortsDeclaration__Group_4__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11163:1: ( rule__LocalPortsDeclaration__Group_4__3__Impl ) + // InternalFiacre.g:11164:2: rule__LocalPortsDeclaration__Group_4__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__Group_4__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__3" + + + // $ANTLR start "rule__LocalPortsDeclaration__Group_4__3__Impl" + // InternalFiacre.g:11170:1: rule__LocalPortsDeclaration__Group_4__3__Impl : ( ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) ) ; + public final void rule__LocalPortsDeclaration__Group_4__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11174:1: ( ( ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) ) ) + // InternalFiacre.g:11175:1: ( ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) ) + { + // InternalFiacre.g:11175:1: ( ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) ) + // InternalFiacre.g:11176:2: ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getRightAssignment_4_3()); + } + // InternalFiacre.g:11177:2: ( rule__LocalPortsDeclaration__RightAssignment_4_3 ) + // InternalFiacre.g:11177:3: rule__LocalPortsDeclaration__RightAssignment_4_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LocalPortsDeclaration__RightAssignment_4_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getRightAssignment_4_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__Group_4__3__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__0" + // InternalFiacre.g:11186:1: rule__ParametersDeclaration__Group__0 : rule__ParametersDeclaration__Group__0__Impl rule__ParametersDeclaration__Group__1 ; + public final void rule__ParametersDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11190:1: ( rule__ParametersDeclaration__Group__0__Impl rule__ParametersDeclaration__Group__1 ) + // InternalFiacre.g:11191:2: rule__ParametersDeclaration__Group__0__Impl rule__ParametersDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__ParametersDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__0" + + + // $ANTLR start "rule__ParametersDeclaration__Group__0__Impl" + // InternalFiacre.g:11198:1: rule__ParametersDeclaration__Group__0__Impl : ( ( rule__ParametersDeclaration__ParametersAssignment_0 ) ) ; + public final void rule__ParametersDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11202:1: ( ( ( rule__ParametersDeclaration__ParametersAssignment_0 ) ) ) + // InternalFiacre.g:11203:1: ( ( rule__ParametersDeclaration__ParametersAssignment_0 ) ) + { + // InternalFiacre.g:11203:1: ( ( rule__ParametersDeclaration__ParametersAssignment_0 ) ) + // InternalFiacre.g:11204:2: ( rule__ParametersDeclaration__ParametersAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_0()); + } + // InternalFiacre.g:11205:2: ( rule__ParametersDeclaration__ParametersAssignment_0 ) + // InternalFiacre.g:11205:3: rule__ParametersDeclaration__ParametersAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__ParametersAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__1" + // InternalFiacre.g:11213:1: rule__ParametersDeclaration__Group__1 : rule__ParametersDeclaration__Group__1__Impl rule__ParametersDeclaration__Group__2 ; + public final void rule__ParametersDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11217:1: ( rule__ParametersDeclaration__Group__1__Impl rule__ParametersDeclaration__Group__2 ) + // InternalFiacre.g:11218:2: rule__ParametersDeclaration__Group__1__Impl rule__ParametersDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__ParametersDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__1" + + + // $ANTLR start "rule__ParametersDeclaration__Group__1__Impl" + // InternalFiacre.g:11225:1: rule__ParametersDeclaration__Group__1__Impl : ( ( rule__ParametersDeclaration__Group_1__0 )* ) ; + public final void rule__ParametersDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11229:1: ( ( ( rule__ParametersDeclaration__Group_1__0 )* ) ) + // InternalFiacre.g:11230:1: ( ( rule__ParametersDeclaration__Group_1__0 )* ) + { + // InternalFiacre.g:11230:1: ( ( rule__ParametersDeclaration__Group_1__0 )* ) + // InternalFiacre.g:11231:2: ( rule__ParametersDeclaration__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:11232:2: ( rule__ParametersDeclaration__Group_1__0 )* + loop110: + do { + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==24) ) { + alt110=1; + } + + + switch (alt110) { + case 1 : + // InternalFiacre.g:11232:3: rule__ParametersDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ParametersDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop110; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__2" + // InternalFiacre.g:11240:1: rule__ParametersDeclaration__Group__2 : rule__ParametersDeclaration__Group__2__Impl rule__ParametersDeclaration__Group__3 ; + public final void rule__ParametersDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11244:1: ( rule__ParametersDeclaration__Group__2__Impl rule__ParametersDeclaration__Group__3 ) + // InternalFiacre.g:11245:2: rule__ParametersDeclaration__Group__2__Impl rule__ParametersDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_49); + rule__ParametersDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__2" + + + // $ANTLR start "rule__ParametersDeclaration__Group__2__Impl" + // InternalFiacre.g:11252:1: rule__ParametersDeclaration__Group__2__Impl : ( ':' ) ; + public final void rule__ParametersDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11256:1: ( ( ':' ) ) + // InternalFiacre.g:11257:1: ( ':' ) + { + // InternalFiacre.g:11257:1: ( ':' ) + // InternalFiacre.g:11258:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__3" + // InternalFiacre.g:11267:1: rule__ParametersDeclaration__Group__3 : rule__ParametersDeclaration__Group__3__Impl rule__ParametersDeclaration__Group__4 ; + public final void rule__ParametersDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11271:1: ( rule__ParametersDeclaration__Group__3__Impl rule__ParametersDeclaration__Group__4 ) + // InternalFiacre.g:11272:2: rule__ParametersDeclaration__Group__3__Impl rule__ParametersDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_49); + rule__ParametersDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__3" + + + // $ANTLR start "rule__ParametersDeclaration__Group__3__Impl" + // InternalFiacre.g:11279:1: rule__ParametersDeclaration__Group__3__Impl : ( ( rule__ParametersDeclaration__ReadAssignment_3 )? ) ; + public final void rule__ParametersDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11283:1: ( ( ( rule__ParametersDeclaration__ReadAssignment_3 )? ) ) + // InternalFiacre.g:11284:1: ( ( rule__ParametersDeclaration__ReadAssignment_3 )? ) + { + // InternalFiacre.g:11284:1: ( ( rule__ParametersDeclaration__ReadAssignment_3 )? ) + // InternalFiacre.g:11285:2: ( rule__ParametersDeclaration__ReadAssignment_3 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getReadAssignment_3()); + } + // InternalFiacre.g:11286:2: ( rule__ParametersDeclaration__ReadAssignment_3 )? + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==138) ) { + alt111=1; + } + switch (alt111) { + case 1 : + // InternalFiacre.g:11286:3: rule__ParametersDeclaration__ReadAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__ReadAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getReadAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__4" + // InternalFiacre.g:11294:1: rule__ParametersDeclaration__Group__4 : rule__ParametersDeclaration__Group__4__Impl rule__ParametersDeclaration__Group__5 ; + public final void rule__ParametersDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11298:1: ( rule__ParametersDeclaration__Group__4__Impl rule__ParametersDeclaration__Group__5 ) + // InternalFiacre.g:11299:2: rule__ParametersDeclaration__Group__4__Impl rule__ParametersDeclaration__Group__5 + { + pushFollow(FollowSets000.FOLLOW_49); + rule__ParametersDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__4" + + + // $ANTLR start "rule__ParametersDeclaration__Group__4__Impl" + // InternalFiacre.g:11306:1: rule__ParametersDeclaration__Group__4__Impl : ( ( rule__ParametersDeclaration__WriteAssignment_4 )? ) ; + public final void rule__ParametersDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11310:1: ( ( ( rule__ParametersDeclaration__WriteAssignment_4 )? ) ) + // InternalFiacre.g:11311:1: ( ( rule__ParametersDeclaration__WriteAssignment_4 )? ) + { + // InternalFiacre.g:11311:1: ( ( rule__ParametersDeclaration__WriteAssignment_4 )? ) + // InternalFiacre.g:11312:2: ( rule__ParametersDeclaration__WriteAssignment_4 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getWriteAssignment_4()); + } + // InternalFiacre.g:11313:2: ( rule__ParametersDeclaration__WriteAssignment_4 )? + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==139) ) { + alt112=1; + } + switch (alt112) { + case 1 : + // InternalFiacre.g:11313:3: rule__ParametersDeclaration__WriteAssignment_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__WriteAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getWriteAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group__5" + // InternalFiacre.g:11321:1: rule__ParametersDeclaration__Group__5 : rule__ParametersDeclaration__Group__5__Impl ; + public final void rule__ParametersDeclaration__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11325:1: ( rule__ParametersDeclaration__Group__5__Impl ) + // InternalFiacre.g:11326:2: rule__ParametersDeclaration__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__5" + + + // $ANTLR start "rule__ParametersDeclaration__Group__5__Impl" + // InternalFiacre.g:11332:1: rule__ParametersDeclaration__Group__5__Impl : ( ( rule__ParametersDeclaration__TypeAssignment_5 ) ) ; + public final void rule__ParametersDeclaration__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11336:1: ( ( ( rule__ParametersDeclaration__TypeAssignment_5 ) ) ) + // InternalFiacre.g:11337:1: ( ( rule__ParametersDeclaration__TypeAssignment_5 ) ) + { + // InternalFiacre.g:11337:1: ( ( rule__ParametersDeclaration__TypeAssignment_5 ) ) + // InternalFiacre.g:11338:2: ( rule__ParametersDeclaration__TypeAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getTypeAssignment_5()); + } + // InternalFiacre.g:11339:2: ( rule__ParametersDeclaration__TypeAssignment_5 ) + // InternalFiacre.g:11339:3: rule__ParametersDeclaration__TypeAssignment_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__TypeAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getTypeAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group__5__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group_1__0" + // InternalFiacre.g:11348:1: rule__ParametersDeclaration__Group_1__0 : rule__ParametersDeclaration__Group_1__0__Impl rule__ParametersDeclaration__Group_1__1 ; + public final void rule__ParametersDeclaration__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11352:1: ( rule__ParametersDeclaration__Group_1__0__Impl rule__ParametersDeclaration__Group_1__1 ) + // InternalFiacre.g:11353:2: rule__ParametersDeclaration__Group_1__0__Impl rule__ParametersDeclaration__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ParametersDeclaration__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group_1__0" + + + // $ANTLR start "rule__ParametersDeclaration__Group_1__0__Impl" + // InternalFiacre.g:11360:1: rule__ParametersDeclaration__Group_1__0__Impl : ( ',' ) ; + public final void rule__ParametersDeclaration__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11364:1: ( ( ',' ) ) + // InternalFiacre.g:11365:1: ( ',' ) + { + // InternalFiacre.g:11365:1: ( ',' ) + // InternalFiacre.g:11366:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group_1__0__Impl" + + + // $ANTLR start "rule__ParametersDeclaration__Group_1__1" + // InternalFiacre.g:11375:1: rule__ParametersDeclaration__Group_1__1 : rule__ParametersDeclaration__Group_1__1__Impl ; + public final void rule__ParametersDeclaration__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11379:1: ( rule__ParametersDeclaration__Group_1__1__Impl ) + // InternalFiacre.g:11380:2: rule__ParametersDeclaration__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group_1__1" + + + // $ANTLR start "rule__ParametersDeclaration__Group_1__1__Impl" + // InternalFiacre.g:11386:1: rule__ParametersDeclaration__Group_1__1__Impl : ( ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) ) ; + public final void rule__ParametersDeclaration__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11390:1: ( ( ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) ) ) + // InternalFiacre.g:11391:1: ( ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) ) + { + // InternalFiacre.g:11391:1: ( ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) ) + // InternalFiacre.g:11392:2: ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_1_1()); + } + // InternalFiacre.g:11393:2: ( rule__ParametersDeclaration__ParametersAssignment_1_1 ) + // InternalFiacre.g:11393:3: rule__ParametersDeclaration__ParametersAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParametersDeclaration__ParametersAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getParametersAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__Group_1__1__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group__0" + // InternalFiacre.g:11402:1: rule__ParameterDeclaration__Group__0 : rule__ParameterDeclaration__Group__0__Impl rule__ParameterDeclaration__Group__1 ; + public final void rule__ParameterDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11406:1: ( rule__ParameterDeclaration__Group__0__Impl rule__ParameterDeclaration__Group__1 ) + // InternalFiacre.g:11407:2: rule__ParameterDeclaration__Group__0__Impl rule__ParameterDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_21); + rule__ParameterDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group__0" + + + // $ANTLR start "rule__ParameterDeclaration__Group__0__Impl" + // InternalFiacre.g:11414:1: rule__ParameterDeclaration__Group__0__Impl : ( ( rule__ParameterDeclaration__Group_0__0 )? ) ; + public final void rule__ParameterDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11418:1: ( ( ( rule__ParameterDeclaration__Group_0__0 )? ) ) + // InternalFiacre.g:11419:1: ( ( rule__ParameterDeclaration__Group_0__0 )? ) + { + // InternalFiacre.g:11419:1: ( ( rule__ParameterDeclaration__Group_0__0 )? ) + // InternalFiacre.g:11420:2: ( rule__ParameterDeclaration__Group_0__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getGroup_0()); + } + // InternalFiacre.g:11421:2: ( rule__ParameterDeclaration__Group_0__0 )? + int alt113=2; + int LA113_0 = input.LA(1); + + if ( (LA113_0==99) ) { + alt113=1; + } + switch (alt113) { + case 1 : + // InternalFiacre.g:11421:3: rule__ParameterDeclaration__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getGroup_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group__1" + // InternalFiacre.g:11429:1: rule__ParameterDeclaration__Group__1 : rule__ParameterDeclaration__Group__1__Impl ; + public final void rule__ParameterDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11433:1: ( rule__ParameterDeclaration__Group__1__Impl ) + // InternalFiacre.g:11434:2: rule__ParameterDeclaration__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group__1" + + + // $ANTLR start "rule__ParameterDeclaration__Group__1__Impl" + // InternalFiacre.g:11440:1: rule__ParameterDeclaration__Group__1__Impl : ( ( rule__ParameterDeclaration__NameAssignment_1 ) ) ; + public final void rule__ParameterDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11444:1: ( ( ( rule__ParameterDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:11445:1: ( ( rule__ParameterDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:11445:1: ( ( rule__ParameterDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:11446:2: ( rule__ParameterDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:11447:2: ( rule__ParameterDeclaration__NameAssignment_1 ) + // InternalFiacre.g:11447:3: rule__ParameterDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0__0" + // InternalFiacre.g:11456:1: rule__ParameterDeclaration__Group_0__0 : rule__ParameterDeclaration__Group_0__0__Impl rule__ParameterDeclaration__Group_0__1 ; + public final void rule__ParameterDeclaration__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11460:1: ( rule__ParameterDeclaration__Group_0__0__Impl rule__ParameterDeclaration__Group_0__1 ) + // InternalFiacre.g:11461:2: rule__ParameterDeclaration__Group_0__0__Impl rule__ParameterDeclaration__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_50); + rule__ParameterDeclaration__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0__0" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0__0__Impl" + // InternalFiacre.g:11468:1: rule__ParameterDeclaration__Group_0__0__Impl : ( ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) ) ; + public final void rule__ParameterDeclaration__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11472:1: ( ( ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) ) ) + // InternalFiacre.g:11473:1: ( ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) ) + { + // InternalFiacre.g:11473:1: ( ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) ) + // InternalFiacre.g:11474:2: ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getReferenceAssignment_0_0()); + } + // InternalFiacre.g:11475:2: ( rule__ParameterDeclaration__ReferenceAssignment_0_0 ) + // InternalFiacre.g:11475:3: rule__ParameterDeclaration__ReferenceAssignment_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__ReferenceAssignment_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getReferenceAssignment_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0__0__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0__1" + // InternalFiacre.g:11483:1: rule__ParameterDeclaration__Group_0__1 : rule__ParameterDeclaration__Group_0__1__Impl ; + public final void rule__ParameterDeclaration__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11487:1: ( rule__ParameterDeclaration__Group_0__1__Impl ) + // InternalFiacre.g:11488:2: rule__ParameterDeclaration__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0__1" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0__1__Impl" + // InternalFiacre.g:11494:1: rule__ParameterDeclaration__Group_0__1__Impl : ( ( rule__ParameterDeclaration__Group_0_1__0 )? ) ; + public final void rule__ParameterDeclaration__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11498:1: ( ( ( rule__ParameterDeclaration__Group_0_1__0 )? ) ) + // InternalFiacre.g:11499:1: ( ( rule__ParameterDeclaration__Group_0_1__0 )? ) + { + // InternalFiacre.g:11499:1: ( ( rule__ParameterDeclaration__Group_0_1__0 )? ) + // InternalFiacre.g:11500:2: ( rule__ParameterDeclaration__Group_0_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getGroup_0_1()); + } + // InternalFiacre.g:11501:2: ( rule__ParameterDeclaration__Group_0_1__0 )? + int alt114=2; + int LA114_0 = input.LA(1); + + if ( (LA114_0==42) ) { + alt114=1; + } + switch (alt114) { + case 1 : + // InternalFiacre.g:11501:3: rule__ParameterDeclaration__Group_0_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getGroup_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0__1__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__0" + // InternalFiacre.g:11510:1: rule__ParameterDeclaration__Group_0_1__0 : rule__ParameterDeclaration__Group_0_1__0__Impl rule__ParameterDeclaration__Group_0_1__1 ; + public final void rule__ParameterDeclaration__Group_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11514:1: ( rule__ParameterDeclaration__Group_0_1__0__Impl rule__ParameterDeclaration__Group_0_1__1 ) + // InternalFiacre.g:11515:2: rule__ParameterDeclaration__Group_0_1__0__Impl rule__ParameterDeclaration__Group_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ParameterDeclaration__Group_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__0" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__0__Impl" + // InternalFiacre.g:11522:1: rule__ParameterDeclaration__Group_0_1__0__Impl : ( ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) ) ; + public final void rule__ParameterDeclaration__Group_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11526:1: ( ( ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) ) ) + // InternalFiacre.g:11527:1: ( ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) ) + { + // InternalFiacre.g:11527:1: ( ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) ) + // InternalFiacre.g:11528:2: ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getArrayAssignment_0_1_0()); + } + // InternalFiacre.g:11529:2: ( rule__ParameterDeclaration__ArrayAssignment_0_1_0 ) + // InternalFiacre.g:11529:3: rule__ParameterDeclaration__ArrayAssignment_0_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__ArrayAssignment_0_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getArrayAssignment_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__0__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__1" + // InternalFiacre.g:11537:1: rule__ParameterDeclaration__Group_0_1__1 : rule__ParameterDeclaration__Group_0_1__1__Impl rule__ParameterDeclaration__Group_0_1__2 ; + public final void rule__ParameterDeclaration__Group_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11541:1: ( rule__ParameterDeclaration__Group_0_1__1__Impl rule__ParameterDeclaration__Group_0_1__2 ) + // InternalFiacre.g:11542:2: rule__ParameterDeclaration__Group_0_1__1__Impl rule__ParameterDeclaration__Group_0_1__2 + { + pushFollow(FollowSets000.FOLLOW_51); + rule__ParameterDeclaration__Group_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__1" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__1__Impl" + // InternalFiacre.g:11549:1: rule__ParameterDeclaration__Group_0_1__1__Impl : ( ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) ) ; + public final void rule__ParameterDeclaration__Group_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11553:1: ( ( ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) ) ) + // InternalFiacre.g:11554:1: ( ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) ) + { + // InternalFiacre.g:11554:1: ( ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) ) + // InternalFiacre.g:11555:2: ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getSizeAssignment_0_1_1()); + } + // InternalFiacre.g:11556:2: ( rule__ParameterDeclaration__SizeAssignment_0_1_1 ) + // InternalFiacre.g:11556:3: rule__ParameterDeclaration__SizeAssignment_0_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__SizeAssignment_0_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getSizeAssignment_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__1__Impl" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__2" + // InternalFiacre.g:11564:1: rule__ParameterDeclaration__Group_0_1__2 : rule__ParameterDeclaration__Group_0_1__2__Impl ; + public final void rule__ParameterDeclaration__Group_0_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11568:1: ( rule__ParameterDeclaration__Group_0_1__2__Impl ) + // InternalFiacre.g:11569:2: rule__ParameterDeclaration__Group_0_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ParameterDeclaration__Group_0_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__2" + + + // $ANTLR start "rule__ParameterDeclaration__Group_0_1__2__Impl" + // InternalFiacre.g:11575:1: rule__ParameterDeclaration__Group_0_1__2__Impl : ( ']' ) ; + public final void rule__ParameterDeclaration__Group_0_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11579:1: ( ( ']' ) ) + // InternalFiacre.g:11580:1: ( ']' ) + { + // InternalFiacre.g:11580:1: ( ']' ) + // InternalFiacre.g:11581:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__Group_0_1__2__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group__0" + // InternalFiacre.g:11591:1: rule__VariablesDeclaration__Group__0 : rule__VariablesDeclaration__Group__0__Impl rule__VariablesDeclaration__Group__1 ; + public final void rule__VariablesDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11595:1: ( rule__VariablesDeclaration__Group__0__Impl rule__VariablesDeclaration__Group__1 ) + // InternalFiacre.g:11596:2: rule__VariablesDeclaration__Group__0__Impl rule__VariablesDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__VariablesDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__0" + + + // $ANTLR start "rule__VariablesDeclaration__Group__0__Impl" + // InternalFiacre.g:11603:1: rule__VariablesDeclaration__Group__0__Impl : ( ( rule__VariablesDeclaration__VariablesAssignment_0 ) ) ; + public final void rule__VariablesDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11607:1: ( ( ( rule__VariablesDeclaration__VariablesAssignment_0 ) ) ) + // InternalFiacre.g:11608:1: ( ( rule__VariablesDeclaration__VariablesAssignment_0 ) ) + { + // InternalFiacre.g:11608:1: ( ( rule__VariablesDeclaration__VariablesAssignment_0 ) ) + // InternalFiacre.g:11609:2: ( rule__VariablesDeclaration__VariablesAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_0()); + } + // InternalFiacre.g:11610:2: ( rule__VariablesDeclaration__VariablesAssignment_0 ) + // InternalFiacre.g:11610:3: rule__VariablesDeclaration__VariablesAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__VariablesAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group__1" + // InternalFiacre.g:11618:1: rule__VariablesDeclaration__Group__1 : rule__VariablesDeclaration__Group__1__Impl rule__VariablesDeclaration__Group__2 ; + public final void rule__VariablesDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11622:1: ( rule__VariablesDeclaration__Group__1__Impl rule__VariablesDeclaration__Group__2 ) + // InternalFiacre.g:11623:2: rule__VariablesDeclaration__Group__1__Impl rule__VariablesDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_38); + rule__VariablesDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__1" + + + // $ANTLR start "rule__VariablesDeclaration__Group__1__Impl" + // InternalFiacre.g:11630:1: rule__VariablesDeclaration__Group__1__Impl : ( ( rule__VariablesDeclaration__Group_1__0 )* ) ; + public final void rule__VariablesDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11634:1: ( ( ( rule__VariablesDeclaration__Group_1__0 )* ) ) + // InternalFiacre.g:11635:1: ( ( rule__VariablesDeclaration__Group_1__0 )* ) + { + // InternalFiacre.g:11635:1: ( ( rule__VariablesDeclaration__Group_1__0 )* ) + // InternalFiacre.g:11636:2: ( rule__VariablesDeclaration__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:11637:2: ( rule__VariablesDeclaration__Group_1__0 )* + loop115: + do { + int alt115=2; + int LA115_0 = input.LA(1); + + if ( (LA115_0==24) ) { + alt115=1; + } + + + switch (alt115) { + case 1 : + // InternalFiacre.g:11637:3: rule__VariablesDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__VariablesDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop115; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group__2" + // InternalFiacre.g:11645:1: rule__VariablesDeclaration__Group__2 : rule__VariablesDeclaration__Group__2__Impl rule__VariablesDeclaration__Group__3 ; + public final void rule__VariablesDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11649:1: ( rule__VariablesDeclaration__Group__2__Impl rule__VariablesDeclaration__Group__3 ) + // InternalFiacre.g:11650:2: rule__VariablesDeclaration__Group__2__Impl rule__VariablesDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_15); + rule__VariablesDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__2" + + + // $ANTLR start "rule__VariablesDeclaration__Group__2__Impl" + // InternalFiacre.g:11657:1: rule__VariablesDeclaration__Group__2__Impl : ( ':' ) ; + public final void rule__VariablesDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11661:1: ( ( ':' ) ) + // InternalFiacre.g:11662:1: ( ':' ) + { + // InternalFiacre.g:11662:1: ( ':' ) + // InternalFiacre.g:11663:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group__3" + // InternalFiacre.g:11672:1: rule__VariablesDeclaration__Group__3 : rule__VariablesDeclaration__Group__3__Impl rule__VariablesDeclaration__Group__4 ; + public final void rule__VariablesDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11676:1: ( rule__VariablesDeclaration__Group__3__Impl rule__VariablesDeclaration__Group__4 ) + // InternalFiacre.g:11677:2: rule__VariablesDeclaration__Group__3__Impl rule__VariablesDeclaration__Group__4 + { + pushFollow(FollowSets000.FOLLOW_52); + rule__VariablesDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__3" + + + // $ANTLR start "rule__VariablesDeclaration__Group__3__Impl" + // InternalFiacre.g:11684:1: rule__VariablesDeclaration__Group__3__Impl : ( ( rule__VariablesDeclaration__TypeAssignment_3 ) ) ; + public final void rule__VariablesDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11688:1: ( ( ( rule__VariablesDeclaration__TypeAssignment_3 ) ) ) + // InternalFiacre.g:11689:1: ( ( rule__VariablesDeclaration__TypeAssignment_3 ) ) + { + // InternalFiacre.g:11689:1: ( ( rule__VariablesDeclaration__TypeAssignment_3 ) ) + // InternalFiacre.g:11690:2: ( rule__VariablesDeclaration__TypeAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getTypeAssignment_3()); + } + // InternalFiacre.g:11691:2: ( rule__VariablesDeclaration__TypeAssignment_3 ) + // InternalFiacre.g:11691:3: rule__VariablesDeclaration__TypeAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__TypeAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getTypeAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group__4" + // InternalFiacre.g:11699:1: rule__VariablesDeclaration__Group__4 : rule__VariablesDeclaration__Group__4__Impl ; + public final void rule__VariablesDeclaration__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11703:1: ( rule__VariablesDeclaration__Group__4__Impl ) + // InternalFiacre.g:11704:2: rule__VariablesDeclaration__Group__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__4" + + + // $ANTLR start "rule__VariablesDeclaration__Group__4__Impl" + // InternalFiacre.g:11710:1: rule__VariablesDeclaration__Group__4__Impl : ( ( rule__VariablesDeclaration__Group_4__0 )? ) ; + public final void rule__VariablesDeclaration__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11714:1: ( ( ( rule__VariablesDeclaration__Group_4__0 )? ) ) + // InternalFiacre.g:11715:1: ( ( rule__VariablesDeclaration__Group_4__0 )? ) + { + // InternalFiacre.g:11715:1: ( ( rule__VariablesDeclaration__Group_4__0 )? ) + // InternalFiacre.g:11716:2: ( rule__VariablesDeclaration__Group_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getGroup_4()); + } + // InternalFiacre.g:11717:2: ( rule__VariablesDeclaration__Group_4__0 )? + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==50) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // InternalFiacre.g:11717:3: rule__VariablesDeclaration__Group_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getGroup_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group__4__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group_1__0" + // InternalFiacre.g:11726:1: rule__VariablesDeclaration__Group_1__0 : rule__VariablesDeclaration__Group_1__0__Impl rule__VariablesDeclaration__Group_1__1 ; + public final void rule__VariablesDeclaration__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11730:1: ( rule__VariablesDeclaration__Group_1__0__Impl rule__VariablesDeclaration__Group_1__1 ) + // InternalFiacre.g:11731:2: rule__VariablesDeclaration__Group_1__0__Impl rule__VariablesDeclaration__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__VariablesDeclaration__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_1__0" + + + // $ANTLR start "rule__VariablesDeclaration__Group_1__0__Impl" + // InternalFiacre.g:11738:1: rule__VariablesDeclaration__Group_1__0__Impl : ( ',' ) ; + public final void rule__VariablesDeclaration__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11742:1: ( ( ',' ) ) + // InternalFiacre.g:11743:1: ( ',' ) + { + // InternalFiacre.g:11743:1: ( ',' ) + // InternalFiacre.g:11744:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_1__0__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group_1__1" + // InternalFiacre.g:11753:1: rule__VariablesDeclaration__Group_1__1 : rule__VariablesDeclaration__Group_1__1__Impl ; + public final void rule__VariablesDeclaration__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11757:1: ( rule__VariablesDeclaration__Group_1__1__Impl ) + // InternalFiacre.g:11758:2: rule__VariablesDeclaration__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_1__1" + + + // $ANTLR start "rule__VariablesDeclaration__Group_1__1__Impl" + // InternalFiacre.g:11764:1: rule__VariablesDeclaration__Group_1__1__Impl : ( ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) ) ; + public final void rule__VariablesDeclaration__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11768:1: ( ( ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) ) ) + // InternalFiacre.g:11769:1: ( ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) ) + { + // InternalFiacre.g:11769:1: ( ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) ) + // InternalFiacre.g:11770:2: ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_1_1()); + } + // InternalFiacre.g:11771:2: ( rule__VariablesDeclaration__VariablesAssignment_1_1 ) + // InternalFiacre.g:11771:3: rule__VariablesDeclaration__VariablesAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__VariablesAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getVariablesAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_1__1__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group_4__0" + // InternalFiacre.g:11780:1: rule__VariablesDeclaration__Group_4__0 : rule__VariablesDeclaration__Group_4__0__Impl rule__VariablesDeclaration__Group_4__1 ; + public final void rule__VariablesDeclaration__Group_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11784:1: ( rule__VariablesDeclaration__Group_4__0__Impl rule__VariablesDeclaration__Group_4__1 ) + // InternalFiacre.g:11785:2: rule__VariablesDeclaration__Group_4__0__Impl rule__VariablesDeclaration__Group_4__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__VariablesDeclaration__Group_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_4__0" + + + // $ANTLR start "rule__VariablesDeclaration__Group_4__0__Impl" + // InternalFiacre.g:11792:1: rule__VariablesDeclaration__Group_4__0__Impl : ( ':=' ) ; + public final void rule__VariablesDeclaration__Group_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11796:1: ( ( ':=' ) ) + // InternalFiacre.g:11797:1: ( ':=' ) + { + // InternalFiacre.g:11797:1: ( ':=' ) + // InternalFiacre.g:11798:2: ':=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); + } + match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_4__0__Impl" + + + // $ANTLR start "rule__VariablesDeclaration__Group_4__1" + // InternalFiacre.g:11807:1: rule__VariablesDeclaration__Group_4__1 : rule__VariablesDeclaration__Group_4__1__Impl ; + public final void rule__VariablesDeclaration__Group_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11811:1: ( rule__VariablesDeclaration__Group_4__1__Impl ) + // InternalFiacre.g:11812:2: rule__VariablesDeclaration__Group_4__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__Group_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_4__1" + + + // $ANTLR start "rule__VariablesDeclaration__Group_4__1__Impl" + // InternalFiacre.g:11818:1: rule__VariablesDeclaration__Group_4__1__Impl : ( ( rule__VariablesDeclaration__ValueAssignment_4_1 ) ) ; + public final void rule__VariablesDeclaration__Group_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11822:1: ( ( ( rule__VariablesDeclaration__ValueAssignment_4_1 ) ) ) + // InternalFiacre.g:11823:1: ( ( rule__VariablesDeclaration__ValueAssignment_4_1 ) ) + { + // InternalFiacre.g:11823:1: ( ( rule__VariablesDeclaration__ValueAssignment_4_1 ) ) + // InternalFiacre.g:11824:2: ( rule__VariablesDeclaration__ValueAssignment_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getValueAssignment_4_1()); + } + // InternalFiacre.g:11825:2: ( rule__VariablesDeclaration__ValueAssignment_4_1 ) + // InternalFiacre.g:11825:3: rule__VariablesDeclaration__ValueAssignment_4_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariablesDeclaration__ValueAssignment_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getValueAssignment_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__Group_4__1__Impl" + + + // $ANTLR start "rule__PriorityDeclaration__Group__0" + // InternalFiacre.g:11834:1: rule__PriorityDeclaration__Group__0 : rule__PriorityDeclaration__Group__0__Impl rule__PriorityDeclaration__Group__1 ; + public final void rule__PriorityDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11838:1: ( rule__PriorityDeclaration__Group__0__Impl rule__PriorityDeclaration__Group__1 ) + // InternalFiacre.g:11839:2: rule__PriorityDeclaration__Group__0__Impl rule__PriorityDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_8); + rule__PriorityDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group__0" + + + // $ANTLR start "rule__PriorityDeclaration__Group__0__Impl" + // InternalFiacre.g:11846:1: rule__PriorityDeclaration__Group__0__Impl : ( ( rule__PriorityDeclaration__GroupsAssignment_0 ) ) ; + public final void rule__PriorityDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11850:1: ( ( ( rule__PriorityDeclaration__GroupsAssignment_0 ) ) ) + // InternalFiacre.g:11851:1: ( ( rule__PriorityDeclaration__GroupsAssignment_0 ) ) + { + // InternalFiacre.g:11851:1: ( ( rule__PriorityDeclaration__GroupsAssignment_0 ) ) + // InternalFiacre.g:11852:2: ( rule__PriorityDeclaration__GroupsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_0()); + } + // InternalFiacre.g:11853:2: ( rule__PriorityDeclaration__GroupsAssignment_0 ) + // InternalFiacre.g:11853:3: rule__PriorityDeclaration__GroupsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__GroupsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__PriorityDeclaration__Group__1" + // InternalFiacre.g:11861:1: rule__PriorityDeclaration__Group__1 : rule__PriorityDeclaration__Group__1__Impl ; + public final void rule__PriorityDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11865:1: ( rule__PriorityDeclaration__Group__1__Impl ) + // InternalFiacre.g:11866:2: rule__PriorityDeclaration__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group__1" + + + // $ANTLR start "rule__PriorityDeclaration__Group__1__Impl" + // InternalFiacre.g:11872:1: rule__PriorityDeclaration__Group__1__Impl : ( ( ( rule__PriorityDeclaration__Group_1__0 ) ) ( ( rule__PriorityDeclaration__Group_1__0 )* ) ) ; + public final void rule__PriorityDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11876:1: ( ( ( ( rule__PriorityDeclaration__Group_1__0 ) ) ( ( rule__PriorityDeclaration__Group_1__0 )* ) ) ) + // InternalFiacre.g:11877:1: ( ( ( rule__PriorityDeclaration__Group_1__0 ) ) ( ( rule__PriorityDeclaration__Group_1__0 )* ) ) + { + // InternalFiacre.g:11877:1: ( ( ( rule__PriorityDeclaration__Group_1__0 ) ) ( ( rule__PriorityDeclaration__Group_1__0 )* ) ) + // InternalFiacre.g:11878:2: ( ( rule__PriorityDeclaration__Group_1__0 ) ) ( ( rule__PriorityDeclaration__Group_1__0 )* ) + { + // InternalFiacre.g:11878:2: ( ( rule__PriorityDeclaration__Group_1__0 ) ) + // InternalFiacre.g:11879:3: ( rule__PriorityDeclaration__Group_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:11880:3: ( rule__PriorityDeclaration__Group_1__0 ) + // InternalFiacre.g:11880:4: rule__PriorityDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_53); + rule__PriorityDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); + } + + } + + // InternalFiacre.g:11883:2: ( ( rule__PriorityDeclaration__Group_1__0 )* ) + // InternalFiacre.g:11884:3: ( rule__PriorityDeclaration__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); + } + // InternalFiacre.g:11885:3: ( rule__PriorityDeclaration__Group_1__0 )* + loop117: + do { + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==16) ) { + alt117=1; + } + + + switch (alt117) { + case 1 : + // InternalFiacre.g:11885:4: rule__PriorityDeclaration__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_53); + rule__PriorityDeclaration__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop117; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroup_1()); + } + + } + + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__PriorityDeclaration__Group_1__0" + // InternalFiacre.g:11895:1: rule__PriorityDeclaration__Group_1__0 : rule__PriorityDeclaration__Group_1__0__Impl rule__PriorityDeclaration__Group_1__1 ; + public final void rule__PriorityDeclaration__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11899:1: ( rule__PriorityDeclaration__Group_1__0__Impl rule__PriorityDeclaration__Group_1__1 ) + // InternalFiacre.g:11900:2: rule__PriorityDeclaration__Group_1__0__Impl rule__PriorityDeclaration__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__PriorityDeclaration__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group_1__0" + + + // $ANTLR start "rule__PriorityDeclaration__Group_1__0__Impl" + // InternalFiacre.g:11907:1: rule__PriorityDeclaration__Group_1__0__Impl : ( '>' ) ; + public final void rule__PriorityDeclaration__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11911:1: ( ( '>' ) ) + // InternalFiacre.g:11912:1: ( '>' ) + { + // InternalFiacre.g:11912:1: ( '>' ) + // InternalFiacre.g:11913:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); + } + match(input,16,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group_1__0__Impl" + + + // $ANTLR start "rule__PriorityDeclaration__Group_1__1" + // InternalFiacre.g:11922:1: rule__PriorityDeclaration__Group_1__1 : rule__PriorityDeclaration__Group_1__1__Impl ; + public final void rule__PriorityDeclaration__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11926:1: ( rule__PriorityDeclaration__Group_1__1__Impl ) + // InternalFiacre.g:11927:2: rule__PriorityDeclaration__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group_1__1" + + + // $ANTLR start "rule__PriorityDeclaration__Group_1__1__Impl" + // InternalFiacre.g:11933:1: rule__PriorityDeclaration__Group_1__1__Impl : ( ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) ) ; + public final void rule__PriorityDeclaration__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11937:1: ( ( ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) ) ) + // InternalFiacre.g:11938:1: ( ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) ) + { + // InternalFiacre.g:11938:1: ( ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) ) + // InternalFiacre.g:11939:2: ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_1_1()); + } + // InternalFiacre.g:11940:2: ( rule__PriorityDeclaration__GroupsAssignment_1_1 ) + // InternalFiacre.g:11940:3: rule__PriorityDeclaration__GroupsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityDeclaration__GroupsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroupsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__Group_1__1__Impl" + + + // $ANTLR start "rule__PriorityGroup__Group__0" + // InternalFiacre.g:11949:1: rule__PriorityGroup__Group__0 : rule__PriorityGroup__Group__0__Impl rule__PriorityGroup__Group__1 ; + public final void rule__PriorityGroup__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11953:1: ( rule__PriorityGroup__Group__0__Impl rule__PriorityGroup__Group__1 ) + // InternalFiacre.g:11954:2: rule__PriorityGroup__Group__0__Impl rule__PriorityGroup__Group__1 + { + pushFollow(FollowSets000.FOLLOW_10); + rule__PriorityGroup__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group__0" + + + // $ANTLR start "rule__PriorityGroup__Group__0__Impl" + // InternalFiacre.g:11961:1: rule__PriorityGroup__Group__0__Impl : ( ( rule__PriorityGroup__PortsAssignment_0 ) ) ; + public final void rule__PriorityGroup__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11965:1: ( ( ( rule__PriorityGroup__PortsAssignment_0 ) ) ) + // InternalFiacre.g:11966:1: ( ( rule__PriorityGroup__PortsAssignment_0 ) ) + { + // InternalFiacre.g:11966:1: ( ( rule__PriorityGroup__PortsAssignment_0 ) ) + // InternalFiacre.g:11967:2: ( rule__PriorityGroup__PortsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsAssignment_0()); + } + // InternalFiacre.g:11968:2: ( rule__PriorityGroup__PortsAssignment_0 ) + // InternalFiacre.g:11968:3: rule__PriorityGroup__PortsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__PortsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group__0__Impl" + + + // $ANTLR start "rule__PriorityGroup__Group__1" + // InternalFiacre.g:11976:1: rule__PriorityGroup__Group__1 : rule__PriorityGroup__Group__1__Impl ; + public final void rule__PriorityGroup__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11980:1: ( rule__PriorityGroup__Group__1__Impl ) + // InternalFiacre.g:11981:2: rule__PriorityGroup__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group__1" + + + // $ANTLR start "rule__PriorityGroup__Group__1__Impl" + // InternalFiacre.g:11987:1: rule__PriorityGroup__Group__1__Impl : ( ( rule__PriorityGroup__Group_1__0 )* ) ; + public final void rule__PriorityGroup__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:11991:1: ( ( ( rule__PriorityGroup__Group_1__0 )* ) ) + // InternalFiacre.g:11992:1: ( ( rule__PriorityGroup__Group_1__0 )* ) + { + // InternalFiacre.g:11992:1: ( ( rule__PriorityGroup__Group_1__0 )* ) + // InternalFiacre.g:11993:2: ( rule__PriorityGroup__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getGroup_1()); + } + // InternalFiacre.g:11994:2: ( rule__PriorityGroup__Group_1__0 )* + loop118: + do { + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==17) ) { + alt118=1; + } + + + switch (alt118) { + case 1 : + // InternalFiacre.g:11994:3: rule__PriorityGroup__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_11); + rule__PriorityGroup__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop118; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group__1__Impl" + + + // $ANTLR start "rule__PriorityGroup__Group_1__0" + // InternalFiacre.g:12003:1: rule__PriorityGroup__Group_1__0 : rule__PriorityGroup__Group_1__0__Impl rule__PriorityGroup__Group_1__1 ; + public final void rule__PriorityGroup__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12007:1: ( rule__PriorityGroup__Group_1__0__Impl rule__PriorityGroup__Group_1__1 ) + // InternalFiacre.g:12008:2: rule__PriorityGroup__Group_1__0__Impl rule__PriorityGroup__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__PriorityGroup__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group_1__0" + + + // $ANTLR start "rule__PriorityGroup__Group_1__0__Impl" + // InternalFiacre.g:12015:1: rule__PriorityGroup__Group_1__0__Impl : ( '|' ) ; + public final void rule__PriorityGroup__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12019:1: ( ( '|' ) ) + // InternalFiacre.g:12020:1: ( '|' ) + { + // InternalFiacre.g:12020:1: ( '|' ) + // InternalFiacre.g:12021:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); + } + match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group_1__0__Impl" + + + // $ANTLR start "rule__PriorityGroup__Group_1__1" + // InternalFiacre.g:12030:1: rule__PriorityGroup__Group_1__1 : rule__PriorityGroup__Group_1__1__Impl ; + public final void rule__PriorityGroup__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12034:1: ( rule__PriorityGroup__Group_1__1__Impl ) + // InternalFiacre.g:12035:2: rule__PriorityGroup__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group_1__1" + + + // $ANTLR start "rule__PriorityGroup__Group_1__1__Impl" + // InternalFiacre.g:12041:1: rule__PriorityGroup__Group_1__1__Impl : ( ( rule__PriorityGroup__PortsAssignment_1_1 ) ) ; + public final void rule__PriorityGroup__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12045:1: ( ( ( rule__PriorityGroup__PortsAssignment_1_1 ) ) ) + // InternalFiacre.g:12046:1: ( ( rule__PriorityGroup__PortsAssignment_1_1 ) ) + { + // InternalFiacre.g:12046:1: ( ( rule__PriorityGroup__PortsAssignment_1_1 ) ) + // InternalFiacre.g:12047:2: ( rule__PriorityGroup__PortsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsAssignment_1_1()); + } + // InternalFiacre.g:12048:2: ( rule__PriorityGroup__PortsAssignment_1_1 ) + // InternalFiacre.g:12048:3: rule__PriorityGroup__PortsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PriorityGroup__PortsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__Group_1__1__Impl" + + + // $ANTLR start "rule__UnlessStatement__Group__0" + // InternalFiacre.g:12057:1: rule__UnlessStatement__Group__0 : rule__UnlessStatement__Group__0__Impl rule__UnlessStatement__Group__1 ; + public final void rule__UnlessStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12061:1: ( rule__UnlessStatement__Group__0__Impl rule__UnlessStatement__Group__1 ) + // InternalFiacre.g:12062:2: rule__UnlessStatement__Group__0__Impl rule__UnlessStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_54); + rule__UnlessStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group__0" + + + // $ANTLR start "rule__UnlessStatement__Group__0__Impl" + // InternalFiacre.g:12069:1: rule__UnlessStatement__Group__0__Impl : ( ruleStatementChoice ) ; + public final void rule__UnlessStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12073:1: ( ( ruleStatementChoice ) ) + // InternalFiacre.g:12074:1: ( ruleStatementChoice ) + { + // InternalFiacre.g:12074:1: ( ruleStatementChoice ) + // InternalFiacre.g:12075:2: ruleStatementChoice + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementChoice(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group__0__Impl" + + + // $ANTLR start "rule__UnlessStatement__Group__1" + // InternalFiacre.g:12084:1: rule__UnlessStatement__Group__1 : rule__UnlessStatement__Group__1__Impl ; + public final void rule__UnlessStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12088:1: ( rule__UnlessStatement__Group__1__Impl ) + // InternalFiacre.g:12089:2: rule__UnlessStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group__1" + + + // $ANTLR start "rule__UnlessStatement__Group__1__Impl" + // InternalFiacre.g:12095:1: rule__UnlessStatement__Group__1__Impl : ( ( rule__UnlessStatement__Group_1__0 )* ) ; + public final void rule__UnlessStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12099:1: ( ( ( rule__UnlessStatement__Group_1__0 )* ) ) + // InternalFiacre.g:12100:1: ( ( rule__UnlessStatement__Group_1__0 )* ) + { + // InternalFiacre.g:12100:1: ( ( rule__UnlessStatement__Group_1__0 )* ) + // InternalFiacre.g:12101:2: ( rule__UnlessStatement__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getGroup_1()); + } + // InternalFiacre.g:12102:2: ( rule__UnlessStatement__Group_1__0 )* + loop119: + do { + int alt119=2; + int LA119_0 = input.LA(1); + + if ( (LA119_0==51) ) { + alt119=1; + } + + + switch (alt119) { + case 1 : + // InternalFiacre.g:12102:3: rule__UnlessStatement__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_55); + rule__UnlessStatement__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop119; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group__1__Impl" + + + // $ANTLR start "rule__UnlessStatement__Group_1__0" + // InternalFiacre.g:12111:1: rule__UnlessStatement__Group_1__0 : rule__UnlessStatement__Group_1__0__Impl rule__UnlessStatement__Group_1__1 ; + public final void rule__UnlessStatement__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12115:1: ( rule__UnlessStatement__Group_1__0__Impl rule__UnlessStatement__Group_1__1 ) + // InternalFiacre.g:12116:2: rule__UnlessStatement__Group_1__0__Impl rule__UnlessStatement__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_54); + rule__UnlessStatement__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__0" + + + // $ANTLR start "rule__UnlessStatement__Group_1__0__Impl" + // InternalFiacre.g:12123:1: rule__UnlessStatement__Group_1__0__Impl : ( () ) ; + public final void rule__UnlessStatement__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12127:1: ( ( () ) ) + // InternalFiacre.g:12128:1: ( () ) + { + // InternalFiacre.g:12128:1: ( () ) + // InternalFiacre.g:12129:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0()); + } + // InternalFiacre.g:12130:2: () + // InternalFiacre.g:12130:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__0__Impl" + + + // $ANTLR start "rule__UnlessStatement__Group_1__1" + // InternalFiacre.g:12138:1: rule__UnlessStatement__Group_1__1 : rule__UnlessStatement__Group_1__1__Impl rule__UnlessStatement__Group_1__2 ; + public final void rule__UnlessStatement__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12142:1: ( rule__UnlessStatement__Group_1__1__Impl rule__UnlessStatement__Group_1__2 ) + // InternalFiacre.g:12143:2: rule__UnlessStatement__Group_1__1__Impl rule__UnlessStatement__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__UnlessStatement__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__1" + + + // $ANTLR start "rule__UnlessStatement__Group_1__1__Impl" + // InternalFiacre.g:12150:1: rule__UnlessStatement__Group_1__1__Impl : ( 'unless' ) ; + public final void rule__UnlessStatement__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12154:1: ( ( 'unless' ) ) + // InternalFiacre.g:12155:1: ( 'unless' ) + { + // InternalFiacre.g:12155:1: ( 'unless' ) + // InternalFiacre.g:12156:2: 'unless' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); + } + match(input,51,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__1__Impl" + + + // $ANTLR start "rule__UnlessStatement__Group_1__2" + // InternalFiacre.g:12165:1: rule__UnlessStatement__Group_1__2 : rule__UnlessStatement__Group_1__2__Impl ; + public final void rule__UnlessStatement__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12169:1: ( rule__UnlessStatement__Group_1__2__Impl ) + // InternalFiacre.g:12170:2: rule__UnlessStatement__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__2" + + + // $ANTLR start "rule__UnlessStatement__Group_1__2__Impl" + // InternalFiacre.g:12176:1: rule__UnlessStatement__Group_1__2__Impl : ( ( rule__UnlessStatement__FollowersAssignment_1_2 ) ) ; + public final void rule__UnlessStatement__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12180:1: ( ( ( rule__UnlessStatement__FollowersAssignment_1_2 ) ) ) + // InternalFiacre.g:12181:1: ( ( rule__UnlessStatement__FollowersAssignment_1_2 ) ) + { + // InternalFiacre.g:12181:1: ( ( rule__UnlessStatement__FollowersAssignment_1_2 ) ) + // InternalFiacre.g:12182:2: ( rule__UnlessStatement__FollowersAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getFollowersAssignment_1_2()); + } + // InternalFiacre.g:12183:2: ( rule__UnlessStatement__FollowersAssignment_1_2 ) + // InternalFiacre.g:12183:3: rule__UnlessStatement__FollowersAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnlessStatement__FollowersAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getFollowersAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__Group_1__2__Impl" + + + // $ANTLR start "rule__StatementChoice__Group__0" + // InternalFiacre.g:12192:1: rule__StatementChoice__Group__0 : rule__StatementChoice__Group__0__Impl rule__StatementChoice__Group__1 ; + public final void rule__StatementChoice__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12196:1: ( rule__StatementChoice__Group__0__Impl rule__StatementChoice__Group__1 ) + // InternalFiacre.g:12197:2: rule__StatementChoice__Group__0__Impl rule__StatementChoice__Group__1 + { + pushFollow(FollowSets000.FOLLOW_56); + rule__StatementChoice__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group__0" + + + // $ANTLR start "rule__StatementChoice__Group__0__Impl" + // InternalFiacre.g:12204:1: rule__StatementChoice__Group__0__Impl : ( ruleStatementSequence ) ; + public final void rule__StatementChoice__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12208:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:12209:1: ( ruleStatementSequence ) + { + // InternalFiacre.g:12209:1: ( ruleStatementSequence ) + // InternalFiacre.g:12210:2: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group__0__Impl" + + + // $ANTLR start "rule__StatementChoice__Group__1" + // InternalFiacre.g:12219:1: rule__StatementChoice__Group__1 : rule__StatementChoice__Group__1__Impl ; + public final void rule__StatementChoice__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12223:1: ( rule__StatementChoice__Group__1__Impl ) + // InternalFiacre.g:12224:2: rule__StatementChoice__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group__1" + + + // $ANTLR start "rule__StatementChoice__Group__1__Impl" + // InternalFiacre.g:12230:1: rule__StatementChoice__Group__1__Impl : ( ( rule__StatementChoice__Group_1__0 )* ) ; + public final void rule__StatementChoice__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12234:1: ( ( ( rule__StatementChoice__Group_1__0 )* ) ) + // InternalFiacre.g:12235:1: ( ( rule__StatementChoice__Group_1__0 )* ) + { + // InternalFiacre.g:12235:1: ( ( rule__StatementChoice__Group_1__0 )* ) + // InternalFiacre.g:12236:2: ( rule__StatementChoice__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getGroup_1()); + } + // InternalFiacre.g:12237:2: ( rule__StatementChoice__Group_1__0 )* + loop120: + do { + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==52) ) { + alt120=1; + } + + + switch (alt120) { + case 1 : + // InternalFiacre.g:12237:3: rule__StatementChoice__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_57); + rule__StatementChoice__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop120; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group__1__Impl" + + + // $ANTLR start "rule__StatementChoice__Group_1__0" + // InternalFiacre.g:12246:1: rule__StatementChoice__Group_1__0 : rule__StatementChoice__Group_1__0__Impl rule__StatementChoice__Group_1__1 ; + public final void rule__StatementChoice__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12250:1: ( rule__StatementChoice__Group_1__0__Impl rule__StatementChoice__Group_1__1 ) + // InternalFiacre.g:12251:2: rule__StatementChoice__Group_1__0__Impl rule__StatementChoice__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_56); + rule__StatementChoice__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__0" + + + // $ANTLR start "rule__StatementChoice__Group_1__0__Impl" + // InternalFiacre.g:12258:1: rule__StatementChoice__Group_1__0__Impl : ( () ) ; + public final void rule__StatementChoice__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12262:1: ( ( () ) ) + // InternalFiacre.g:12263:1: ( () ) + { + // InternalFiacre.g:12263:1: ( () ) + // InternalFiacre.g:12264:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0()); + } + // InternalFiacre.g:12265:2: () + // InternalFiacre.g:12265:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__0__Impl" + + + // $ANTLR start "rule__StatementChoice__Group_1__1" + // InternalFiacre.g:12273:1: rule__StatementChoice__Group_1__1 : rule__StatementChoice__Group_1__1__Impl rule__StatementChoice__Group_1__2 ; + public final void rule__StatementChoice__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12277:1: ( rule__StatementChoice__Group_1__1__Impl rule__StatementChoice__Group_1__2 ) + // InternalFiacre.g:12278:2: rule__StatementChoice__Group_1__1__Impl rule__StatementChoice__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__StatementChoice__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__1" + + + // $ANTLR start "rule__StatementChoice__Group_1__1__Impl" + // InternalFiacre.g:12285:1: rule__StatementChoice__Group_1__1__Impl : ( '[]' ) ; + public final void rule__StatementChoice__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12289:1: ( ( '[]' ) ) + // InternalFiacre.g:12290:1: ( '[]' ) + { + // InternalFiacre.g:12290:1: ( '[]' ) + // InternalFiacre.g:12291:2: '[]' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); + } + match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__1__Impl" + + + // $ANTLR start "rule__StatementChoice__Group_1__2" + // InternalFiacre.g:12300:1: rule__StatementChoice__Group_1__2 : rule__StatementChoice__Group_1__2__Impl ; + public final void rule__StatementChoice__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12304:1: ( rule__StatementChoice__Group_1__2__Impl ) + // InternalFiacre.g:12305:2: rule__StatementChoice__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__2" + + + // $ANTLR start "rule__StatementChoice__Group_1__2__Impl" + // InternalFiacre.g:12311:1: rule__StatementChoice__Group_1__2__Impl : ( ( rule__StatementChoice__ChoicesAssignment_1_2 ) ) ; + public final void rule__StatementChoice__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12315:1: ( ( ( rule__StatementChoice__ChoicesAssignment_1_2 ) ) ) + // InternalFiacre.g:12316:1: ( ( rule__StatementChoice__ChoicesAssignment_1_2 ) ) + { + // InternalFiacre.g:12316:1: ( ( rule__StatementChoice__ChoicesAssignment_1_2 ) ) + // InternalFiacre.g:12317:2: ( rule__StatementChoice__ChoicesAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getChoicesAssignment_1_2()); + } + // InternalFiacre.g:12318:2: ( rule__StatementChoice__ChoicesAssignment_1_2 ) + // InternalFiacre.g:12318:3: rule__StatementChoice__ChoicesAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementChoice__ChoicesAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getChoicesAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__Group_1__2__Impl" + + + // $ANTLR start "rule__StatementSequence__Group__0" + // InternalFiacre.g:12327:1: rule__StatementSequence__Group__0 : rule__StatementSequence__Group__0__Impl rule__StatementSequence__Group__1 ; + public final void rule__StatementSequence__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12331:1: ( rule__StatementSequence__Group__0__Impl rule__StatementSequence__Group__1 ) + // InternalFiacre.g:12332:2: rule__StatementSequence__Group__0__Impl rule__StatementSequence__Group__1 + { + pushFollow(FollowSets000.FOLLOW_58); + rule__StatementSequence__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group__0" + + + // $ANTLR start "rule__StatementSequence__Group__0__Impl" + // InternalFiacre.g:12339:1: rule__StatementSequence__Group__0__Impl : ( ruleStatement ) ; + public final void rule__StatementSequence__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12343:1: ( ( ruleStatement ) ) + // InternalFiacre.g:12344:1: ( ruleStatement ) + { + // InternalFiacre.g:12344:1: ( ruleStatement ) + // InternalFiacre.g:12345:2: ruleStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group__0__Impl" + + + // $ANTLR start "rule__StatementSequence__Group__1" + // InternalFiacre.g:12354:1: rule__StatementSequence__Group__1 : rule__StatementSequence__Group__1__Impl ; + public final void rule__StatementSequence__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12358:1: ( rule__StatementSequence__Group__1__Impl ) + // InternalFiacre.g:12359:2: rule__StatementSequence__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group__1" + + + // $ANTLR start "rule__StatementSequence__Group__1__Impl" + // InternalFiacre.g:12365:1: rule__StatementSequence__Group__1__Impl : ( ( rule__StatementSequence__Group_1__0 )* ) ; + public final void rule__StatementSequence__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12369:1: ( ( ( rule__StatementSequence__Group_1__0 )* ) ) + // InternalFiacre.g:12370:1: ( ( rule__StatementSequence__Group_1__0 )* ) + { + // InternalFiacre.g:12370:1: ( ( rule__StatementSequence__Group_1__0 )* ) + // InternalFiacre.g:12371:2: ( rule__StatementSequence__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getGroup_1()); + } + // InternalFiacre.g:12372:2: ( rule__StatementSequence__Group_1__0 )* + loop121: + do { + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==53) ) { + alt121=1; + } + + + switch (alt121) { + case 1 : + // InternalFiacre.g:12372:3: rule__StatementSequence__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_59); + rule__StatementSequence__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop121; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group__1__Impl" + + + // $ANTLR start "rule__StatementSequence__Group_1__0" + // InternalFiacre.g:12381:1: rule__StatementSequence__Group_1__0 : rule__StatementSequence__Group_1__0__Impl rule__StatementSequence__Group_1__1 ; + public final void rule__StatementSequence__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12385:1: ( rule__StatementSequence__Group_1__0__Impl rule__StatementSequence__Group_1__1 ) + // InternalFiacre.g:12386:2: rule__StatementSequence__Group_1__0__Impl rule__StatementSequence__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_58); + rule__StatementSequence__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__0" + + + // $ANTLR start "rule__StatementSequence__Group_1__0__Impl" + // InternalFiacre.g:12393:1: rule__StatementSequence__Group_1__0__Impl : ( () ) ; + public final void rule__StatementSequence__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12397:1: ( ( () ) ) + // InternalFiacre.g:12398:1: ( () ) + { + // InternalFiacre.g:12398:1: ( () ) + // InternalFiacre.g:12399:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0()); + } + // InternalFiacre.g:12400:2: () + // InternalFiacre.g:12400:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__0__Impl" + + + // $ANTLR start "rule__StatementSequence__Group_1__1" + // InternalFiacre.g:12408:1: rule__StatementSequence__Group_1__1 : rule__StatementSequence__Group_1__1__Impl rule__StatementSequence__Group_1__2 ; + public final void rule__StatementSequence__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12412:1: ( rule__StatementSequence__Group_1__1__Impl rule__StatementSequence__Group_1__2 ) + // InternalFiacre.g:12413:2: rule__StatementSequence__Group_1__1__Impl rule__StatementSequence__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__StatementSequence__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__1" + + + // $ANTLR start "rule__StatementSequence__Group_1__1__Impl" + // InternalFiacre.g:12420:1: rule__StatementSequence__Group_1__1__Impl : ( ';' ) ; + public final void rule__StatementSequence__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12424:1: ( ( ';' ) ) + // InternalFiacre.g:12425:1: ( ';' ) + { + // InternalFiacre.g:12425:1: ( ';' ) + // InternalFiacre.g:12426:2: ';' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); + } + match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__1__Impl" + + + // $ANTLR start "rule__StatementSequence__Group_1__2" + // InternalFiacre.g:12435:1: rule__StatementSequence__Group_1__2 : rule__StatementSequence__Group_1__2__Impl ; + public final void rule__StatementSequence__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12439:1: ( rule__StatementSequence__Group_1__2__Impl ) + // InternalFiacre.g:12440:2: rule__StatementSequence__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__2" + + + // $ANTLR start "rule__StatementSequence__Group_1__2__Impl" + // InternalFiacre.g:12446:1: rule__StatementSequence__Group_1__2__Impl : ( ( rule__StatementSequence__StatementsAssignment_1_2 ) ) ; + public final void rule__StatementSequence__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12450:1: ( ( ( rule__StatementSequence__StatementsAssignment_1_2 ) ) ) + // InternalFiacre.g:12451:1: ( ( rule__StatementSequence__StatementsAssignment_1_2 ) ) + { + // InternalFiacre.g:12451:1: ( ( rule__StatementSequence__StatementsAssignment_1_2 ) ) + // InternalFiacre.g:12452:2: ( rule__StatementSequence__StatementsAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getStatementsAssignment_1_2()); + } + // InternalFiacre.g:12453:2: ( rule__StatementSequence__StatementsAssignment_1_2 ) + // InternalFiacre.g:12453:3: rule__StatementSequence__StatementsAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StatementSequence__StatementsAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getStatementsAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__Group_1__2__Impl" + + + // $ANTLR start "rule__BlockStatement__Group__0" + // InternalFiacre.g:12462:1: rule__BlockStatement__Group__0 : rule__BlockStatement__Group__0__Impl rule__BlockStatement__Group__1 ; + public final void rule__BlockStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12466:1: ( rule__BlockStatement__Group__0__Impl rule__BlockStatement__Group__1 ) + // InternalFiacre.g:12467:2: rule__BlockStatement__Group__0__Impl rule__BlockStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__BlockStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BlockStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__0" + + + // $ANTLR start "rule__BlockStatement__Group__0__Impl" + // InternalFiacre.g:12474:1: rule__BlockStatement__Group__0__Impl : ( 'begin' ) ; + public final void rule__BlockStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12478:1: ( ( 'begin' ) ) + // InternalFiacre.g:12479:1: ( 'begin' ) + { + // InternalFiacre.g:12479:1: ( 'begin' ) + // InternalFiacre.g:12480:2: 'begin' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); + } + match(input,54,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__0__Impl" + + + // $ANTLR start "rule__BlockStatement__Group__1" + // InternalFiacre.g:12489:1: rule__BlockStatement__Group__1 : rule__BlockStatement__Group__1__Impl rule__BlockStatement__Group__2 ; + public final void rule__BlockStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12493:1: ( rule__BlockStatement__Group__1__Impl rule__BlockStatement__Group__2 ) + // InternalFiacre.g:12494:2: rule__BlockStatement__Group__1__Impl rule__BlockStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_60); + rule__BlockStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BlockStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__1" + + + // $ANTLR start "rule__BlockStatement__Group__1__Impl" + // InternalFiacre.g:12501:1: rule__BlockStatement__Group__1__Impl : ( ( rule__BlockStatement__BodyAssignment_1 ) ) ; + public final void rule__BlockStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12505:1: ( ( ( rule__BlockStatement__BodyAssignment_1 ) ) ) + // InternalFiacre.g:12506:1: ( ( rule__BlockStatement__BodyAssignment_1 ) ) + { + // InternalFiacre.g:12506:1: ( ( rule__BlockStatement__BodyAssignment_1 ) ) + // InternalFiacre.g:12507:2: ( rule__BlockStatement__BodyAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementAccess().getBodyAssignment_1()); + } + // InternalFiacre.g:12508:2: ( rule__BlockStatement__BodyAssignment_1 ) + // InternalFiacre.g:12508:3: rule__BlockStatement__BodyAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BlockStatement__BodyAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementAccess().getBodyAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__1__Impl" + + + // $ANTLR start "rule__BlockStatement__Group__2" + // InternalFiacre.g:12516:1: rule__BlockStatement__Group__2 : rule__BlockStatement__Group__2__Impl ; + public final void rule__BlockStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12520:1: ( rule__BlockStatement__Group__2__Impl ) + // InternalFiacre.g:12521:2: rule__BlockStatement__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BlockStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__2" + + + // $ANTLR start "rule__BlockStatement__Group__2__Impl" + // InternalFiacre.g:12527:1: rule__BlockStatement__Group__2__Impl : ( 'end' ) ; + public final void rule__BlockStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12531:1: ( ( 'end' ) ) + // InternalFiacre.g:12532:1: ( 'end' ) + { + // InternalFiacre.g:12532:1: ( 'end' ) + // InternalFiacre.g:12533:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementAccess().getEndKeyword_2()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementAccess().getEndKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__Group__2__Impl" + + + // $ANTLR start "rule__ReturnStatement__Group__0" + // InternalFiacre.g:12543:1: rule__ReturnStatement__Group__0 : rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 ; + public final void rule__ReturnStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12547:1: ( rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 ) + // InternalFiacre.g:12548:2: rule__ReturnStatement__Group__0__Impl rule__ReturnStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ReturnStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ReturnStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReturnStatement__Group__0" + + + // $ANTLR start "rule__ReturnStatement__Group__0__Impl" + // InternalFiacre.g:12555:1: rule__ReturnStatement__Group__0__Impl : ( 'return' ) ; + public final void rule__ReturnStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12559:1: ( ( 'return' ) ) + // InternalFiacre.g:12560:1: ( 'return' ) + { + // InternalFiacre.g:12560:1: ( 'return' ) + // InternalFiacre.g:12561:2: 'return' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); + } + match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReturnStatement__Group__0__Impl" + + + // $ANTLR start "rule__ReturnStatement__Group__1" + // InternalFiacre.g:12570:1: rule__ReturnStatement__Group__1 : rule__ReturnStatement__Group__1__Impl ; + public final void rule__ReturnStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12574:1: ( rule__ReturnStatement__Group__1__Impl ) + // InternalFiacre.g:12575:2: rule__ReturnStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReturnStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReturnStatement__Group__1" + + + // $ANTLR start "rule__ReturnStatement__Group__1__Impl" + // InternalFiacre.g:12581:1: rule__ReturnStatement__Group__1__Impl : ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) ; + public final void rule__ReturnStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12585:1: ( ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) ) + // InternalFiacre.g:12586:1: ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) + { + // InternalFiacre.g:12586:1: ( ( rule__ReturnStatement__ExpressionAssignment_1 ) ) + // InternalFiacre.g:12587:2: ( rule__ReturnStatement__ExpressionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); + } + // InternalFiacre.g:12588:2: ( rule__ReturnStatement__ExpressionAssignment_1 ) + // InternalFiacre.g:12588:3: rule__ReturnStatement__ExpressionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReturnStatement__ExpressionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReturnStatementAccess().getExpressionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReturnStatement__Group__1__Impl" + + + // $ANTLR start "rule__NullStatement__Group__0" + // InternalFiacre.g:12597:1: rule__NullStatement__Group__0 : rule__NullStatement__Group__0__Impl rule__NullStatement__Group__1 ; + public final void rule__NullStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12601:1: ( rule__NullStatement__Group__0__Impl rule__NullStatement__Group__1 ) + // InternalFiacre.g:12602:2: rule__NullStatement__Group__0__Impl rule__NullStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_61); + rule__NullStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__NullStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullStatement__Group__0" + + + // $ANTLR start "rule__NullStatement__Group__0__Impl" + // InternalFiacre.g:12609:1: rule__NullStatement__Group__0__Impl : ( () ) ; + public final void rule__NullStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12613:1: ( ( () ) ) + // InternalFiacre.g:12614:1: ( () ) + { + // InternalFiacre.g:12614:1: ( () ) + // InternalFiacre.g:12615:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullStatementAccess().getNullStatementAction_0()); + } + // InternalFiacre.g:12616:2: () + // InternalFiacre.g:12616:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNullStatementAccess().getNullStatementAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullStatement__Group__0__Impl" + + + // $ANTLR start "rule__NullStatement__Group__1" + // InternalFiacre.g:12624:1: rule__NullStatement__Group__1 : rule__NullStatement__Group__1__Impl ; + public final void rule__NullStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12628:1: ( rule__NullStatement__Group__1__Impl ) + // InternalFiacre.g:12629:2: rule__NullStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NullStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullStatement__Group__1" + + + // $ANTLR start "rule__NullStatement__Group__1__Impl" + // InternalFiacre.g:12635:1: rule__NullStatement__Group__1__Impl : ( 'null' ) ; + public final void rule__NullStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12639:1: ( ( 'null' ) ) + // InternalFiacre.g:12640:1: ( 'null' ) + { + // InternalFiacre.g:12640:1: ( 'null' ) + // InternalFiacre.g:12641:2: 'null' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNullStatementAccess().getNullKeyword_1()); + } + match(input,56,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNullStatementAccess().getNullKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NullStatement__Group__1__Impl" + + + // $ANTLR start "rule__TaggedStatement__Group__0" + // InternalFiacre.g:12651:1: rule__TaggedStatement__Group__0 : rule__TaggedStatement__Group__0__Impl rule__TaggedStatement__Group__1 ; + public final void rule__TaggedStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12655:1: ( rule__TaggedStatement__Group__0__Impl rule__TaggedStatement__Group__1 ) + // InternalFiacre.g:12656:2: rule__TaggedStatement__Group__0__Impl rule__TaggedStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__TaggedStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TaggedStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TaggedStatement__Group__0" + + + // $ANTLR start "rule__TaggedStatement__Group__0__Impl" + // InternalFiacre.g:12663:1: rule__TaggedStatement__Group__0__Impl : ( '#' ) ; + public final void rule__TaggedStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12667:1: ( ( '#' ) ) + // InternalFiacre.g:12668:1: ( '#' ) + { + // InternalFiacre.g:12668:1: ( '#' ) + // InternalFiacre.g:12669:2: '#' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); + } + match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TaggedStatement__Group__0__Impl" + + + // $ANTLR start "rule__TaggedStatement__Group__1" + // InternalFiacre.g:12678:1: rule__TaggedStatement__Group__1 : rule__TaggedStatement__Group__1__Impl ; + public final void rule__TaggedStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12682:1: ( rule__TaggedStatement__Group__1__Impl ) + // InternalFiacre.g:12683:2: rule__TaggedStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TaggedStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TaggedStatement__Group__1" + + + // $ANTLR start "rule__TaggedStatement__Group__1__Impl" + // InternalFiacre.g:12689:1: rule__TaggedStatement__Group__1__Impl : ( ( rule__TaggedStatement__NameAssignment_1 ) ) ; + public final void rule__TaggedStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12693:1: ( ( ( rule__TaggedStatement__NameAssignment_1 ) ) ) + // InternalFiacre.g:12694:1: ( ( rule__TaggedStatement__NameAssignment_1 ) ) + { + // InternalFiacre.g:12694:1: ( ( rule__TaggedStatement__NameAssignment_1 ) ) + // InternalFiacre.g:12695:2: ( rule__TaggedStatement__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTaggedStatementAccess().getNameAssignment_1()); + } + // InternalFiacre.g:12696:2: ( rule__TaggedStatement__NameAssignment_1 ) + // InternalFiacre.g:12696:3: rule__TaggedStatement__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TaggedStatement__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTaggedStatementAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TaggedStatement__Group__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group__0" + // InternalFiacre.g:12705:1: rule__PatternStatement__Group__0 : rule__PatternStatement__Group__0__Impl rule__PatternStatement__Group__1 ; + public final void rule__PatternStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12709:1: ( rule__PatternStatement__Group__0__Impl rule__PatternStatement__Group__1 ) + // InternalFiacre.g:12710:2: rule__PatternStatement__Group__0__Impl rule__PatternStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_62); + rule__PatternStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group__0" + + + // $ANTLR start "rule__PatternStatement__Group__0__Impl" + // InternalFiacre.g:12717:1: rule__PatternStatement__Group__0__Impl : ( rulePattern ) ; + public final void rule__PatternStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12721:1: ( ( rulePattern ) ) + // InternalFiacre.g:12722:1: ( rulePattern ) + { + // InternalFiacre.g:12722:1: ( rulePattern ) + // InternalFiacre.g:12723:2: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group__1" + // InternalFiacre.g:12732:1: rule__PatternStatement__Group__1 : rule__PatternStatement__Group__1__Impl ; + public final void rule__PatternStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12736:1: ( rule__PatternStatement__Group__1__Impl ) + // InternalFiacre.g:12737:2: rule__PatternStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group__1" + + + // $ANTLR start "rule__PatternStatement__Group__1__Impl" + // InternalFiacre.g:12743:1: rule__PatternStatement__Group__1__Impl : ( ( rule__PatternStatement__Alternatives_1 )? ) ; + public final void rule__PatternStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12747:1: ( ( ( rule__PatternStatement__Alternatives_1 )? ) ) + // InternalFiacre.g:12748:1: ( ( rule__PatternStatement__Alternatives_1 )? ) + { + // InternalFiacre.g:12748:1: ( ( rule__PatternStatement__Alternatives_1 )? ) + // InternalFiacre.g:12749:2: ( rule__PatternStatement__Alternatives_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAlternatives_1()); + } + // InternalFiacre.g:12750:2: ( rule__PatternStatement__Alternatives_1 )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==24||LA122_0==50||(LA122_0>=59 && LA122_0<=60)) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // InternalFiacre.g:12750:3: rule__PatternStatement__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__0" + // InternalFiacre.g:12759:1: rule__PatternStatement__Group_1_0__0 : rule__PatternStatement__Group_1_0__0__Impl rule__PatternStatement__Group_1_0__1 ; + public final void rule__PatternStatement__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12763:1: ( rule__PatternStatement__Group_1_0__0__Impl rule__PatternStatement__Group_1_0__1 ) + // InternalFiacre.g:12764:2: rule__PatternStatement__Group_1_0__0__Impl rule__PatternStatement__Group_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__0__Impl" + // InternalFiacre.g:12771:1: rule__PatternStatement__Group_1_0__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12775:1: ( ( ',' ) ) + // InternalFiacre.g:12776:1: ( ',' ) + { + // InternalFiacre.g:12776:1: ( ',' ) + // InternalFiacre.g:12777:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__1" + // InternalFiacre.g:12786:1: rule__PatternStatement__Group_1_0__1 : rule__PatternStatement__Group_1_0__1__Impl rule__PatternStatement__Group_1_0__2 ; + public final void rule__PatternStatement__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12790:1: ( rule__PatternStatement__Group_1_0__1__Impl rule__PatternStatement__Group_1_0__2 ) + // InternalFiacre.g:12791:2: rule__PatternStatement__Group_1_0__1__Impl rule__PatternStatement__Group_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__1__Impl" + // InternalFiacre.g:12798:1: rule__PatternStatement__Group_1_0__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12802:1: ( ( () ) ) + // InternalFiacre.g:12803:1: ( () ) + { + // InternalFiacre.g:12803:1: ( () ) + // InternalFiacre.g:12804:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1()); + } + // InternalFiacre.g:12805:2: () + // InternalFiacre.g:12805:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__2" + // InternalFiacre.g:12813:1: rule__PatternStatement__Group_1_0__2 : rule__PatternStatement__Group_1_0__2__Impl rule__PatternStatement__Group_1_0__3 ; + public final void rule__PatternStatement__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12817:1: ( rule__PatternStatement__Group_1_0__2__Impl rule__PatternStatement__Group_1_0__3 ) + // InternalFiacre.g:12818:2: rule__PatternStatement__Group_1_0__2__Impl rule__PatternStatement__Group_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_64); + rule__PatternStatement__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__2__Impl" + // InternalFiacre.g:12825:1: rule__PatternStatement__Group_1_0__2__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_0_2 ) ) ; + public final void rule__PatternStatement__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12829:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_0_2 ) ) ) + // InternalFiacre.g:12830:1: ( ( rule__PatternStatement__PatternsAssignment_1_0_2 ) ) + { + // InternalFiacre.g:12830:1: ( ( rule__PatternStatement__PatternsAssignment_1_0_2 ) ) + // InternalFiacre.g:12831:2: ( rule__PatternStatement__PatternsAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_2()); + } + // InternalFiacre.g:12832:2: ( rule__PatternStatement__PatternsAssignment_1_0_2 ) + // InternalFiacre.g:12832:3: rule__PatternStatement__PatternsAssignment_1_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__3" + // InternalFiacre.g:12840:1: rule__PatternStatement__Group_1_0__3 : rule__PatternStatement__Group_1_0__3__Impl rule__PatternStatement__Group_1_0__4 ; + public final void rule__PatternStatement__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12844:1: ( rule__PatternStatement__Group_1_0__3__Impl rule__PatternStatement__Group_1_0__4 ) + // InternalFiacre.g:12845:2: rule__PatternStatement__Group_1_0__3__Impl rule__PatternStatement__Group_1_0__4 + { + pushFollow(FollowSets000.FOLLOW_64); + rule__PatternStatement__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__3" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__3__Impl" + // InternalFiacre.g:12852:1: rule__PatternStatement__Group_1_0__3__Impl : ( ( rule__PatternStatement__Group_1_0_3__0 )* ) ; + public final void rule__PatternStatement__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12856:1: ( ( ( rule__PatternStatement__Group_1_0_3__0 )* ) ) + // InternalFiacre.g:12857:1: ( ( rule__PatternStatement__Group_1_0_3__0 )* ) + { + // InternalFiacre.g:12857:1: ( ( rule__PatternStatement__Group_1_0_3__0 )* ) + // InternalFiacre.g:12858:2: ( rule__PatternStatement__Group_1_0_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_0_3()); + } + // InternalFiacre.g:12859:2: ( rule__PatternStatement__Group_1_0_3__0 )* + loop123: + do { + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==24) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // InternalFiacre.g:12859:3: rule__PatternStatement__Group_1_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop123; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__3__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__4" + // InternalFiacre.g:12867:1: rule__PatternStatement__Group_1_0__4 : rule__PatternStatement__Group_1_0__4__Impl rule__PatternStatement__Group_1_0__5 ; + public final void rule__PatternStatement__Group_1_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12871:1: ( rule__PatternStatement__Group_1_0__4__Impl rule__PatternStatement__Group_1_0__5 ) + // InternalFiacre.g:12872:2: rule__PatternStatement__Group_1_0__4__Impl rule__PatternStatement__Group_1_0__5 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__4" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__4__Impl" + // InternalFiacre.g:12879:1: rule__PatternStatement__Group_1_0__4__Impl : ( ':=' ) ; + public final void rule__PatternStatement__Group_1_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12883:1: ( ( ':=' ) ) + // InternalFiacre.g:12884:1: ( ':=' ) + { + // InternalFiacre.g:12884:1: ( ':=' ) + // InternalFiacre.g:12885:2: ':=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); + } + match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__4__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__5" + // InternalFiacre.g:12894:1: rule__PatternStatement__Group_1_0__5 : rule__PatternStatement__Group_1_0__5__Impl rule__PatternStatement__Group_1_0__6 ; + public final void rule__PatternStatement__Group_1_0__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12898:1: ( rule__PatternStatement__Group_1_0__5__Impl rule__PatternStatement__Group_1_0__6 ) + // InternalFiacre.g:12899:2: rule__PatternStatement__Group_1_0__5__Impl rule__PatternStatement__Group_1_0__6 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PatternStatement__Group_1_0__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__5" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__5__Impl" + // InternalFiacre.g:12906:1: rule__PatternStatement__Group_1_0__5__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_0_5 ) ) ; + public final void rule__PatternStatement__Group_1_0__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12910:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_0_5 ) ) ) + // InternalFiacre.g:12911:1: ( ( rule__PatternStatement__ValuesAssignment_1_0_5 ) ) + { + // InternalFiacre.g:12911:1: ( ( rule__PatternStatement__ValuesAssignment_1_0_5 ) ) + // InternalFiacre.g:12912:2: ( rule__PatternStatement__ValuesAssignment_1_0_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_5()); + } + // InternalFiacre.g:12913:2: ( rule__PatternStatement__ValuesAssignment_1_0_5 ) + // InternalFiacre.g:12913:3: rule__PatternStatement__ValuesAssignment_1_0_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_0_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__5__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__6" + // InternalFiacre.g:12921:1: rule__PatternStatement__Group_1_0__6 : rule__PatternStatement__Group_1_0__6__Impl ; + public final void rule__PatternStatement__Group_1_0__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12925:1: ( rule__PatternStatement__Group_1_0__6__Impl ) + // InternalFiacre.g:12926:2: rule__PatternStatement__Group_1_0__6__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__6" + + + // $ANTLR start "rule__PatternStatement__Group_1_0__6__Impl" + // InternalFiacre.g:12932:1: rule__PatternStatement__Group_1_0__6__Impl : ( ( rule__PatternStatement__Group_1_0_6__0 )* ) ; + public final void rule__PatternStatement__Group_1_0__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12936:1: ( ( ( rule__PatternStatement__Group_1_0_6__0 )* ) ) + // InternalFiacre.g:12937:1: ( ( rule__PatternStatement__Group_1_0_6__0 )* ) + { + // InternalFiacre.g:12937:1: ( ( rule__PatternStatement__Group_1_0_6__0 )* ) + // InternalFiacre.g:12938:2: ( rule__PatternStatement__Group_1_0_6__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_0_6()); + } + // InternalFiacre.g:12939:2: ( rule__PatternStatement__Group_1_0_6__0 )* + loop124: + do { + int alt124=2; + int LA124_0 = input.LA(1); + + if ( (LA124_0==24) ) { + alt124=1; + } + + + switch (alt124) { + case 1 : + // InternalFiacre.g:12939:3: rule__PatternStatement__Group_1_0_6__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_0_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop124; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_0_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0__6__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_3__0" + // InternalFiacre.g:12948:1: rule__PatternStatement__Group_1_0_3__0 : rule__PatternStatement__Group_1_0_3__0__Impl rule__PatternStatement__Group_1_0_3__1 ; + public final void rule__PatternStatement__Group_1_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12952:1: ( rule__PatternStatement__Group_1_0_3__0__Impl rule__PatternStatement__Group_1_0_3__1 ) + // InternalFiacre.g:12953:2: rule__PatternStatement__Group_1_0_3__0__Impl rule__PatternStatement__Group_1_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_3__0__Impl" + // InternalFiacre.g:12960:1: rule__PatternStatement__Group_1_0_3__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12964:1: ( ( ',' ) ) + // InternalFiacre.g:12965:1: ( ',' ) + { + // InternalFiacre.g:12965:1: ( ',' ) + // InternalFiacre.g:12966:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_3__1" + // InternalFiacre.g:12975:1: rule__PatternStatement__Group_1_0_3__1 : rule__PatternStatement__Group_1_0_3__1__Impl ; + public final void rule__PatternStatement__Group_1_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12979:1: ( rule__PatternStatement__Group_1_0_3__1__Impl ) + // InternalFiacre.g:12980:2: rule__PatternStatement__Group_1_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_3__1__Impl" + // InternalFiacre.g:12986:1: rule__PatternStatement__Group_1_0_3__1__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) ) ; + public final void rule__PatternStatement__Group_1_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:12990:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) ) ) + // InternalFiacre.g:12991:1: ( ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) ) + { + // InternalFiacre.g:12991:1: ( ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) ) + // InternalFiacre.g:12992:2: ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_3_1()); + } + // InternalFiacre.g:12993:2: ( rule__PatternStatement__PatternsAssignment_1_0_3_1 ) + // InternalFiacre.g:12993:3: rule__PatternStatement__PatternsAssignment_1_0_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_0_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_6__0" + // InternalFiacre.g:13002:1: rule__PatternStatement__Group_1_0_6__0 : rule__PatternStatement__Group_1_0_6__0__Impl rule__PatternStatement__Group_1_0_6__1 ; + public final void rule__PatternStatement__Group_1_0_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13006:1: ( rule__PatternStatement__Group_1_0_6__0__Impl rule__PatternStatement__Group_1_0_6__1 ) + // InternalFiacre.g:13007:2: rule__PatternStatement__Group_1_0_6__0__Impl rule__PatternStatement__Group_1_0_6__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_0_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_6__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_6__0__Impl" + // InternalFiacre.g:13014:1: rule__PatternStatement__Group_1_0_6__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_0_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13018:1: ( ( ',' ) ) + // InternalFiacre.g:13019:1: ( ',' ) + { + // InternalFiacre.g:13019:1: ( ',' ) + // InternalFiacre.g:13020:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_6__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_6__1" + // InternalFiacre.g:13029:1: rule__PatternStatement__Group_1_0_6__1 : rule__PatternStatement__Group_1_0_6__1__Impl ; + public final void rule__PatternStatement__Group_1_0_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13033:1: ( rule__PatternStatement__Group_1_0_6__1__Impl ) + // InternalFiacre.g:13034:2: rule__PatternStatement__Group_1_0_6__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_6__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_0_6__1__Impl" + // InternalFiacre.g:13040:1: rule__PatternStatement__Group_1_0_6__1__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) ) ; + public final void rule__PatternStatement__Group_1_0_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13044:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) ) ) + // InternalFiacre.g:13045:1: ( ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) ) + { + // InternalFiacre.g:13045:1: ( ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) ) + // InternalFiacre.g:13046:2: ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_6_1()); + } + // InternalFiacre.g:13047:2: ( rule__PatternStatement__ValuesAssignment_1_0_6_1 ) + // InternalFiacre.g:13047:3: rule__PatternStatement__ValuesAssignment_1_0_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_0_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_0_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_0_6__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__0" + // InternalFiacre.g:13056:1: rule__PatternStatement__Group_1_1__0 : rule__PatternStatement__Group_1_1__0__Impl rule__PatternStatement__Group_1_1__1 ; + public final void rule__PatternStatement__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13060:1: ( rule__PatternStatement__Group_1_1__0__Impl rule__PatternStatement__Group_1_1__1 ) + // InternalFiacre.g:13061:2: rule__PatternStatement__Group_1_1__0__Impl rule__PatternStatement__Group_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__0__Impl" + // InternalFiacre.g:13068:1: rule__PatternStatement__Group_1_1__0__Impl : ( ':=' ) ; + public final void rule__PatternStatement__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13072:1: ( ( ':=' ) ) + // InternalFiacre.g:13073:1: ( ':=' ) + { + // InternalFiacre.g:13073:1: ( ':=' ) + // InternalFiacre.g:13074:2: ':=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); + } + match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__1" + // InternalFiacre.g:13083:1: rule__PatternStatement__Group_1_1__1 : rule__PatternStatement__Group_1_1__1__Impl rule__PatternStatement__Group_1_1__2 ; + public final void rule__PatternStatement__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13087:1: ( rule__PatternStatement__Group_1_1__1__Impl rule__PatternStatement__Group_1_1__2 ) + // InternalFiacre.g:13088:2: rule__PatternStatement__Group_1_1__1__Impl rule__PatternStatement__Group_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__1__Impl" + // InternalFiacre.g:13095:1: rule__PatternStatement__Group_1_1__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13099:1: ( ( () ) ) + // InternalFiacre.g:13100:1: ( () ) + { + // InternalFiacre.g:13100:1: ( () ) + // InternalFiacre.g:13101:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1()); + } + // InternalFiacre.g:13102:2: () + // InternalFiacre.g:13102:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__2" + // InternalFiacre.g:13110:1: rule__PatternStatement__Group_1_1__2 : rule__PatternStatement__Group_1_1__2__Impl ; + public final void rule__PatternStatement__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13114:1: ( rule__PatternStatement__Group_1_1__2__Impl ) + // InternalFiacre.g:13115:2: rule__PatternStatement__Group_1_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_1__2__Impl" + // InternalFiacre.g:13121:1: rule__PatternStatement__Group_1_1__2__Impl : ( ( rule__PatternStatement__Group_1_1_2__0 ) ) ; + public final void rule__PatternStatement__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13125:1: ( ( ( rule__PatternStatement__Group_1_1_2__0 ) ) ) + // InternalFiacre.g:13126:1: ( ( rule__PatternStatement__Group_1_1_2__0 ) ) + { + // InternalFiacre.g:13126:1: ( ( rule__PatternStatement__Group_1_1_2__0 ) ) + // InternalFiacre.g:13127:2: ( rule__PatternStatement__Group_1_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_1_2()); + } + // InternalFiacre.g:13128:2: ( rule__PatternStatement__Group_1_1_2__0 ) + // InternalFiacre.g:13128:3: rule__PatternStatement__Group_1_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2__0" + // InternalFiacre.g:13137:1: rule__PatternStatement__Group_1_1_2__0 : rule__PatternStatement__Group_1_1_2__0__Impl rule__PatternStatement__Group_1_1_2__1 ; + public final void rule__PatternStatement__Group_1_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13141:1: ( rule__PatternStatement__Group_1_1_2__0__Impl rule__PatternStatement__Group_1_1_2__1 ) + // InternalFiacre.g:13142:2: rule__PatternStatement__Group_1_1_2__0__Impl rule__PatternStatement__Group_1_1_2__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PatternStatement__Group_1_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2__0__Impl" + // InternalFiacre.g:13149:1: rule__PatternStatement__Group_1_1_2__0__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) ) ; + public final void rule__PatternStatement__Group_1_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13153:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) ) ) + // InternalFiacre.g:13154:1: ( ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) ) + { + // InternalFiacre.g:13154:1: ( ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) ) + // InternalFiacre.g:13155:2: ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_0()); + } + // InternalFiacre.g:13156:2: ( rule__PatternStatement__ValuesAssignment_1_1_2_0 ) + // InternalFiacre.g:13156:3: rule__PatternStatement__ValuesAssignment_1_1_2_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_1_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2__1" + // InternalFiacre.g:13164:1: rule__PatternStatement__Group_1_1_2__1 : rule__PatternStatement__Group_1_1_2__1__Impl ; + public final void rule__PatternStatement__Group_1_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13168:1: ( rule__PatternStatement__Group_1_1_2__1__Impl ) + // InternalFiacre.g:13169:2: rule__PatternStatement__Group_1_1_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2__1__Impl" + // InternalFiacre.g:13175:1: rule__PatternStatement__Group_1_1_2__1__Impl : ( ( rule__PatternStatement__Group_1_1_2_1__0 )* ) ; + public final void rule__PatternStatement__Group_1_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13179:1: ( ( ( rule__PatternStatement__Group_1_1_2_1__0 )* ) ) + // InternalFiacre.g:13180:1: ( ( rule__PatternStatement__Group_1_1_2_1__0 )* ) + { + // InternalFiacre.g:13180:1: ( ( rule__PatternStatement__Group_1_1_2_1__0 )* ) + // InternalFiacre.g:13181:2: ( rule__PatternStatement__Group_1_1_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_1_2_1()); + } + // InternalFiacre.g:13182:2: ( rule__PatternStatement__Group_1_1_2_1__0 )* + loop125: + do { + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==24) ) { + alt125=1; + } + + + switch (alt125) { + case 1 : + // InternalFiacre.g:13182:3: rule__PatternStatement__Group_1_1_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_1_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop125; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2_1__0" + // InternalFiacre.g:13191:1: rule__PatternStatement__Group_1_1_2_1__0 : rule__PatternStatement__Group_1_1_2_1__0__Impl rule__PatternStatement__Group_1_1_2_1__1 ; + public final void rule__PatternStatement__Group_1_1_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13195:1: ( rule__PatternStatement__Group_1_1_2_1__0__Impl rule__PatternStatement__Group_1_1_2_1__1 ) + // InternalFiacre.g:13196:2: rule__PatternStatement__Group_1_1_2_1__0__Impl rule__PatternStatement__Group_1_1_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_1_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2_1__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2_1__0__Impl" + // InternalFiacre.g:13203:1: rule__PatternStatement__Group_1_1_2_1__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_1_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13207:1: ( ( ',' ) ) + // InternalFiacre.g:13208:1: ( ',' ) + { + // InternalFiacre.g:13208:1: ( ',' ) + // InternalFiacre.g:13209:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2_1__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2_1__1" + // InternalFiacre.g:13218:1: rule__PatternStatement__Group_1_1_2_1__1 : rule__PatternStatement__Group_1_1_2_1__1__Impl ; + public final void rule__PatternStatement__Group_1_1_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13222:1: ( rule__PatternStatement__Group_1_1_2_1__1__Impl ) + // InternalFiacre.g:13223:2: rule__PatternStatement__Group_1_1_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2_1__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_1_2_1__1__Impl" + // InternalFiacre.g:13229:1: rule__PatternStatement__Group_1_1_2_1__1__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) ) ; + public final void rule__PatternStatement__Group_1_1_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13233:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) ) ) + // InternalFiacre.g:13234:1: ( ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) ) + { + // InternalFiacre.g:13234:1: ( ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) ) + // InternalFiacre.g:13235:2: ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_1_1()); + } + // InternalFiacre.g:13236:2: ( rule__PatternStatement__ValuesAssignment_1_1_2_1_1 ) + // InternalFiacre.g:13236:3: rule__PatternStatement__ValuesAssignment_1_1_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_1_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_1_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_1_2_1__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__0" + // InternalFiacre.g:13245:1: rule__PatternStatement__Group_1_2__0 : rule__PatternStatement__Group_1_2__0__Impl rule__PatternStatement__Group_1_2__1 ; + public final void rule__PatternStatement__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13249:1: ( rule__PatternStatement__Group_1_2__0__Impl rule__PatternStatement__Group_1_2__1 ) + // InternalFiacre.g:13250:2: rule__PatternStatement__Group_1_2__0__Impl rule__PatternStatement__Group_1_2__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__0__Impl" + // InternalFiacre.g:13257:1: rule__PatternStatement__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13261:1: ( ( ',' ) ) + // InternalFiacre.g:13262:1: ( ',' ) + { + // InternalFiacre.g:13262:1: ( ',' ) + // InternalFiacre.g:13263:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__1" + // InternalFiacre.g:13272:1: rule__PatternStatement__Group_1_2__1 : rule__PatternStatement__Group_1_2__1__Impl rule__PatternStatement__Group_1_2__2 ; + public final void rule__PatternStatement__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13276:1: ( rule__PatternStatement__Group_1_2__1__Impl rule__PatternStatement__Group_1_2__2 ) + // InternalFiacre.g:13277:2: rule__PatternStatement__Group_1_2__1__Impl rule__PatternStatement__Group_1_2__2 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__1__Impl" + // InternalFiacre.g:13284:1: rule__PatternStatement__Group_1_2__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13288:1: ( ( () ) ) + // InternalFiacre.g:13289:1: ( () ) + { + // InternalFiacre.g:13289:1: ( () ) + // InternalFiacre.g:13290:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1()); + } + // InternalFiacre.g:13291:2: () + // InternalFiacre.g:13291:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__2" + // InternalFiacre.g:13299:1: rule__PatternStatement__Group_1_2__2 : rule__PatternStatement__Group_1_2__2__Impl rule__PatternStatement__Group_1_2__3 ; + public final void rule__PatternStatement__Group_1_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13303:1: ( rule__PatternStatement__Group_1_2__2__Impl rule__PatternStatement__Group_1_2__3 ) + // InternalFiacre.g:13304:2: rule__PatternStatement__Group_1_2__2__Impl rule__PatternStatement__Group_1_2__3 + { + pushFollow(FollowSets000.FOLLOW_64); + rule__PatternStatement__Group_1_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__2__Impl" + // InternalFiacre.g:13311:1: rule__PatternStatement__Group_1_2__2__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_2_2 ) ) ; + public final void rule__PatternStatement__Group_1_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13315:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_2_2 ) ) ) + // InternalFiacre.g:13316:1: ( ( rule__PatternStatement__PatternsAssignment_1_2_2 ) ) + { + // InternalFiacre.g:13316:1: ( ( rule__PatternStatement__PatternsAssignment_1_2_2 ) ) + // InternalFiacre.g:13317:2: ( rule__PatternStatement__PatternsAssignment_1_2_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_2()); + } + // InternalFiacre.g:13318:2: ( rule__PatternStatement__PatternsAssignment_1_2_2 ) + // InternalFiacre.g:13318:3: rule__PatternStatement__PatternsAssignment_1_2_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__3" + // InternalFiacre.g:13326:1: rule__PatternStatement__Group_1_2__3 : rule__PatternStatement__Group_1_2__3__Impl rule__PatternStatement__Group_1_2__4 ; + public final void rule__PatternStatement__Group_1_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13330:1: ( rule__PatternStatement__Group_1_2__3__Impl rule__PatternStatement__Group_1_2__4 ) + // InternalFiacre.g:13331:2: rule__PatternStatement__Group_1_2__3__Impl rule__PatternStatement__Group_1_2__4 + { + pushFollow(FollowSets000.FOLLOW_64); + rule__PatternStatement__Group_1_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__3" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__3__Impl" + // InternalFiacre.g:13338:1: rule__PatternStatement__Group_1_2__3__Impl : ( ( rule__PatternStatement__Group_1_2_3__0 )* ) ; + public final void rule__PatternStatement__Group_1_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13342:1: ( ( ( rule__PatternStatement__Group_1_2_3__0 )* ) ) + // InternalFiacre.g:13343:1: ( ( rule__PatternStatement__Group_1_2_3__0 )* ) + { + // InternalFiacre.g:13343:1: ( ( rule__PatternStatement__Group_1_2_3__0 )* ) + // InternalFiacre.g:13344:2: ( rule__PatternStatement__Group_1_2_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_2_3()); + } + // InternalFiacre.g:13345:2: ( rule__PatternStatement__Group_1_2_3__0 )* + loop126: + do { + int alt126=2; + int LA126_0 = input.LA(1); + + if ( (LA126_0==24) ) { + alt126=1; + } + + + switch (alt126) { + case 1 : + // InternalFiacre.g:13345:3: rule__PatternStatement__Group_1_2_3__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_2_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop126; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__3__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__4" + // InternalFiacre.g:13353:1: rule__PatternStatement__Group_1_2__4 : rule__PatternStatement__Group_1_2__4__Impl rule__PatternStatement__Group_1_2__5 ; + public final void rule__PatternStatement__Group_1_2__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13357:1: ( rule__PatternStatement__Group_1_2__4__Impl rule__PatternStatement__Group_1_2__5 ) + // InternalFiacre.g:13358:2: rule__PatternStatement__Group_1_2__4__Impl rule__PatternStatement__Group_1_2__5 + { + pushFollow(FollowSets000.FOLLOW_65); + rule__PatternStatement__Group_1_2__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__4" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__4__Impl" + // InternalFiacre.g:13365:1: rule__PatternStatement__Group_1_2__4__Impl : ( ':=' ) ; + public final void rule__PatternStatement__Group_1_2__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13369:1: ( ( ':=' ) ) + // InternalFiacre.g:13370:1: ( ':=' ) + { + // InternalFiacre.g:13370:1: ( ':=' ) + // InternalFiacre.g:13371:2: ':=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); + } + match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__4__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__5" + // InternalFiacre.g:13380:1: rule__PatternStatement__Group_1_2__5 : rule__PatternStatement__Group_1_2__5__Impl rule__PatternStatement__Group_1_2__6 ; + public final void rule__PatternStatement__Group_1_2__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13384:1: ( rule__PatternStatement__Group_1_2__5__Impl rule__PatternStatement__Group_1_2__6 ) + // InternalFiacre.g:13385:2: rule__PatternStatement__Group_1_2__5__Impl rule__PatternStatement__Group_1_2__6 + { + pushFollow(FollowSets000.FOLLOW_66); + rule__PatternStatement__Group_1_2__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__5" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__5__Impl" + // InternalFiacre.g:13392:1: rule__PatternStatement__Group_1_2__5__Impl : ( 'any' ) ; + public final void rule__PatternStatement__Group_1_2__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13396:1: ( ( 'any' ) ) + // InternalFiacre.g:13397:1: ( 'any' ) + { + // InternalFiacre.g:13397:1: ( 'any' ) + // InternalFiacre.g:13398:2: 'any' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); + } + match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__5__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__6" + // InternalFiacre.g:13407:1: rule__PatternStatement__Group_1_2__6 : rule__PatternStatement__Group_1_2__6__Impl ; + public final void rule__PatternStatement__Group_1_2__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13411:1: ( rule__PatternStatement__Group_1_2__6__Impl ) + // InternalFiacre.g:13412:2: rule__PatternStatement__Group_1_2__6__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__6__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__6" + + + // $ANTLR start "rule__PatternStatement__Group_1_2__6__Impl" + // InternalFiacre.g:13418:1: rule__PatternStatement__Group_1_2__6__Impl : ( ( rule__PatternStatement__Group_1_2_6__0 )? ) ; + public final void rule__PatternStatement__Group_1_2__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13422:1: ( ( ( rule__PatternStatement__Group_1_2_6__0 )? ) ) + // InternalFiacre.g:13423:1: ( ( rule__PatternStatement__Group_1_2_6__0 )? ) + { + // InternalFiacre.g:13423:1: ( ( rule__PatternStatement__Group_1_2_6__0 )? ) + // InternalFiacre.g:13424:2: ( rule__PatternStatement__Group_1_2_6__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_2_6()); + } + // InternalFiacre.g:13425:2: ( rule__PatternStatement__Group_1_2_6__0 )? + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==58) ) { + alt127=1; + } + switch (alt127) { + case 1 : + // InternalFiacre.g:13425:3: rule__PatternStatement__Group_1_2_6__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_2_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2__6__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_3__0" + // InternalFiacre.g:13434:1: rule__PatternStatement__Group_1_2_3__0 : rule__PatternStatement__Group_1_2_3__0__Impl rule__PatternStatement__Group_1_2_3__1 ; + public final void rule__PatternStatement__Group_1_2_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13438:1: ( rule__PatternStatement__Group_1_2_3__0__Impl rule__PatternStatement__Group_1_2_3__1 ) + // InternalFiacre.g:13439:2: rule__PatternStatement__Group_1_2_3__0__Impl rule__PatternStatement__Group_1_2_3__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_2_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_3__0__Impl" + // InternalFiacre.g:13446:1: rule__PatternStatement__Group_1_2_3__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_2_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13450:1: ( ( ',' ) ) + // InternalFiacre.g:13451:1: ( ',' ) + { + // InternalFiacre.g:13451:1: ( ',' ) + // InternalFiacre.g:13452:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_3__1" + // InternalFiacre.g:13461:1: rule__PatternStatement__Group_1_2_3__1 : rule__PatternStatement__Group_1_2_3__1__Impl ; + public final void rule__PatternStatement__Group_1_2_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13465:1: ( rule__PatternStatement__Group_1_2_3__1__Impl ) + // InternalFiacre.g:13466:2: rule__PatternStatement__Group_1_2_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_3__1__Impl" + // InternalFiacre.g:13472:1: rule__PatternStatement__Group_1_2_3__1__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) ) ; + public final void rule__PatternStatement__Group_1_2_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13476:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) ) ) + // InternalFiacre.g:13477:1: ( ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) ) + { + // InternalFiacre.g:13477:1: ( ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) ) + // InternalFiacre.g:13478:2: ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_3_1()); + } + // InternalFiacre.g:13479:2: ( rule__PatternStatement__PatternsAssignment_1_2_3_1 ) + // InternalFiacre.g:13479:3: rule__PatternStatement__PatternsAssignment_1_2_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_2_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_2_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_6__0" + // InternalFiacre.g:13488:1: rule__PatternStatement__Group_1_2_6__0 : rule__PatternStatement__Group_1_2_6__0__Impl rule__PatternStatement__Group_1_2_6__1 ; + public final void rule__PatternStatement__Group_1_2_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13492:1: ( rule__PatternStatement__Group_1_2_6__0__Impl rule__PatternStatement__Group_1_2_6__1 ) + // InternalFiacre.g:13493:2: rule__PatternStatement__Group_1_2_6__0__Impl rule__PatternStatement__Group_1_2_6__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_2_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_6__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_6__0__Impl" + // InternalFiacre.g:13500:1: rule__PatternStatement__Group_1_2_6__0__Impl : ( 'where' ) ; + public final void rule__PatternStatement__Group_1_2_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13504:1: ( ( 'where' ) ) + // InternalFiacre.g:13505:1: ( 'where' ) + { + // InternalFiacre.g:13505:1: ( 'where' ) + // InternalFiacre.g:13506:2: 'where' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); + } + match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_6__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_6__1" + // InternalFiacre.g:13515:1: rule__PatternStatement__Group_1_2_6__1 : rule__PatternStatement__Group_1_2_6__1__Impl ; + public final void rule__PatternStatement__Group_1_2_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13519:1: ( rule__PatternStatement__Group_1_2_6__1__Impl ) + // InternalFiacre.g:13520:2: rule__PatternStatement__Group_1_2_6__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_6__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_2_6__1__Impl" + // InternalFiacre.g:13526:1: rule__PatternStatement__Group_1_2_6__1__Impl : ( ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) ) ; + public final void rule__PatternStatement__Group_1_2_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13530:1: ( ( ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) ) ) + // InternalFiacre.g:13531:1: ( ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) ) + { + // InternalFiacre.g:13531:1: ( ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) ) + // InternalFiacre.g:13532:2: ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_2_6_1()); + } + // InternalFiacre.g:13533:2: ( rule__PatternStatement__ExpAssignment_1_2_6_1 ) + // InternalFiacre.g:13533:3: rule__PatternStatement__ExpAssignment_1_2_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ExpAssignment_1_2_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_2_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_2_6__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__0" + // InternalFiacre.g:13542:1: rule__PatternStatement__Group_1_3__0 : rule__PatternStatement__Group_1_3__0__Impl rule__PatternStatement__Group_1_3__1 ; + public final void rule__PatternStatement__Group_1_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13546:1: ( rule__PatternStatement__Group_1_3__0__Impl rule__PatternStatement__Group_1_3__1 ) + // InternalFiacre.g:13547:2: rule__PatternStatement__Group_1_3__0__Impl rule__PatternStatement__Group_1_3__1 + { + pushFollow(FollowSets000.FOLLOW_65); + rule__PatternStatement__Group_1_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__0__Impl" + // InternalFiacre.g:13554:1: rule__PatternStatement__Group_1_3__0__Impl : ( ':=' ) ; + public final void rule__PatternStatement__Group_1_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13558:1: ( ( ':=' ) ) + // InternalFiacre.g:13559:1: ( ':=' ) + { + // InternalFiacre.g:13559:1: ( ':=' ) + // InternalFiacre.g:13560:2: ':=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); + } + match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__1" + // InternalFiacre.g:13569:1: rule__PatternStatement__Group_1_3__1 : rule__PatternStatement__Group_1_3__1__Impl rule__PatternStatement__Group_1_3__2 ; + public final void rule__PatternStatement__Group_1_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13573:1: ( rule__PatternStatement__Group_1_3__1__Impl rule__PatternStatement__Group_1_3__2 ) + // InternalFiacre.g:13574:2: rule__PatternStatement__Group_1_3__1__Impl rule__PatternStatement__Group_1_3__2 + { + pushFollow(FollowSets000.FOLLOW_65); + rule__PatternStatement__Group_1_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__1__Impl" + // InternalFiacre.g:13581:1: rule__PatternStatement__Group_1_3__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13585:1: ( ( () ) ) + // InternalFiacre.g:13586:1: ( () ) + { + // InternalFiacre.g:13586:1: ( () ) + // InternalFiacre.g:13587:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1()); + } + // InternalFiacre.g:13588:2: () + // InternalFiacre.g:13588:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__2" + // InternalFiacre.g:13596:1: rule__PatternStatement__Group_1_3__2 : rule__PatternStatement__Group_1_3__2__Impl rule__PatternStatement__Group_1_3__3 ; + public final void rule__PatternStatement__Group_1_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13600:1: ( rule__PatternStatement__Group_1_3__2__Impl rule__PatternStatement__Group_1_3__3 ) + // InternalFiacre.g:13601:2: rule__PatternStatement__Group_1_3__2__Impl rule__PatternStatement__Group_1_3__3 + { + pushFollow(FollowSets000.FOLLOW_66); + rule__PatternStatement__Group_1_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__2__Impl" + // InternalFiacre.g:13608:1: rule__PatternStatement__Group_1_3__2__Impl : ( 'any' ) ; + public final void rule__PatternStatement__Group_1_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13612:1: ( ( 'any' ) ) + // InternalFiacre.g:13613:1: ( 'any' ) + { + // InternalFiacre.g:13613:1: ( 'any' ) + // InternalFiacre.g:13614:2: 'any' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); + } + match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__3" + // InternalFiacre.g:13623:1: rule__PatternStatement__Group_1_3__3 : rule__PatternStatement__Group_1_3__3__Impl ; + public final void rule__PatternStatement__Group_1_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13627:1: ( rule__PatternStatement__Group_1_3__3__Impl ) + // InternalFiacre.g:13628:2: rule__PatternStatement__Group_1_3__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__3" + + + // $ANTLR start "rule__PatternStatement__Group_1_3__3__Impl" + // InternalFiacre.g:13634:1: rule__PatternStatement__Group_1_3__3__Impl : ( ( rule__PatternStatement__Group_1_3_3__0 )? ) ; + public final void rule__PatternStatement__Group_1_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13638:1: ( ( ( rule__PatternStatement__Group_1_3_3__0 )? ) ) + // InternalFiacre.g:13639:1: ( ( rule__PatternStatement__Group_1_3_3__0 )? ) + { + // InternalFiacre.g:13639:1: ( ( rule__PatternStatement__Group_1_3_3__0 )? ) + // InternalFiacre.g:13640:2: ( rule__PatternStatement__Group_1_3_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_3_3()); + } + // InternalFiacre.g:13641:2: ( rule__PatternStatement__Group_1_3_3__0 )? + int alt128=2; + int LA128_0 = input.LA(1); + + if ( (LA128_0==58) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // InternalFiacre.g:13641:3: rule__PatternStatement__Group_1_3_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3__3__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3_3__0" + // InternalFiacre.g:13650:1: rule__PatternStatement__Group_1_3_3__0 : rule__PatternStatement__Group_1_3_3__0__Impl rule__PatternStatement__Group_1_3_3__1 ; + public final void rule__PatternStatement__Group_1_3_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13654:1: ( rule__PatternStatement__Group_1_3_3__0__Impl rule__PatternStatement__Group_1_3_3__1 ) + // InternalFiacre.g:13655:2: rule__PatternStatement__Group_1_3_3__0__Impl rule__PatternStatement__Group_1_3_3__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_3_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_3_3__0__Impl" + // InternalFiacre.g:13662:1: rule__PatternStatement__Group_1_3_3__0__Impl : ( 'where' ) ; + public final void rule__PatternStatement__Group_1_3_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13666:1: ( ( 'where' ) ) + // InternalFiacre.g:13667:1: ( 'where' ) + { + // InternalFiacre.g:13667:1: ( 'where' ) + // InternalFiacre.g:13668:2: 'where' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); + } + match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_3_3__1" + // InternalFiacre.g:13677:1: rule__PatternStatement__Group_1_3_3__1 : rule__PatternStatement__Group_1_3_3__1__Impl ; + public final void rule__PatternStatement__Group_1_3_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13681:1: ( rule__PatternStatement__Group_1_3_3__1__Impl ) + // InternalFiacre.g:13682:2: rule__PatternStatement__Group_1_3_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_3_3__1__Impl" + // InternalFiacre.g:13688:1: rule__PatternStatement__Group_1_3_3__1__Impl : ( ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) ) ; + public final void rule__PatternStatement__Group_1_3_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13692:1: ( ( ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) ) ) + // InternalFiacre.g:13693:1: ( ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) ) + { + // InternalFiacre.g:13693:1: ( ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) ) + // InternalFiacre.g:13694:2: ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_3_3_1()); + } + // InternalFiacre.g:13695:2: ( rule__PatternStatement__ExpAssignment_1_3_3_1 ) + // InternalFiacre.g:13695:3: rule__PatternStatement__ExpAssignment_1_3_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ExpAssignment_1_3_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_3_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_3_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__0" + // InternalFiacre.g:13704:1: rule__PatternStatement__Group_1_4__0 : rule__PatternStatement__Group_1_4__0__Impl rule__PatternStatement__Group_1_4__1 ; + public final void rule__PatternStatement__Group_1_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13708:1: ( rule__PatternStatement__Group_1_4__0__Impl rule__PatternStatement__Group_1_4__1 ) + // InternalFiacre.g:13709:2: rule__PatternStatement__Group_1_4__0__Impl rule__PatternStatement__Group_1_4__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__0__Impl" + // InternalFiacre.g:13716:1: rule__PatternStatement__Group_1_4__0__Impl : ( '!' ) ; + public final void rule__PatternStatement__Group_1_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13720:1: ( ( '!' ) ) + // InternalFiacre.g:13721:1: ( '!' ) + { + // InternalFiacre.g:13721:1: ( '!' ) + // InternalFiacre.g:13722:2: '!' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); + } + match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__1" + // InternalFiacre.g:13731:1: rule__PatternStatement__Group_1_4__1 : rule__PatternStatement__Group_1_4__1__Impl rule__PatternStatement__Group_1_4__2 ; + public final void rule__PatternStatement__Group_1_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13735:1: ( rule__PatternStatement__Group_1_4__1__Impl rule__PatternStatement__Group_1_4__2 ) + // InternalFiacre.g:13736:2: rule__PatternStatement__Group_1_4__1__Impl rule__PatternStatement__Group_1_4__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__1__Impl" + // InternalFiacre.g:13743:1: rule__PatternStatement__Group_1_4__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13747:1: ( ( () ) ) + // InternalFiacre.g:13748:1: ( () ) + { + // InternalFiacre.g:13748:1: ( () ) + // InternalFiacre.g:13749:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1()); + } + // InternalFiacre.g:13750:2: () + // InternalFiacre.g:13750:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__2" + // InternalFiacre.g:13758:1: rule__PatternStatement__Group_1_4__2 : rule__PatternStatement__Group_1_4__2__Impl rule__PatternStatement__Group_1_4__3 ; + public final void rule__PatternStatement__Group_1_4__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13762:1: ( rule__PatternStatement__Group_1_4__2__Impl rule__PatternStatement__Group_1_4__3 ) + // InternalFiacre.g:13763:2: rule__PatternStatement__Group_1_4__2__Impl rule__PatternStatement__Group_1_4__3 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PatternStatement__Group_1_4__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__2__Impl" + // InternalFiacre.g:13770:1: rule__PatternStatement__Group_1_4__2__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_4_2 ) ) ; + public final void rule__PatternStatement__Group_1_4__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13774:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_4_2 ) ) ) + // InternalFiacre.g:13775:1: ( ( rule__PatternStatement__ValuesAssignment_1_4_2 ) ) + { + // InternalFiacre.g:13775:1: ( ( rule__PatternStatement__ValuesAssignment_1_4_2 ) ) + // InternalFiacre.g:13776:2: ( rule__PatternStatement__ValuesAssignment_1_4_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_2()); + } + // InternalFiacre.g:13777:2: ( rule__PatternStatement__ValuesAssignment_1_4_2 ) + // InternalFiacre.g:13777:3: rule__PatternStatement__ValuesAssignment_1_4_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_4_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__3" + // InternalFiacre.g:13785:1: rule__PatternStatement__Group_1_4__3 : rule__PatternStatement__Group_1_4__3__Impl ; + public final void rule__PatternStatement__Group_1_4__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13789:1: ( rule__PatternStatement__Group_1_4__3__Impl ) + // InternalFiacre.g:13790:2: rule__PatternStatement__Group_1_4__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__3" + + + // $ANTLR start "rule__PatternStatement__Group_1_4__3__Impl" + // InternalFiacre.g:13796:1: rule__PatternStatement__Group_1_4__3__Impl : ( ( rule__PatternStatement__Group_1_4_3__0 )* ) ; + public final void rule__PatternStatement__Group_1_4__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13800:1: ( ( ( rule__PatternStatement__Group_1_4_3__0 )* ) ) + // InternalFiacre.g:13801:1: ( ( rule__PatternStatement__Group_1_4_3__0 )* ) + { + // InternalFiacre.g:13801:1: ( ( rule__PatternStatement__Group_1_4_3__0 )* ) + // InternalFiacre.g:13802:2: ( rule__PatternStatement__Group_1_4_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_4_3()); + } + // InternalFiacre.g:13803:2: ( rule__PatternStatement__Group_1_4_3__0 )* + loop129: + do { + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==24) ) { + alt129=1; + } + + + switch (alt129) { + case 1 : + // InternalFiacre.g:13803:3: rule__PatternStatement__Group_1_4_3__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_4_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop129; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_4_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4__3__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4_3__0" + // InternalFiacre.g:13812:1: rule__PatternStatement__Group_1_4_3__0 : rule__PatternStatement__Group_1_4_3__0__Impl rule__PatternStatement__Group_1_4_3__1 ; + public final void rule__PatternStatement__Group_1_4_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13816:1: ( rule__PatternStatement__Group_1_4_3__0__Impl rule__PatternStatement__Group_1_4_3__1 ) + // InternalFiacre.g:13817:2: rule__PatternStatement__Group_1_4_3__0__Impl rule__PatternStatement__Group_1_4_3__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_4_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_4_3__0__Impl" + // InternalFiacre.g:13824:1: rule__PatternStatement__Group_1_4_3__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_4_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13828:1: ( ( ',' ) ) + // InternalFiacre.g:13829:1: ( ',' ) + { + // InternalFiacre.g:13829:1: ( ',' ) + // InternalFiacre.g:13830:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_4_3__1" + // InternalFiacre.g:13839:1: rule__PatternStatement__Group_1_4_3__1 : rule__PatternStatement__Group_1_4_3__1__Impl ; + public final void rule__PatternStatement__Group_1_4_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13843:1: ( rule__PatternStatement__Group_1_4_3__1__Impl ) + // InternalFiacre.g:13844:2: rule__PatternStatement__Group_1_4_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_4_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_4_3__1__Impl" + // InternalFiacre.g:13850:1: rule__PatternStatement__Group_1_4_3__1__Impl : ( ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) ) ; + public final void rule__PatternStatement__Group_1_4_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13854:1: ( ( ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) ) ) + // InternalFiacre.g:13855:1: ( ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) ) + { + // InternalFiacre.g:13855:1: ( ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) ) + // InternalFiacre.g:13856:2: ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_3_1()); + } + // InternalFiacre.g:13857:2: ( rule__PatternStatement__ValuesAssignment_1_4_3_1 ) + // InternalFiacre.g:13857:3: rule__PatternStatement__ValuesAssignment_1_4_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ValuesAssignment_1_4_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesAssignment_1_4_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_4_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__0" + // InternalFiacre.g:13866:1: rule__PatternStatement__Group_1_5__0 : rule__PatternStatement__Group_1_5__0__Impl rule__PatternStatement__Group_1_5__1 ; + public final void rule__PatternStatement__Group_1_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13870:1: ( rule__PatternStatement__Group_1_5__0__Impl rule__PatternStatement__Group_1_5__1 ) + // InternalFiacre.g:13871:2: rule__PatternStatement__Group_1_5__0__Impl rule__PatternStatement__Group_1_5__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__0__Impl" + // InternalFiacre.g:13878:1: rule__PatternStatement__Group_1_5__0__Impl : ( '?' ) ; + public final void rule__PatternStatement__Group_1_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13882:1: ( ( '?' ) ) + // InternalFiacre.g:13883:1: ( '?' ) + { + // InternalFiacre.g:13883:1: ( '?' ) + // InternalFiacre.g:13884:2: '?' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); + } + match(input,60,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__1" + // InternalFiacre.g:13893:1: rule__PatternStatement__Group_1_5__1 : rule__PatternStatement__Group_1_5__1__Impl rule__PatternStatement__Group_1_5__2 ; + public final void rule__PatternStatement__Group_1_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13897:1: ( rule__PatternStatement__Group_1_5__1__Impl rule__PatternStatement__Group_1_5__2 ) + // InternalFiacre.g:13898:2: rule__PatternStatement__Group_1_5__1__Impl rule__PatternStatement__Group_1_5__2 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__1__Impl" + // InternalFiacre.g:13905:1: rule__PatternStatement__Group_1_5__1__Impl : ( () ) ; + public final void rule__PatternStatement__Group_1_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13909:1: ( ( () ) ) + // InternalFiacre.g:13910:1: ( () ) + { + // InternalFiacre.g:13910:1: ( () ) + // InternalFiacre.g:13911:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1()); + } + // InternalFiacre.g:13912:2: () + // InternalFiacre.g:13912:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__2" + // InternalFiacre.g:13920:1: rule__PatternStatement__Group_1_5__2 : rule__PatternStatement__Group_1_5__2__Impl rule__PatternStatement__Group_1_5__3 ; + public final void rule__PatternStatement__Group_1_5__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13924:1: ( rule__PatternStatement__Group_1_5__2__Impl rule__PatternStatement__Group_1_5__3 ) + // InternalFiacre.g:13925:2: rule__PatternStatement__Group_1_5__2__Impl rule__PatternStatement__Group_1_5__3 + { + pushFollow(FollowSets000.FOLLOW_67); + rule__PatternStatement__Group_1_5__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__2" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__2__Impl" + // InternalFiacre.g:13932:1: rule__PatternStatement__Group_1_5__2__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_5_2 ) ) ; + public final void rule__PatternStatement__Group_1_5__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13936:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_5_2 ) ) ) + // InternalFiacre.g:13937:1: ( ( rule__PatternStatement__PatternsAssignment_1_5_2 ) ) + { + // InternalFiacre.g:13937:1: ( ( rule__PatternStatement__PatternsAssignment_1_5_2 ) ) + // InternalFiacre.g:13938:2: ( rule__PatternStatement__PatternsAssignment_1_5_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_2()); + } + // InternalFiacre.g:13939:2: ( rule__PatternStatement__PatternsAssignment_1_5_2 ) + // InternalFiacre.g:13939:3: rule__PatternStatement__PatternsAssignment_1_5_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_5_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__2__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__3" + // InternalFiacre.g:13947:1: rule__PatternStatement__Group_1_5__3 : rule__PatternStatement__Group_1_5__3__Impl rule__PatternStatement__Group_1_5__4 ; + public final void rule__PatternStatement__Group_1_5__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13951:1: ( rule__PatternStatement__Group_1_5__3__Impl rule__PatternStatement__Group_1_5__4 ) + // InternalFiacre.g:13952:2: rule__PatternStatement__Group_1_5__3__Impl rule__PatternStatement__Group_1_5__4 + { + pushFollow(FollowSets000.FOLLOW_67); + rule__PatternStatement__Group_1_5__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__3" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__3__Impl" + // InternalFiacre.g:13959:1: rule__PatternStatement__Group_1_5__3__Impl : ( ( rule__PatternStatement__Group_1_5_3__0 )* ) ; + public final void rule__PatternStatement__Group_1_5__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13963:1: ( ( ( rule__PatternStatement__Group_1_5_3__0 )* ) ) + // InternalFiacre.g:13964:1: ( ( rule__PatternStatement__Group_1_5_3__0 )* ) + { + // InternalFiacre.g:13964:1: ( ( rule__PatternStatement__Group_1_5_3__0 )* ) + // InternalFiacre.g:13965:2: ( rule__PatternStatement__Group_1_5_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_5_3()); + } + // InternalFiacre.g:13966:2: ( rule__PatternStatement__Group_1_5_3__0 )* + loop130: + do { + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==24) ) { + alt130=1; + } + + + switch (alt130) { + case 1 : + // InternalFiacre.g:13966:3: rule__PatternStatement__Group_1_5_3__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PatternStatement__Group_1_5_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop130; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_5_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__3__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__4" + // InternalFiacre.g:13974:1: rule__PatternStatement__Group_1_5__4 : rule__PatternStatement__Group_1_5__4__Impl ; + public final void rule__PatternStatement__Group_1_5__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13978:1: ( rule__PatternStatement__Group_1_5__4__Impl ) + // InternalFiacre.g:13979:2: rule__PatternStatement__Group_1_5__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__4" + + + // $ANTLR start "rule__PatternStatement__Group_1_5__4__Impl" + // InternalFiacre.g:13985:1: rule__PatternStatement__Group_1_5__4__Impl : ( ( rule__PatternStatement__Group_1_5_4__0 )? ) ; + public final void rule__PatternStatement__Group_1_5__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:13989:1: ( ( ( rule__PatternStatement__Group_1_5_4__0 )? ) ) + // InternalFiacre.g:13990:1: ( ( rule__PatternStatement__Group_1_5_4__0 )? ) + { + // InternalFiacre.g:13990:1: ( ( rule__PatternStatement__Group_1_5_4__0 )? ) + // InternalFiacre.g:13991:2: ( rule__PatternStatement__Group_1_5_4__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_5_4()); + } + // InternalFiacre.g:13992:2: ( rule__PatternStatement__Group_1_5_4__0 )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==58) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // InternalFiacre.g:13992:3: rule__PatternStatement__Group_1_5_4__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5_4__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getGroup_1_5_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5__4__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_3__0" + // InternalFiacre.g:14001:1: rule__PatternStatement__Group_1_5_3__0 : rule__PatternStatement__Group_1_5_3__0__Impl rule__PatternStatement__Group_1_5_3__1 ; + public final void rule__PatternStatement__Group_1_5_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14005:1: ( rule__PatternStatement__Group_1_5_3__0__Impl rule__PatternStatement__Group_1_5_3__1 ) + // InternalFiacre.g:14006:2: rule__PatternStatement__Group_1_5_3__0__Impl rule__PatternStatement__Group_1_5_3__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__PatternStatement__Group_1_5_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_3__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_3__0__Impl" + // InternalFiacre.g:14013:1: rule__PatternStatement__Group_1_5_3__0__Impl : ( ',' ) ; + public final void rule__PatternStatement__Group_1_5_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14017:1: ( ( ',' ) ) + // InternalFiacre.g:14018:1: ( ',' ) + { + // InternalFiacre.g:14018:1: ( ',' ) + // InternalFiacre.g:14019:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_3__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_3__1" + // InternalFiacre.g:14028:1: rule__PatternStatement__Group_1_5_3__1 : rule__PatternStatement__Group_1_5_3__1__Impl ; + public final void rule__PatternStatement__Group_1_5_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14032:1: ( rule__PatternStatement__Group_1_5_3__1__Impl ) + // InternalFiacre.g:14033:2: rule__PatternStatement__Group_1_5_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_3__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_3__1__Impl" + // InternalFiacre.g:14039:1: rule__PatternStatement__Group_1_5_3__1__Impl : ( ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) ) ; + public final void rule__PatternStatement__Group_1_5_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14043:1: ( ( ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) ) ) + // InternalFiacre.g:14044:1: ( ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) ) + { + // InternalFiacre.g:14044:1: ( ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) ) + // InternalFiacre.g:14045:2: ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_3_1()); + } + // InternalFiacre.g:14046:2: ( rule__PatternStatement__PatternsAssignment_1_5_3_1 ) + // InternalFiacre.g:14046:3: rule__PatternStatement__PatternsAssignment_1_5_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__PatternsAssignment_1_5_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsAssignment_1_5_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_3__1__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_4__0" + // InternalFiacre.g:14055:1: rule__PatternStatement__Group_1_5_4__0 : rule__PatternStatement__Group_1_5_4__0__Impl rule__PatternStatement__Group_1_5_4__1 ; + public final void rule__PatternStatement__Group_1_5_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14059:1: ( rule__PatternStatement__Group_1_5_4__0__Impl rule__PatternStatement__Group_1_5_4__1 ) + // InternalFiacre.g:14060:2: rule__PatternStatement__Group_1_5_4__0__Impl rule__PatternStatement__Group_1_5_4__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PatternStatement__Group_1_5_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_4__0" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_4__0__Impl" + // InternalFiacre.g:14067:1: rule__PatternStatement__Group_1_5_4__0__Impl : ( 'where' ) ; + public final void rule__PatternStatement__Group_1_5_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14071:1: ( ( 'where' ) ) + // InternalFiacre.g:14072:1: ( 'where' ) + { + // InternalFiacre.g:14072:1: ( 'where' ) + // InternalFiacre.g:14073:2: 'where' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); + } + match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_4__0__Impl" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_4__1" + // InternalFiacre.g:14082:1: rule__PatternStatement__Group_1_5_4__1 : rule__PatternStatement__Group_1_5_4__1__Impl ; + public final void rule__PatternStatement__Group_1_5_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14086:1: ( rule__PatternStatement__Group_1_5_4__1__Impl ) + // InternalFiacre.g:14087:2: rule__PatternStatement__Group_1_5_4__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_5_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_4__1" + + + // $ANTLR start "rule__PatternStatement__Group_1_5_4__1__Impl" + // InternalFiacre.g:14093:1: rule__PatternStatement__Group_1_5_4__1__Impl : ( ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) ) ; + public final void rule__PatternStatement__Group_1_5_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14097:1: ( ( ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) ) ) + // InternalFiacre.g:14098:1: ( ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) ) + { + // InternalFiacre.g:14098:1: ( ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) ) + // InternalFiacre.g:14099:2: ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpAssignment_1_5_4_1()); + } + // InternalFiacre.g:14100:2: ( rule__PatternStatement__ExpAssignment_1_5_4_1 ) + // InternalFiacre.g:14100:3: rule__PatternStatement__ExpAssignment_1_5_4_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__ExpAssignment_1_5_4_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpAssignment_1_5_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__Group_1_5_4__1__Impl" + + + // $ANTLR start "rule__Pattern__Group_3__0" + // InternalFiacre.g:14109:1: rule__Pattern__Group_3__0 : rule__Pattern__Group_3__0__Impl rule__Pattern__Group_3__1 ; + public final void rule__Pattern__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14113:1: ( rule__Pattern__Group_3__0__Impl rule__Pattern__Group_3__1 ) + // InternalFiacre.g:14114:2: rule__Pattern__Group_3__0__Impl rule__Pattern__Group_3__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__Pattern__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Pattern__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__0" + + + // $ANTLR start "rule__Pattern__Group_3__0__Impl" + // InternalFiacre.g:14121:1: rule__Pattern__Group_3__0__Impl : ( '(' ) ; + public final void rule__Pattern__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14125:1: ( ( '(' ) ) + // InternalFiacre.g:14126:1: ( '(' ) + { + // InternalFiacre.g:14126:1: ( '(' ) + // InternalFiacre.g:14127:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__0__Impl" + + + // $ANTLR start "rule__Pattern__Group_3__1" + // InternalFiacre.g:14136:1: rule__Pattern__Group_3__1 : rule__Pattern__Group_3__1__Impl rule__Pattern__Group_3__2 ; + public final void rule__Pattern__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14140:1: ( rule__Pattern__Group_3__1__Impl rule__Pattern__Group_3__2 ) + // InternalFiacre.g:14141:2: rule__Pattern__Group_3__1__Impl rule__Pattern__Group_3__2 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__Pattern__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Pattern__Group_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__1" + + + // $ANTLR start "rule__Pattern__Group_3__1__Impl" + // InternalFiacre.g:14148:1: rule__Pattern__Group_3__1__Impl : ( rulePattern ) ; + public final void rule__Pattern__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14152:1: ( ( rulePattern ) ) + // InternalFiacre.g:14153:1: ( rulePattern ) + { + // InternalFiacre.g:14153:1: ( rulePattern ) + // InternalFiacre.g:14154:2: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__1__Impl" + + + // $ANTLR start "rule__Pattern__Group_3__2" + // InternalFiacre.g:14163:1: rule__Pattern__Group_3__2 : rule__Pattern__Group_3__2__Impl ; + public final void rule__Pattern__Group_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14167:1: ( rule__Pattern__Group_3__2__Impl ) + // InternalFiacre.g:14168:2: rule__Pattern__Group_3__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Pattern__Group_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__2" + + + // $ANTLR start "rule__Pattern__Group_3__2__Impl" + // InternalFiacre.g:14174:1: rule__Pattern__Group_3__2__Impl : ( ')' ) ; + public final void rule__Pattern__Group_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14178:1: ( ( ')' ) ) + // InternalFiacre.g:14179:1: ( ')' ) + { + // InternalFiacre.g:14179:1: ( ')' ) + // InternalFiacre.g:14180:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Pattern__Group_3__2__Impl" + + + // $ANTLR start "rule__AnyPattern__Group__0" + // InternalFiacre.g:14190:1: rule__AnyPattern__Group__0 : rule__AnyPattern__Group__0__Impl rule__AnyPattern__Group__1 ; + public final void rule__AnyPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14194:1: ( rule__AnyPattern__Group__0__Impl rule__AnyPattern__Group__1 ) + // InternalFiacre.g:14195:2: rule__AnyPattern__Group__0__Impl rule__AnyPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_65); + rule__AnyPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AnyPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AnyPattern__Group__0" + + + // $ANTLR start "rule__AnyPattern__Group__0__Impl" + // InternalFiacre.g:14202:1: rule__AnyPattern__Group__0__Impl : ( () ) ; + public final void rule__AnyPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14206:1: ( ( () ) ) + // InternalFiacre.g:14207:1: ( () ) + { + // InternalFiacre.g:14207:1: ( () ) + // InternalFiacre.g:14208:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAnyPatternAccess().getAnyPatternAction_0()); + } + // InternalFiacre.g:14209:2: () + // InternalFiacre.g:14209:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAnyPatternAccess().getAnyPatternAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AnyPattern__Group__0__Impl" + + + // $ANTLR start "rule__AnyPattern__Group__1" + // InternalFiacre.g:14217:1: rule__AnyPattern__Group__1 : rule__AnyPattern__Group__1__Impl ; + public final void rule__AnyPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14221:1: ( rule__AnyPattern__Group__1__Impl ) + // InternalFiacre.g:14222:2: rule__AnyPattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AnyPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AnyPattern__Group__1" + + + // $ANTLR start "rule__AnyPattern__Group__1__Impl" + // InternalFiacre.g:14228:1: rule__AnyPattern__Group__1__Impl : ( 'any' ) ; + public final void rule__AnyPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14232:1: ( ( 'any' ) ) + // InternalFiacre.g:14233:1: ( 'any' ) + { + // InternalFiacre.g:14233:1: ( 'any' ) + // InternalFiacre.g:14234:2: 'any' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); + } + match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AnyPattern__Group__1__Impl" + + + // $ANTLR start "rule__IntegerPattern__Group__0" + // InternalFiacre.g:14244:1: rule__IntegerPattern__Group__0 : rule__IntegerPattern__Group__0__Impl rule__IntegerPattern__Group__1 ; + public final void rule__IntegerPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14248:1: ( rule__IntegerPattern__Group__0__Impl rule__IntegerPattern__Group__1 ) + // InternalFiacre.g:14249:2: rule__IntegerPattern__Group__0__Impl rule__IntegerPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_69); + rule__IntegerPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__Group__0" + + + // $ANTLR start "rule__IntegerPattern__Group__0__Impl" + // InternalFiacre.g:14256:1: rule__IntegerPattern__Group__0__Impl : ( ( rule__IntegerPattern__Alternatives_0 ) ) ; + public final void rule__IntegerPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14260:1: ( ( ( rule__IntegerPattern__Alternatives_0 ) ) ) + // InternalFiacre.g:14261:1: ( ( rule__IntegerPattern__Alternatives_0 ) ) + { + // InternalFiacre.g:14261:1: ( ( rule__IntegerPattern__Alternatives_0 ) ) + // InternalFiacre.g:14262:2: ( rule__IntegerPattern__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getAlternatives_0()); + } + // InternalFiacre.g:14263:2: ( rule__IntegerPattern__Alternatives_0 ) + // InternalFiacre.g:14263:3: rule__IntegerPattern__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__Group__0__Impl" + + + // $ANTLR start "rule__IntegerPattern__Group__1" + // InternalFiacre.g:14271:1: rule__IntegerPattern__Group__1 : rule__IntegerPattern__Group__1__Impl ; + public final void rule__IntegerPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14275:1: ( rule__IntegerPattern__Group__1__Impl ) + // InternalFiacre.g:14276:2: rule__IntegerPattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__Group__1" + + + // $ANTLR start "rule__IntegerPattern__Group__1__Impl" + // InternalFiacre.g:14282:1: rule__IntegerPattern__Group__1__Impl : ( ( rule__IntegerPattern__ValueAssignment_1 ) ) ; + public final void rule__IntegerPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14286:1: ( ( ( rule__IntegerPattern__ValueAssignment_1 ) ) ) + // InternalFiacre.g:14287:1: ( ( rule__IntegerPattern__ValueAssignment_1 ) ) + { + // InternalFiacre.g:14287:1: ( ( rule__IntegerPattern__ValueAssignment_1 ) ) + // InternalFiacre.g:14288:2: ( rule__IntegerPattern__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getValueAssignment_1()); + } + // InternalFiacre.g:14289:2: ( rule__IntegerPattern__ValueAssignment_1 ) + // InternalFiacre.g:14289:3: rule__IntegerPattern__ValueAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IntegerPattern__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__Group__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__0" + // InternalFiacre.g:14298:1: rule__IdentifierPattern__Group_0__0 : rule__IdentifierPattern__Group_0__0__Impl rule__IdentifierPattern__Group_0__1 ; + public final void rule__IdentifierPattern__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14302:1: ( rule__IdentifierPattern__Group_0__0__Impl rule__IdentifierPattern__Group_0__1 ) + // InternalFiacre.g:14303:2: rule__IdentifierPattern__Group_0__0__Impl rule__IdentifierPattern__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierPattern__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__0__Impl" + // InternalFiacre.g:14310:1: rule__IdentifierPattern__Group_0__0__Impl : ( () ) ; + public final void rule__IdentifierPattern__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14314:1: ( ( () ) ) + // InternalFiacre.g:14315:1: ( () ) + { + // InternalFiacre.g:14315:1: ( () ) + // InternalFiacre.g:14316:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0()); + } + // InternalFiacre.g:14317:2: () + // InternalFiacre.g:14317:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__1" + // InternalFiacre.g:14325:1: rule__IdentifierPattern__Group_0__1 : rule__IdentifierPattern__Group_0__1__Impl rule__IdentifierPattern__Group_0__2 ; + public final void rule__IdentifierPattern__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14329:1: ( rule__IdentifierPattern__Group_0__1__Impl rule__IdentifierPattern__Group_0__2 ) + // InternalFiacre.g:14330:2: rule__IdentifierPattern__Group_0__1__Impl rule__IdentifierPattern__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_13); + rule__IdentifierPattern__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__1__Impl" + // InternalFiacre.g:14337:1: rule__IdentifierPattern__Group_0__1__Impl : ( ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) ) ; + public final void rule__IdentifierPattern__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14341:1: ( ( ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) ) ) + // InternalFiacre.g:14342:1: ( ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) ) + { + // InternalFiacre.g:14342:1: ( ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) ) + // InternalFiacre.g:14343:2: ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_0_1()); + } + // InternalFiacre.g:14344:2: ( rule__IdentifierPattern__DeclarationAssignment_0_1 ) + // InternalFiacre.g:14344:3: rule__IdentifierPattern__DeclarationAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__DeclarationAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__2" + // InternalFiacre.g:14352:1: rule__IdentifierPattern__Group_0__2 : rule__IdentifierPattern__Group_0__2__Impl rule__IdentifierPattern__Group_0__3 ; + public final void rule__IdentifierPattern__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14356:1: ( rule__IdentifierPattern__Group_0__2__Impl rule__IdentifierPattern__Group_0__3 ) + // InternalFiacre.g:14357:2: rule__IdentifierPattern__Group_0__2__Impl rule__IdentifierPattern__Group_0__3 + { + pushFollow(FollowSets000.FOLLOW_70); + rule__IdentifierPattern__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__2" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__2__Impl" + // InternalFiacre.g:14364:1: rule__IdentifierPattern__Group_0__2__Impl : ( '(' ) ; + public final void rule__IdentifierPattern__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14368:1: ( ( '(' ) ) + // InternalFiacre.g:14369:1: ( '(' ) + { + // InternalFiacre.g:14369:1: ( '(' ) + // InternalFiacre.g:14370:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__2__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__3" + // InternalFiacre.g:14379:1: rule__IdentifierPattern__Group_0__3 : rule__IdentifierPattern__Group_0__3__Impl rule__IdentifierPattern__Group_0__4 ; + public final void rule__IdentifierPattern__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14383:1: ( rule__IdentifierPattern__Group_0__3__Impl rule__IdentifierPattern__Group_0__4 ) + // InternalFiacre.g:14384:2: rule__IdentifierPattern__Group_0__3__Impl rule__IdentifierPattern__Group_0__4 + { + pushFollow(FollowSets000.FOLLOW_70); + rule__IdentifierPattern__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__3" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__3__Impl" + // InternalFiacre.g:14391:1: rule__IdentifierPattern__Group_0__3__Impl : ( ( rule__IdentifierPattern__Group_0_3__0 )? ) ; + public final void rule__IdentifierPattern__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14395:1: ( ( ( rule__IdentifierPattern__Group_0_3__0 )? ) ) + // InternalFiacre.g:14396:1: ( ( rule__IdentifierPattern__Group_0_3__0 )? ) + { + // InternalFiacre.g:14396:1: ( ( rule__IdentifierPattern__Group_0_3__0 )? ) + // InternalFiacre.g:14397:2: ( rule__IdentifierPattern__Group_0_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_0_3()); + } + // InternalFiacre.g:14398:2: ( rule__IdentifierPattern__Group_0_3__0 )? + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==RULE_ID||LA132_0==RULE_INT||LA132_0==14||LA132_0==22||LA132_0==57||LA132_0==87||(LA132_0>=106 && LA132_0<=107)) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // InternalFiacre.g:14398:3: rule__IdentifierPattern__Group_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__3__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__4" + // InternalFiacre.g:14406:1: rule__IdentifierPattern__Group_0__4 : rule__IdentifierPattern__Group_0__4__Impl ; + public final void rule__IdentifierPattern__Group_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14410:1: ( rule__IdentifierPattern__Group_0__4__Impl ) + // InternalFiacre.g:14411:2: rule__IdentifierPattern__Group_0__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__4" + + + // $ANTLR start "rule__IdentifierPattern__Group_0__4__Impl" + // InternalFiacre.g:14417:1: rule__IdentifierPattern__Group_0__4__Impl : ( ')' ) ; + public final void rule__IdentifierPattern__Group_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14421:1: ( ( ')' ) ) + // InternalFiacre.g:14422:1: ( ')' ) + { + // InternalFiacre.g:14422:1: ( ')' ) + // InternalFiacre.g:14423:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0__4__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3__0" + // InternalFiacre.g:14433:1: rule__IdentifierPattern__Group_0_3__0 : rule__IdentifierPattern__Group_0_3__0__Impl rule__IdentifierPattern__Group_0_3__1 ; + public final void rule__IdentifierPattern__Group_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14437:1: ( rule__IdentifierPattern__Group_0_3__0__Impl rule__IdentifierPattern__Group_0_3__1 ) + // InternalFiacre.g:14438:2: rule__IdentifierPattern__Group_0_3__0__Impl rule__IdentifierPattern__Group_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__IdentifierPattern__Group_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3__0__Impl" + // InternalFiacre.g:14445:1: rule__IdentifierPattern__Group_0_3__0__Impl : ( ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) ) ; + public final void rule__IdentifierPattern__Group_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14449:1: ( ( ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) ) ) + // InternalFiacre.g:14450:1: ( ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) ) + { + // InternalFiacre.g:14450:1: ( ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) ) + // InternalFiacre.g:14451:2: ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_0()); + } + // InternalFiacre.g:14452:2: ( rule__IdentifierPattern__ParametersAssignment_0_3_0 ) + // InternalFiacre.g:14452:3: rule__IdentifierPattern__ParametersAssignment_0_3_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__ParametersAssignment_0_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3__1" + // InternalFiacre.g:14460:1: rule__IdentifierPattern__Group_0_3__1 : rule__IdentifierPattern__Group_0_3__1__Impl ; + public final void rule__IdentifierPattern__Group_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14464:1: ( rule__IdentifierPattern__Group_0_3__1__Impl ) + // InternalFiacre.g:14465:2: rule__IdentifierPattern__Group_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3__1__Impl" + // InternalFiacre.g:14471:1: rule__IdentifierPattern__Group_0_3__1__Impl : ( ( rule__IdentifierPattern__Group_0_3_1__0 )* ) ; + public final void rule__IdentifierPattern__Group_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14475:1: ( ( ( rule__IdentifierPattern__Group_0_3_1__0 )* ) ) + // InternalFiacre.g:14476:1: ( ( rule__IdentifierPattern__Group_0_3_1__0 )* ) + { + // InternalFiacre.g:14476:1: ( ( rule__IdentifierPattern__Group_0_3_1__0 )* ) + // InternalFiacre.g:14477:2: ( rule__IdentifierPattern__Group_0_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getGroup_0_3_1()); + } + // InternalFiacre.g:14478:2: ( rule__IdentifierPattern__Group_0_3_1__0 )* + loop133: + do { + int alt133=2; + int LA133_0 = input.LA(1); + + if ( (LA133_0==24) ) { + alt133=1; + } + + + switch (alt133) { + case 1 : + // InternalFiacre.g:14478:3: rule__IdentifierPattern__Group_0_3_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__IdentifierPattern__Group_0_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop133; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getGroup_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3_1__0" + // InternalFiacre.g:14487:1: rule__IdentifierPattern__Group_0_3_1__0 : rule__IdentifierPattern__Group_0_3_1__0__Impl rule__IdentifierPattern__Group_0_3_1__1 ; + public final void rule__IdentifierPattern__Group_0_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14491:1: ( rule__IdentifierPattern__Group_0_3_1__0__Impl rule__IdentifierPattern__Group_0_3_1__1 ) + // InternalFiacre.g:14492:2: rule__IdentifierPattern__Group_0_3_1__0__Impl rule__IdentifierPattern__Group_0_3_1__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__IdentifierPattern__Group_0_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3_1__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3_1__0__Impl" + // InternalFiacre.g:14499:1: rule__IdentifierPattern__Group_0_3_1__0__Impl : ( ',' ) ; + public final void rule__IdentifierPattern__Group_0_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14503:1: ( ( ',' ) ) + // InternalFiacre.g:14504:1: ( ',' ) + { + // InternalFiacre.g:14504:1: ( ',' ) + // InternalFiacre.g:14505:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3_1__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3_1__1" + // InternalFiacre.g:14514:1: rule__IdentifierPattern__Group_0_3_1__1 : rule__IdentifierPattern__Group_0_3_1__1__Impl ; + public final void rule__IdentifierPattern__Group_0_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14518:1: ( rule__IdentifierPattern__Group_0_3_1__1__Impl ) + // InternalFiacre.g:14519:2: rule__IdentifierPattern__Group_0_3_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_0_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3_1__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_0_3_1__1__Impl" + // InternalFiacre.g:14525:1: rule__IdentifierPattern__Group_0_3_1__1__Impl : ( ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) ) ; + public final void rule__IdentifierPattern__Group_0_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14529:1: ( ( ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) ) ) + // InternalFiacre.g:14530:1: ( ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) ) + { + // InternalFiacre.g:14530:1: ( ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) ) + // InternalFiacre.g:14531:2: ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_1_1()); + } + // InternalFiacre.g:14532:2: ( rule__IdentifierPattern__ParametersAssignment_0_3_1_1 ) + // InternalFiacre.g:14532:3: rule__IdentifierPattern__ParametersAssignment_0_3_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__ParametersAssignment_0_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getParametersAssignment_0_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_0_3_1__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1__0" + // InternalFiacre.g:14541:1: rule__IdentifierPattern__Group_1__0 : rule__IdentifierPattern__Group_1__0__Impl rule__IdentifierPattern__Group_1__1 ; + public final void rule__IdentifierPattern__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14545:1: ( rule__IdentifierPattern__Group_1__0__Impl rule__IdentifierPattern__Group_1__1 ) + // InternalFiacre.g:14546:2: rule__IdentifierPattern__Group_1__0__Impl rule__IdentifierPattern__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_71); + rule__IdentifierPattern__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_1__0__Impl" + // InternalFiacre.g:14553:1: rule__IdentifierPattern__Group_1__0__Impl : ( ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) ) ; + public final void rule__IdentifierPattern__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14557:1: ( ( ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) ) ) + // InternalFiacre.g:14558:1: ( ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) ) + { + // InternalFiacre.g:14558:1: ( ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) ) + // InternalFiacre.g:14559:2: ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_1_0()); + } + // InternalFiacre.g:14560:2: ( rule__IdentifierPattern__DeclarationAssignment_1_0 ) + // InternalFiacre.g:14560:3: rule__IdentifierPattern__DeclarationAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__DeclarationAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1__1" + // InternalFiacre.g:14568:1: rule__IdentifierPattern__Group_1__1 : rule__IdentifierPattern__Group_1__1__Impl ; + public final void rule__IdentifierPattern__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14572:1: ( rule__IdentifierPattern__Group_1__1__Impl ) + // InternalFiacre.g:14573:2: rule__IdentifierPattern__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_1__1__Impl" + // InternalFiacre.g:14579:1: rule__IdentifierPattern__Group_1__1__Impl : ( ( rule__IdentifierPattern__Alternatives_1_1 )* ) ; + public final void rule__IdentifierPattern__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14583:1: ( ( ( rule__IdentifierPattern__Alternatives_1_1 )* ) ) + // InternalFiacre.g:14584:1: ( ( rule__IdentifierPattern__Alternatives_1_1 )* ) + { + // InternalFiacre.g:14584:1: ( ( rule__IdentifierPattern__Alternatives_1_1 )* ) + // InternalFiacre.g:14585:2: ( rule__IdentifierPattern__Alternatives_1_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getAlternatives_1_1()); + } + // InternalFiacre.g:14586:2: ( rule__IdentifierPattern__Alternatives_1_1 )* + loop134: + do { + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==42||LA134_0==61) ) { + alt134=1; + } + + + switch (alt134) { + case 1 : + // InternalFiacre.g:14586:3: rule__IdentifierPattern__Alternatives_1_1 + { + pushFollow(FollowSets000.FOLLOW_72); + rule__IdentifierPattern__Alternatives_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop134; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getAlternatives_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__0" + // InternalFiacre.g:14595:1: rule__IdentifierPattern__Group_1_1_0__0 : rule__IdentifierPattern__Group_1_1_0__0__Impl rule__IdentifierPattern__Group_1_1_0__1 ; + public final void rule__IdentifierPattern__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14599:1: ( rule__IdentifierPattern__Group_1_1_0__0__Impl rule__IdentifierPattern__Group_1_1_0__1 ) + // InternalFiacre.g:14600:2: rule__IdentifierPattern__Group_1_1_0__0__Impl rule__IdentifierPattern__Group_1_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierPattern__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__0__Impl" + // InternalFiacre.g:14607:1: rule__IdentifierPattern__Group_1_1_0__0__Impl : ( '[' ) ; + public final void rule__IdentifierPattern__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14611:1: ( ( '[' ) ) + // InternalFiacre.g:14612:1: ( '[' ) + { + // InternalFiacre.g:14612:1: ( '[' ) + // InternalFiacre.g:14613:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__1" + // InternalFiacre.g:14622:1: rule__IdentifierPattern__Group_1_1_0__1 : rule__IdentifierPattern__Group_1_1_0__1__Impl rule__IdentifierPattern__Group_1_1_0__2 ; + public final void rule__IdentifierPattern__Group_1_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14626:1: ( rule__IdentifierPattern__Group_1_1_0__1__Impl rule__IdentifierPattern__Group_1_1_0__2 ) + // InternalFiacre.g:14627:2: rule__IdentifierPattern__Group_1_1_0__1__Impl rule__IdentifierPattern__Group_1_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierPattern__Group_1_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__1__Impl" + // InternalFiacre.g:14634:1: rule__IdentifierPattern__Group_1_1_0__1__Impl : ( () ) ; + public final void rule__IdentifierPattern__Group_1_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14638:1: ( ( () ) ) + // InternalFiacre.g:14639:1: ( () ) + { + // InternalFiacre.g:14639:1: ( () ) + // InternalFiacre.g:14640:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1()); + } + // InternalFiacre.g:14641:2: () + // InternalFiacre.g:14641:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__2" + // InternalFiacre.g:14649:1: rule__IdentifierPattern__Group_1_1_0__2 : rule__IdentifierPattern__Group_1_1_0__2__Impl rule__IdentifierPattern__Group_1_1_0__3 ; + public final void rule__IdentifierPattern__Group_1_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14653:1: ( rule__IdentifierPattern__Group_1_1_0__2__Impl rule__IdentifierPattern__Group_1_1_0__3 ) + // InternalFiacre.g:14654:2: rule__IdentifierPattern__Group_1_1_0__2__Impl rule__IdentifierPattern__Group_1_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_51); + rule__IdentifierPattern__Group_1_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__2" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__2__Impl" + // InternalFiacre.g:14661:1: rule__IdentifierPattern__Group_1_1_0__2__Impl : ( ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) ) ; + public final void rule__IdentifierPattern__Group_1_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14665:1: ( ( ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) ) ) + // InternalFiacre.g:14666:1: ( ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) ) + { + // InternalFiacre.g:14666:1: ( ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) ) + // InternalFiacre.g:14667:2: ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getIndexAssignment_1_1_0_2()); + } + // InternalFiacre.g:14668:2: ( rule__IdentifierPattern__IndexAssignment_1_1_0_2 ) + // InternalFiacre.g:14668:3: rule__IdentifierPattern__IndexAssignment_1_1_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__IndexAssignment_1_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getIndexAssignment_1_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__2__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__3" + // InternalFiacre.g:14676:1: rule__IdentifierPattern__Group_1_1_0__3 : rule__IdentifierPattern__Group_1_1_0__3__Impl ; + public final void rule__IdentifierPattern__Group_1_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14680:1: ( rule__IdentifierPattern__Group_1_1_0__3__Impl ) + // InternalFiacre.g:14681:2: rule__IdentifierPattern__Group_1_1_0__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__3" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_0__3__Impl" + // InternalFiacre.g:14687:1: rule__IdentifierPattern__Group_1_1_0__3__Impl : ( ']' ) ; + public final void rule__IdentifierPattern__Group_1_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14691:1: ( ( ']' ) ) + // InternalFiacre.g:14692:1: ( ']' ) + { + // InternalFiacre.g:14692:1: ( ']' ) + // InternalFiacre.g:14693:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_0__3__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__0" + // InternalFiacre.g:14703:1: rule__IdentifierPattern__Group_1_1_1__0 : rule__IdentifierPattern__Group_1_1_1__0__Impl rule__IdentifierPattern__Group_1_1_1__1 ; + public final void rule__IdentifierPattern__Group_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14707:1: ( rule__IdentifierPattern__Group_1_1_1__0__Impl rule__IdentifierPattern__Group_1_1_1__1 ) + // InternalFiacre.g:14708:2: rule__IdentifierPattern__Group_1_1_1__0__Impl rule__IdentifierPattern__Group_1_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierPattern__Group_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__0" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__0__Impl" + // InternalFiacre.g:14715:1: rule__IdentifierPattern__Group_1_1_1__0__Impl : ( '.' ) ; + public final void rule__IdentifierPattern__Group_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14719:1: ( ( '.' ) ) + // InternalFiacre.g:14720:1: ( '.' ) + { + // InternalFiacre.g:14720:1: ( '.' ) + // InternalFiacre.g:14721:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); + } + match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__0__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__1" + // InternalFiacre.g:14730:1: rule__IdentifierPattern__Group_1_1_1__1 : rule__IdentifierPattern__Group_1_1_1__1__Impl rule__IdentifierPattern__Group_1_1_1__2 ; + public final void rule__IdentifierPattern__Group_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14734:1: ( rule__IdentifierPattern__Group_1_1_1__1__Impl rule__IdentifierPattern__Group_1_1_1__2 ) + // InternalFiacre.g:14735:2: rule__IdentifierPattern__Group_1_1_1__1__Impl rule__IdentifierPattern__Group_1_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierPattern__Group_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__1" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__1__Impl" + // InternalFiacre.g:14742:1: rule__IdentifierPattern__Group_1_1_1__1__Impl : ( () ) ; + public final void rule__IdentifierPattern__Group_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14746:1: ( ( () ) ) + // InternalFiacre.g:14747:1: ( () ) + { + // InternalFiacre.g:14747:1: ( () ) + // InternalFiacre.g:14748:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1()); + } + // InternalFiacre.g:14749:2: () + // InternalFiacre.g:14749:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__1__Impl" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__2" + // InternalFiacre.g:14757:1: rule__IdentifierPattern__Group_1_1_1__2 : rule__IdentifierPattern__Group_1_1_1__2__Impl ; + public final void rule__IdentifierPattern__Group_1_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14761:1: ( rule__IdentifierPattern__Group_1_1_1__2__Impl ) + // InternalFiacre.g:14762:2: rule__IdentifierPattern__Group_1_1_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__Group_1_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__2" + + + // $ANTLR start "rule__IdentifierPattern__Group_1_1_1__2__Impl" + // InternalFiacre.g:14768:1: rule__IdentifierPattern__Group_1_1_1__2__Impl : ( ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) ) ; + public final void rule__IdentifierPattern__Group_1_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14772:1: ( ( ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) ) ) + // InternalFiacre.g:14773:1: ( ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) ) + { + // InternalFiacre.g:14773:1: ( ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) ) + // InternalFiacre.g:14774:2: ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getFieldAssignment_1_1_1_2()); + } + // InternalFiacre.g:14775:2: ( rule__IdentifierPattern__FieldAssignment_1_1_1_2 ) + // InternalFiacre.g:14775:3: rule__IdentifierPattern__FieldAssignment_1_1_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierPattern__FieldAssignment_1_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getFieldAssignment_1_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__Group_1_1_1__2__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__0" + // InternalFiacre.g:14784:1: rule__ConditionalStatement__Group__0 : rule__ConditionalStatement__Group__0__Impl rule__ConditionalStatement__Group__1 ; + public final void rule__ConditionalStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14788:1: ( rule__ConditionalStatement__Group__0__Impl rule__ConditionalStatement__Group__1 ) + // InternalFiacre.g:14789:2: rule__ConditionalStatement__Group__0__Impl rule__ConditionalStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ConditionalStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__0" + + + // $ANTLR start "rule__ConditionalStatement__Group__0__Impl" + // InternalFiacre.g:14796:1: rule__ConditionalStatement__Group__0__Impl : ( 'if' ) ; + public final void rule__ConditionalStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14800:1: ( ( 'if' ) ) + // InternalFiacre.g:14801:1: ( 'if' ) + { + // InternalFiacre.g:14801:1: ( 'if' ) + // InternalFiacre.g:14802:2: 'if' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); + } + match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__0__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__1" + // InternalFiacre.g:14811:1: rule__ConditionalStatement__Group__1 : rule__ConditionalStatement__Group__1__Impl rule__ConditionalStatement__Group__2 ; + public final void rule__ConditionalStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14815:1: ( rule__ConditionalStatement__Group__1__Impl rule__ConditionalStatement__Group__2 ) + // InternalFiacre.g:14816:2: rule__ConditionalStatement__Group__1__Impl rule__ConditionalStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_73); + rule__ConditionalStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__1" + + + // $ANTLR start "rule__ConditionalStatement__Group__1__Impl" + // InternalFiacre.g:14823:1: rule__ConditionalStatement__Group__1__Impl : ( ( rule__ConditionalStatement__ConditionAssignment_1 ) ) ; + public final void rule__ConditionalStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14827:1: ( ( ( rule__ConditionalStatement__ConditionAssignment_1 ) ) ) + // InternalFiacre.g:14828:1: ( ( rule__ConditionalStatement__ConditionAssignment_1 ) ) + { + // InternalFiacre.g:14828:1: ( ( rule__ConditionalStatement__ConditionAssignment_1 ) ) + // InternalFiacre.g:14829:2: ( rule__ConditionalStatement__ConditionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getConditionAssignment_1()); + } + // InternalFiacre.g:14830:2: ( rule__ConditionalStatement__ConditionAssignment_1 ) + // InternalFiacre.g:14830:3: rule__ConditionalStatement__ConditionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getConditionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__1__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__2" + // InternalFiacre.g:14838:1: rule__ConditionalStatement__Group__2 : rule__ConditionalStatement__Group__2__Impl rule__ConditionalStatement__Group__3 ; + public final void rule__ConditionalStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14842:1: ( rule__ConditionalStatement__Group__2__Impl rule__ConditionalStatement__Group__3 ) + // InternalFiacre.g:14843:2: rule__ConditionalStatement__Group__2__Impl rule__ConditionalStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ConditionalStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__2" + + + // $ANTLR start "rule__ConditionalStatement__Group__2__Impl" + // InternalFiacre.g:14850:1: rule__ConditionalStatement__Group__2__Impl : ( 'then' ) ; + public final void rule__ConditionalStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14854:1: ( ( 'then' ) ) + // InternalFiacre.g:14855:1: ( 'then' ) + { + // InternalFiacre.g:14855:1: ( 'then' ) + // InternalFiacre.g:14856:2: 'then' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); + } + match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__2__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__3" + // InternalFiacre.g:14865:1: rule__ConditionalStatement__Group__3 : rule__ConditionalStatement__Group__3__Impl rule__ConditionalStatement__Group__4 ; + public final void rule__ConditionalStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14869:1: ( rule__ConditionalStatement__Group__3__Impl rule__ConditionalStatement__Group__4 ) + // InternalFiacre.g:14870:2: rule__ConditionalStatement__Group__3__Impl rule__ConditionalStatement__Group__4 + { + pushFollow(FollowSets000.FOLLOW_74); + rule__ConditionalStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__3" + + + // $ANTLR start "rule__ConditionalStatement__Group__3__Impl" + // InternalFiacre.g:14877:1: rule__ConditionalStatement__Group__3__Impl : ( ( rule__ConditionalStatement__ThenAssignment_3 ) ) ; + public final void rule__ConditionalStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14881:1: ( ( ( rule__ConditionalStatement__ThenAssignment_3 ) ) ) + // InternalFiacre.g:14882:1: ( ( rule__ConditionalStatement__ThenAssignment_3 ) ) + { + // InternalFiacre.g:14882:1: ( ( rule__ConditionalStatement__ThenAssignment_3 ) ) + // InternalFiacre.g:14883:2: ( rule__ConditionalStatement__ThenAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getThenAssignment_3()); + } + // InternalFiacre.g:14884:2: ( rule__ConditionalStatement__ThenAssignment_3 ) + // InternalFiacre.g:14884:3: rule__ConditionalStatement__ThenAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__ThenAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getThenAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__3__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__4" + // InternalFiacre.g:14892:1: rule__ConditionalStatement__Group__4 : rule__ConditionalStatement__Group__4__Impl rule__ConditionalStatement__Group__5 ; + public final void rule__ConditionalStatement__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14896:1: ( rule__ConditionalStatement__Group__4__Impl rule__ConditionalStatement__Group__5 ) + // InternalFiacre.g:14897:2: rule__ConditionalStatement__Group__4__Impl rule__ConditionalStatement__Group__5 + { + pushFollow(FollowSets000.FOLLOW_74); + rule__ConditionalStatement__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__4" + + + // $ANTLR start "rule__ConditionalStatement__Group__4__Impl" + // InternalFiacre.g:14904:1: rule__ConditionalStatement__Group__4__Impl : ( ( rule__ConditionalStatement__ElseifAssignment_4 )* ) ; + public final void rule__ConditionalStatement__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14908:1: ( ( ( rule__ConditionalStatement__ElseifAssignment_4 )* ) ) + // InternalFiacre.g:14909:1: ( ( rule__ConditionalStatement__ElseifAssignment_4 )* ) + { + // InternalFiacre.g:14909:1: ( ( rule__ConditionalStatement__ElseifAssignment_4 )* ) + // InternalFiacre.g:14910:2: ( rule__ConditionalStatement__ElseifAssignment_4 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getElseifAssignment_4()); + } + // InternalFiacre.g:14911:2: ( rule__ConditionalStatement__ElseifAssignment_4 )* + loop135: + do { + int alt135=2; + int LA135_0 = input.LA(1); + + if ( (LA135_0==65) ) { + alt135=1; + } + + + switch (alt135) { + case 1 : + // InternalFiacre.g:14911:3: rule__ConditionalStatement__ElseifAssignment_4 + { + pushFollow(FollowSets000.FOLLOW_75); + rule__ConditionalStatement__ElseifAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop135; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getElseifAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__4__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__5" + // InternalFiacre.g:14919:1: rule__ConditionalStatement__Group__5 : rule__ConditionalStatement__Group__5__Impl rule__ConditionalStatement__Group__6 ; + public final void rule__ConditionalStatement__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14923:1: ( rule__ConditionalStatement__Group__5__Impl rule__ConditionalStatement__Group__6 ) + // InternalFiacre.g:14924:2: rule__ConditionalStatement__Group__5__Impl rule__ConditionalStatement__Group__6 + { + pushFollow(FollowSets000.FOLLOW_74); + rule__ConditionalStatement__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__5" + + + // $ANTLR start "rule__ConditionalStatement__Group__5__Impl" + // InternalFiacre.g:14931:1: rule__ConditionalStatement__Group__5__Impl : ( ( rule__ConditionalStatement__Group_5__0 )? ) ; + public final void rule__ConditionalStatement__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14935:1: ( ( ( rule__ConditionalStatement__Group_5__0 )? ) ) + // InternalFiacre.g:14936:1: ( ( rule__ConditionalStatement__Group_5__0 )? ) + { + // InternalFiacre.g:14936:1: ( ( rule__ConditionalStatement__Group_5__0 )? ) + // InternalFiacre.g:14937:2: ( rule__ConditionalStatement__Group_5__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getGroup_5()); + } + // InternalFiacre.g:14938:2: ( rule__ConditionalStatement__Group_5__0 )? + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==64) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // InternalFiacre.g:14938:3: rule__ConditionalStatement__Group_5__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group_5__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getGroup_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__5__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__6" + // InternalFiacre.g:14946:1: rule__ConditionalStatement__Group__6 : rule__ConditionalStatement__Group__6__Impl rule__ConditionalStatement__Group__7 ; + public final void rule__ConditionalStatement__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14950:1: ( rule__ConditionalStatement__Group__6__Impl rule__ConditionalStatement__Group__7 ) + // InternalFiacre.g:14951:2: rule__ConditionalStatement__Group__6__Impl rule__ConditionalStatement__Group__7 + { + pushFollow(FollowSets000.FOLLOW_76); + rule__ConditionalStatement__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__6" + + + // $ANTLR start "rule__ConditionalStatement__Group__6__Impl" + // InternalFiacre.g:14958:1: rule__ConditionalStatement__Group__6__Impl : ( 'end' ) ; + public final void rule__ConditionalStatement__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14962:1: ( ( 'end' ) ) + // InternalFiacre.g:14963:1: ( 'end' ) + { + // InternalFiacre.g:14963:1: ( 'end' ) + // InternalFiacre.g:14964:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__6__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group__7" + // InternalFiacre.g:14973:1: rule__ConditionalStatement__Group__7 : rule__ConditionalStatement__Group__7__Impl ; + public final void rule__ConditionalStatement__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14977:1: ( rule__ConditionalStatement__Group__7__Impl ) + // InternalFiacre.g:14978:2: rule__ConditionalStatement__Group__7__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__7" + + + // $ANTLR start "rule__ConditionalStatement__Group__7__Impl" + // InternalFiacre.g:14984:1: rule__ConditionalStatement__Group__7__Impl : ( ( 'if' )? ) ; + public final void rule__ConditionalStatement__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:14988:1: ( ( ( 'if' )? ) ) + // InternalFiacre.g:14989:1: ( ( 'if' )? ) + { + // InternalFiacre.g:14989:1: ( ( 'if' )? ) + // InternalFiacre.g:14990:2: ( 'if' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); + } + // InternalFiacre.g:14991:2: ( 'if' )? + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==62) ) { + alt137=1; + } + switch (alt137) { + case 1 : + // InternalFiacre.g:14991:3: 'if' + { + match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group__7__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group_5__0" + // InternalFiacre.g:15000:1: rule__ConditionalStatement__Group_5__0 : rule__ConditionalStatement__Group_5__0__Impl rule__ConditionalStatement__Group_5__1 ; + public final void rule__ConditionalStatement__Group_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15004:1: ( rule__ConditionalStatement__Group_5__0__Impl rule__ConditionalStatement__Group_5__1 ) + // InternalFiacre.g:15005:2: rule__ConditionalStatement__Group_5__0__Impl rule__ConditionalStatement__Group_5__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ConditionalStatement__Group_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group_5__0" + + + // $ANTLR start "rule__ConditionalStatement__Group_5__0__Impl" + // InternalFiacre.g:15012:1: rule__ConditionalStatement__Group_5__0__Impl : ( 'else' ) ; + public final void rule__ConditionalStatement__Group_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15016:1: ( ( 'else' ) ) + // InternalFiacre.g:15017:1: ( 'else' ) + { + // InternalFiacre.g:15017:1: ( 'else' ) + // InternalFiacre.g:15018:2: 'else' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); + } + match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group_5__0__Impl" + + + // $ANTLR start "rule__ConditionalStatement__Group_5__1" + // InternalFiacre.g:15027:1: rule__ConditionalStatement__Group_5__1 : rule__ConditionalStatement__Group_5__1__Impl ; + public final void rule__ConditionalStatement__Group_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15031:1: ( rule__ConditionalStatement__Group_5__1__Impl ) + // InternalFiacre.g:15032:2: rule__ConditionalStatement__Group_5__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__Group_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group_5__1" + + + // $ANTLR start "rule__ConditionalStatement__Group_5__1__Impl" + // InternalFiacre.g:15038:1: rule__ConditionalStatement__Group_5__1__Impl : ( ( rule__ConditionalStatement__ElseAssignment_5_1 ) ) ; + public final void rule__ConditionalStatement__Group_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15042:1: ( ( ( rule__ConditionalStatement__ElseAssignment_5_1 ) ) ) + // InternalFiacre.g:15043:1: ( ( rule__ConditionalStatement__ElseAssignment_5_1 ) ) + { + // InternalFiacre.g:15043:1: ( ( rule__ConditionalStatement__ElseAssignment_5_1 ) ) + // InternalFiacre.g:15044:2: ( rule__ConditionalStatement__ElseAssignment_5_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getElseAssignment_5_1()); + } + // InternalFiacre.g:15045:2: ( rule__ConditionalStatement__ElseAssignment_5_1 ) + // InternalFiacre.g:15045:3: rule__ConditionalStatement__ElseAssignment_5_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ConditionalStatement__ElseAssignment_5_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getElseAssignment_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__Group_5__1__Impl" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__0" + // InternalFiacre.g:15054:1: rule__ExtendedConditionalStatement__Group__0 : rule__ExtendedConditionalStatement__Group__0__Impl rule__ExtendedConditionalStatement__Group__1 ; + public final void rule__ExtendedConditionalStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15058:1: ( rule__ExtendedConditionalStatement__Group__0__Impl rule__ExtendedConditionalStatement__Group__1 ) + // InternalFiacre.g:15059:2: rule__ExtendedConditionalStatement__Group__0__Impl rule__ExtendedConditionalStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ExtendedConditionalStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__0" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__0__Impl" + // InternalFiacre.g:15066:1: rule__ExtendedConditionalStatement__Group__0__Impl : ( 'elsif' ) ; + public final void rule__ExtendedConditionalStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15070:1: ( ( 'elsif' ) ) + // InternalFiacre.g:15071:1: ( 'elsif' ) + { + // InternalFiacre.g:15071:1: ( 'elsif' ) + // InternalFiacre.g:15072:2: 'elsif' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); + } + match(input,65,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__0__Impl" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__1" + // InternalFiacre.g:15081:1: rule__ExtendedConditionalStatement__Group__1 : rule__ExtendedConditionalStatement__Group__1__Impl rule__ExtendedConditionalStatement__Group__2 ; + public final void rule__ExtendedConditionalStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15085:1: ( rule__ExtendedConditionalStatement__Group__1__Impl rule__ExtendedConditionalStatement__Group__2 ) + // InternalFiacre.g:15086:2: rule__ExtendedConditionalStatement__Group__1__Impl rule__ExtendedConditionalStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_73); + rule__ExtendedConditionalStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__1" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__1__Impl" + // InternalFiacre.g:15093:1: rule__ExtendedConditionalStatement__Group__1__Impl : ( ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) ) ; + public final void rule__ExtendedConditionalStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15097:1: ( ( ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) ) ) + // InternalFiacre.g:15098:1: ( ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) ) + { + // InternalFiacre.g:15098:1: ( ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) ) + // InternalFiacre.g:15099:2: ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getConditionAssignment_1()); + } + // InternalFiacre.g:15100:2: ( rule__ExtendedConditionalStatement__ConditionAssignment_1 ) + // InternalFiacre.g:15100:3: rule__ExtendedConditionalStatement__ConditionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getConditionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__1__Impl" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__2" + // InternalFiacre.g:15108:1: rule__ExtendedConditionalStatement__Group__2 : rule__ExtendedConditionalStatement__Group__2__Impl rule__ExtendedConditionalStatement__Group__3 ; + public final void rule__ExtendedConditionalStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15112:1: ( rule__ExtendedConditionalStatement__Group__2__Impl rule__ExtendedConditionalStatement__Group__3 ) + // InternalFiacre.g:15113:2: rule__ExtendedConditionalStatement__Group__2__Impl rule__ExtendedConditionalStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ExtendedConditionalStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__2" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__2__Impl" + // InternalFiacre.g:15120:1: rule__ExtendedConditionalStatement__Group__2__Impl : ( 'then' ) ; + public final void rule__ExtendedConditionalStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15124:1: ( ( 'then' ) ) + // InternalFiacre.g:15125:1: ( 'then' ) + { + // InternalFiacre.g:15125:1: ( 'then' ) + // InternalFiacre.g:15126:2: 'then' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); + } + match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__2__Impl" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__3" + // InternalFiacre.g:15135:1: rule__ExtendedConditionalStatement__Group__3 : rule__ExtendedConditionalStatement__Group__3__Impl ; + public final void rule__ExtendedConditionalStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15139:1: ( rule__ExtendedConditionalStatement__Group__3__Impl ) + // InternalFiacre.g:15140:2: rule__ExtendedConditionalStatement__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__3" + + + // $ANTLR start "rule__ExtendedConditionalStatement__Group__3__Impl" + // InternalFiacre.g:15146:1: rule__ExtendedConditionalStatement__Group__3__Impl : ( ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) ) ; + public final void rule__ExtendedConditionalStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15150:1: ( ( ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) ) ) + // InternalFiacre.g:15151:1: ( ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) ) + { + // InternalFiacre.g:15151:1: ( ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) ) + // InternalFiacre.g:15152:2: ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getThenAssignment_3()); + } + // InternalFiacre.g:15153:2: ( rule__ExtendedConditionalStatement__ThenAssignment_3 ) + // InternalFiacre.g:15153:3: rule__ExtendedConditionalStatement__ThenAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ExtendedConditionalStatement__ThenAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getThenAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__Group__3__Impl" + + + // $ANTLR start "rule__SelectStatement__Group__0" + // InternalFiacre.g:15162:1: rule__SelectStatement__Group__0 : rule__SelectStatement__Group__0__Impl rule__SelectStatement__Group__1 ; + public final void rule__SelectStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15166:1: ( rule__SelectStatement__Group__0__Impl rule__SelectStatement__Group__1 ) + // InternalFiacre.g:15167:2: rule__SelectStatement__Group__0__Impl rule__SelectStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__SelectStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__0" + + + // $ANTLR start "rule__SelectStatement__Group__0__Impl" + // InternalFiacre.g:15174:1: rule__SelectStatement__Group__0__Impl : ( 'select' ) ; + public final void rule__SelectStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15178:1: ( ( 'select' ) ) + // InternalFiacre.g:15179:1: ( 'select' ) + { + // InternalFiacre.g:15179:1: ( 'select' ) + // InternalFiacre.g:15180:2: 'select' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); + } + match(input,66,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__0__Impl" + + + // $ANTLR start "rule__SelectStatement__Group__1" + // InternalFiacre.g:15189:1: rule__SelectStatement__Group__1 : rule__SelectStatement__Group__1__Impl rule__SelectStatement__Group__2 ; + public final void rule__SelectStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15193:1: ( rule__SelectStatement__Group__1__Impl rule__SelectStatement__Group__2 ) + // InternalFiacre.g:15194:2: rule__SelectStatement__Group__1__Impl rule__SelectStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__SelectStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__1" + + + // $ANTLR start "rule__SelectStatement__Group__1__Impl" + // InternalFiacre.g:15201:1: rule__SelectStatement__Group__1__Impl : ( ( rule__SelectStatement__BodyAssignment_1 ) ) ; + public final void rule__SelectStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15205:1: ( ( ( rule__SelectStatement__BodyAssignment_1 ) ) ) + // InternalFiacre.g:15206:1: ( ( rule__SelectStatement__BodyAssignment_1 ) ) + { + // InternalFiacre.g:15206:1: ( ( rule__SelectStatement__BodyAssignment_1 ) ) + // InternalFiacre.g:15207:2: ( rule__SelectStatement__BodyAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getBodyAssignment_1()); + } + // InternalFiacre.g:15208:2: ( rule__SelectStatement__BodyAssignment_1 ) + // InternalFiacre.g:15208:3: rule__SelectStatement__BodyAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__BodyAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getBodyAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__1__Impl" + + + // $ANTLR start "rule__SelectStatement__Group__2" + // InternalFiacre.g:15216:1: rule__SelectStatement__Group__2 : rule__SelectStatement__Group__2__Impl rule__SelectStatement__Group__3 ; + public final void rule__SelectStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15220:1: ( rule__SelectStatement__Group__2__Impl rule__SelectStatement__Group__3 ) + // InternalFiacre.g:15221:2: rule__SelectStatement__Group__2__Impl rule__SelectStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__SelectStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__2" + + + // $ANTLR start "rule__SelectStatement__Group__2__Impl" + // InternalFiacre.g:15228:1: rule__SelectStatement__Group__2__Impl : ( ( rule__SelectStatement__Group_2__0 )? ) ; + public final void rule__SelectStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15232:1: ( ( ( rule__SelectStatement__Group_2__0 )? ) ) + // InternalFiacre.g:15233:1: ( ( rule__SelectStatement__Group_2__0 )? ) + { + // InternalFiacre.g:15233:1: ( ( rule__SelectStatement__Group_2__0 )? ) + // InternalFiacre.g:15234:2: ( rule__SelectStatement__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getGroup_2()); + } + // InternalFiacre.g:15235:2: ( rule__SelectStatement__Group_2__0 )? + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==17) ) { + alt138=1; + } + switch (alt138) { + case 1 : + // InternalFiacre.g:15235:3: rule__SelectStatement__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__2__Impl" + + + // $ANTLR start "rule__SelectStatement__Group__3" + // InternalFiacre.g:15243:1: rule__SelectStatement__Group__3 : rule__SelectStatement__Group__3__Impl rule__SelectStatement__Group__4 ; + public final void rule__SelectStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15247:1: ( rule__SelectStatement__Group__3__Impl rule__SelectStatement__Group__4 ) + // InternalFiacre.g:15248:2: rule__SelectStatement__Group__3__Impl rule__SelectStatement__Group__4 + { + pushFollow(FollowSets000.FOLLOW_77); + rule__SelectStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__3" + + + // $ANTLR start "rule__SelectStatement__Group__3__Impl" + // InternalFiacre.g:15255:1: rule__SelectStatement__Group__3__Impl : ( 'end' ) ; + public final void rule__SelectStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15259:1: ( ( 'end' ) ) + // InternalFiacre.g:15260:1: ( 'end' ) + { + // InternalFiacre.g:15260:1: ( 'end' ) + // InternalFiacre.g:15261:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getEndKeyword_3()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getEndKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__3__Impl" + + + // $ANTLR start "rule__SelectStatement__Group__4" + // InternalFiacre.g:15270:1: rule__SelectStatement__Group__4 : rule__SelectStatement__Group__4__Impl ; + public final void rule__SelectStatement__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15274:1: ( rule__SelectStatement__Group__4__Impl ) + // InternalFiacre.g:15275:2: rule__SelectStatement__Group__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__4" + + + // $ANTLR start "rule__SelectStatement__Group__4__Impl" + // InternalFiacre.g:15281:1: rule__SelectStatement__Group__4__Impl : ( ( 'select' )? ) ; + public final void rule__SelectStatement__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15285:1: ( ( ( 'select' )? ) ) + // InternalFiacre.g:15286:1: ( ( 'select' )? ) + { + // InternalFiacre.g:15286:1: ( ( 'select' )? ) + // InternalFiacre.g:15287:2: ( 'select' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); + } + // InternalFiacre.g:15288:2: ( 'select' )? + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==66) ) { + alt139=1; + } + switch (alt139) { + case 1 : + // InternalFiacre.g:15288:3: 'select' + { + match(input,66,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group__4__Impl" + + + // $ANTLR start "rule__SelectStatement__Group_2__0" + // InternalFiacre.g:15297:1: rule__SelectStatement__Group_2__0 : rule__SelectStatement__Group_2__0__Impl rule__SelectStatement__Group_2__1 ; + public final void rule__SelectStatement__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15301:1: ( rule__SelectStatement__Group_2__0__Impl rule__SelectStatement__Group_2__1 ) + // InternalFiacre.g:15302:2: rule__SelectStatement__Group_2__0__Impl rule__SelectStatement__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__SelectStatement__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__0" + + + // $ANTLR start "rule__SelectStatement__Group_2__0__Impl" + // InternalFiacre.g:15309:1: rule__SelectStatement__Group_2__0__Impl : ( '|' ) ; + public final void rule__SelectStatement__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15313:1: ( ( '|' ) ) + // InternalFiacre.g:15314:1: ( '|' ) + { + // InternalFiacre.g:15314:1: ( '|' ) + // InternalFiacre.g:15315:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); + } + match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__0__Impl" + + + // $ANTLR start "rule__SelectStatement__Group_2__1" + // InternalFiacre.g:15324:1: rule__SelectStatement__Group_2__1 : rule__SelectStatement__Group_2__1__Impl rule__SelectStatement__Group_2__2 ; + public final void rule__SelectStatement__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15328:1: ( rule__SelectStatement__Group_2__1__Impl rule__SelectStatement__Group_2__2 ) + // InternalFiacre.g:15329:2: rule__SelectStatement__Group_2__1__Impl rule__SelectStatement__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_46); + rule__SelectStatement__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__1" + + + // $ANTLR start "rule__SelectStatement__Group_2__1__Impl" + // InternalFiacre.g:15336:1: rule__SelectStatement__Group_2__1__Impl : ( ( rule__SelectStatement__IndexAssignment_2_1 ) ) ; + public final void rule__SelectStatement__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15340:1: ( ( ( rule__SelectStatement__IndexAssignment_2_1 ) ) ) + // InternalFiacre.g:15341:1: ( ( rule__SelectStatement__IndexAssignment_2_1 ) ) + { + // InternalFiacre.g:15341:1: ( ( rule__SelectStatement__IndexAssignment_2_1 ) ) + // InternalFiacre.g:15342:2: ( rule__SelectStatement__IndexAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getIndexAssignment_2_1()); + } + // InternalFiacre.g:15343:2: ( rule__SelectStatement__IndexAssignment_2_1 ) + // InternalFiacre.g:15343:3: rule__SelectStatement__IndexAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__IndexAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getIndexAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__1__Impl" + + + // $ANTLR start "rule__SelectStatement__Group_2__2" + // InternalFiacre.g:15351:1: rule__SelectStatement__Group_2__2 : rule__SelectStatement__Group_2__2__Impl rule__SelectStatement__Group_2__3 ; + public final void rule__SelectStatement__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15355:1: ( rule__SelectStatement__Group_2__2__Impl rule__SelectStatement__Group_2__3 ) + // InternalFiacre.g:15356:2: rule__SelectStatement__Group_2__2__Impl rule__SelectStatement__Group_2__3 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__SelectStatement__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__2" + + + // $ANTLR start "rule__SelectStatement__Group_2__2__Impl" + // InternalFiacre.g:15363:1: rule__SelectStatement__Group_2__2__Impl : ( 'in' ) ; + public final void rule__SelectStatement__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15367:1: ( ( 'in' ) ) + // InternalFiacre.g:15368:1: ( 'in' ) + { + // InternalFiacre.g:15368:1: ( 'in' ) + // InternalFiacre.g:15369:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__2__Impl" + + + // $ANTLR start "rule__SelectStatement__Group_2__3" + // InternalFiacre.g:15378:1: rule__SelectStatement__Group_2__3 : rule__SelectStatement__Group_2__3__Impl ; + public final void rule__SelectStatement__Group_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15382:1: ( rule__SelectStatement__Group_2__3__Impl ) + // InternalFiacre.g:15383:2: rule__SelectStatement__Group_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__Group_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__3" + + + // $ANTLR start "rule__SelectStatement__Group_2__3__Impl" + // InternalFiacre.g:15389:1: rule__SelectStatement__Group_2__3__Impl : ( ( rule__SelectStatement__TypeAssignment_2_3 ) ) ; + public final void rule__SelectStatement__Group_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15393:1: ( ( ( rule__SelectStatement__TypeAssignment_2_3 ) ) ) + // InternalFiacre.g:15394:1: ( ( rule__SelectStatement__TypeAssignment_2_3 ) ) + { + // InternalFiacre.g:15394:1: ( ( rule__SelectStatement__TypeAssignment_2_3 ) ) + // InternalFiacre.g:15395:2: ( rule__SelectStatement__TypeAssignment_2_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getTypeAssignment_2_3()); + } + // InternalFiacre.g:15396:2: ( rule__SelectStatement__TypeAssignment_2_3 ) + // InternalFiacre.g:15396:3: rule__SelectStatement__TypeAssignment_2_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SelectStatement__TypeAssignment_2_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getTypeAssignment_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__Group_2__3__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__0" + // InternalFiacre.g:15405:1: rule__WhileStatement__Group__0 : rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 ; + public final void rule__WhileStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15409:1: ( rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 ) + // InternalFiacre.g:15410:2: rule__WhileStatement__Group__0__Impl rule__WhileStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__WhileStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__0" + + + // $ANTLR start "rule__WhileStatement__Group__0__Impl" + // InternalFiacre.g:15417:1: rule__WhileStatement__Group__0__Impl : ( 'while' ) ; + public final void rule__WhileStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15421:1: ( ( 'while' ) ) + // InternalFiacre.g:15422:1: ( 'while' ) + { + // InternalFiacre.g:15422:1: ( 'while' ) + // InternalFiacre.g:15423:2: 'while' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); + } + match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__0__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__1" + // InternalFiacre.g:15432:1: rule__WhileStatement__Group__1 : rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 ; + public final void rule__WhileStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15436:1: ( rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 ) + // InternalFiacre.g:15437:2: rule__WhileStatement__Group__1__Impl rule__WhileStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_78); + rule__WhileStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__1" + + + // $ANTLR start "rule__WhileStatement__Group__1__Impl" + // InternalFiacre.g:15444:1: rule__WhileStatement__Group__1__Impl : ( ( rule__WhileStatement__ConditionAssignment_1 ) ) ; + public final void rule__WhileStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15448:1: ( ( ( rule__WhileStatement__ConditionAssignment_1 ) ) ) + // InternalFiacre.g:15449:1: ( ( rule__WhileStatement__ConditionAssignment_1 ) ) + { + // InternalFiacre.g:15449:1: ( ( rule__WhileStatement__ConditionAssignment_1 ) ) + // InternalFiacre.g:15450:2: ( rule__WhileStatement__ConditionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getConditionAssignment_1()); + } + // InternalFiacre.g:15451:2: ( rule__WhileStatement__ConditionAssignment_1 ) + // InternalFiacre.g:15451:3: rule__WhileStatement__ConditionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getConditionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__1__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__2" + // InternalFiacre.g:15459:1: rule__WhileStatement__Group__2 : rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 ; + public final void rule__WhileStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15463:1: ( rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 ) + // InternalFiacre.g:15464:2: rule__WhileStatement__Group__2__Impl rule__WhileStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__WhileStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__2" + + + // $ANTLR start "rule__WhileStatement__Group__2__Impl" + // InternalFiacre.g:15471:1: rule__WhileStatement__Group__2__Impl : ( 'do' ) ; + public final void rule__WhileStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15475:1: ( ( 'do' ) ) + // InternalFiacre.g:15476:1: ( 'do' ) + { + // InternalFiacre.g:15476:1: ( 'do' ) + // InternalFiacre.g:15477:2: 'do' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getDoKeyword_2()); + } + match(input,68,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getDoKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__2__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__3" + // InternalFiacre.g:15486:1: rule__WhileStatement__Group__3 : rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 ; + public final void rule__WhileStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15490:1: ( rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 ) + // InternalFiacre.g:15491:2: rule__WhileStatement__Group__3__Impl rule__WhileStatement__Group__4 + { + pushFollow(FollowSets000.FOLLOW_60); + rule__WhileStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__3" + + + // $ANTLR start "rule__WhileStatement__Group__3__Impl" + // InternalFiacre.g:15498:1: rule__WhileStatement__Group__3__Impl : ( ( rule__WhileStatement__BodyAssignment_3 ) ) ; + public final void rule__WhileStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15502:1: ( ( ( rule__WhileStatement__BodyAssignment_3 ) ) ) + // InternalFiacre.g:15503:1: ( ( rule__WhileStatement__BodyAssignment_3 ) ) + { + // InternalFiacre.g:15503:1: ( ( rule__WhileStatement__BodyAssignment_3 ) ) + // InternalFiacre.g:15504:2: ( rule__WhileStatement__BodyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getBodyAssignment_3()); + } + // InternalFiacre.g:15505:2: ( rule__WhileStatement__BodyAssignment_3 ) + // InternalFiacre.g:15505:3: rule__WhileStatement__BodyAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__BodyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getBodyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__3__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__4" + // InternalFiacre.g:15513:1: rule__WhileStatement__Group__4 : rule__WhileStatement__Group__4__Impl rule__WhileStatement__Group__5 ; + public final void rule__WhileStatement__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15517:1: ( rule__WhileStatement__Group__4__Impl rule__WhileStatement__Group__5 ) + // InternalFiacre.g:15518:2: rule__WhileStatement__Group__4__Impl rule__WhileStatement__Group__5 + { + pushFollow(FollowSets000.FOLLOW_79); + rule__WhileStatement__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__4" + + + // $ANTLR start "rule__WhileStatement__Group__4__Impl" + // InternalFiacre.g:15525:1: rule__WhileStatement__Group__4__Impl : ( 'end' ) ; + public final void rule__WhileStatement__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15529:1: ( ( 'end' ) ) + // InternalFiacre.g:15530:1: ( 'end' ) + { + // InternalFiacre.g:15530:1: ( 'end' ) + // InternalFiacre.g:15531:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getEndKeyword_4()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getEndKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__4__Impl" + + + // $ANTLR start "rule__WhileStatement__Group__5" + // InternalFiacre.g:15540:1: rule__WhileStatement__Group__5 : rule__WhileStatement__Group__5__Impl ; + public final void rule__WhileStatement__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15544:1: ( rule__WhileStatement__Group__5__Impl ) + // InternalFiacre.g:15545:2: rule__WhileStatement__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WhileStatement__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__5" + + + // $ANTLR start "rule__WhileStatement__Group__5__Impl" + // InternalFiacre.g:15551:1: rule__WhileStatement__Group__5__Impl : ( ( 'while' )? ) ; + public final void rule__WhileStatement__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15555:1: ( ( ( 'while' )? ) ) + // InternalFiacre.g:15556:1: ( ( 'while' )? ) + { + // InternalFiacre.g:15556:1: ( ( 'while' )? ) + // InternalFiacre.g:15557:2: ( 'while' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); + } + // InternalFiacre.g:15558:2: ( 'while' )? + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==67) ) { + alt140=1; + } + switch (alt140) { + case 1 : + // InternalFiacre.g:15558:3: 'while' + { + match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__Group__5__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__0" + // InternalFiacre.g:15567:1: rule__ForeachStatement__Group__0 : rule__ForeachStatement__Group__0__Impl rule__ForeachStatement__Group__1 ; + public final void rule__ForeachStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15571:1: ( rule__ForeachStatement__Group__0__Impl rule__ForeachStatement__Group__1 ) + // InternalFiacre.g:15572:2: rule__ForeachStatement__Group__0__Impl rule__ForeachStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ForeachStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__0" + + + // $ANTLR start "rule__ForeachStatement__Group__0__Impl" + // InternalFiacre.g:15579:1: rule__ForeachStatement__Group__0__Impl : ( 'foreach' ) ; + public final void rule__ForeachStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15583:1: ( ( 'foreach' ) ) + // InternalFiacre.g:15584:1: ( 'foreach' ) + { + // InternalFiacre.g:15584:1: ( 'foreach' ) + // InternalFiacre.g:15585:2: 'foreach' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); + } + match(input,69,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__0__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__1" + // InternalFiacre.g:15594:1: rule__ForeachStatement__Group__1 : rule__ForeachStatement__Group__1__Impl rule__ForeachStatement__Group__2 ; + public final void rule__ForeachStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15598:1: ( rule__ForeachStatement__Group__1__Impl rule__ForeachStatement__Group__2 ) + // InternalFiacre.g:15599:2: rule__ForeachStatement__Group__1__Impl rule__ForeachStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_78); + rule__ForeachStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__1" + + + // $ANTLR start "rule__ForeachStatement__Group__1__Impl" + // InternalFiacre.g:15606:1: rule__ForeachStatement__Group__1__Impl : ( ( rule__ForeachStatement__VariableAssignment_1 ) ) ; + public final void rule__ForeachStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15610:1: ( ( ( rule__ForeachStatement__VariableAssignment_1 ) ) ) + // InternalFiacre.g:15611:1: ( ( rule__ForeachStatement__VariableAssignment_1 ) ) + { + // InternalFiacre.g:15611:1: ( ( rule__ForeachStatement__VariableAssignment_1 ) ) + // InternalFiacre.g:15612:2: ( rule__ForeachStatement__VariableAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getVariableAssignment_1()); + } + // InternalFiacre.g:15613:2: ( rule__ForeachStatement__VariableAssignment_1 ) + // InternalFiacre.g:15613:3: rule__ForeachStatement__VariableAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__VariableAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getVariableAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__1__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__2" + // InternalFiacre.g:15621:1: rule__ForeachStatement__Group__2 : rule__ForeachStatement__Group__2__Impl rule__ForeachStatement__Group__3 ; + public final void rule__ForeachStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15625:1: ( rule__ForeachStatement__Group__2__Impl rule__ForeachStatement__Group__3 ) + // InternalFiacre.g:15626:2: rule__ForeachStatement__Group__2__Impl rule__ForeachStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__ForeachStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__2" + + + // $ANTLR start "rule__ForeachStatement__Group__2__Impl" + // InternalFiacre.g:15633:1: rule__ForeachStatement__Group__2__Impl : ( 'do' ) ; + public final void rule__ForeachStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15637:1: ( ( 'do' ) ) + // InternalFiacre.g:15638:1: ( 'do' ) + { + // InternalFiacre.g:15638:1: ( 'do' ) + // InternalFiacre.g:15639:2: 'do' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getDoKeyword_2()); + } + match(input,68,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getDoKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__2__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__3" + // InternalFiacre.g:15648:1: rule__ForeachStatement__Group__3 : rule__ForeachStatement__Group__3__Impl rule__ForeachStatement__Group__4 ; + public final void rule__ForeachStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15652:1: ( rule__ForeachStatement__Group__3__Impl rule__ForeachStatement__Group__4 ) + // InternalFiacre.g:15653:2: rule__ForeachStatement__Group__3__Impl rule__ForeachStatement__Group__4 + { + pushFollow(FollowSets000.FOLLOW_60); + rule__ForeachStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__3" + + + // $ANTLR start "rule__ForeachStatement__Group__3__Impl" + // InternalFiacre.g:15660:1: rule__ForeachStatement__Group__3__Impl : ( ( rule__ForeachStatement__BodyAssignment_3 ) ) ; + public final void rule__ForeachStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15664:1: ( ( ( rule__ForeachStatement__BodyAssignment_3 ) ) ) + // InternalFiacre.g:15665:1: ( ( rule__ForeachStatement__BodyAssignment_3 ) ) + { + // InternalFiacre.g:15665:1: ( ( rule__ForeachStatement__BodyAssignment_3 ) ) + // InternalFiacre.g:15666:2: ( rule__ForeachStatement__BodyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getBodyAssignment_3()); + } + // InternalFiacre.g:15667:2: ( rule__ForeachStatement__BodyAssignment_3 ) + // InternalFiacre.g:15667:3: rule__ForeachStatement__BodyAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__BodyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getBodyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__3__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__4" + // InternalFiacre.g:15675:1: rule__ForeachStatement__Group__4 : rule__ForeachStatement__Group__4__Impl rule__ForeachStatement__Group__5 ; + public final void rule__ForeachStatement__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15679:1: ( rule__ForeachStatement__Group__4__Impl rule__ForeachStatement__Group__5 ) + // InternalFiacre.g:15680:2: rule__ForeachStatement__Group__4__Impl rule__ForeachStatement__Group__5 + { + pushFollow(FollowSets000.FOLLOW_80); + rule__ForeachStatement__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__4" + + + // $ANTLR start "rule__ForeachStatement__Group__4__Impl" + // InternalFiacre.g:15687:1: rule__ForeachStatement__Group__4__Impl : ( 'end' ) ; + public final void rule__ForeachStatement__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15691:1: ( ( 'end' ) ) + // InternalFiacre.g:15692:1: ( 'end' ) + { + // InternalFiacre.g:15692:1: ( 'end' ) + // InternalFiacre.g:15693:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getEndKeyword_4()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getEndKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__4__Impl" + + + // $ANTLR start "rule__ForeachStatement__Group__5" + // InternalFiacre.g:15702:1: rule__ForeachStatement__Group__5 : rule__ForeachStatement__Group__5__Impl ; + public final void rule__ForeachStatement__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15706:1: ( rule__ForeachStatement__Group__5__Impl ) + // InternalFiacre.g:15707:2: rule__ForeachStatement__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ForeachStatement__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__5" + + + // $ANTLR start "rule__ForeachStatement__Group__5__Impl" + // InternalFiacre.g:15713:1: rule__ForeachStatement__Group__5__Impl : ( ( 'foreach' )? ) ; + public final void rule__ForeachStatement__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15717:1: ( ( ( 'foreach' )? ) ) + // InternalFiacre.g:15718:1: ( ( 'foreach' )? ) + { + // InternalFiacre.g:15718:1: ( ( 'foreach' )? ) + // InternalFiacre.g:15719:2: ( 'foreach' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); + } + // InternalFiacre.g:15720:2: ( 'foreach' )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==69) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // InternalFiacre.g:15720:3: 'foreach' + { + match(input,69,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__Group__5__Impl" + + + // $ANTLR start "rule__ToStatement__Group__0" + // InternalFiacre.g:15729:1: rule__ToStatement__Group__0 : rule__ToStatement__Group__0__Impl rule__ToStatement__Group__1 ; + public final void rule__ToStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15733:1: ( rule__ToStatement__Group__0__Impl rule__ToStatement__Group__1 ) + // InternalFiacre.g:15734:2: rule__ToStatement__Group__0__Impl rule__ToStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ToStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ToStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ToStatement__Group__0" + + + // $ANTLR start "rule__ToStatement__Group__0__Impl" + // InternalFiacre.g:15741:1: rule__ToStatement__Group__0__Impl : ( 'to' ) ; + public final void rule__ToStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15745:1: ( ( 'to' ) ) + // InternalFiacre.g:15746:1: ( 'to' ) + { + // InternalFiacre.g:15746:1: ( 'to' ) + // InternalFiacre.g:15747:2: 'to' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementAccess().getToKeyword_0()); + } + match(input,70,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementAccess().getToKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ToStatement__Group__0__Impl" + + + // $ANTLR start "rule__ToStatement__Group__1" + // InternalFiacre.g:15756:1: rule__ToStatement__Group__1 : rule__ToStatement__Group__1__Impl ; + public final void rule__ToStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15760:1: ( rule__ToStatement__Group__1__Impl ) + // InternalFiacre.g:15761:2: rule__ToStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ToStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ToStatement__Group__1" + + + // $ANTLR start "rule__ToStatement__Group__1__Impl" + // InternalFiacre.g:15767:1: rule__ToStatement__Group__1__Impl : ( ( rule__ToStatement__StateAssignment_1 ) ) ; + public final void rule__ToStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15771:1: ( ( ( rule__ToStatement__StateAssignment_1 ) ) ) + // InternalFiacre.g:15772:1: ( ( rule__ToStatement__StateAssignment_1 ) ) + { + // InternalFiacre.g:15772:1: ( ( rule__ToStatement__StateAssignment_1 ) ) + // InternalFiacre.g:15773:2: ( rule__ToStatement__StateAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementAccess().getStateAssignment_1()); + } + // InternalFiacre.g:15774:2: ( rule__ToStatement__StateAssignment_1 ) + // InternalFiacre.g:15774:3: rule__ToStatement__StateAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ToStatement__StateAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementAccess().getStateAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ToStatement__Group__1__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__0" + // InternalFiacre.g:15783:1: rule__CaseStatement__Group__0 : rule__CaseStatement__Group__0__Impl rule__CaseStatement__Group__1 ; + public final void rule__CaseStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15787:1: ( rule__CaseStatement__Group__0__Impl rule__CaseStatement__Group__1 ) + // InternalFiacre.g:15788:2: rule__CaseStatement__Group__0__Impl rule__CaseStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__CaseStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__0" + + + // $ANTLR start "rule__CaseStatement__Group__0__Impl" + // InternalFiacre.g:15795:1: rule__CaseStatement__Group__0__Impl : ( 'case' ) ; + public final void rule__CaseStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15799:1: ( ( 'case' ) ) + // InternalFiacre.g:15800:1: ( 'case' ) + { + // InternalFiacre.g:15800:1: ( 'case' ) + // InternalFiacre.g:15801:2: 'case' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); + } + match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__0__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__1" + // InternalFiacre.g:15810:1: rule__CaseStatement__Group__1 : rule__CaseStatement__Group__1__Impl rule__CaseStatement__Group__2 ; + public final void rule__CaseStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15814:1: ( rule__CaseStatement__Group__1__Impl rule__CaseStatement__Group__2 ) + // InternalFiacre.g:15815:2: rule__CaseStatement__Group__1__Impl rule__CaseStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_24); + rule__CaseStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__1" + + + // $ANTLR start "rule__CaseStatement__Group__1__Impl" + // InternalFiacre.g:15822:1: rule__CaseStatement__Group__1__Impl : ( ( rule__CaseStatement__ValueAssignment_1 ) ) ; + public final void rule__CaseStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15826:1: ( ( ( rule__CaseStatement__ValueAssignment_1 ) ) ) + // InternalFiacre.g:15827:1: ( ( rule__CaseStatement__ValueAssignment_1 ) ) + { + // InternalFiacre.g:15827:1: ( ( rule__CaseStatement__ValueAssignment_1 ) ) + // InternalFiacre.g:15828:2: ( rule__CaseStatement__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getValueAssignment_1()); + } + // InternalFiacre.g:15829:2: ( rule__CaseStatement__ValueAssignment_1 ) + // InternalFiacre.g:15829:3: rule__CaseStatement__ValueAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__1__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__2" + // InternalFiacre.g:15837:1: rule__CaseStatement__Group__2 : rule__CaseStatement__Group__2__Impl rule__CaseStatement__Group__3 ; + public final void rule__CaseStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15841:1: ( rule__CaseStatement__Group__2__Impl rule__CaseStatement__Group__3 ) + // InternalFiacre.g:15842:2: rule__CaseStatement__Group__2__Impl rule__CaseStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__CaseStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__2" + + + // $ANTLR start "rule__CaseStatement__Group__2__Impl" + // InternalFiacre.g:15849:1: rule__CaseStatement__Group__2__Impl : ( 'of' ) ; + public final void rule__CaseStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15853:1: ( ( 'of' ) ) + // InternalFiacre.g:15854:1: ( 'of' ) + { + // InternalFiacre.g:15854:1: ( 'of' ) + // InternalFiacre.g:15855:2: 'of' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getOfKeyword_2()); + } + match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getOfKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__2__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__3" + // InternalFiacre.g:15864:1: rule__CaseStatement__Group__3 : rule__CaseStatement__Group__3__Impl rule__CaseStatement__Group__4 ; + public final void rule__CaseStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15868:1: ( rule__CaseStatement__Group__3__Impl rule__CaseStatement__Group__4 ) + // InternalFiacre.g:15869:2: rule__CaseStatement__Group__3__Impl rule__CaseStatement__Group__4 + { + pushFollow(FollowSets000.FOLLOW_81); + rule__CaseStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__3" + + + // $ANTLR start "rule__CaseStatement__Group__3__Impl" + // InternalFiacre.g:15876:1: rule__CaseStatement__Group__3__Impl : ( ( rule__CaseStatement__PatternAssignment_3 ) ) ; + public final void rule__CaseStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15880:1: ( ( ( rule__CaseStatement__PatternAssignment_3 ) ) ) + // InternalFiacre.g:15881:1: ( ( rule__CaseStatement__PatternAssignment_3 ) ) + { + // InternalFiacre.g:15881:1: ( ( rule__CaseStatement__PatternAssignment_3 ) ) + // InternalFiacre.g:15882:2: ( rule__CaseStatement__PatternAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getPatternAssignment_3()); + } + // InternalFiacre.g:15883:2: ( rule__CaseStatement__PatternAssignment_3 ) + // InternalFiacre.g:15883:3: rule__CaseStatement__PatternAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__PatternAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getPatternAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__3__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__4" + // InternalFiacre.g:15891:1: rule__CaseStatement__Group__4 : rule__CaseStatement__Group__4__Impl rule__CaseStatement__Group__5 ; + public final void rule__CaseStatement__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15895:1: ( rule__CaseStatement__Group__4__Impl rule__CaseStatement__Group__5 ) + // InternalFiacre.g:15896:2: rule__CaseStatement__Group__4__Impl rule__CaseStatement__Group__5 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__CaseStatement__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__4" + + + // $ANTLR start "rule__CaseStatement__Group__4__Impl" + // InternalFiacre.g:15903:1: rule__CaseStatement__Group__4__Impl : ( '->' ) ; + public final void rule__CaseStatement__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15907:1: ( ( '->' ) ) + // InternalFiacre.g:15908:1: ( '->' ) + { + // InternalFiacre.g:15908:1: ( '->' ) + // InternalFiacre.g:15909:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__4__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__5" + // InternalFiacre.g:15918:1: rule__CaseStatement__Group__5 : rule__CaseStatement__Group__5__Impl rule__CaseStatement__Group__6 ; + public final void rule__CaseStatement__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15922:1: ( rule__CaseStatement__Group__5__Impl rule__CaseStatement__Group__6 ) + // InternalFiacre.g:15923:2: rule__CaseStatement__Group__5__Impl rule__CaseStatement__Group__6 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__CaseStatement__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__6(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__5" + + + // $ANTLR start "rule__CaseStatement__Group__5__Impl" + // InternalFiacre.g:15930:1: rule__CaseStatement__Group__5__Impl : ( ( rule__CaseStatement__BodyAssignment_5 ) ) ; + public final void rule__CaseStatement__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15934:1: ( ( ( rule__CaseStatement__BodyAssignment_5 ) ) ) + // InternalFiacre.g:15935:1: ( ( rule__CaseStatement__BodyAssignment_5 ) ) + { + // InternalFiacre.g:15935:1: ( ( rule__CaseStatement__BodyAssignment_5 ) ) + // InternalFiacre.g:15936:2: ( rule__CaseStatement__BodyAssignment_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getBodyAssignment_5()); + } + // InternalFiacre.g:15937:2: ( rule__CaseStatement__BodyAssignment_5 ) + // InternalFiacre.g:15937:3: rule__CaseStatement__BodyAssignment_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__BodyAssignment_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getBodyAssignment_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__5__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__6" + // InternalFiacre.g:15945:1: rule__CaseStatement__Group__6 : rule__CaseStatement__Group__6__Impl rule__CaseStatement__Group__7 ; + public final void rule__CaseStatement__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15949:1: ( rule__CaseStatement__Group__6__Impl rule__CaseStatement__Group__7 ) + // InternalFiacre.g:15950:2: rule__CaseStatement__Group__6__Impl rule__CaseStatement__Group__7 + { + pushFollow(FollowSets000.FOLLOW_33); + rule__CaseStatement__Group__6__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__7(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__6" + + + // $ANTLR start "rule__CaseStatement__Group__6__Impl" + // InternalFiacre.g:15957:1: rule__CaseStatement__Group__6__Impl : ( ( rule__CaseStatement__Group_6__0 )* ) ; + public final void rule__CaseStatement__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15961:1: ( ( ( rule__CaseStatement__Group_6__0 )* ) ) + // InternalFiacre.g:15962:1: ( ( rule__CaseStatement__Group_6__0 )* ) + { + // InternalFiacre.g:15962:1: ( ( rule__CaseStatement__Group_6__0 )* ) + // InternalFiacre.g:15963:2: ( rule__CaseStatement__Group_6__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getGroup_6()); + } + // InternalFiacre.g:15964:2: ( rule__CaseStatement__Group_6__0 )* + loop142: + do { + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==17) ) { + alt142=1; + } + + + switch (alt142) { + case 1 : + // InternalFiacre.g:15964:3: rule__CaseStatement__Group_6__0 + { + pushFollow(FollowSets000.FOLLOW_11); + rule__CaseStatement__Group_6__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop142; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getGroup_6()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__6__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__7" + // InternalFiacre.g:15972:1: rule__CaseStatement__Group__7 : rule__CaseStatement__Group__7__Impl rule__CaseStatement__Group__8 ; + public final void rule__CaseStatement__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15976:1: ( rule__CaseStatement__Group__7__Impl rule__CaseStatement__Group__8 ) + // InternalFiacre.g:15977:2: rule__CaseStatement__Group__7__Impl rule__CaseStatement__Group__8 + { + pushFollow(FollowSets000.FOLLOW_82); + rule__CaseStatement__Group__7__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__8(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__7" + + + // $ANTLR start "rule__CaseStatement__Group__7__Impl" + // InternalFiacre.g:15984:1: rule__CaseStatement__Group__7__Impl : ( 'end' ) ; + public final void rule__CaseStatement__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:15988:1: ( ( 'end' ) ) + // InternalFiacre.g:15989:1: ( 'end' ) + { + // InternalFiacre.g:15989:1: ( 'end' ) + // InternalFiacre.g:15990:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getEndKeyword_7()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getEndKeyword_7()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__7__Impl" + + + // $ANTLR start "rule__CaseStatement__Group__8" + // InternalFiacre.g:15999:1: rule__CaseStatement__Group__8 : rule__CaseStatement__Group__8__Impl ; + public final void rule__CaseStatement__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16003:1: ( rule__CaseStatement__Group__8__Impl ) + // InternalFiacre.g:16004:2: rule__CaseStatement__Group__8__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group__8__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__8" + + + // $ANTLR start "rule__CaseStatement__Group__8__Impl" + // InternalFiacre.g:16010:1: rule__CaseStatement__Group__8__Impl : ( ( 'case' )? ) ; + public final void rule__CaseStatement__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16014:1: ( ( ( 'case' )? ) ) + // InternalFiacre.g:16015:1: ( ( 'case' )? ) + { + // InternalFiacre.g:16015:1: ( ( 'case' )? ) + // InternalFiacre.g:16016:2: ( 'case' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); + } + // InternalFiacre.g:16017:2: ( 'case' )? + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==71) ) { + alt143=1; + } + switch (alt143) { + case 1 : + // InternalFiacre.g:16017:3: 'case' + { + match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group__8__Impl" + + + // $ANTLR start "rule__CaseStatement__Group_6__0" + // InternalFiacre.g:16026:1: rule__CaseStatement__Group_6__0 : rule__CaseStatement__Group_6__0__Impl rule__CaseStatement__Group_6__1 ; + public final void rule__CaseStatement__Group_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16030:1: ( rule__CaseStatement__Group_6__0__Impl rule__CaseStatement__Group_6__1 ) + // InternalFiacre.g:16031:2: rule__CaseStatement__Group_6__0__Impl rule__CaseStatement__Group_6__1 + { + pushFollow(FollowSets000.FOLLOW_63); + rule__CaseStatement__Group_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__0" + + + // $ANTLR start "rule__CaseStatement__Group_6__0__Impl" + // InternalFiacre.g:16038:1: rule__CaseStatement__Group_6__0__Impl : ( '|' ) ; + public final void rule__CaseStatement__Group_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16042:1: ( ( '|' ) ) + // InternalFiacre.g:16043:1: ( '|' ) + { + // InternalFiacre.g:16043:1: ( '|' ) + // InternalFiacre.g:16044:2: '|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); + } + match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__0__Impl" + + + // $ANTLR start "rule__CaseStatement__Group_6__1" + // InternalFiacre.g:16053:1: rule__CaseStatement__Group_6__1 : rule__CaseStatement__Group_6__1__Impl rule__CaseStatement__Group_6__2 ; + public final void rule__CaseStatement__Group_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16057:1: ( rule__CaseStatement__Group_6__1__Impl rule__CaseStatement__Group_6__2 ) + // InternalFiacre.g:16058:2: rule__CaseStatement__Group_6__1__Impl rule__CaseStatement__Group_6__2 + { + pushFollow(FollowSets000.FOLLOW_81); + rule__CaseStatement__Group_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group_6__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__1" + + + // $ANTLR start "rule__CaseStatement__Group_6__1__Impl" + // InternalFiacre.g:16065:1: rule__CaseStatement__Group_6__1__Impl : ( ( rule__CaseStatement__PatternAssignment_6_1 ) ) ; + public final void rule__CaseStatement__Group_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16069:1: ( ( ( rule__CaseStatement__PatternAssignment_6_1 ) ) ) + // InternalFiacre.g:16070:1: ( ( rule__CaseStatement__PatternAssignment_6_1 ) ) + { + // InternalFiacre.g:16070:1: ( ( rule__CaseStatement__PatternAssignment_6_1 ) ) + // InternalFiacre.g:16071:2: ( rule__CaseStatement__PatternAssignment_6_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getPatternAssignment_6_1()); + } + // InternalFiacre.g:16072:2: ( rule__CaseStatement__PatternAssignment_6_1 ) + // InternalFiacre.g:16072:3: rule__CaseStatement__PatternAssignment_6_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__PatternAssignment_6_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getPatternAssignment_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__1__Impl" + + + // $ANTLR start "rule__CaseStatement__Group_6__2" + // InternalFiacre.g:16080:1: rule__CaseStatement__Group_6__2 : rule__CaseStatement__Group_6__2__Impl rule__CaseStatement__Group_6__3 ; + public final void rule__CaseStatement__Group_6__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16084:1: ( rule__CaseStatement__Group_6__2__Impl rule__CaseStatement__Group_6__3 ) + // InternalFiacre.g:16085:2: rule__CaseStatement__Group_6__2__Impl rule__CaseStatement__Group_6__3 + { + pushFollow(FollowSets000.FOLLOW_17); + rule__CaseStatement__Group_6__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group_6__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__2" + + + // $ANTLR start "rule__CaseStatement__Group_6__2__Impl" + // InternalFiacre.g:16092:1: rule__CaseStatement__Group_6__2__Impl : ( '->' ) ; + public final void rule__CaseStatement__Group_6__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16096:1: ( ( '->' ) ) + // InternalFiacre.g:16097:1: ( '->' ) + { + // InternalFiacre.g:16097:1: ( '->' ) + // InternalFiacre.g:16098:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__2__Impl" + + + // $ANTLR start "rule__CaseStatement__Group_6__3" + // InternalFiacre.g:16107:1: rule__CaseStatement__Group_6__3 : rule__CaseStatement__Group_6__3__Impl ; + public final void rule__CaseStatement__Group_6__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16111:1: ( rule__CaseStatement__Group_6__3__Impl ) + // InternalFiacre.g:16112:2: rule__CaseStatement__Group_6__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__Group_6__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__3" + + + // $ANTLR start "rule__CaseStatement__Group_6__3__Impl" + // InternalFiacre.g:16118:1: rule__CaseStatement__Group_6__3__Impl : ( ( rule__CaseStatement__BodyAssignment_6_3 ) ) ; + public final void rule__CaseStatement__Group_6__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16122:1: ( ( ( rule__CaseStatement__BodyAssignment_6_3 ) ) ) + // InternalFiacre.g:16123:1: ( ( rule__CaseStatement__BodyAssignment_6_3 ) ) + { + // InternalFiacre.g:16123:1: ( ( rule__CaseStatement__BodyAssignment_6_3 ) ) + // InternalFiacre.g:16124:2: ( rule__CaseStatement__BodyAssignment_6_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getBodyAssignment_6_3()); + } + // InternalFiacre.g:16125:2: ( rule__CaseStatement__BodyAssignment_6_3 ) + // InternalFiacre.g:16125:3: rule__CaseStatement__BodyAssignment_6_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CaseStatement__BodyAssignment_6_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getBodyAssignment_6_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__Group_6__3__Impl" + + + // $ANTLR start "rule__LoopStatement__Group__0" + // InternalFiacre.g:16134:1: rule__LoopStatement__Group__0 : rule__LoopStatement__Group__0__Impl rule__LoopStatement__Group__1 ; + public final void rule__LoopStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16138:1: ( rule__LoopStatement__Group__0__Impl rule__LoopStatement__Group__1 ) + // InternalFiacre.g:16139:2: rule__LoopStatement__Group__0__Impl rule__LoopStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_83); + rule__LoopStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LoopStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopStatement__Group__0" + + + // $ANTLR start "rule__LoopStatement__Group__0__Impl" + // InternalFiacre.g:16146:1: rule__LoopStatement__Group__0__Impl : ( () ) ; + public final void rule__LoopStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16150:1: ( ( () ) ) + // InternalFiacre.g:16151:1: ( () ) + { + // InternalFiacre.g:16151:1: ( () ) + // InternalFiacre.g:16152:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLoopStatementAccess().getLoopStatementAction_0()); + } + // InternalFiacre.g:16153:2: () + // InternalFiacre.g:16153:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLoopStatementAccess().getLoopStatementAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopStatement__Group__0__Impl" + + + // $ANTLR start "rule__LoopStatement__Group__1" + // InternalFiacre.g:16161:1: rule__LoopStatement__Group__1 : rule__LoopStatement__Group__1__Impl ; + public final void rule__LoopStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16165:1: ( rule__LoopStatement__Group__1__Impl ) + // InternalFiacre.g:16166:2: rule__LoopStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LoopStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopStatement__Group__1" + + + // $ANTLR start "rule__LoopStatement__Group__1__Impl" + // InternalFiacre.g:16172:1: rule__LoopStatement__Group__1__Impl : ( 'loop' ) ; + public final void rule__LoopStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16176:1: ( ( 'loop' ) ) + // InternalFiacre.g:16177:1: ( 'loop' ) + { + // InternalFiacre.g:16177:1: ( 'loop' ) + // InternalFiacre.g:16178:2: 'loop' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); + } + match(input,72,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopStatement__Group__1__Impl" + + + // $ANTLR start "rule__OnStatement__Group__0" + // InternalFiacre.g:16188:1: rule__OnStatement__Group__0 : rule__OnStatement__Group__0__Impl rule__OnStatement__Group__1 ; + public final void rule__OnStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16192:1: ( rule__OnStatement__Group__0__Impl rule__OnStatement__Group__1 ) + // InternalFiacre.g:16193:2: rule__OnStatement__Group__0__Impl rule__OnStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__OnStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__OnStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OnStatement__Group__0" + + + // $ANTLR start "rule__OnStatement__Group__0__Impl" + // InternalFiacre.g:16200:1: rule__OnStatement__Group__0__Impl : ( 'on' ) ; + public final void rule__OnStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16204:1: ( ( 'on' ) ) + // InternalFiacre.g:16205:1: ( 'on' ) + { + // InternalFiacre.g:16205:1: ( 'on' ) + // InternalFiacre.g:16206:2: 'on' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOnStatementAccess().getOnKeyword_0()); + } + match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOnStatementAccess().getOnKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OnStatement__Group__0__Impl" + + + // $ANTLR start "rule__OnStatement__Group__1" + // InternalFiacre.g:16215:1: rule__OnStatement__Group__1 : rule__OnStatement__Group__1__Impl ; + public final void rule__OnStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16219:1: ( rule__OnStatement__Group__1__Impl ) + // InternalFiacre.g:16220:2: rule__OnStatement__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__OnStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OnStatement__Group__1" + + + // $ANTLR start "rule__OnStatement__Group__1__Impl" + // InternalFiacre.g:16226:1: rule__OnStatement__Group__1__Impl : ( ( rule__OnStatement__ConditionAssignment_1 ) ) ; + public final void rule__OnStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16230:1: ( ( ( rule__OnStatement__ConditionAssignment_1 ) ) ) + // InternalFiacre.g:16231:1: ( ( rule__OnStatement__ConditionAssignment_1 ) ) + { + // InternalFiacre.g:16231:1: ( ( rule__OnStatement__ConditionAssignment_1 ) ) + // InternalFiacre.g:16232:2: ( rule__OnStatement__ConditionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOnStatementAccess().getConditionAssignment_1()); + } + // InternalFiacre.g:16233:2: ( rule__OnStatement__ConditionAssignment_1 ) + // InternalFiacre.g:16233:3: rule__OnStatement__ConditionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__OnStatement__ConditionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getOnStatementAccess().getConditionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OnStatement__Group__1__Impl" + + + // $ANTLR start "rule__WaitStatement__Group__0" + // InternalFiacre.g:16242:1: rule__WaitStatement__Group__0 : rule__WaitStatement__Group__0__Impl rule__WaitStatement__Group__1 ; + public final void rule__WaitStatement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16246:1: ( rule__WaitStatement__Group__0__Impl rule__WaitStatement__Group__1 ) + // InternalFiacre.g:16247:2: rule__WaitStatement__Group__0__Impl rule__WaitStatement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__WaitStatement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__0" + + + // $ANTLR start "rule__WaitStatement__Group__0__Impl" + // InternalFiacre.g:16254:1: rule__WaitStatement__Group__0__Impl : ( 'wait' ) ; + public final void rule__WaitStatement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16258:1: ( ( 'wait' ) ) + // InternalFiacre.g:16259:1: ( 'wait' ) + { + // InternalFiacre.g:16259:1: ( 'wait' ) + // InternalFiacre.g:16260:2: 'wait' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); + } + match(input,74,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__0__Impl" + + + // $ANTLR start "rule__WaitStatement__Group__1" + // InternalFiacre.g:16269:1: rule__WaitStatement__Group__1 : rule__WaitStatement__Group__1__Impl rule__WaitStatement__Group__2 ; + public final void rule__WaitStatement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16273:1: ( rule__WaitStatement__Group__1__Impl rule__WaitStatement__Group__2 ) + // InternalFiacre.g:16274:2: rule__WaitStatement__Group__1__Impl rule__WaitStatement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__WaitStatement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__1" + + + // $ANTLR start "rule__WaitStatement__Group__1__Impl" + // InternalFiacre.g:16281:1: rule__WaitStatement__Group__1__Impl : ( ( rule__WaitStatement__LeftAssignment_1 ) ) ; + public final void rule__WaitStatement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16285:1: ( ( ( rule__WaitStatement__LeftAssignment_1 ) ) ) + // InternalFiacre.g:16286:1: ( ( rule__WaitStatement__LeftAssignment_1 ) ) + { + // InternalFiacre.g:16286:1: ( ( rule__WaitStatement__LeftAssignment_1 ) ) + // InternalFiacre.g:16287:2: ( rule__WaitStatement__LeftAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getLeftAssignment_1()); + } + // InternalFiacre.g:16288:2: ( rule__WaitStatement__LeftAssignment_1 ) + // InternalFiacre.g:16288:3: rule__WaitStatement__LeftAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__LeftAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getLeftAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__1__Impl" + + + // $ANTLR start "rule__WaitStatement__Group__2" + // InternalFiacre.g:16296:1: rule__WaitStatement__Group__2 : rule__WaitStatement__Group__2__Impl rule__WaitStatement__Group__3 ; + public final void rule__WaitStatement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16300:1: ( rule__WaitStatement__Group__2__Impl rule__WaitStatement__Group__3 ) + // InternalFiacre.g:16301:2: rule__WaitStatement__Group__2__Impl rule__WaitStatement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__WaitStatement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__2" + + + // $ANTLR start "rule__WaitStatement__Group__2__Impl" + // InternalFiacre.g:16308:1: rule__WaitStatement__Group__2__Impl : ( ',' ) ; + public final void rule__WaitStatement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16312:1: ( ( ',' ) ) + // InternalFiacre.g:16313:1: ( ',' ) + { + // InternalFiacre.g:16313:1: ( ',' ) + // InternalFiacre.g:16314:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__2__Impl" + + + // $ANTLR start "rule__WaitStatement__Group__3" + // InternalFiacre.g:16323:1: rule__WaitStatement__Group__3 : rule__WaitStatement__Group__3__Impl ; + public final void rule__WaitStatement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16327:1: ( rule__WaitStatement__Group__3__Impl ) + // InternalFiacre.g:16328:2: rule__WaitStatement__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__3" + + + // $ANTLR start "rule__WaitStatement__Group__3__Impl" + // InternalFiacre.g:16334:1: rule__WaitStatement__Group__3__Impl : ( ( rule__WaitStatement__RightAssignment_3 ) ) ; + public final void rule__WaitStatement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16338:1: ( ( ( rule__WaitStatement__RightAssignment_3 ) ) ) + // InternalFiacre.g:16339:1: ( ( rule__WaitStatement__RightAssignment_3 ) ) + { + // InternalFiacre.g:16339:1: ( ( rule__WaitStatement__RightAssignment_3 ) ) + // InternalFiacre.g:16340:2: ( rule__WaitStatement__RightAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getRightAssignment_3()); + } + // InternalFiacre.g:16341:2: ( rule__WaitStatement__RightAssignment_3 ) + // InternalFiacre.g:16341:3: rule__WaitStatement__RightAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__WaitStatement__RightAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getRightAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__Group__3__Impl" + + + // $ANTLR start "rule__Composition__Group__0" + // InternalFiacre.g:16350:1: rule__Composition__Group__0 : rule__Composition__Group__0__Impl rule__Composition__Group__1 ; + public final void rule__Composition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16354:1: ( rule__Composition__Group__0__Impl rule__Composition__Group__1 ) + // InternalFiacre.g:16355:2: rule__Composition__Group__0__Impl rule__Composition__Group__1 + { + pushFollow(FollowSets000.FOLLOW_84); + rule__Composition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__0" + + + // $ANTLR start "rule__Composition__Group__0__Impl" + // InternalFiacre.g:16362:1: rule__Composition__Group__0__Impl : ( 'par' ) ; + public final void rule__Composition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16366:1: ( ( 'par' ) ) + // InternalFiacre.g:16367:1: ( 'par' ) + { + // InternalFiacre.g:16367:1: ( 'par' ) + // InternalFiacre.g:16368:2: 'par' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getParKeyword_0()); + } + match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getParKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__0__Impl" + + + // $ANTLR start "rule__Composition__Group__1" + // InternalFiacre.g:16377:1: rule__Composition__Group__1 : rule__Composition__Group__1__Impl rule__Composition__Group__2 ; + public final void rule__Composition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16381:1: ( rule__Composition__Group__1__Impl rule__Composition__Group__2 ) + // InternalFiacre.g:16382:2: rule__Composition__Group__1__Impl rule__Composition__Group__2 + { + pushFollow(FollowSets000.FOLLOW_84); + rule__Composition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__1" + + + // $ANTLR start "rule__Composition__Group__1__Impl" + // InternalFiacre.g:16389:1: rule__Composition__Group__1__Impl : ( ( rule__Composition__Group_1__0 )? ) ; + public final void rule__Composition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16393:1: ( ( ( rule__Composition__Group_1__0 )? ) ) + // InternalFiacre.g:16394:1: ( ( rule__Composition__Group_1__0 )? ) + { + // InternalFiacre.g:16394:1: ( ( rule__Composition__Group_1__0 )? ) + // InternalFiacre.g:16395:2: ( rule__Composition__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getGroup_1()); + } + // InternalFiacre.g:16396:2: ( rule__Composition__Group_1__0 )? + int alt144=2; + alt144 = dfa144.predict(input); + switch (alt144) { + case 1 : + // InternalFiacre.g:16396:3: rule__Composition__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__1__Impl" + + + // $ANTLR start "rule__Composition__Group__2" + // InternalFiacre.g:16404:1: rule__Composition__Group__2 : rule__Composition__Group__2__Impl rule__Composition__Group__3 ; + public final void rule__Composition__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16408:1: ( rule__Composition__Group__2__Impl rule__Composition__Group__3 ) + // InternalFiacre.g:16409:2: rule__Composition__Group__2__Impl rule__Composition__Group__3 + { + pushFollow(FollowSets000.FOLLOW_85); + rule__Composition__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__2" + + + // $ANTLR start "rule__Composition__Group__2__Impl" + // InternalFiacre.g:16416:1: rule__Composition__Group__2__Impl : ( ( rule__Composition__BlocksAssignment_2 ) ) ; + public final void rule__Composition__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16420:1: ( ( ( rule__Composition__BlocksAssignment_2 ) ) ) + // InternalFiacre.g:16421:1: ( ( rule__Composition__BlocksAssignment_2 ) ) + { + // InternalFiacre.g:16421:1: ( ( rule__Composition__BlocksAssignment_2 ) ) + // InternalFiacre.g:16422:2: ( rule__Composition__BlocksAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getBlocksAssignment_2()); + } + // InternalFiacre.g:16423:2: ( rule__Composition__BlocksAssignment_2 ) + // InternalFiacre.g:16423:3: rule__Composition__BlocksAssignment_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__BlocksAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getBlocksAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__2__Impl" + + + // $ANTLR start "rule__Composition__Group__3" + // InternalFiacre.g:16431:1: rule__Composition__Group__3 : rule__Composition__Group__3__Impl rule__Composition__Group__4 ; + public final void rule__Composition__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16435:1: ( rule__Composition__Group__3__Impl rule__Composition__Group__4 ) + // InternalFiacre.g:16436:2: rule__Composition__Group__3__Impl rule__Composition__Group__4 + { + pushFollow(FollowSets000.FOLLOW_85); + rule__Composition__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__3" + + + // $ANTLR start "rule__Composition__Group__3__Impl" + // InternalFiacre.g:16443:1: rule__Composition__Group__3__Impl : ( ( rule__Composition__Group_3__0 )* ) ; + public final void rule__Composition__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16447:1: ( ( ( rule__Composition__Group_3__0 )* ) ) + // InternalFiacre.g:16448:1: ( ( rule__Composition__Group_3__0 )* ) + { + // InternalFiacre.g:16448:1: ( ( rule__Composition__Group_3__0 )* ) + // InternalFiacre.g:16449:2: ( rule__Composition__Group_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getGroup_3()); + } + // InternalFiacre.g:16450:2: ( rule__Composition__Group_3__0 )* + loop145: + do { + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==76) ) { + alt145=1; + } + + + switch (alt145) { + case 1 : + // InternalFiacre.g:16450:3: rule__Composition__Group_3__0 + { + pushFollow(FollowSets000.FOLLOW_86); + rule__Composition__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop145; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__3__Impl" + + + // $ANTLR start "rule__Composition__Group__4" + // InternalFiacre.g:16458:1: rule__Composition__Group__4 : rule__Composition__Group__4__Impl rule__Composition__Group__5 ; + public final void rule__Composition__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16462:1: ( rule__Composition__Group__4__Impl rule__Composition__Group__5 ) + // InternalFiacre.g:16463:2: rule__Composition__Group__4__Impl rule__Composition__Group__5 + { + pushFollow(FollowSets000.FOLLOW_87); + rule__Composition__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__4" + + + // $ANTLR start "rule__Composition__Group__4__Impl" + // InternalFiacre.g:16470:1: rule__Composition__Group__4__Impl : ( 'end' ) ; + public final void rule__Composition__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16474:1: ( ( 'end' ) ) + // InternalFiacre.g:16475:1: ( 'end' ) + { + // InternalFiacre.g:16475:1: ( 'end' ) + // InternalFiacre.g:16476:2: 'end' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getEndKeyword_4()); + } + match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getEndKeyword_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__4__Impl" + + + // $ANTLR start "rule__Composition__Group__5" + // InternalFiacre.g:16485:1: rule__Composition__Group__5 : rule__Composition__Group__5__Impl ; + public final void rule__Composition__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16489:1: ( rule__Composition__Group__5__Impl ) + // InternalFiacre.g:16490:2: rule__Composition__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__5" + + + // $ANTLR start "rule__Composition__Group__5__Impl" + // InternalFiacre.g:16496:1: rule__Composition__Group__5__Impl : ( ( 'par' )? ) ; + public final void rule__Composition__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16500:1: ( ( ( 'par' )? ) ) + // InternalFiacre.g:16501:1: ( ( 'par' )? ) + { + // InternalFiacre.g:16501:1: ( ( 'par' )? ) + // InternalFiacre.g:16502:2: ( 'par' )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getParKeyword_5()); + } + // InternalFiacre.g:16503:2: ( 'par' )? + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==75) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // InternalFiacre.g:16503:3: 'par' + { + match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getParKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group__5__Impl" + + + // $ANTLR start "rule__Composition__Group_1__0" + // InternalFiacre.g:16512:1: rule__Composition__Group_1__0 : rule__Composition__Group_1__0__Impl rule__Composition__Group_1__1 ; + public final void rule__Composition__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16516:1: ( rule__Composition__Group_1__0__Impl rule__Composition__Group_1__1 ) + // InternalFiacre.g:16517:2: rule__Composition__Group_1__0__Impl rule__Composition__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_46); + rule__Composition__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_1__0" + + + // $ANTLR start "rule__Composition__Group_1__0__Impl" + // InternalFiacre.g:16524:1: rule__Composition__Group_1__0__Impl : ( ( rule__Composition__GlobalAssignment_1_0 ) ) ; + public final void rule__Composition__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16528:1: ( ( ( rule__Composition__GlobalAssignment_1_0 ) ) ) + // InternalFiacre.g:16529:1: ( ( rule__Composition__GlobalAssignment_1_0 ) ) + { + // InternalFiacre.g:16529:1: ( ( rule__Composition__GlobalAssignment_1_0 ) ) + // InternalFiacre.g:16530:2: ( rule__Composition__GlobalAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getGlobalAssignment_1_0()); + } + // InternalFiacre.g:16531:2: ( rule__Composition__GlobalAssignment_1_0 ) + // InternalFiacre.g:16531:3: rule__Composition__GlobalAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__GlobalAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getGlobalAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_1__0__Impl" + + + // $ANTLR start "rule__Composition__Group_1__1" + // InternalFiacre.g:16539:1: rule__Composition__Group_1__1 : rule__Composition__Group_1__1__Impl ; + public final void rule__Composition__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16543:1: ( rule__Composition__Group_1__1__Impl ) + // InternalFiacre.g:16544:2: rule__Composition__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_1__1" + + + // $ANTLR start "rule__Composition__Group_1__1__Impl" + // InternalFiacre.g:16550:1: rule__Composition__Group_1__1__Impl : ( 'in' ) ; + public final void rule__Composition__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16554:1: ( ( 'in' ) ) + // InternalFiacre.g:16555:1: ( 'in' ) + { + // InternalFiacre.g:16555:1: ( 'in' ) + // InternalFiacre.g:16556:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getInKeyword_1_1()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getInKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_1__1__Impl" + + + // $ANTLR start "rule__Composition__Group_3__0" + // InternalFiacre.g:16566:1: rule__Composition__Group_3__0 : rule__Composition__Group_3__0__Impl rule__Composition__Group_3__1 ; + public final void rule__Composition__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16570:1: ( rule__Composition__Group_3__0__Impl rule__Composition__Group_3__1 ) + // InternalFiacre.g:16571:2: rule__Composition__Group_3__0__Impl rule__Composition__Group_3__1 + { + pushFollow(FollowSets000.FOLLOW_84); + rule__Composition__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_3__0" + + + // $ANTLR start "rule__Composition__Group_3__0__Impl" + // InternalFiacre.g:16578:1: rule__Composition__Group_3__0__Impl : ( '||' ) ; + public final void rule__Composition__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16582:1: ( ( '||' ) ) + // InternalFiacre.g:16583:1: ( '||' ) + { + // InternalFiacre.g:16583:1: ( '||' ) + // InternalFiacre.g:16584:2: '||' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); + } + match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_3__0__Impl" + + + // $ANTLR start "rule__Composition__Group_3__1" + // InternalFiacre.g:16593:1: rule__Composition__Group_3__1 : rule__Composition__Group_3__1__Impl ; + public final void rule__Composition__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16597:1: ( rule__Composition__Group_3__1__Impl ) + // InternalFiacre.g:16598:2: rule__Composition__Group_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_3__1" + + + // $ANTLR start "rule__Composition__Group_3__1__Impl" + // InternalFiacre.g:16604:1: rule__Composition__Group_3__1__Impl : ( ( rule__Composition__BlocksAssignment_3_1 ) ) ; + public final void rule__Composition__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16608:1: ( ( ( rule__Composition__BlocksAssignment_3_1 ) ) ) + // InternalFiacre.g:16609:1: ( ( rule__Composition__BlocksAssignment_3_1 ) ) + { + // InternalFiacre.g:16609:1: ( ( rule__Composition__BlocksAssignment_3_1 ) ) + // InternalFiacre.g:16610:2: ( rule__Composition__BlocksAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getBlocksAssignment_3_1()); + } + // InternalFiacre.g:16611:2: ( rule__Composition__BlocksAssignment_3_1 ) + // InternalFiacre.g:16611:3: rule__Composition__BlocksAssignment_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__BlocksAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getBlocksAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__Group_3__1__Impl" + + + // $ANTLR start "rule__CompositeBlock__Group__0" + // InternalFiacre.g:16620:1: rule__CompositeBlock__Group__0 : rule__CompositeBlock__Group__0__Impl rule__CompositeBlock__Group__1 ; + public final void rule__CompositeBlock__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16624:1: ( rule__CompositeBlock__Group__0__Impl rule__CompositeBlock__Group__1 ) + // InternalFiacre.g:16625:2: rule__CompositeBlock__Group__0__Impl rule__CompositeBlock__Group__1 + { + pushFollow(FollowSets000.FOLLOW_84); + rule__CompositeBlock__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group__0" + + + // $ANTLR start "rule__CompositeBlock__Group__0__Impl" + // InternalFiacre.g:16632:1: rule__CompositeBlock__Group__0__Impl : ( ( rule__CompositeBlock__Alternatives_0 )? ) ; + public final void rule__CompositeBlock__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16636:1: ( ( ( rule__CompositeBlock__Alternatives_0 )? ) ) + // InternalFiacre.g:16637:1: ( ( rule__CompositeBlock__Alternatives_0 )? ) + { + // InternalFiacre.g:16637:1: ( ( rule__CompositeBlock__Alternatives_0 )? ) + // InternalFiacre.g:16638:2: ( rule__CompositeBlock__Alternatives_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getAlternatives_0()); + } + // InternalFiacre.g:16639:2: ( rule__CompositeBlock__Alternatives_0 )? + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==RULE_ID||LA147_0==RULE_INT||(LA147_0>=14 && LA147_0<=15)||LA147_0==22||LA147_0==42||(LA147_0>=77 && LA147_0<=78)||(LA147_0>=87 && LA147_0<=88)||(LA147_0>=91 && LA147_0<=97)||(LA147_0>=99 && LA147_0<=100)||LA147_0==102||(LA147_0>=104 && LA147_0<=107)) ) { + alt147=1; + } + switch (alt147) { + case 1 : + // InternalFiacre.g:16639:3: rule__CompositeBlock__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group__0__Impl" + + + // $ANTLR start "rule__CompositeBlock__Group__1" + // InternalFiacre.g:16647:1: rule__CompositeBlock__Group__1 : rule__CompositeBlock__Group__1__Impl ; + public final void rule__CompositeBlock__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16651:1: ( rule__CompositeBlock__Group__1__Impl ) + // InternalFiacre.g:16652:2: rule__CompositeBlock__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group__1" + + + // $ANTLR start "rule__CompositeBlock__Group__1__Impl" + // InternalFiacre.g:16658:1: rule__CompositeBlock__Group__1__Impl : ( ( rule__CompositeBlock__CompositionAssignment_1 ) ) ; + public final void rule__CompositeBlock__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16662:1: ( ( ( rule__CompositeBlock__CompositionAssignment_1 ) ) ) + // InternalFiacre.g:16663:1: ( ( rule__CompositeBlock__CompositionAssignment_1 ) ) + { + // InternalFiacre.g:16663:1: ( ( rule__CompositeBlock__CompositionAssignment_1 ) ) + // InternalFiacre.g:16664:2: ( rule__CompositeBlock__CompositionAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getCompositionAssignment_1()); + } + // InternalFiacre.g:16665:2: ( rule__CompositeBlock__CompositionAssignment_1 ) + // InternalFiacre.g:16665:3: rule__CompositeBlock__CompositionAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__CompositionAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getCompositionAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group__1__Impl" + + + // $ANTLR start "rule__CompositeBlock__Group_0_0__0" + // InternalFiacre.g:16674:1: rule__CompositeBlock__Group_0_0__0 : rule__CompositeBlock__Group_0_0__0__Impl rule__CompositeBlock__Group_0_0__1 ; + public final void rule__CompositeBlock__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16678:1: ( rule__CompositeBlock__Group_0_0__0__Impl rule__CompositeBlock__Group_0_0__1 ) + // InternalFiacre.g:16679:2: rule__CompositeBlock__Group_0_0__0__Impl rule__CompositeBlock__Group_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_81); + rule__CompositeBlock__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group_0_0__0" + + + // $ANTLR start "rule__CompositeBlock__Group_0_0__0__Impl" + // InternalFiacre.g:16686:1: rule__CompositeBlock__Group_0_0__0__Impl : ( ( rule__CompositeBlock__LocalAssignment_0_0_0 ) ) ; + public final void rule__CompositeBlock__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16690:1: ( ( ( rule__CompositeBlock__LocalAssignment_0_0_0 ) ) ) + // InternalFiacre.g:16691:1: ( ( rule__CompositeBlock__LocalAssignment_0_0_0 ) ) + { + // InternalFiacre.g:16691:1: ( ( rule__CompositeBlock__LocalAssignment_0_0_0 ) ) + // InternalFiacre.g:16692:2: ( rule__CompositeBlock__LocalAssignment_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getLocalAssignment_0_0_0()); + } + // InternalFiacre.g:16693:2: ( rule__CompositeBlock__LocalAssignment_0_0_0 ) + // InternalFiacre.g:16693:3: rule__CompositeBlock__LocalAssignment_0_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__LocalAssignment_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getLocalAssignment_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group_0_0__0__Impl" + + + // $ANTLR start "rule__CompositeBlock__Group_0_0__1" + // InternalFiacre.g:16701:1: rule__CompositeBlock__Group_0_0__1 : rule__CompositeBlock__Group_0_0__1__Impl ; + public final void rule__CompositeBlock__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16705:1: ( rule__CompositeBlock__Group_0_0__1__Impl ) + // InternalFiacre.g:16706:2: rule__CompositeBlock__Group_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__CompositeBlock__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group_0_0__1" + + + // $ANTLR start "rule__CompositeBlock__Group_0_0__1__Impl" + // InternalFiacre.g:16712:1: rule__CompositeBlock__Group_0_0__1__Impl : ( '->' ) ; + public final void rule__CompositeBlock__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16716:1: ( ( '->' ) ) + // InternalFiacre.g:16717:1: ( '->' ) + { + // InternalFiacre.g:16717:1: ( '->' ) + // InternalFiacre.g:16718:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__Group_0_0__1__Impl" + + + // $ANTLR start "rule__InstanceDeclaration__Group__0" + // InternalFiacre.g:16728:1: rule__InstanceDeclaration__Group__0 : rule__InstanceDeclaration__Group__0__Impl rule__InstanceDeclaration__Group__1 ; + public final void rule__InstanceDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16732:1: ( rule__InstanceDeclaration__Group__0__Impl rule__InstanceDeclaration__Group__1 ) + // InternalFiacre.g:16733:2: rule__InstanceDeclaration__Group__0__Impl rule__InstanceDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_84); + rule__InstanceDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group__0" + + + // $ANTLR start "rule__InstanceDeclaration__Group__0__Impl" + // InternalFiacre.g:16740:1: rule__InstanceDeclaration__Group__0__Impl : ( ( rule__InstanceDeclaration__Alternatives_0 )? ) ; + public final void rule__InstanceDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16744:1: ( ( ( rule__InstanceDeclaration__Alternatives_0 )? ) ) + // InternalFiacre.g:16745:1: ( ( rule__InstanceDeclaration__Alternatives_0 )? ) + { + // InternalFiacre.g:16745:1: ( ( rule__InstanceDeclaration__Alternatives_0 )? ) + // InternalFiacre.g:16746:2: ( rule__InstanceDeclaration__Alternatives_0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getAlternatives_0()); + } + // InternalFiacre.g:16747:2: ( rule__InstanceDeclaration__Alternatives_0 )? + int alt148=2; + alt148 = dfa148.predict(input); + switch (alt148) { + case 1 : + // InternalFiacre.g:16747:3: rule__InstanceDeclaration__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__InstanceDeclaration__Group__1" + // InternalFiacre.g:16755:1: rule__InstanceDeclaration__Group__1 : rule__InstanceDeclaration__Group__1__Impl ; + public final void rule__InstanceDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16759:1: ( rule__InstanceDeclaration__Group__1__Impl ) + // InternalFiacre.g:16760:2: rule__InstanceDeclaration__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group__1" + + + // $ANTLR start "rule__InstanceDeclaration__Group__1__Impl" + // InternalFiacre.g:16766:1: rule__InstanceDeclaration__Group__1__Impl : ( ( rule__InstanceDeclaration__InstanceAssignment_1 ) ) ; + public final void rule__InstanceDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16770:1: ( ( ( rule__InstanceDeclaration__InstanceAssignment_1 ) ) ) + // InternalFiacre.g:16771:1: ( ( rule__InstanceDeclaration__InstanceAssignment_1 ) ) + { + // InternalFiacre.g:16771:1: ( ( rule__InstanceDeclaration__InstanceAssignment_1 ) ) + // InternalFiacre.g:16772:2: ( rule__InstanceDeclaration__InstanceAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getInstanceAssignment_1()); + } + // InternalFiacre.g:16773:2: ( rule__InstanceDeclaration__InstanceAssignment_1 ) + // InternalFiacre.g:16773:3: rule__InstanceDeclaration__InstanceAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__InstanceAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getInstanceAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__InstanceDeclaration__Group_0_0__0" + // InternalFiacre.g:16782:1: rule__InstanceDeclaration__Group_0_0__0 : rule__InstanceDeclaration__Group_0_0__0__Impl rule__InstanceDeclaration__Group_0_0__1 ; + public final void rule__InstanceDeclaration__Group_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16786:1: ( rule__InstanceDeclaration__Group_0_0__0__Impl rule__InstanceDeclaration__Group_0_0__1 ) + // InternalFiacre.g:16787:2: rule__InstanceDeclaration__Group_0_0__0__Impl rule__InstanceDeclaration__Group_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_81); + rule__InstanceDeclaration__Group_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group_0_0__0" + + + // $ANTLR start "rule__InstanceDeclaration__Group_0_0__0__Impl" + // InternalFiacre.g:16794:1: rule__InstanceDeclaration__Group_0_0__0__Impl : ( ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) ) ; + public final void rule__InstanceDeclaration__Group_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16798:1: ( ( ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) ) ) + // InternalFiacre.g:16799:1: ( ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) ) + { + // InternalFiacre.g:16799:1: ( ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) ) + // InternalFiacre.g:16800:2: ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getLocalAssignment_0_0_0()); + } + // InternalFiacre.g:16801:2: ( rule__InstanceDeclaration__LocalAssignment_0_0_0 ) + // InternalFiacre.g:16801:3: rule__InstanceDeclaration__LocalAssignment_0_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__LocalAssignment_0_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getLocalAssignment_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group_0_0__0__Impl" + + + // $ANTLR start "rule__InstanceDeclaration__Group_0_0__1" + // InternalFiacre.g:16809:1: rule__InstanceDeclaration__Group_0_0__1 : rule__InstanceDeclaration__Group_0_0__1__Impl ; + public final void rule__InstanceDeclaration__Group_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16813:1: ( rule__InstanceDeclaration__Group_0_0__1__Impl ) + // InternalFiacre.g:16814:2: rule__InstanceDeclaration__Group_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Group_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group_0_0__1" + + + // $ANTLR start "rule__InstanceDeclaration__Group_0_0__1__Impl" + // InternalFiacre.g:16820:1: rule__InstanceDeclaration__Group_0_0__1__Impl : ( '->' ) ; + public final void rule__InstanceDeclaration__Group_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16824:1: ( ( '->' ) ) + // InternalFiacre.g:16825:1: ( '->' ) + { + // InternalFiacre.g:16825:1: ( '->' ) + // InternalFiacre.g:16826:2: '->' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__Group_0_0__1__Impl" + + + // $ANTLR start "rule__PortSet__Group_1__0" + // InternalFiacre.g:16836:1: rule__PortSet__Group_1__0 : rule__PortSet__Group_1__0__Impl rule__PortSet__Group_1__1 ; + public final void rule__PortSet__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16840:1: ( rule__PortSet__Group_1__0__Impl rule__PortSet__Group_1__1 ) + // InternalFiacre.g:16841:2: rule__PortSet__Group_1__0__Impl rule__PortSet__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PortSet__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1__0" + + + // $ANTLR start "rule__PortSet__Group_1__0__Impl" + // InternalFiacre.g:16848:1: rule__PortSet__Group_1__0__Impl : ( ( rule__PortSet__PortsAssignment_1_0 ) ) ; + public final void rule__PortSet__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16852:1: ( ( ( rule__PortSet__PortsAssignment_1_0 ) ) ) + // InternalFiacre.g:16853:1: ( ( rule__PortSet__PortsAssignment_1_0 ) ) + { + // InternalFiacre.g:16853:1: ( ( rule__PortSet__PortsAssignment_1_0 ) ) + // InternalFiacre.g:16854:2: ( rule__PortSet__PortsAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getPortsAssignment_1_0()); + } + // InternalFiacre.g:16855:2: ( rule__PortSet__PortsAssignment_1_0 ) + // InternalFiacre.g:16855:3: rule__PortSet__PortsAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__PortsAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getPortsAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1__0__Impl" + + + // $ANTLR start "rule__PortSet__Group_1__1" + // InternalFiacre.g:16863:1: rule__PortSet__Group_1__1 : rule__PortSet__Group_1__1__Impl ; + public final void rule__PortSet__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16867:1: ( rule__PortSet__Group_1__1__Impl ) + // InternalFiacre.g:16868:2: rule__PortSet__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1__1" + + + // $ANTLR start "rule__PortSet__Group_1__1__Impl" + // InternalFiacre.g:16874:1: rule__PortSet__Group_1__1__Impl : ( ( rule__PortSet__Group_1_1__0 )* ) ; + public final void rule__PortSet__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16878:1: ( ( ( rule__PortSet__Group_1_1__0 )* ) ) + // InternalFiacre.g:16879:1: ( ( rule__PortSet__Group_1_1__0 )* ) + { + // InternalFiacre.g:16879:1: ( ( rule__PortSet__Group_1_1__0 )* ) + // InternalFiacre.g:16880:2: ( rule__PortSet__Group_1_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getGroup_1_1()); + } + // InternalFiacre.g:16881:2: ( rule__PortSet__Group_1_1__0 )* + loop149: + do { + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==24) ) { + alt149=1; + } + + + switch (alt149) { + case 1 : + // InternalFiacre.g:16881:3: rule__PortSet__Group_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__PortSet__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop149; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getGroup_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1__1__Impl" + + + // $ANTLR start "rule__PortSet__Group_1_1__0" + // InternalFiacre.g:16890:1: rule__PortSet__Group_1_1__0 : rule__PortSet__Group_1_1__0__Impl rule__PortSet__Group_1_1__1 ; + public final void rule__PortSet__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16894:1: ( rule__PortSet__Group_1_1__0__Impl rule__PortSet__Group_1_1__1 ) + // InternalFiacre.g:16895:2: rule__PortSet__Group_1_1__0__Impl rule__PortSet__Group_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__PortSet__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1_1__0" + + + // $ANTLR start "rule__PortSet__Group_1_1__0__Impl" + // InternalFiacre.g:16902:1: rule__PortSet__Group_1_1__0__Impl : ( ',' ) ; + public final void rule__PortSet__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16906:1: ( ( ',' ) ) + // InternalFiacre.g:16907:1: ( ',' ) + { + // InternalFiacre.g:16907:1: ( ',' ) + // InternalFiacre.g:16908:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1_1__0__Impl" + + + // $ANTLR start "rule__PortSet__Group_1_1__1" + // InternalFiacre.g:16917:1: rule__PortSet__Group_1_1__1 : rule__PortSet__Group_1_1__1__Impl ; + public final void rule__PortSet__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16921:1: ( rule__PortSet__Group_1_1__1__Impl ) + // InternalFiacre.g:16922:2: rule__PortSet__Group_1_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1_1__1" + + + // $ANTLR start "rule__PortSet__Group_1_1__1__Impl" + // InternalFiacre.g:16928:1: rule__PortSet__Group_1_1__1__Impl : ( ( rule__PortSet__PortsAssignment_1_1_1 ) ) ; + public final void rule__PortSet__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16932:1: ( ( ( rule__PortSet__PortsAssignment_1_1_1 ) ) ) + // InternalFiacre.g:16933:1: ( ( rule__PortSet__PortsAssignment_1_1_1 ) ) + { + // InternalFiacre.g:16933:1: ( ( rule__PortSet__PortsAssignment_1_1_1 ) ) + // InternalFiacre.g:16934:2: ( rule__PortSet__PortsAssignment_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getPortsAssignment_1_1_1()); + } + // InternalFiacre.g:16935:2: ( rule__PortSet__PortsAssignment_1_1_1 ) + // InternalFiacre.g:16935:3: rule__PortSet__PortsAssignment_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PortSet__PortsAssignment_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getPortsAssignment_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__Group_1_1__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__0" + // InternalFiacre.g:16944:1: rule__ComponentInstance__Group__0 : rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 ; + public final void rule__ComponentInstance__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16948:1: ( rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 ) + // InternalFiacre.g:16949:2: rule__ComponentInstance__Group__0__Impl rule__ComponentInstance__Group__1 + { + pushFollow(FollowSets000.FOLLOW_88); + rule__ComponentInstance__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__0" + + + // $ANTLR start "rule__ComponentInstance__Group__0__Impl" + // InternalFiacre.g:16956:1: rule__ComponentInstance__Group__0__Impl : ( ( rule__ComponentInstance__ComponentAssignment_0 ) ) ; + public final void rule__ComponentInstance__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16960:1: ( ( ( rule__ComponentInstance__ComponentAssignment_0 ) ) ) + // InternalFiacre.g:16961:1: ( ( rule__ComponentInstance__ComponentAssignment_0 ) ) + { + // InternalFiacre.g:16961:1: ( ( rule__ComponentInstance__ComponentAssignment_0 ) ) + // InternalFiacre.g:16962:2: ( rule__ComponentInstance__ComponentAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getComponentAssignment_0()); + } + // InternalFiacre.g:16963:2: ( rule__ComponentInstance__ComponentAssignment_0 ) + // InternalFiacre.g:16963:3: rule__ComponentInstance__ComponentAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__ComponentAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getComponentAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__1" + // InternalFiacre.g:16971:1: rule__ComponentInstance__Group__1 : rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ; + public final void rule__ComponentInstance__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16975:1: ( rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 ) + // InternalFiacre.g:16976:2: rule__ComponentInstance__Group__1__Impl rule__ComponentInstance__Group__2 + { + pushFollow(FollowSets000.FOLLOW_88); + rule__ComponentInstance__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__1" + + + // $ANTLR start "rule__ComponentInstance__Group__1__Impl" + // InternalFiacre.g:16983:1: rule__ComponentInstance__Group__1__Impl : ( ( rule__ComponentInstance__Group_1__0 )? ) ; + public final void rule__ComponentInstance__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:16987:1: ( ( ( rule__ComponentInstance__Group_1__0 )? ) ) + // InternalFiacre.g:16988:1: ( ( rule__ComponentInstance__Group_1__0 )? ) + { + // InternalFiacre.g:16988:1: ( ( rule__ComponentInstance__Group_1__0 )? ) + // InternalFiacre.g:16989:2: ( rule__ComponentInstance__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getGroup_1()); + } + // InternalFiacre.g:16990:2: ( rule__ComponentInstance__Group_1__0 )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==42) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // InternalFiacre.g:16990:3: rule__ComponentInstance__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group__2" + // InternalFiacre.g:16998:1: rule__ComponentInstance__Group__2 : rule__ComponentInstance__Group__2__Impl ; + public final void rule__ComponentInstance__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17002:1: ( rule__ComponentInstance__Group__2__Impl ) + // InternalFiacre.g:17003:2: rule__ComponentInstance__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__2" + + + // $ANTLR start "rule__ComponentInstance__Group__2__Impl" + // InternalFiacre.g:17009:1: rule__ComponentInstance__Group__2__Impl : ( ( rule__ComponentInstance__Group_2__0 )? ) ; + public final void rule__ComponentInstance__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17013:1: ( ( ( rule__ComponentInstance__Group_2__0 )? ) ) + // InternalFiacre.g:17014:1: ( ( rule__ComponentInstance__Group_2__0 )? ) + { + // InternalFiacre.g:17014:1: ( ( rule__ComponentInstance__Group_2__0 )? ) + // InternalFiacre.g:17015:2: ( rule__ComponentInstance__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getGroup_2()); + } + // InternalFiacre.g:17016:2: ( rule__ComponentInstance__Group_2__0 )? + int alt151=2; + int LA151_0 = input.LA(1); + + if ( (LA151_0==22) ) { + alt151=1; + } + switch (alt151) { + case 1 : + // InternalFiacre.g:17016:3: rule__ComponentInstance__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group__2__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1__0" + // InternalFiacre.g:17025:1: rule__ComponentInstance__Group_1__0 : rule__ComponentInstance__Group_1__0__Impl rule__ComponentInstance__Group_1__1 ; + public final void rule__ComponentInstance__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17029:1: ( rule__ComponentInstance__Group_1__0__Impl rule__ComponentInstance__Group_1__1 ) + // InternalFiacre.g:17030:2: rule__ComponentInstance__Group_1__0__Impl rule__ComponentInstance__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ComponentInstance__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__0" + + + // $ANTLR start "rule__ComponentInstance__Group_1__0__Impl" + // InternalFiacre.g:17037:1: rule__ComponentInstance__Group_1__0__Impl : ( '[' ) ; + public final void rule__ComponentInstance__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17041:1: ( ( '[' ) ) + // InternalFiacre.g:17042:1: ( '[' ) + { + // InternalFiacre.g:17042:1: ( '[' ) + // InternalFiacre.g:17043:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1__1" + // InternalFiacre.g:17052:1: rule__ComponentInstance__Group_1__1 : rule__ComponentInstance__Group_1__1__Impl rule__ComponentInstance__Group_1__2 ; + public final void rule__ComponentInstance__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17056:1: ( rule__ComponentInstance__Group_1__1__Impl rule__ComponentInstance__Group_1__2 ) + // InternalFiacre.g:17057:2: rule__ComponentInstance__Group_1__1__Impl rule__ComponentInstance__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ComponentInstance__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__1" + + + // $ANTLR start "rule__ComponentInstance__Group_1__1__Impl" + // InternalFiacre.g:17064:1: rule__ComponentInstance__Group_1__1__Impl : ( ( rule__ComponentInstance__PortsAssignment_1_1 ) ) ; + public final void rule__ComponentInstance__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17068:1: ( ( ( rule__ComponentInstance__PortsAssignment_1_1 ) ) ) + // InternalFiacre.g:17069:1: ( ( rule__ComponentInstance__PortsAssignment_1_1 ) ) + { + // InternalFiacre.g:17069:1: ( ( rule__ComponentInstance__PortsAssignment_1_1 ) ) + // InternalFiacre.g:17070:2: ( rule__ComponentInstance__PortsAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_1()); + } + // InternalFiacre.g:17071:2: ( rule__ComponentInstance__PortsAssignment_1_1 ) + // InternalFiacre.g:17071:3: rule__ComponentInstance__PortsAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__PortsAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1__2" + // InternalFiacre.g:17079:1: rule__ComponentInstance__Group_1__2 : rule__ComponentInstance__Group_1__2__Impl rule__ComponentInstance__Group_1__3 ; + public final void rule__ComponentInstance__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17083:1: ( rule__ComponentInstance__Group_1__2__Impl rule__ComponentInstance__Group_1__3 ) + // InternalFiacre.g:17084:2: rule__ComponentInstance__Group_1__2__Impl rule__ComponentInstance__Group_1__3 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__ComponentInstance__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__2" + + + // $ANTLR start "rule__ComponentInstance__Group_1__2__Impl" + // InternalFiacre.g:17091:1: rule__ComponentInstance__Group_1__2__Impl : ( ( rule__ComponentInstance__Group_1_2__0 )* ) ; + public final void rule__ComponentInstance__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17095:1: ( ( ( rule__ComponentInstance__Group_1_2__0 )* ) ) + // InternalFiacre.g:17096:1: ( ( rule__ComponentInstance__Group_1_2__0 )* ) + { + // InternalFiacre.g:17096:1: ( ( rule__ComponentInstance__Group_1_2__0 )* ) + // InternalFiacre.g:17097:2: ( rule__ComponentInstance__Group_1_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getGroup_1_2()); + } + // InternalFiacre.g:17098:2: ( rule__ComponentInstance__Group_1_2__0 )* + loop152: + do { + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==24) ) { + alt152=1; + } + + + switch (alt152) { + case 1 : + // InternalFiacre.g:17098:3: rule__ComponentInstance__Group_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentInstance__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop152; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getGroup_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__2__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1__3" + // InternalFiacre.g:17106:1: rule__ComponentInstance__Group_1__3 : rule__ComponentInstance__Group_1__3__Impl ; + public final void rule__ComponentInstance__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17110:1: ( rule__ComponentInstance__Group_1__3__Impl ) + // InternalFiacre.g:17111:2: rule__ComponentInstance__Group_1__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__3" + + + // $ANTLR start "rule__ComponentInstance__Group_1__3__Impl" + // InternalFiacre.g:17117:1: rule__ComponentInstance__Group_1__3__Impl : ( ']' ) ; + public final void rule__ComponentInstance__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17121:1: ( ( ']' ) ) + // InternalFiacre.g:17122:1: ( ']' ) + { + // InternalFiacre.g:17122:1: ( ']' ) + // InternalFiacre.g:17123:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1__3__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1_2__0" + // InternalFiacre.g:17133:1: rule__ComponentInstance__Group_1_2__0 : rule__ComponentInstance__Group_1_2__0__Impl rule__ComponentInstance__Group_1_2__1 ; + public final void rule__ComponentInstance__Group_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17137:1: ( rule__ComponentInstance__Group_1_2__0__Impl rule__ComponentInstance__Group_1_2__1 ) + // InternalFiacre.g:17138:2: rule__ComponentInstance__Group_1_2__0__Impl rule__ComponentInstance__Group_1_2__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ComponentInstance__Group_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1_2__0" + + + // $ANTLR start "rule__ComponentInstance__Group_1_2__0__Impl" + // InternalFiacre.g:17145:1: rule__ComponentInstance__Group_1_2__0__Impl : ( ',' ) ; + public final void rule__ComponentInstance__Group_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17149:1: ( ( ',' ) ) + // InternalFiacre.g:17150:1: ( ',' ) + { + // InternalFiacre.g:17150:1: ( ',' ) + // InternalFiacre.g:17151:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1_2__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_1_2__1" + // InternalFiacre.g:17160:1: rule__ComponentInstance__Group_1_2__1 : rule__ComponentInstance__Group_1_2__1__Impl ; + public final void rule__ComponentInstance__Group_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17164:1: ( rule__ComponentInstance__Group_1_2__1__Impl ) + // InternalFiacre.g:17165:2: rule__ComponentInstance__Group_1_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1_2__1" + + + // $ANTLR start "rule__ComponentInstance__Group_1_2__1__Impl" + // InternalFiacre.g:17171:1: rule__ComponentInstance__Group_1_2__1__Impl : ( ( rule__ComponentInstance__PortsAssignment_1_2_1 ) ) ; + public final void rule__ComponentInstance__Group_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17175:1: ( ( ( rule__ComponentInstance__PortsAssignment_1_2_1 ) ) ) + // InternalFiacre.g:17176:1: ( ( rule__ComponentInstance__PortsAssignment_1_2_1 ) ) + { + // InternalFiacre.g:17176:1: ( ( rule__ComponentInstance__PortsAssignment_1_2_1 ) ) + // InternalFiacre.g:17177:2: ( rule__ComponentInstance__PortsAssignment_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_2_1()); + } + // InternalFiacre.g:17178:2: ( rule__ComponentInstance__PortsAssignment_1_2_1 ) + // InternalFiacre.g:17178:3: rule__ComponentInstance__PortsAssignment_1_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__PortsAssignment_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getPortsAssignment_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_1_2__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2__0" + // InternalFiacre.g:17187:1: rule__ComponentInstance__Group_2__0 : rule__ComponentInstance__Group_2__0__Impl rule__ComponentInstance__Group_2__1 ; + public final void rule__ComponentInstance__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17191:1: ( rule__ComponentInstance__Group_2__0__Impl rule__ComponentInstance__Group_2__1 ) + // InternalFiacre.g:17192:2: rule__ComponentInstance__Group_2__0__Impl rule__ComponentInstance__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ComponentInstance__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__0" + + + // $ANTLR start "rule__ComponentInstance__Group_2__0__Impl" + // InternalFiacre.g:17199:1: rule__ComponentInstance__Group_2__0__Impl : ( '(' ) ; + public final void rule__ComponentInstance__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17203:1: ( ( '(' ) ) + // InternalFiacre.g:17204:1: ( '(' ) + { + // InternalFiacre.g:17204:1: ( '(' ) + // InternalFiacre.g:17205:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2__1" + // InternalFiacre.g:17214:1: rule__ComponentInstance__Group_2__1 : rule__ComponentInstance__Group_2__1__Impl rule__ComponentInstance__Group_2__2 ; + public final void rule__ComponentInstance__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17218:1: ( rule__ComponentInstance__Group_2__1__Impl rule__ComponentInstance__Group_2__2 ) + // InternalFiacre.g:17219:2: rule__ComponentInstance__Group_2__1__Impl rule__ComponentInstance__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ComponentInstance__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__1" + + + // $ANTLR start "rule__ComponentInstance__Group_2__1__Impl" + // InternalFiacre.g:17226:1: rule__ComponentInstance__Group_2__1__Impl : ( ( rule__ComponentInstance__ParametersAssignment_2_1 ) ) ; + public final void rule__ComponentInstance__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17230:1: ( ( ( rule__ComponentInstance__ParametersAssignment_2_1 ) ) ) + // InternalFiacre.g:17231:1: ( ( rule__ComponentInstance__ParametersAssignment_2_1 ) ) + { + // InternalFiacre.g:17231:1: ( ( rule__ComponentInstance__ParametersAssignment_2_1 ) ) + // InternalFiacre.g:17232:2: ( rule__ComponentInstance__ParametersAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_1()); + } + // InternalFiacre.g:17233:2: ( rule__ComponentInstance__ParametersAssignment_2_1 ) + // InternalFiacre.g:17233:3: rule__ComponentInstance__ParametersAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__ParametersAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__1__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2__2" + // InternalFiacre.g:17241:1: rule__ComponentInstance__Group_2__2 : rule__ComponentInstance__Group_2__2__Impl rule__ComponentInstance__Group_2__3 ; + public final void rule__ComponentInstance__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17245:1: ( rule__ComponentInstance__Group_2__2__Impl rule__ComponentInstance__Group_2__3 ) + // InternalFiacre.g:17246:2: rule__ComponentInstance__Group_2__2__Impl rule__ComponentInstance__Group_2__3 + { + pushFollow(FollowSets000.FOLLOW_44); + rule__ComponentInstance__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__2" + + + // $ANTLR start "rule__ComponentInstance__Group_2__2__Impl" + // InternalFiacre.g:17253:1: rule__ComponentInstance__Group_2__2__Impl : ( ( rule__ComponentInstance__Group_2_2__0 )* ) ; + public final void rule__ComponentInstance__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17257:1: ( ( ( rule__ComponentInstance__Group_2_2__0 )* ) ) + // InternalFiacre.g:17258:1: ( ( rule__ComponentInstance__Group_2_2__0 )* ) + { + // InternalFiacre.g:17258:1: ( ( rule__ComponentInstance__Group_2_2__0 )* ) + // InternalFiacre.g:17259:2: ( rule__ComponentInstance__Group_2_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getGroup_2_2()); + } + // InternalFiacre.g:17260:2: ( rule__ComponentInstance__Group_2_2__0 )* + loop153: + do { + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==24) ) { + alt153=1; + } + + + switch (alt153) { + case 1 : + // InternalFiacre.g:17260:3: rule__ComponentInstance__Group_2_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ComponentInstance__Group_2_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop153; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getGroup_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__2__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2__3" + // InternalFiacre.g:17268:1: rule__ComponentInstance__Group_2__3 : rule__ComponentInstance__Group_2__3__Impl ; + public final void rule__ComponentInstance__Group_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17272:1: ( rule__ComponentInstance__Group_2__3__Impl ) + // InternalFiacre.g:17273:2: rule__ComponentInstance__Group_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__3" + + + // $ANTLR start "rule__ComponentInstance__Group_2__3__Impl" + // InternalFiacre.g:17279:1: rule__ComponentInstance__Group_2__3__Impl : ( ')' ) ; + public final void rule__ComponentInstance__Group_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17283:1: ( ( ')' ) ) + // InternalFiacre.g:17284:1: ( ')' ) + { + // InternalFiacre.g:17284:1: ( ')' ) + // InternalFiacre.g:17285:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2__3__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2_2__0" + // InternalFiacre.g:17295:1: rule__ComponentInstance__Group_2_2__0 : rule__ComponentInstance__Group_2_2__0__Impl rule__ComponentInstance__Group_2_2__1 ; + public final void rule__ComponentInstance__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17299:1: ( rule__ComponentInstance__Group_2_2__0__Impl rule__ComponentInstance__Group_2_2__1 ) + // InternalFiacre.g:17300:2: rule__ComponentInstance__Group_2_2__0__Impl rule__ComponentInstance__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ComponentInstance__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2_2__0" + + + // $ANTLR start "rule__ComponentInstance__Group_2_2__0__Impl" + // InternalFiacre.g:17307:1: rule__ComponentInstance__Group_2_2__0__Impl : ( ',' ) ; + public final void rule__ComponentInstance__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17311:1: ( ( ',' ) ) + // InternalFiacre.g:17312:1: ( ',' ) + { + // InternalFiacre.g:17312:1: ( ',' ) + // InternalFiacre.g:17313:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2_2__0__Impl" + + + // $ANTLR start "rule__ComponentInstance__Group_2_2__1" + // InternalFiacre.g:17322:1: rule__ComponentInstance__Group_2_2__1 : rule__ComponentInstance__Group_2_2__1__Impl ; + public final void rule__ComponentInstance__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17326:1: ( rule__ComponentInstance__Group_2_2__1__Impl ) + // InternalFiacre.g:17327:2: rule__ComponentInstance__Group_2_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2_2__1" + + + // $ANTLR start "rule__ComponentInstance__Group_2_2__1__Impl" + // InternalFiacre.g:17333:1: rule__ComponentInstance__Group_2_2__1__Impl : ( ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) ) ; + public final void rule__ComponentInstance__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17337:1: ( ( ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) ) ) + // InternalFiacre.g:17338:1: ( ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) ) + { + // InternalFiacre.g:17338:1: ( ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) ) + // InternalFiacre.g:17339:2: ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_2_1()); + } + // InternalFiacre.g:17340:2: ( rule__ComponentInstance__ParametersAssignment_2_2_1 ) + // InternalFiacre.g:17340:3: rule__ComponentInstance__ParametersAssignment_2_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ComponentInstance__ParametersAssignment_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getParametersAssignment_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__Group_2_2__1__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__0" + // InternalFiacre.g:17349:1: rule__QuantifiedExpression__Group_0__0 : rule__QuantifiedExpression__Group_0__0__Impl rule__QuantifiedExpression__Group_0__1 ; + public final void rule__QuantifiedExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17353:1: ( rule__QuantifiedExpression__Group_0__0__Impl rule__QuantifiedExpression__Group_0__1 ) + // InternalFiacre.g:17354:2: rule__QuantifiedExpression__Group_0__0__Impl rule__QuantifiedExpression__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__QuantifiedExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__0" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__0__Impl" + // InternalFiacre.g:17361:1: rule__QuantifiedExpression__Group_0__0__Impl : ( ( rule__QuantifiedExpression__Alternatives_0_0 ) ) ; + public final void rule__QuantifiedExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17365:1: ( ( ( rule__QuantifiedExpression__Alternatives_0_0 ) ) ) + // InternalFiacre.g:17366:1: ( ( rule__QuantifiedExpression__Alternatives_0_0 ) ) + { + // InternalFiacre.g:17366:1: ( ( rule__QuantifiedExpression__Alternatives_0_0 ) ) + // InternalFiacre.g:17367:2: ( rule__QuantifiedExpression__Alternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getAlternatives_0_0()); + } + // InternalFiacre.g:17368:2: ( rule__QuantifiedExpression__Alternatives_0_0 ) + // InternalFiacre.g:17368:3: rule__QuantifiedExpression__Alternatives_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Alternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__1" + // InternalFiacre.g:17376:1: rule__QuantifiedExpression__Group_0__1 : rule__QuantifiedExpression__Group_0__1__Impl rule__QuantifiedExpression__Group_0__2 ; + public final void rule__QuantifiedExpression__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17380:1: ( rule__QuantifiedExpression__Group_0__1__Impl rule__QuantifiedExpression__Group_0__2 ) + // InternalFiacre.g:17381:2: rule__QuantifiedExpression__Group_0__1__Impl rule__QuantifiedExpression__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_89); + rule__QuantifiedExpression__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__1" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__1__Impl" + // InternalFiacre.g:17388:1: rule__QuantifiedExpression__Group_0__1__Impl : ( ( rule__QuantifiedExpression__IndexAssignment_0_1 ) ) ; + public final void rule__QuantifiedExpression__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17392:1: ( ( ( rule__QuantifiedExpression__IndexAssignment_0_1 ) ) ) + // InternalFiacre.g:17393:1: ( ( rule__QuantifiedExpression__IndexAssignment_0_1 ) ) + { + // InternalFiacre.g:17393:1: ( ( rule__QuantifiedExpression__IndexAssignment_0_1 ) ) + // InternalFiacre.g:17394:2: ( rule__QuantifiedExpression__IndexAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getIndexAssignment_0_1()); + } + // InternalFiacre.g:17395:2: ( rule__QuantifiedExpression__IndexAssignment_0_1 ) + // InternalFiacre.g:17395:3: rule__QuantifiedExpression__IndexAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__IndexAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getIndexAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__1__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__2" + // InternalFiacre.g:17403:1: rule__QuantifiedExpression__Group_0__2 : rule__QuantifiedExpression__Group_0__2__Impl rule__QuantifiedExpression__Group_0__3 ; + public final void rule__QuantifiedExpression__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17407:1: ( rule__QuantifiedExpression__Group_0__2__Impl rule__QuantifiedExpression__Group_0__3 ) + // InternalFiacre.g:17408:2: rule__QuantifiedExpression__Group_0__2__Impl rule__QuantifiedExpression__Group_0__3 + { + pushFollow(FollowSets000.FOLLOW_89); + rule__QuantifiedExpression__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__2" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__2__Impl" + // InternalFiacre.g:17415:1: rule__QuantifiedExpression__Group_0__2__Impl : ( ( rule__QuantifiedExpression__Group_0_2__0 )? ) ; + public final void rule__QuantifiedExpression__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17419:1: ( ( ( rule__QuantifiedExpression__Group_0_2__0 )? ) ) + // InternalFiacre.g:17420:1: ( ( rule__QuantifiedExpression__Group_0_2__0 )? ) + { + // InternalFiacre.g:17420:1: ( ( rule__QuantifiedExpression__Group_0_2__0 )? ) + // InternalFiacre.g:17421:2: ( rule__QuantifiedExpression__Group_0_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_2()); + } + // InternalFiacre.g:17422:2: ( rule__QuantifiedExpression__Group_0_2__0 )? + int alt154=2; + int LA154_0 = input.LA(1); + + if ( (LA154_0==49) ) { + alt154=1; + } + switch (alt154) { + case 1 : + // InternalFiacre.g:17422:3: rule__QuantifiedExpression__Group_0_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getGroup_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__2__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__3" + // InternalFiacre.g:17430:1: rule__QuantifiedExpression__Group_0__3 : rule__QuantifiedExpression__Group_0__3__Impl rule__QuantifiedExpression__Group_0__4 ; + public final void rule__QuantifiedExpression__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17434:1: ( rule__QuantifiedExpression__Group_0__3__Impl rule__QuantifiedExpression__Group_0__4 ) + // InternalFiacre.g:17435:2: rule__QuantifiedExpression__Group_0__3__Impl rule__QuantifiedExpression__Group_0__4 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__QuantifiedExpression__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__3" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__3__Impl" + // InternalFiacre.g:17442:1: rule__QuantifiedExpression__Group_0__3__Impl : ( '.' ) ; + public final void rule__QuantifiedExpression__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17446:1: ( ( '.' ) ) + // InternalFiacre.g:17447:1: ( '.' ) + { + // InternalFiacre.g:17447:1: ( '.' ) + // InternalFiacre.g:17448:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); + } + match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__3__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__4" + // InternalFiacre.g:17457:1: rule__QuantifiedExpression__Group_0__4 : rule__QuantifiedExpression__Group_0__4__Impl ; + public final void rule__QuantifiedExpression__Group_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17461:1: ( rule__QuantifiedExpression__Group_0__4__Impl ) + // InternalFiacre.g:17462:2: rule__QuantifiedExpression__Group_0__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__4" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0__4__Impl" + // InternalFiacre.g:17468:1: rule__QuantifiedExpression__Group_0__4__Impl : ( ( rule__QuantifiedExpression__ChildAssignment_0_4 ) ) ; + public final void rule__QuantifiedExpression__Group_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17472:1: ( ( ( rule__QuantifiedExpression__ChildAssignment_0_4 ) ) ) + // InternalFiacre.g:17473:1: ( ( rule__QuantifiedExpression__ChildAssignment_0_4 ) ) + { + // InternalFiacre.g:17473:1: ( ( rule__QuantifiedExpression__ChildAssignment_0_4 ) ) + // InternalFiacre.g:17474:2: ( rule__QuantifiedExpression__ChildAssignment_0_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getChildAssignment_0_4()); + } + // InternalFiacre.g:17475:2: ( rule__QuantifiedExpression__ChildAssignment_0_4 ) + // InternalFiacre.g:17475:3: rule__QuantifiedExpression__ChildAssignment_0_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__ChildAssignment_0_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getChildAssignment_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0__4__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_0__0" + // InternalFiacre.g:17484:1: rule__QuantifiedExpression__Group_0_0_0__0 : rule__QuantifiedExpression__Group_0_0_0__0__Impl rule__QuantifiedExpression__Group_0_0_0__1 ; + public final void rule__QuantifiedExpression__Group_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17488:1: ( rule__QuantifiedExpression__Group_0_0_0__0__Impl rule__QuantifiedExpression__Group_0_0_0__1 ) + // InternalFiacre.g:17489:2: rule__QuantifiedExpression__Group_0_0_0__0__Impl rule__QuantifiedExpression__Group_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_90); + rule__QuantifiedExpression__Group_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_0__0" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_0__0__Impl" + // InternalFiacre.g:17496:1: rule__QuantifiedExpression__Group_0_0_0__0__Impl : ( () ) ; + public final void rule__QuantifiedExpression__Group_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17500:1: ( ( () ) ) + // InternalFiacre.g:17501:1: ( () ) + { + // InternalFiacre.g:17501:1: ( () ) + // InternalFiacre.g:17502:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0()); + } + // InternalFiacre.g:17503:2: () + // InternalFiacre.g:17503:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_0__0__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_0__1" + // InternalFiacre.g:17511:1: rule__QuantifiedExpression__Group_0_0_0__1 : rule__QuantifiedExpression__Group_0_0_0__1__Impl ; + public final void rule__QuantifiedExpression__Group_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17515:1: ( rule__QuantifiedExpression__Group_0_0_0__1__Impl ) + // InternalFiacre.g:17516:2: rule__QuantifiedExpression__Group_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_0__1" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_0__1__Impl" + // InternalFiacre.g:17522:1: rule__QuantifiedExpression__Group_0_0_0__1__Impl : ( 'all' ) ; + public final void rule__QuantifiedExpression__Group_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17526:1: ( ( 'all' ) ) + // InternalFiacre.g:17527:1: ( 'all' ) + { + // InternalFiacre.g:17527:1: ( 'all' ) + // InternalFiacre.g:17528:2: 'all' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); + } + match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_0__1__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_1__0" + // InternalFiacre.g:17538:1: rule__QuantifiedExpression__Group_0_0_1__0 : rule__QuantifiedExpression__Group_0_0_1__0__Impl rule__QuantifiedExpression__Group_0_0_1__1 ; + public final void rule__QuantifiedExpression__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17542:1: ( rule__QuantifiedExpression__Group_0_0_1__0__Impl rule__QuantifiedExpression__Group_0_0_1__1 ) + // InternalFiacre.g:17543:2: rule__QuantifiedExpression__Group_0_0_1__0__Impl rule__QuantifiedExpression__Group_0_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_91); + rule__QuantifiedExpression__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_1__0" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_1__0__Impl" + // InternalFiacre.g:17550:1: rule__QuantifiedExpression__Group_0_0_1__0__Impl : ( () ) ; + public final void rule__QuantifiedExpression__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17554:1: ( ( () ) ) + // InternalFiacre.g:17555:1: ( () ) + { + // InternalFiacre.g:17555:1: ( () ) + // InternalFiacre.g:17556:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0()); + } + // InternalFiacre.g:17557:2: () + // InternalFiacre.g:17557:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_1__1" + // InternalFiacre.g:17565:1: rule__QuantifiedExpression__Group_0_0_1__1 : rule__QuantifiedExpression__Group_0_0_1__1__Impl ; + public final void rule__QuantifiedExpression__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17569:1: ( rule__QuantifiedExpression__Group_0_0_1__1__Impl ) + // InternalFiacre.g:17570:2: rule__QuantifiedExpression__Group_0_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_1__1" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_0_1__1__Impl" + // InternalFiacre.g:17576:1: rule__QuantifiedExpression__Group_0_0_1__1__Impl : ( 'exists' ) ; + public final void rule__QuantifiedExpression__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17580:1: ( ( 'exists' ) ) + // InternalFiacre.g:17581:1: ( 'exists' ) + { + // InternalFiacre.g:17581:1: ( 'exists' ) + // InternalFiacre.g:17582:2: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); + } + match(input,78,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_2__0" + // InternalFiacre.g:17592:1: rule__QuantifiedExpression__Group_0_2__0 : rule__QuantifiedExpression__Group_0_2__0__Impl rule__QuantifiedExpression__Group_0_2__1 ; + public final void rule__QuantifiedExpression__Group_0_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17596:1: ( rule__QuantifiedExpression__Group_0_2__0__Impl rule__QuantifiedExpression__Group_0_2__1 ) + // InternalFiacre.g:17597:2: rule__QuantifiedExpression__Group_0_2__0__Impl rule__QuantifiedExpression__Group_0_2__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__QuantifiedExpression__Group_0_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_2__0" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_2__0__Impl" + // InternalFiacre.g:17604:1: rule__QuantifiedExpression__Group_0_2__0__Impl : ( 'in' ) ; + public final void rule__QuantifiedExpression__Group_0_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17608:1: ( ( 'in' ) ) + // InternalFiacre.g:17609:1: ( 'in' ) + { + // InternalFiacre.g:17609:1: ( 'in' ) + // InternalFiacre.g:17610:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_2__0__Impl" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_2__1" + // InternalFiacre.g:17619:1: rule__QuantifiedExpression__Group_0_2__1 : rule__QuantifiedExpression__Group_0_2__1__Impl ; + public final void rule__QuantifiedExpression__Group_0_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17623:1: ( rule__QuantifiedExpression__Group_0_2__1__Impl ) + // InternalFiacre.g:17624:2: rule__QuantifiedExpression__Group_0_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__Group_0_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_2__1" + + + // $ANTLR start "rule__QuantifiedExpression__Group_0_2__1__Impl" + // InternalFiacre.g:17630:1: rule__QuantifiedExpression__Group_0_2__1__Impl : ( ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) ) ; + public final void rule__QuantifiedExpression__Group_0_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17634:1: ( ( ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) ) ) + // InternalFiacre.g:17635:1: ( ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) ) + { + // InternalFiacre.g:17635:1: ( ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) ) + // InternalFiacre.g:17636:2: ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getTypeAssignment_0_2_1()); + } + // InternalFiacre.g:17637:2: ( rule__QuantifiedExpression__TypeAssignment_0_2_1 ) + // InternalFiacre.g:17637:3: rule__QuantifiedExpression__TypeAssignment_0_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedExpression__TypeAssignment_0_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getTypeAssignment_0_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__Group_0_2__1__Impl" + + + // $ANTLR start "rule__Conditional__Group__0" + // InternalFiacre.g:17646:1: rule__Conditional__Group__0 : rule__Conditional__Group__0__Impl rule__Conditional__Group__1 ; + public final void rule__Conditional__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17650:1: ( rule__Conditional__Group__0__Impl rule__Conditional__Group__1 ) + // InternalFiacre.g:17651:2: rule__Conditional__Group__0__Impl rule__Conditional__Group__1 + { + pushFollow(FollowSets000.FOLLOW_92); + rule__Conditional__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group__0" + + + // $ANTLR start "rule__Conditional__Group__0__Impl" + // InternalFiacre.g:17658:1: rule__Conditional__Group__0__Impl : ( ruleDisjunction ) ; + public final void rule__Conditional__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17662:1: ( ( ruleDisjunction ) ) + // InternalFiacre.g:17663:1: ( ruleDisjunction ) + { + // InternalFiacre.g:17663:1: ( ruleDisjunction ) + // InternalFiacre.g:17664:2: ruleDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group__0__Impl" + + + // $ANTLR start "rule__Conditional__Group__1" + // InternalFiacre.g:17673:1: rule__Conditional__Group__1 : rule__Conditional__Group__1__Impl ; + public final void rule__Conditional__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17677:1: ( rule__Conditional__Group__1__Impl ) + // InternalFiacre.g:17678:2: rule__Conditional__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group__1" + + + // $ANTLR start "rule__Conditional__Group__1__Impl" + // InternalFiacre.g:17684:1: rule__Conditional__Group__1__Impl : ( ( rule__Conditional__Group_1__0 )? ) ; + public final void rule__Conditional__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17688:1: ( ( ( rule__Conditional__Group_1__0 )? ) ) + // InternalFiacre.g:17689:1: ( ( rule__Conditional__Group_1__0 )? ) + { + // InternalFiacre.g:17689:1: ( ( rule__Conditional__Group_1__0 )? ) + // InternalFiacre.g:17690:2: ( rule__Conditional__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getGroup_1()); + } + // InternalFiacre.g:17691:2: ( rule__Conditional__Group_1__0 )? + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==60) ) { + alt155=1; + } + switch (alt155) { + case 1 : + // InternalFiacre.g:17691:3: rule__Conditional__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group__1__Impl" + + + // $ANTLR start "rule__Conditional__Group_1__0" + // InternalFiacre.g:17700:1: rule__Conditional__Group_1__0 : rule__Conditional__Group_1__0__Impl rule__Conditional__Group_1__1 ; + public final void rule__Conditional__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17704:1: ( rule__Conditional__Group_1__0__Impl rule__Conditional__Group_1__1 ) + // InternalFiacre.g:17705:2: rule__Conditional__Group_1__0__Impl rule__Conditional__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Conditional__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__0" + + + // $ANTLR start "rule__Conditional__Group_1__0__Impl" + // InternalFiacre.g:17712:1: rule__Conditional__Group_1__0__Impl : ( '?' ) ; + public final void rule__Conditional__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17716:1: ( ( '?' ) ) + // InternalFiacre.g:17717:1: ( '?' ) + { + // InternalFiacre.g:17717:1: ( '?' ) + // InternalFiacre.g:17718:2: '?' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); + } + match(input,60,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__0__Impl" + + + // $ANTLR start "rule__Conditional__Group_1__1" + // InternalFiacre.g:17727:1: rule__Conditional__Group_1__1 : rule__Conditional__Group_1__1__Impl rule__Conditional__Group_1__2 ; + public final void rule__Conditional__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17731:1: ( rule__Conditional__Group_1__1__Impl rule__Conditional__Group_1__2 ) + // InternalFiacre.g:17732:2: rule__Conditional__Group_1__1__Impl rule__Conditional__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Conditional__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__1" + + + // $ANTLR start "rule__Conditional__Group_1__1__Impl" + // InternalFiacre.g:17739:1: rule__Conditional__Group_1__1__Impl : ( () ) ; + public final void rule__Conditional__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17743:1: ( ( () ) ) + // InternalFiacre.g:17744:1: ( () ) + { + // InternalFiacre.g:17744:1: ( () ) + // InternalFiacre.g:17745:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1()); + } + // InternalFiacre.g:17746:2: () + // InternalFiacre.g:17746:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__1__Impl" + + + // $ANTLR start "rule__Conditional__Group_1__2" + // InternalFiacre.g:17754:1: rule__Conditional__Group_1__2 : rule__Conditional__Group_1__2__Impl rule__Conditional__Group_1__3 ; + public final void rule__Conditional__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17758:1: ( rule__Conditional__Group_1__2__Impl rule__Conditional__Group_1__3 ) + // InternalFiacre.g:17759:2: rule__Conditional__Group_1__2__Impl rule__Conditional__Group_1__3 + { + pushFollow(FollowSets000.FOLLOW_14); + rule__Conditional__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__2" + + + // $ANTLR start "rule__Conditional__Group_1__2__Impl" + // InternalFiacre.g:17766:1: rule__Conditional__Group_1__2__Impl : ( ( rule__Conditional__ThenAssignment_1_2 ) ) ; + public final void rule__Conditional__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17770:1: ( ( ( rule__Conditional__ThenAssignment_1_2 ) ) ) + // InternalFiacre.g:17771:1: ( ( rule__Conditional__ThenAssignment_1_2 ) ) + { + // InternalFiacre.g:17771:1: ( ( rule__Conditional__ThenAssignment_1_2 ) ) + // InternalFiacre.g:17772:2: ( rule__Conditional__ThenAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getThenAssignment_1_2()); + } + // InternalFiacre.g:17773:2: ( rule__Conditional__ThenAssignment_1_2 ) + // InternalFiacre.g:17773:3: rule__Conditional__ThenAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__ThenAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getThenAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__2__Impl" + + + // $ANTLR start "rule__Conditional__Group_1__3" + // InternalFiacre.g:17781:1: rule__Conditional__Group_1__3 : rule__Conditional__Group_1__3__Impl rule__Conditional__Group_1__4 ; + public final void rule__Conditional__Group_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17785:1: ( rule__Conditional__Group_1__3__Impl rule__Conditional__Group_1__4 ) + // InternalFiacre.g:17786:2: rule__Conditional__Group_1__3__Impl rule__Conditional__Group_1__4 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Conditional__Group_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__3" + + + // $ANTLR start "rule__Conditional__Group_1__3__Impl" + // InternalFiacre.g:17793:1: rule__Conditional__Group_1__3__Impl : ( ':' ) ; + public final void rule__Conditional__Group_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17797:1: ( ( ':' ) ) + // InternalFiacre.g:17798:1: ( ':' ) + { + // InternalFiacre.g:17798:1: ( ':' ) + // InternalFiacre.g:17799:2: ':' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getColonKeyword_1_3()); + } + match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getColonKeyword_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__3__Impl" + + + // $ANTLR start "rule__Conditional__Group_1__4" + // InternalFiacre.g:17808:1: rule__Conditional__Group_1__4 : rule__Conditional__Group_1__4__Impl ; + public final void rule__Conditional__Group_1__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17812:1: ( rule__Conditional__Group_1__4__Impl ) + // InternalFiacre.g:17813:2: rule__Conditional__Group_1__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__Group_1__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__4" + + + // $ANTLR start "rule__Conditional__Group_1__4__Impl" + // InternalFiacre.g:17819:1: rule__Conditional__Group_1__4__Impl : ( ( rule__Conditional__ElseAssignment_1_4 ) ) ; + public final void rule__Conditional__Group_1__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17823:1: ( ( ( rule__Conditional__ElseAssignment_1_4 ) ) ) + // InternalFiacre.g:17824:1: ( ( rule__Conditional__ElseAssignment_1_4 ) ) + { + // InternalFiacre.g:17824:1: ( ( rule__Conditional__ElseAssignment_1_4 ) ) + // InternalFiacre.g:17825:2: ( rule__Conditional__ElseAssignment_1_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getElseAssignment_1_4()); + } + // InternalFiacre.g:17826:2: ( rule__Conditional__ElseAssignment_1_4 ) + // InternalFiacre.g:17826:3: rule__Conditional__ElseAssignment_1_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conditional__ElseAssignment_1_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getElseAssignment_1_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__Group_1__4__Impl" + + + // $ANTLR start "rule__Disjunction__Group__0" + // InternalFiacre.g:17835:1: rule__Disjunction__Group__0 : rule__Disjunction__Group__0__Impl rule__Disjunction__Group__1 ; + public final void rule__Disjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17839:1: ( rule__Disjunction__Group__0__Impl rule__Disjunction__Group__1 ) + // InternalFiacre.g:17840:2: rule__Disjunction__Group__0__Impl rule__Disjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__Disjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group__0" + + + // $ANTLR start "rule__Disjunction__Group__0__Impl" + // InternalFiacre.g:17847:1: rule__Disjunction__Group__0__Impl : ( ruleImplication ) ; + public final void rule__Disjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17851:1: ( ( ruleImplication ) ) + // InternalFiacre.g:17852:1: ( ruleImplication ) + { + // InternalFiacre.g:17852:1: ( ruleImplication ) + // InternalFiacre.g:17853:2: ruleImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group__0__Impl" + + + // $ANTLR start "rule__Disjunction__Group__1" + // InternalFiacre.g:17862:1: rule__Disjunction__Group__1 : rule__Disjunction__Group__1__Impl ; + public final void rule__Disjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17866:1: ( rule__Disjunction__Group__1__Impl ) + // InternalFiacre.g:17867:2: rule__Disjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group__1" + + + // $ANTLR start "rule__Disjunction__Group__1__Impl" + // InternalFiacre.g:17873:1: rule__Disjunction__Group__1__Impl : ( ( rule__Disjunction__Group_1__0 )* ) ; + public final void rule__Disjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17877:1: ( ( ( rule__Disjunction__Group_1__0 )* ) ) + // InternalFiacre.g:17878:1: ( ( rule__Disjunction__Group_1__0 )* ) + { + // InternalFiacre.g:17878:1: ( ( rule__Disjunction__Group_1__0 )* ) + // InternalFiacre.g:17879:2: ( rule__Disjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:17880:2: ( rule__Disjunction__Group_1__0 )* + loop156: + do { + int alt156=2; + int LA156_0 = input.LA(1); + + if ( (LA156_0==79) ) { + alt156=1; + } + + + switch (alt156) { + case 1 : + // InternalFiacre.g:17880:3: rule__Disjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_94); + rule__Disjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop156; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group__1__Impl" + + + // $ANTLR start "rule__Disjunction__Group_1__0" + // InternalFiacre.g:17889:1: rule__Disjunction__Group_1__0 : rule__Disjunction__Group_1__0__Impl rule__Disjunction__Group_1__1 ; + public final void rule__Disjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17893:1: ( rule__Disjunction__Group_1__0__Impl rule__Disjunction__Group_1__1 ) + // InternalFiacre.g:17894:2: rule__Disjunction__Group_1__0__Impl rule__Disjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__Disjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__0" + + + // $ANTLR start "rule__Disjunction__Group_1__0__Impl" + // InternalFiacre.g:17901:1: rule__Disjunction__Group_1__0__Impl : ( () ) ; + public final void rule__Disjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17905:1: ( ( () ) ) + // InternalFiacre.g:17906:1: ( () ) + { + // InternalFiacre.g:17906:1: ( () ) + // InternalFiacre.g:17907:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0()); + } + // InternalFiacre.g:17908:2: () + // InternalFiacre.g:17908:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__Disjunction__Group_1__1" + // InternalFiacre.g:17916:1: rule__Disjunction__Group_1__1 : rule__Disjunction__Group_1__1__Impl rule__Disjunction__Group_1__2 ; + public final void rule__Disjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17920:1: ( rule__Disjunction__Group_1__1__Impl rule__Disjunction__Group_1__2 ) + // InternalFiacre.g:17921:2: rule__Disjunction__Group_1__1__Impl rule__Disjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Disjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__1" + + + // $ANTLR start "rule__Disjunction__Group_1__1__Impl" + // InternalFiacre.g:17928:1: rule__Disjunction__Group_1__1__Impl : ( 'or' ) ; + public final void rule__Disjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17932:1: ( ( 'or' ) ) + // InternalFiacre.g:17933:1: ( 'or' ) + { + // InternalFiacre.g:17933:1: ( 'or' ) + // InternalFiacre.g:17934:2: 'or' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); + } + match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__Disjunction__Group_1__2" + // InternalFiacre.g:17943:1: rule__Disjunction__Group_1__2 : rule__Disjunction__Group_1__2__Impl ; + public final void rule__Disjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17947:1: ( rule__Disjunction__Group_1__2__Impl ) + // InternalFiacre.g:17948:2: rule__Disjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__2" + + + // $ANTLR start "rule__Disjunction__Group_1__2__Impl" + // InternalFiacre.g:17954:1: rule__Disjunction__Group_1__2__Impl : ( ( rule__Disjunction__RightAssignment_1_2 ) ) ; + public final void rule__Disjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17958:1: ( ( ( rule__Disjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:17959:1: ( ( rule__Disjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:17959:1: ( ( rule__Disjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:17960:2: ( rule__Disjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:17961:2: ( rule__Disjunction__RightAssignment_1_2 ) + // InternalFiacre.g:17961:3: rule__Disjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Disjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__Implication__Group__0" + // InternalFiacre.g:17970:1: rule__Implication__Group__0 : rule__Implication__Group__0__Impl rule__Implication__Group__1 ; + public final void rule__Implication__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17974:1: ( rule__Implication__Group__0__Impl rule__Implication__Group__1 ) + // InternalFiacre.g:17975:2: rule__Implication__Group__0__Impl rule__Implication__Group__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__Implication__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group__0" + + + // $ANTLR start "rule__Implication__Group__0__Impl" + // InternalFiacre.g:17982:1: rule__Implication__Group__0__Impl : ( ruleConjunction ) ; + public final void rule__Implication__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:17986:1: ( ( ruleConjunction ) ) + // InternalFiacre.g:17987:1: ( ruleConjunction ) + { + // InternalFiacre.g:17987:1: ( ruleConjunction ) + // InternalFiacre.g:17988:2: ruleConjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group__0__Impl" + + + // $ANTLR start "rule__Implication__Group__1" + // InternalFiacre.g:17997:1: rule__Implication__Group__1 : rule__Implication__Group__1__Impl ; + public final void rule__Implication__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18001:1: ( rule__Implication__Group__1__Impl ) + // InternalFiacre.g:18002:2: rule__Implication__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group__1" + + + // $ANTLR start "rule__Implication__Group__1__Impl" + // InternalFiacre.g:18008:1: rule__Implication__Group__1__Impl : ( ( rule__Implication__Group_1__0 )? ) ; + public final void rule__Implication__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18012:1: ( ( ( rule__Implication__Group_1__0 )? ) ) + // InternalFiacre.g:18013:1: ( ( rule__Implication__Group_1__0 )? ) + { + // InternalFiacre.g:18013:1: ( ( rule__Implication__Group_1__0 )? ) + // InternalFiacre.g:18014:2: ( rule__Implication__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getGroup_1()); + } + // InternalFiacre.g:18015:2: ( rule__Implication__Group_1__0 )? + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==80) ) { + alt157=1; + } + switch (alt157) { + case 1 : + // InternalFiacre.g:18015:3: rule__Implication__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group__1__Impl" + + + // $ANTLR start "rule__Implication__Group_1__0" + // InternalFiacre.g:18024:1: rule__Implication__Group_1__0 : rule__Implication__Group_1__0__Impl rule__Implication__Group_1__1 ; + public final void rule__Implication__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18028:1: ( rule__Implication__Group_1__0__Impl rule__Implication__Group_1__1 ) + // InternalFiacre.g:18029:2: rule__Implication__Group_1__0__Impl rule__Implication__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__Implication__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__0" + + + // $ANTLR start "rule__Implication__Group_1__0__Impl" + // InternalFiacre.g:18036:1: rule__Implication__Group_1__0__Impl : ( () ) ; + public final void rule__Implication__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18040:1: ( ( () ) ) + // InternalFiacre.g:18041:1: ( () ) + { + // InternalFiacre.g:18041:1: ( () ) + // InternalFiacre.g:18042:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0()); + } + // InternalFiacre.g:18043:2: () + // InternalFiacre.g:18043:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__0__Impl" + + + // $ANTLR start "rule__Implication__Group_1__1" + // InternalFiacre.g:18051:1: rule__Implication__Group_1__1 : rule__Implication__Group_1__1__Impl rule__Implication__Group_1__2 ; + public final void rule__Implication__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18055:1: ( rule__Implication__Group_1__1__Impl rule__Implication__Group_1__2 ) + // InternalFiacre.g:18056:2: rule__Implication__Group_1__1__Impl rule__Implication__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Implication__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__1" + + + // $ANTLR start "rule__Implication__Group_1__1__Impl" + // InternalFiacre.g:18063:1: rule__Implication__Group_1__1__Impl : ( '=>' ) ; + public final void rule__Implication__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18067:1: ( ( '=>' ) ) + // InternalFiacre.g:18068:1: ( '=>' ) + { + // InternalFiacre.g:18068:1: ( '=>' ) + // InternalFiacre.g:18069:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__1__Impl" + + + // $ANTLR start "rule__Implication__Group_1__2" + // InternalFiacre.g:18078:1: rule__Implication__Group_1__2 : rule__Implication__Group_1__2__Impl ; + public final void rule__Implication__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18082:1: ( rule__Implication__Group_1__2__Impl ) + // InternalFiacre.g:18083:2: rule__Implication__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__2" + + + // $ANTLR start "rule__Implication__Group_1__2__Impl" + // InternalFiacre.g:18089:1: rule__Implication__Group_1__2__Impl : ( ( rule__Implication__RightAssignment_1_2 ) ) ; + public final void rule__Implication__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18093:1: ( ( ( rule__Implication__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:18094:1: ( ( rule__Implication__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:18094:1: ( ( rule__Implication__RightAssignment_1_2 ) ) + // InternalFiacre.g:18095:2: ( rule__Implication__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:18096:2: ( rule__Implication__RightAssignment_1_2 ) + // InternalFiacre.g:18096:3: rule__Implication__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Implication__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__Group_1__2__Impl" + + + // $ANTLR start "rule__Conjunction__Group__0" + // InternalFiacre.g:18105:1: rule__Conjunction__Group__0 : rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ; + public final void rule__Conjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18109:1: ( rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 ) + // InternalFiacre.g:18110:2: rule__Conjunction__Group__0__Impl rule__Conjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__Conjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group__0" + + + // $ANTLR start "rule__Conjunction__Group__0__Impl" + // InternalFiacre.g:18117:1: rule__Conjunction__Group__0__Impl : ( ruleComparison ) ; + public final void rule__Conjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18121:1: ( ( ruleComparison ) ) + // InternalFiacre.g:18122:1: ( ruleComparison ) + { + // InternalFiacre.g:18122:1: ( ruleComparison ) + // InternalFiacre.g:18123:2: ruleComparison + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComparison(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group__0__Impl" + + + // $ANTLR start "rule__Conjunction__Group__1" + // InternalFiacre.g:18132:1: rule__Conjunction__Group__1 : rule__Conjunction__Group__1__Impl ; + public final void rule__Conjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18136:1: ( rule__Conjunction__Group__1__Impl ) + // InternalFiacre.g:18137:2: rule__Conjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group__1" + + + // $ANTLR start "rule__Conjunction__Group__1__Impl" + // InternalFiacre.g:18143:1: rule__Conjunction__Group__1__Impl : ( ( rule__Conjunction__Group_1__0 )* ) ; + public final void rule__Conjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18147:1: ( ( ( rule__Conjunction__Group_1__0 )* ) ) + // InternalFiacre.g:18148:1: ( ( rule__Conjunction__Group_1__0 )* ) + { + // InternalFiacre.g:18148:1: ( ( rule__Conjunction__Group_1__0 )* ) + // InternalFiacre.g:18149:2: ( rule__Conjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:18150:2: ( rule__Conjunction__Group_1__0 )* + loop158: + do { + int alt158=2; + int LA158_0 = input.LA(1); + + if ( (LA158_0==81) ) { + alt158=1; + } + + + switch (alt158) { + case 1 : + // InternalFiacre.g:18150:3: rule__Conjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_97); + rule__Conjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop158; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group__1__Impl" + + + // $ANTLR start "rule__Conjunction__Group_1__0" + // InternalFiacre.g:18159:1: rule__Conjunction__Group_1__0 : rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ; + public final void rule__Conjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18163:1: ( rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 ) + // InternalFiacre.g:18164:2: rule__Conjunction__Group_1__0__Impl rule__Conjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__Conjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__0" + + + // $ANTLR start "rule__Conjunction__Group_1__0__Impl" + // InternalFiacre.g:18171:1: rule__Conjunction__Group_1__0__Impl : ( () ) ; + public final void rule__Conjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18175:1: ( ( () ) ) + // InternalFiacre.g:18176:1: ( () ) + { + // InternalFiacre.g:18176:1: ( () ) + // InternalFiacre.g:18177:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0()); + } + // InternalFiacre.g:18178:2: () + // InternalFiacre.g:18178:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__Conjunction__Group_1__1" + // InternalFiacre.g:18186:1: rule__Conjunction__Group_1__1 : rule__Conjunction__Group_1__1__Impl rule__Conjunction__Group_1__2 ; + public final void rule__Conjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18190:1: ( rule__Conjunction__Group_1__1__Impl rule__Conjunction__Group_1__2 ) + // InternalFiacre.g:18191:2: rule__Conjunction__Group_1__1__Impl rule__Conjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Conjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__1" + + + // $ANTLR start "rule__Conjunction__Group_1__1__Impl" + // InternalFiacre.g:18198:1: rule__Conjunction__Group_1__1__Impl : ( 'and' ) ; + public final void rule__Conjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18202:1: ( ( 'and' ) ) + // InternalFiacre.g:18203:1: ( 'and' ) + { + // InternalFiacre.g:18203:1: ( 'and' ) + // InternalFiacre.g:18204:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__Conjunction__Group_1__2" + // InternalFiacre.g:18213:1: rule__Conjunction__Group_1__2 : rule__Conjunction__Group_1__2__Impl ; + public final void rule__Conjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18217:1: ( rule__Conjunction__Group_1__2__Impl ) + // InternalFiacre.g:18218:2: rule__Conjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__2" + + + // $ANTLR start "rule__Conjunction__Group_1__2__Impl" + // InternalFiacre.g:18224:1: rule__Conjunction__Group_1__2__Impl : ( ( rule__Conjunction__RightAssignment_1_2 ) ) ; + public final void rule__Conjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18228:1: ( ( ( rule__Conjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:18229:1: ( ( rule__Conjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:18229:1: ( ( rule__Conjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:18230:2: ( rule__Conjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:18231:2: ( rule__Conjunction__RightAssignment_1_2 ) + // InternalFiacre.g:18231:3: rule__Conjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Conjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__Comparison__Group__0" + // InternalFiacre.g:18240:1: rule__Comparison__Group__0 : rule__Comparison__Group__0__Impl rule__Comparison__Group__1 ; + public final void rule__Comparison__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18244:1: ( rule__Comparison__Group__0__Impl rule__Comparison__Group__1 ) + // InternalFiacre.g:18245:2: rule__Comparison__Group__0__Impl rule__Comparison__Group__1 + { + pushFollow(FollowSets000.FOLLOW_98); + rule__Comparison__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__0" + + + // $ANTLR start "rule__Comparison__Group__0__Impl" + // InternalFiacre.g:18252:1: rule__Comparison__Group__0__Impl : ( ruleAddition ) ; + public final void rule__Comparison__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18256:1: ( ( ruleAddition ) ) + // InternalFiacre.g:18257:1: ( ruleAddition ) + { + // InternalFiacre.g:18257:1: ( ruleAddition ) + // InternalFiacre.g:18258:2: ruleAddition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAddition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__0__Impl" + + + // $ANTLR start "rule__Comparison__Group__1" + // InternalFiacre.g:18267:1: rule__Comparison__Group__1 : rule__Comparison__Group__1__Impl ; + public final void rule__Comparison__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18271:1: ( rule__Comparison__Group__1__Impl ) + // InternalFiacre.g:18272:2: rule__Comparison__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__1" + + + // $ANTLR start "rule__Comparison__Group__1__Impl" + // InternalFiacre.g:18278:1: rule__Comparison__Group__1__Impl : ( ( rule__Comparison__Group_1__0 )? ) ; + public final void rule__Comparison__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18282:1: ( ( ( rule__Comparison__Group_1__0 )? ) ) + // InternalFiacre.g:18283:1: ( ( rule__Comparison__Group_1__0 )? ) + { + // InternalFiacre.g:18283:1: ( ( rule__Comparison__Group_1__0 )? ) + // InternalFiacre.g:18284:2: ( rule__Comparison__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGroup_1()); + } + // InternalFiacre.g:18285:2: ( rule__Comparison__Group_1__0 )? + int alt159=2; + int LA159_0 = input.LA(1); + + if ( (LA159_0==16||(LA159_0>=82 && LA159_0<=86)) ) { + alt159=1; + } + switch (alt159) { + case 1 : + // InternalFiacre.g:18285:3: rule__Comparison__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1__0" + // InternalFiacre.g:18294:1: rule__Comparison__Group_1__0 : rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 ; + public final void rule__Comparison__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18298:1: ( rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 ) + // InternalFiacre.g:18299:2: rule__Comparison__Group_1__0__Impl rule__Comparison__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Comparison__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__0" + + + // $ANTLR start "rule__Comparison__Group_1__0__Impl" + // InternalFiacre.g:18306:1: rule__Comparison__Group_1__0__Impl : ( ( rule__Comparison__Alternatives_1_0 ) ) ; + public final void rule__Comparison__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18310:1: ( ( ( rule__Comparison__Alternatives_1_0 ) ) ) + // InternalFiacre.g:18311:1: ( ( rule__Comparison__Alternatives_1_0 ) ) + { + // InternalFiacre.g:18311:1: ( ( rule__Comparison__Alternatives_1_0 ) ) + // InternalFiacre.g:18312:2: ( rule__Comparison__Alternatives_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getAlternatives_1_0()); + } + // InternalFiacre.g:18313:2: ( rule__Comparison__Alternatives_1_0 ) + // InternalFiacre.g:18313:3: rule__Comparison__Alternatives_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Alternatives_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getAlternatives_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1__1" + // InternalFiacre.g:18321:1: rule__Comparison__Group_1__1 : rule__Comparison__Group_1__1__Impl ; + public final void rule__Comparison__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18325:1: ( rule__Comparison__Group_1__1__Impl ) + // InternalFiacre.g:18326:2: rule__Comparison__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__1" + + + // $ANTLR start "rule__Comparison__Group_1__1__Impl" + // InternalFiacre.g:18332:1: rule__Comparison__Group_1__1__Impl : ( ( rule__Comparison__RightAssignment_1_1 ) ) ; + public final void rule__Comparison__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18336:1: ( ( ( rule__Comparison__RightAssignment_1_1 ) ) ) + // InternalFiacre.g:18337:1: ( ( rule__Comparison__RightAssignment_1_1 ) ) + { + // InternalFiacre.g:18337:1: ( ( rule__Comparison__RightAssignment_1_1 ) ) + // InternalFiacre.g:18338:2: ( rule__Comparison__RightAssignment_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getRightAssignment_1_1()); + } + // InternalFiacre.g:18339:2: ( rule__Comparison__RightAssignment_1_1 ) + // InternalFiacre.g:18339:3: rule__Comparison__RightAssignment_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__RightAssignment_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getRightAssignment_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_0__0" + // InternalFiacre.g:18348:1: rule__Comparison__Group_1_0_0__0 : rule__Comparison__Group_1_0_0__0__Impl rule__Comparison__Group_1_0_0__1 ; + public final void rule__Comparison__Group_1_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18352:1: ( rule__Comparison__Group_1_0_0__0__Impl rule__Comparison__Group_1_0_0__1 ) + // InternalFiacre.g:18353:2: rule__Comparison__Group_1_0_0__0__Impl rule__Comparison__Group_1_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_99); + rule__Comparison__Group_1_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_0__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_0__0__Impl" + // InternalFiacre.g:18360:1: rule__Comparison__Group_1_0_0__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18364:1: ( ( () ) ) + // InternalFiacre.g:18365:1: ( () ) + { + // InternalFiacre.g:18365:1: ( () ) + // InternalFiacre.g:18366:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0()); + } + // InternalFiacre.g:18367:2: () + // InternalFiacre.g:18367:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_0__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_0__1" + // InternalFiacre.g:18375:1: rule__Comparison__Group_1_0_0__1 : rule__Comparison__Group_1_0_0__1__Impl ; + public final void rule__Comparison__Group_1_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18379:1: ( rule__Comparison__Group_1_0_0__1__Impl ) + // InternalFiacre.g:18380:2: rule__Comparison__Group_1_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_0__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_0__1__Impl" + // InternalFiacre.g:18386:1: rule__Comparison__Group_1_0_0__1__Impl : ( '=' ) ; + public final void rule__Comparison__Group_1_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18390:1: ( ( '=' ) ) + // InternalFiacre.g:18391:1: ( '=' ) + { + // InternalFiacre.g:18391:1: ( '=' ) + // InternalFiacre.g:18392:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); + } + match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_0__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_1__0" + // InternalFiacre.g:18402:1: rule__Comparison__Group_1_0_1__0 : rule__Comparison__Group_1_0_1__0__Impl rule__Comparison__Group_1_0_1__1 ; + public final void rule__Comparison__Group_1_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18406:1: ( rule__Comparison__Group_1_0_1__0__Impl rule__Comparison__Group_1_0_1__1 ) + // InternalFiacre.g:18407:2: rule__Comparison__Group_1_0_1__0__Impl rule__Comparison__Group_1_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_100); + rule__Comparison__Group_1_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_1__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_1__0__Impl" + // InternalFiacre.g:18414:1: rule__Comparison__Group_1_0_1__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18418:1: ( ( () ) ) + // InternalFiacre.g:18419:1: ( () ) + { + // InternalFiacre.g:18419:1: ( () ) + // InternalFiacre.g:18420:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0()); + } + // InternalFiacre.g:18421:2: () + // InternalFiacre.g:18421:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_1__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_1__1" + // InternalFiacre.g:18429:1: rule__Comparison__Group_1_0_1__1 : rule__Comparison__Group_1_0_1__1__Impl ; + public final void rule__Comparison__Group_1_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18433:1: ( rule__Comparison__Group_1_0_1__1__Impl ) + // InternalFiacre.g:18434:2: rule__Comparison__Group_1_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_1__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_1__1__Impl" + // InternalFiacre.g:18440:1: rule__Comparison__Group_1_0_1__1__Impl : ( '<>' ) ; + public final void rule__Comparison__Group_1_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18444:1: ( ( '<>' ) ) + // InternalFiacre.g:18445:1: ( '<>' ) + { + // InternalFiacre.g:18445:1: ( '<>' ) + // InternalFiacre.g:18446:2: '<>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); + } + match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_1__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_2__0" + // InternalFiacre.g:18456:1: rule__Comparison__Group_1_0_2__0 : rule__Comparison__Group_1_0_2__0__Impl rule__Comparison__Group_1_0_2__1 ; + public final void rule__Comparison__Group_1_0_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18460:1: ( rule__Comparison__Group_1_0_2__0__Impl rule__Comparison__Group_1_0_2__1 ) + // InternalFiacre.g:18461:2: rule__Comparison__Group_1_0_2__0__Impl rule__Comparison__Group_1_0_2__1 + { + pushFollow(FollowSets000.FOLLOW_101); + rule__Comparison__Group_1_0_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_2__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_2__0__Impl" + // InternalFiacre.g:18468:1: rule__Comparison__Group_1_0_2__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18472:1: ( ( () ) ) + // InternalFiacre.g:18473:1: ( () ) + { + // InternalFiacre.g:18473:1: ( () ) + // InternalFiacre.g:18474:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0()); + } + // InternalFiacre.g:18475:2: () + // InternalFiacre.g:18475:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_2__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_2__1" + // InternalFiacre.g:18483:1: rule__Comparison__Group_1_0_2__1 : rule__Comparison__Group_1_0_2__1__Impl ; + public final void rule__Comparison__Group_1_0_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18487:1: ( rule__Comparison__Group_1_0_2__1__Impl ) + // InternalFiacre.g:18488:2: rule__Comparison__Group_1_0_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_2__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_2__1__Impl" + // InternalFiacre.g:18494:1: rule__Comparison__Group_1_0_2__1__Impl : ( '<' ) ; + public final void rule__Comparison__Group_1_0_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18498:1: ( ( '<' ) ) + // InternalFiacre.g:18499:1: ( '<' ) + { + // InternalFiacre.g:18499:1: ( '<' ) + // InternalFiacre.g:18500:2: '<' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); + } + match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_2__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_3__0" + // InternalFiacre.g:18510:1: rule__Comparison__Group_1_0_3__0 : rule__Comparison__Group_1_0_3__0__Impl rule__Comparison__Group_1_0_3__1 ; + public final void rule__Comparison__Group_1_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18514:1: ( rule__Comparison__Group_1_0_3__0__Impl rule__Comparison__Group_1_0_3__1 ) + // InternalFiacre.g:18515:2: rule__Comparison__Group_1_0_3__0__Impl rule__Comparison__Group_1_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_102); + rule__Comparison__Group_1_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_3__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_3__0__Impl" + // InternalFiacre.g:18522:1: rule__Comparison__Group_1_0_3__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18526:1: ( ( () ) ) + // InternalFiacre.g:18527:1: ( () ) + { + // InternalFiacre.g:18527:1: ( () ) + // InternalFiacre.g:18528:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0()); + } + // InternalFiacre.g:18529:2: () + // InternalFiacre.g:18529:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_3__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_3__1" + // InternalFiacre.g:18537:1: rule__Comparison__Group_1_0_3__1 : rule__Comparison__Group_1_0_3__1__Impl ; + public final void rule__Comparison__Group_1_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18541:1: ( rule__Comparison__Group_1_0_3__1__Impl ) + // InternalFiacre.g:18542:2: rule__Comparison__Group_1_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_3__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_3__1__Impl" + // InternalFiacre.g:18548:1: rule__Comparison__Group_1_0_3__1__Impl : ( '<=' ) ; + public final void rule__Comparison__Group_1_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18552:1: ( ( '<=' ) ) + // InternalFiacre.g:18553:1: ( '<=' ) + { + // InternalFiacre.g:18553:1: ( '<=' ) + // InternalFiacre.g:18554:2: '<=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); + } + match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_3__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_4__0" + // InternalFiacre.g:18564:1: rule__Comparison__Group_1_0_4__0 : rule__Comparison__Group_1_0_4__0__Impl rule__Comparison__Group_1_0_4__1 ; + public final void rule__Comparison__Group_1_0_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18568:1: ( rule__Comparison__Group_1_0_4__0__Impl rule__Comparison__Group_1_0_4__1 ) + // InternalFiacre.g:18569:2: rule__Comparison__Group_1_0_4__0__Impl rule__Comparison__Group_1_0_4__1 + { + pushFollow(FollowSets000.FOLLOW_8); + rule__Comparison__Group_1_0_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_4__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_4__0__Impl" + // InternalFiacre.g:18576:1: rule__Comparison__Group_1_0_4__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18580:1: ( ( () ) ) + // InternalFiacre.g:18581:1: ( () ) + { + // InternalFiacre.g:18581:1: ( () ) + // InternalFiacre.g:18582:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0()); + } + // InternalFiacre.g:18583:2: () + // InternalFiacre.g:18583:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_4__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_4__1" + // InternalFiacre.g:18591:1: rule__Comparison__Group_1_0_4__1 : rule__Comparison__Group_1_0_4__1__Impl ; + public final void rule__Comparison__Group_1_0_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18595:1: ( rule__Comparison__Group_1_0_4__1__Impl ) + // InternalFiacre.g:18596:2: rule__Comparison__Group_1_0_4__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_4__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_4__1__Impl" + // InternalFiacre.g:18602:1: rule__Comparison__Group_1_0_4__1__Impl : ( '>' ) ; + public final void rule__Comparison__Group_1_0_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18606:1: ( ( '>' ) ) + // InternalFiacre.g:18607:1: ( '>' ) + { + // InternalFiacre.g:18607:1: ( '>' ) + // InternalFiacre.g:18608:2: '>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); + } + match(input,16,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_4__1__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_5__0" + // InternalFiacre.g:18618:1: rule__Comparison__Group_1_0_5__0 : rule__Comparison__Group_1_0_5__0__Impl rule__Comparison__Group_1_0_5__1 ; + public final void rule__Comparison__Group_1_0_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18622:1: ( rule__Comparison__Group_1_0_5__0__Impl rule__Comparison__Group_1_0_5__1 ) + // InternalFiacre.g:18623:2: rule__Comparison__Group_1_0_5__0__Impl rule__Comparison__Group_1_0_5__1 + { + pushFollow(FollowSets000.FOLLOW_98); + rule__Comparison__Group_1_0_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_5__0" + + + // $ANTLR start "rule__Comparison__Group_1_0_5__0__Impl" + // InternalFiacre.g:18630:1: rule__Comparison__Group_1_0_5__0__Impl : ( () ) ; + public final void rule__Comparison__Group_1_0_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18634:1: ( ( () ) ) + // InternalFiacre.g:18635:1: ( () ) + { + // InternalFiacre.g:18635:1: ( () ) + // InternalFiacre.g:18636:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0()); + } + // InternalFiacre.g:18637:2: () + // InternalFiacre.g:18637:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_5__0__Impl" + + + // $ANTLR start "rule__Comparison__Group_1_0_5__1" + // InternalFiacre.g:18645:1: rule__Comparison__Group_1_0_5__1 : rule__Comparison__Group_1_0_5__1__Impl ; + public final void rule__Comparison__Group_1_0_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18649:1: ( rule__Comparison__Group_1_0_5__1__Impl ) + // InternalFiacre.g:18650:2: rule__Comparison__Group_1_0_5__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Comparison__Group_1_0_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_5__1" + + + // $ANTLR start "rule__Comparison__Group_1_0_5__1__Impl" + // InternalFiacre.g:18656:1: rule__Comparison__Group_1_0_5__1__Impl : ( '>=' ) ; + public final void rule__Comparison__Group_1_0_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18660:1: ( ( '>=' ) ) + // InternalFiacre.g:18661:1: ( '>=' ) + { + // InternalFiacre.g:18661:1: ( '>=' ) + // InternalFiacre.g:18662:2: '>=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); + } + match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__Group_1_0_5__1__Impl" + + + // $ANTLR start "rule__Addition__Group__0" + // InternalFiacre.g:18672:1: rule__Addition__Group__0 : rule__Addition__Group__0__Impl rule__Addition__Group__1 ; + public final void rule__Addition__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18676:1: ( rule__Addition__Group__0__Impl rule__Addition__Group__1 ) + // InternalFiacre.g:18677:2: rule__Addition__Group__0__Impl rule__Addition__Group__1 + { + pushFollow(FollowSets000.FOLLOW_103); + rule__Addition__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group__0" + + + // $ANTLR start "rule__Addition__Group__0__Impl" + // InternalFiacre.g:18684:1: rule__Addition__Group__0__Impl : ( ruleSubstraction ) ; + public final void rule__Addition__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18688:1: ( ( ruleSubstraction ) ) + // InternalFiacre.g:18689:1: ( ruleSubstraction ) + { + // InternalFiacre.g:18689:1: ( ruleSubstraction ) + // InternalFiacre.g:18690:2: ruleSubstraction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleSubstraction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group__0__Impl" + + + // $ANTLR start "rule__Addition__Group__1" + // InternalFiacre.g:18699:1: rule__Addition__Group__1 : rule__Addition__Group__1__Impl ; + public final void rule__Addition__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18703:1: ( rule__Addition__Group__1__Impl ) + // InternalFiacre.g:18704:2: rule__Addition__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group__1" + + + // $ANTLR start "rule__Addition__Group__1__Impl" + // InternalFiacre.g:18710:1: rule__Addition__Group__1__Impl : ( ( rule__Addition__Group_1__0 )* ) ; + public final void rule__Addition__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18714:1: ( ( ( rule__Addition__Group_1__0 )* ) ) + // InternalFiacre.g:18715:1: ( ( rule__Addition__Group_1__0 )* ) + { + // InternalFiacre.g:18715:1: ( ( rule__Addition__Group_1__0 )* ) + // InternalFiacre.g:18716:2: ( rule__Addition__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getGroup_1()); + } + // InternalFiacre.g:18717:2: ( rule__Addition__Group_1__0 )* + loop160: + do { + int alt160=2; + int LA160_0 = input.LA(1); + + if ( (LA160_0==14) ) { + int LA160_2 = input.LA(2); + + if ( (LA160_2==RULE_ID||LA160_2==14||LA160_2==22||LA160_2==42||LA160_2==87||(LA160_2>=91 && LA160_2<=97)||(LA160_2>=99 && LA160_2<=100)||LA160_2==102||(LA160_2>=104 && LA160_2<=107)) ) { + alt160=1; + } + else if ( (LA160_2==RULE_INT) ) { + int LA160_4 = input.LA(3); + + if ( (synpred230_InternalFiacre()) ) { + alt160=1; + } + + + } + + + } + + + switch (alt160) { + case 1 : + // InternalFiacre.g:18717:3: rule__Addition__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_104); + rule__Addition__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop160; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group__1__Impl" + + + // $ANTLR start "rule__Addition__Group_1__0" + // InternalFiacre.g:18726:1: rule__Addition__Group_1__0 : rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 ; + public final void rule__Addition__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18730:1: ( rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 ) + // InternalFiacre.g:18731:2: rule__Addition__Group_1__0__Impl rule__Addition__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_103); + rule__Addition__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__0" + + + // $ANTLR start "rule__Addition__Group_1__0__Impl" + // InternalFiacre.g:18738:1: rule__Addition__Group_1__0__Impl : ( () ) ; + public final void rule__Addition__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18742:1: ( ( () ) ) + // InternalFiacre.g:18743:1: ( () ) + { + // InternalFiacre.g:18743:1: ( () ) + // InternalFiacre.g:18744:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0()); + } + // InternalFiacre.g:18745:2: () + // InternalFiacre.g:18745:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__0__Impl" + + + // $ANTLR start "rule__Addition__Group_1__1" + // InternalFiacre.g:18753:1: rule__Addition__Group_1__1 : rule__Addition__Group_1__1__Impl rule__Addition__Group_1__2 ; + public final void rule__Addition__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18757:1: ( rule__Addition__Group_1__1__Impl rule__Addition__Group_1__2 ) + // InternalFiacre.g:18758:2: rule__Addition__Group_1__1__Impl rule__Addition__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Addition__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__1" + + + // $ANTLR start "rule__Addition__Group_1__1__Impl" + // InternalFiacre.g:18765:1: rule__Addition__Group_1__1__Impl : ( '+' ) ; + public final void rule__Addition__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18769:1: ( ( '+' ) ) + // InternalFiacre.g:18770:1: ( '+' ) + { + // InternalFiacre.g:18770:1: ( '+' ) + // InternalFiacre.g:18771:2: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); + } + match(input,14,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__1__Impl" + + + // $ANTLR start "rule__Addition__Group_1__2" + // InternalFiacre.g:18780:1: rule__Addition__Group_1__2 : rule__Addition__Group_1__2__Impl ; + public final void rule__Addition__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18784:1: ( rule__Addition__Group_1__2__Impl ) + // InternalFiacre.g:18785:2: rule__Addition__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__2" + + + // $ANTLR start "rule__Addition__Group_1__2__Impl" + // InternalFiacre.g:18791:1: rule__Addition__Group_1__2__Impl : ( ( rule__Addition__RightAssignment_1_2 ) ) ; + public final void rule__Addition__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18795:1: ( ( ( rule__Addition__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:18796:1: ( ( rule__Addition__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:18796:1: ( ( rule__Addition__RightAssignment_1_2 ) ) + // InternalFiacre.g:18797:2: ( rule__Addition__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:18798:2: ( rule__Addition__RightAssignment_1_2 ) + // InternalFiacre.g:18798:3: rule__Addition__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__Group_1__2__Impl" + + + // $ANTLR start "rule__Substraction__Group__0" + // InternalFiacre.g:18807:1: rule__Substraction__Group__0 : rule__Substraction__Group__0__Impl rule__Substraction__Group__1 ; + public final void rule__Substraction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18811:1: ( rule__Substraction__Group__0__Impl rule__Substraction__Group__1 ) + // InternalFiacre.g:18812:2: rule__Substraction__Group__0__Impl rule__Substraction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_105); + rule__Substraction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group__0" + + + // $ANTLR start "rule__Substraction__Group__0__Impl" + // InternalFiacre.g:18819:1: rule__Substraction__Group__0__Impl : ( ruleMultiplication ) ; + public final void rule__Substraction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18823:1: ( ( ruleMultiplication ) ) + // InternalFiacre.g:18824:1: ( ruleMultiplication ) + { + // InternalFiacre.g:18824:1: ( ruleMultiplication ) + // InternalFiacre.g:18825:2: ruleMultiplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleMultiplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group__0__Impl" + + + // $ANTLR start "rule__Substraction__Group__1" + // InternalFiacre.g:18834:1: rule__Substraction__Group__1 : rule__Substraction__Group__1__Impl ; + public final void rule__Substraction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18838:1: ( rule__Substraction__Group__1__Impl ) + // InternalFiacre.g:18839:2: rule__Substraction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group__1" + + + // $ANTLR start "rule__Substraction__Group__1__Impl" + // InternalFiacre.g:18845:1: rule__Substraction__Group__1__Impl : ( ( rule__Substraction__Group_1__0 )* ) ; + public final void rule__Substraction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18849:1: ( ( ( rule__Substraction__Group_1__0 )* ) ) + // InternalFiacre.g:18850:1: ( ( rule__Substraction__Group_1__0 )* ) + { + // InternalFiacre.g:18850:1: ( ( rule__Substraction__Group_1__0 )* ) + // InternalFiacre.g:18851:2: ( rule__Substraction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getGroup_1()); + } + // InternalFiacre.g:18852:2: ( rule__Substraction__Group_1__0 )* + loop161: + do { + int alt161=2; + int LA161_0 = input.LA(1); + + if ( (LA161_0==87) ) { + int LA161_2 = input.LA(2); + + if ( (LA161_2==RULE_ID||LA161_2==14||LA161_2==22||LA161_2==42||LA161_2==87||(LA161_2>=91 && LA161_2<=97)||(LA161_2>=99 && LA161_2<=100)||LA161_2==102||(LA161_2>=104 && LA161_2<=107)) ) { + alt161=1; + } + else if ( (LA161_2==RULE_INT) ) { + int LA161_4 = input.LA(3); + + if ( (synpred231_InternalFiacre()) ) { + alt161=1; + } + + + } + + + } + + + switch (alt161) { + case 1 : + // InternalFiacre.g:18852:3: rule__Substraction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_106); + rule__Substraction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop161; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group__1__Impl" + + + // $ANTLR start "rule__Substraction__Group_1__0" + // InternalFiacre.g:18861:1: rule__Substraction__Group_1__0 : rule__Substraction__Group_1__0__Impl rule__Substraction__Group_1__1 ; + public final void rule__Substraction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18865:1: ( rule__Substraction__Group_1__0__Impl rule__Substraction__Group_1__1 ) + // InternalFiacre.g:18866:2: rule__Substraction__Group_1__0__Impl rule__Substraction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_105); + rule__Substraction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__0" + + + // $ANTLR start "rule__Substraction__Group_1__0__Impl" + // InternalFiacre.g:18873:1: rule__Substraction__Group_1__0__Impl : ( () ) ; + public final void rule__Substraction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18877:1: ( ( () ) ) + // InternalFiacre.g:18878:1: ( () ) + { + // InternalFiacre.g:18878:1: ( () ) + // InternalFiacre.g:18879:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0()); + } + // InternalFiacre.g:18880:2: () + // InternalFiacre.g:18880:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__0__Impl" + + + // $ANTLR start "rule__Substraction__Group_1__1" + // InternalFiacre.g:18888:1: rule__Substraction__Group_1__1 : rule__Substraction__Group_1__1__Impl rule__Substraction__Group_1__2 ; + public final void rule__Substraction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18892:1: ( rule__Substraction__Group_1__1__Impl rule__Substraction__Group_1__2 ) + // InternalFiacre.g:18893:2: rule__Substraction__Group_1__1__Impl rule__Substraction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Substraction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__1" + + + // $ANTLR start "rule__Substraction__Group_1__1__Impl" + // InternalFiacre.g:18900:1: rule__Substraction__Group_1__1__Impl : ( '-' ) ; + public final void rule__Substraction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18904:1: ( ( '-' ) ) + // InternalFiacre.g:18905:1: ( '-' ) + { + // InternalFiacre.g:18905:1: ( '-' ) + // InternalFiacre.g:18906:2: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); + } + match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__1__Impl" + + + // $ANTLR start "rule__Substraction__Group_1__2" + // InternalFiacre.g:18915:1: rule__Substraction__Group_1__2 : rule__Substraction__Group_1__2__Impl ; + public final void rule__Substraction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18919:1: ( rule__Substraction__Group_1__2__Impl ) + // InternalFiacre.g:18920:2: rule__Substraction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__2" + + + // $ANTLR start "rule__Substraction__Group_1__2__Impl" + // InternalFiacre.g:18926:1: rule__Substraction__Group_1__2__Impl : ( ( rule__Substraction__RightAssignment_1_2 ) ) ; + public final void rule__Substraction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18930:1: ( ( ( rule__Substraction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:18931:1: ( ( rule__Substraction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:18931:1: ( ( rule__Substraction__RightAssignment_1_2 ) ) + // InternalFiacre.g:18932:2: ( rule__Substraction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:18933:2: ( rule__Substraction__RightAssignment_1_2 ) + // InternalFiacre.g:18933:3: rule__Substraction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__Group_1__2__Impl" + + + // $ANTLR start "rule__Multiplication__Group__0" + // InternalFiacre.g:18942:1: rule__Multiplication__Group__0 : rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 ; + public final void rule__Multiplication__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18946:1: ( rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 ) + // InternalFiacre.g:18947:2: rule__Multiplication__Group__0__Impl rule__Multiplication__Group__1 + { + pushFollow(FollowSets000.FOLLOW_107); + rule__Multiplication__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group__0" + + + // $ANTLR start "rule__Multiplication__Group__0__Impl" + // InternalFiacre.g:18954:1: rule__Multiplication__Group__0__Impl : ( ruleDivision ) ; + public final void rule__Multiplication__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18958:1: ( ( ruleDivision ) ) + // InternalFiacre.g:18959:1: ( ruleDivision ) + { + // InternalFiacre.g:18959:1: ( ruleDivision ) + // InternalFiacre.g:18960:2: ruleDivision + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDivision(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group__0__Impl" + + + // $ANTLR start "rule__Multiplication__Group__1" + // InternalFiacre.g:18969:1: rule__Multiplication__Group__1 : rule__Multiplication__Group__1__Impl ; + public final void rule__Multiplication__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18973:1: ( rule__Multiplication__Group__1__Impl ) + // InternalFiacre.g:18974:2: rule__Multiplication__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group__1" + + + // $ANTLR start "rule__Multiplication__Group__1__Impl" + // InternalFiacre.g:18980:1: rule__Multiplication__Group__1__Impl : ( ( rule__Multiplication__Group_1__0 )* ) ; + public final void rule__Multiplication__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:18984:1: ( ( ( rule__Multiplication__Group_1__0 )* ) ) + // InternalFiacre.g:18985:1: ( ( rule__Multiplication__Group_1__0 )* ) + { + // InternalFiacre.g:18985:1: ( ( rule__Multiplication__Group_1__0 )* ) + // InternalFiacre.g:18986:2: ( rule__Multiplication__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getGroup_1()); + } + // InternalFiacre.g:18987:2: ( rule__Multiplication__Group_1__0 )* + loop162: + do { + int alt162=2; + int LA162_0 = input.LA(1); + + if ( (LA162_0==88) ) { + alt162=1; + } + + + switch (alt162) { + case 1 : + // InternalFiacre.g:18987:3: rule__Multiplication__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_108); + rule__Multiplication__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop162; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group__1__Impl" + + + // $ANTLR start "rule__Multiplication__Group_1__0" + // InternalFiacre.g:18996:1: rule__Multiplication__Group_1__0 : rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 ; + public final void rule__Multiplication__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19000:1: ( rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 ) + // InternalFiacre.g:19001:2: rule__Multiplication__Group_1__0__Impl rule__Multiplication__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_107); + rule__Multiplication__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__0" + + + // $ANTLR start "rule__Multiplication__Group_1__0__Impl" + // InternalFiacre.g:19008:1: rule__Multiplication__Group_1__0__Impl : ( () ) ; + public final void rule__Multiplication__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19012:1: ( ( () ) ) + // InternalFiacre.g:19013:1: ( () ) + { + // InternalFiacre.g:19013:1: ( () ) + // InternalFiacre.g:19014:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0()); + } + // InternalFiacre.g:19015:2: () + // InternalFiacre.g:19015:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__0__Impl" + + + // $ANTLR start "rule__Multiplication__Group_1__1" + // InternalFiacre.g:19023:1: rule__Multiplication__Group_1__1 : rule__Multiplication__Group_1__1__Impl rule__Multiplication__Group_1__2 ; + public final void rule__Multiplication__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19027:1: ( rule__Multiplication__Group_1__1__Impl rule__Multiplication__Group_1__2 ) + // InternalFiacre.g:19028:2: rule__Multiplication__Group_1__1__Impl rule__Multiplication__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Multiplication__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__1" + + + // $ANTLR start "rule__Multiplication__Group_1__1__Impl" + // InternalFiacre.g:19035:1: rule__Multiplication__Group_1__1__Impl : ( '*' ) ; + public final void rule__Multiplication__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19039:1: ( ( '*' ) ) + // InternalFiacre.g:19040:1: ( '*' ) + { + // InternalFiacre.g:19040:1: ( '*' ) + // InternalFiacre.g:19041:2: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); + } + match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__1__Impl" + + + // $ANTLR start "rule__Multiplication__Group_1__2" + // InternalFiacre.g:19050:1: rule__Multiplication__Group_1__2 : rule__Multiplication__Group_1__2__Impl ; + public final void rule__Multiplication__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19054:1: ( rule__Multiplication__Group_1__2__Impl ) + // InternalFiacre.g:19055:2: rule__Multiplication__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__2" + + + // $ANTLR start "rule__Multiplication__Group_1__2__Impl" + // InternalFiacre.g:19061:1: rule__Multiplication__Group_1__2__Impl : ( ( rule__Multiplication__RightAssignment_1_2 ) ) ; + public final void rule__Multiplication__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19065:1: ( ( ( rule__Multiplication__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:19066:1: ( ( rule__Multiplication__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:19066:1: ( ( rule__Multiplication__RightAssignment_1_2 ) ) + // InternalFiacre.g:19067:2: ( rule__Multiplication__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:19068:2: ( rule__Multiplication__RightAssignment_1_2 ) + // InternalFiacre.g:19068:3: rule__Multiplication__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Multiplication__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__Group_1__2__Impl" + + + // $ANTLR start "rule__Division__Group__0" + // InternalFiacre.g:19077:1: rule__Division__Group__0 : rule__Division__Group__0__Impl rule__Division__Group__1 ; + public final void rule__Division__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19081:1: ( rule__Division__Group__0__Impl rule__Division__Group__1 ) + // InternalFiacre.g:19082:2: rule__Division__Group__0__Impl rule__Division__Group__1 + { + pushFollow(FollowSets000.FOLLOW_109); + rule__Division__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group__0" + + + // $ANTLR start "rule__Division__Group__0__Impl" + // InternalFiacre.g:19089:1: rule__Division__Group__0__Impl : ( ruleModulo ) ; + public final void rule__Division__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19093:1: ( ( ruleModulo ) ) + // InternalFiacre.g:19094:1: ( ruleModulo ) + { + // InternalFiacre.g:19094:1: ( ruleModulo ) + // InternalFiacre.g:19095:2: ruleModulo + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleModulo(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group__0__Impl" + + + // $ANTLR start "rule__Division__Group__1" + // InternalFiacre.g:19104:1: rule__Division__Group__1 : rule__Division__Group__1__Impl ; + public final void rule__Division__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19108:1: ( rule__Division__Group__1__Impl ) + // InternalFiacre.g:19109:2: rule__Division__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group__1" + + + // $ANTLR start "rule__Division__Group__1__Impl" + // InternalFiacre.g:19115:1: rule__Division__Group__1__Impl : ( ( rule__Division__Group_1__0 )* ) ; + public final void rule__Division__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19119:1: ( ( ( rule__Division__Group_1__0 )* ) ) + // InternalFiacre.g:19120:1: ( ( rule__Division__Group_1__0 )* ) + { + // InternalFiacre.g:19120:1: ( ( rule__Division__Group_1__0 )* ) + // InternalFiacre.g:19121:2: ( rule__Division__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getGroup_1()); + } + // InternalFiacre.g:19122:2: ( rule__Division__Group_1__0 )* + loop163: + do { + int alt163=2; + int LA163_0 = input.LA(1); + + if ( (LA163_0==89) ) { + alt163=1; + } + + + switch (alt163) { + case 1 : + // InternalFiacre.g:19122:3: rule__Division__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_110); + rule__Division__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop163; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group__1__Impl" + + + // $ANTLR start "rule__Division__Group_1__0" + // InternalFiacre.g:19131:1: rule__Division__Group_1__0 : rule__Division__Group_1__0__Impl rule__Division__Group_1__1 ; + public final void rule__Division__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19135:1: ( rule__Division__Group_1__0__Impl rule__Division__Group_1__1 ) + // InternalFiacre.g:19136:2: rule__Division__Group_1__0__Impl rule__Division__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_109); + rule__Division__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__0" + + + // $ANTLR start "rule__Division__Group_1__0__Impl" + // InternalFiacre.g:19143:1: rule__Division__Group_1__0__Impl : ( () ) ; + public final void rule__Division__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19147:1: ( ( () ) ) + // InternalFiacre.g:19148:1: ( () ) + { + // InternalFiacre.g:19148:1: ( () ) + // InternalFiacre.g:19149:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); + } + // InternalFiacre.g:19150:2: () + // InternalFiacre.g:19150:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__0__Impl" + + + // $ANTLR start "rule__Division__Group_1__1" + // InternalFiacre.g:19158:1: rule__Division__Group_1__1 : rule__Division__Group_1__1__Impl rule__Division__Group_1__2 ; + public final void rule__Division__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19162:1: ( rule__Division__Group_1__1__Impl rule__Division__Group_1__2 ) + // InternalFiacre.g:19163:2: rule__Division__Group_1__1__Impl rule__Division__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Division__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__1" + + + // $ANTLR start "rule__Division__Group_1__1__Impl" + // InternalFiacre.g:19170:1: rule__Division__Group_1__1__Impl : ( '/' ) ; + public final void rule__Division__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19174:1: ( ( '/' ) ) + // InternalFiacre.g:19175:1: ( '/' ) + { + // InternalFiacre.g:19175:1: ( '/' ) + // InternalFiacre.g:19176:2: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); + } + match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__1__Impl" + + + // $ANTLR start "rule__Division__Group_1__2" + // InternalFiacre.g:19185:1: rule__Division__Group_1__2 : rule__Division__Group_1__2__Impl ; + public final void rule__Division__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19189:1: ( rule__Division__Group_1__2__Impl ) + // InternalFiacre.g:19190:2: rule__Division__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__2" + + + // $ANTLR start "rule__Division__Group_1__2__Impl" + // InternalFiacre.g:19196:1: rule__Division__Group_1__2__Impl : ( ( rule__Division__RightAssignment_1_2 ) ) ; + public final void rule__Division__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19200:1: ( ( ( rule__Division__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:19201:1: ( ( rule__Division__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:19201:1: ( ( rule__Division__RightAssignment_1_2 ) ) + // InternalFiacre.g:19202:2: ( rule__Division__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:19203:2: ( rule__Division__RightAssignment_1_2 ) + // InternalFiacre.g:19203:3: rule__Division__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Division__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__Group_1__2__Impl" + + + // $ANTLR start "rule__Modulo__Group__0" + // InternalFiacre.g:19212:1: rule__Modulo__Group__0 : rule__Modulo__Group__0__Impl rule__Modulo__Group__1 ; + public final void rule__Modulo__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19216:1: ( rule__Modulo__Group__0__Impl rule__Modulo__Group__1 ) + // InternalFiacre.g:19217:2: rule__Modulo__Group__0__Impl rule__Modulo__Group__1 + { + pushFollow(FollowSets000.FOLLOW_111); + rule__Modulo__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group__0" + + + // $ANTLR start "rule__Modulo__Group__0__Impl" + // InternalFiacre.g:19224:1: rule__Modulo__Group__0__Impl : ( ruleUnaryExpression ) ; + public final void rule__Modulo__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19228:1: ( ( ruleUnaryExpression ) ) + // InternalFiacre.g:19229:1: ( ruleUnaryExpression ) + { + // InternalFiacre.g:19229:1: ( ruleUnaryExpression ) + // InternalFiacre.g:19230:2: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group__0__Impl" + + + // $ANTLR start "rule__Modulo__Group__1" + // InternalFiacre.g:19239:1: rule__Modulo__Group__1 : rule__Modulo__Group__1__Impl ; + public final void rule__Modulo__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19243:1: ( rule__Modulo__Group__1__Impl ) + // InternalFiacre.g:19244:2: rule__Modulo__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group__1" + + + // $ANTLR start "rule__Modulo__Group__1__Impl" + // InternalFiacre.g:19250:1: rule__Modulo__Group__1__Impl : ( ( rule__Modulo__Group_1__0 )* ) ; + public final void rule__Modulo__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19254:1: ( ( ( rule__Modulo__Group_1__0 )* ) ) + // InternalFiacre.g:19255:1: ( ( rule__Modulo__Group_1__0 )* ) + { + // InternalFiacre.g:19255:1: ( ( rule__Modulo__Group_1__0 )* ) + // InternalFiacre.g:19256:2: ( rule__Modulo__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getGroup_1()); + } + // InternalFiacre.g:19257:2: ( rule__Modulo__Group_1__0 )* + loop164: + do { + int alt164=2; + int LA164_0 = input.LA(1); + + if ( (LA164_0==90) ) { + alt164=1; + } + + + switch (alt164) { + case 1 : + // InternalFiacre.g:19257:3: rule__Modulo__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_112); + rule__Modulo__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop164; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group__1__Impl" + + + // $ANTLR start "rule__Modulo__Group_1__0" + // InternalFiacre.g:19266:1: rule__Modulo__Group_1__0 : rule__Modulo__Group_1__0__Impl rule__Modulo__Group_1__1 ; + public final void rule__Modulo__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19270:1: ( rule__Modulo__Group_1__0__Impl rule__Modulo__Group_1__1 ) + // InternalFiacre.g:19271:2: rule__Modulo__Group_1__0__Impl rule__Modulo__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_111); + rule__Modulo__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__0" + + + // $ANTLR start "rule__Modulo__Group_1__0__Impl" + // InternalFiacre.g:19278:1: rule__Modulo__Group_1__0__Impl : ( () ) ; + public final void rule__Modulo__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19282:1: ( ( () ) ) + // InternalFiacre.g:19283:1: ( () ) + { + // InternalFiacre.g:19283:1: ( () ) + // InternalFiacre.g:19284:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getModuloLeftAction_1_0()); + } + // InternalFiacre.g:19285:2: () + // InternalFiacre.g:19285:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getModuloLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__0__Impl" + + + // $ANTLR start "rule__Modulo__Group_1__1" + // InternalFiacre.g:19293:1: rule__Modulo__Group_1__1 : rule__Modulo__Group_1__1__Impl rule__Modulo__Group_1__2 ; + public final void rule__Modulo__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19297:1: ( rule__Modulo__Group_1__1__Impl rule__Modulo__Group_1__2 ) + // InternalFiacre.g:19298:2: rule__Modulo__Group_1__1__Impl rule__Modulo__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Modulo__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__1" + + + // $ANTLR start "rule__Modulo__Group_1__1__Impl" + // InternalFiacre.g:19305:1: rule__Modulo__Group_1__1__Impl : ( '%' ) ; + public final void rule__Modulo__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19309:1: ( ( '%' ) ) + // InternalFiacre.g:19310:1: ( '%' ) + { + // InternalFiacre.g:19310:1: ( '%' ) + // InternalFiacre.g:19311:2: '%' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); + } + match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__1__Impl" + + + // $ANTLR start "rule__Modulo__Group_1__2" + // InternalFiacre.g:19320:1: rule__Modulo__Group_1__2 : rule__Modulo__Group_1__2__Impl ; + public final void rule__Modulo__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19324:1: ( rule__Modulo__Group_1__2__Impl ) + // InternalFiacre.g:19325:2: rule__Modulo__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__2" + + + // $ANTLR start "rule__Modulo__Group_1__2__Impl" + // InternalFiacre.g:19331:1: rule__Modulo__Group_1__2__Impl : ( ( rule__Modulo__RightAssignment_1_2 ) ) ; + public final void rule__Modulo__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19335:1: ( ( ( rule__Modulo__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:19336:1: ( ( rule__Modulo__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:19336:1: ( ( rule__Modulo__RightAssignment_1_2 ) ) + // InternalFiacre.g:19337:2: ( rule__Modulo__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:19338:2: ( rule__Modulo__RightAssignment_1_2 ) + // InternalFiacre.g:19338:3: rule__Modulo__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Modulo__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__Group_1__2__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0__0" + // InternalFiacre.g:19347:1: rule__UnaryExpression__Group_0__0 : rule__UnaryExpression__Group_0__0__Impl rule__UnaryExpression__Group_0__1 ; + public final void rule__UnaryExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19351:1: ( rule__UnaryExpression__Group_0__0__Impl rule__UnaryExpression__Group_0__1 ) + // InternalFiacre.g:19352:2: rule__UnaryExpression__Group_0__0__Impl rule__UnaryExpression__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__UnaryExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0__0__Impl" + // InternalFiacre.g:19359:1: rule__UnaryExpression__Group_0__0__Impl : ( ( rule__UnaryExpression__Alternatives_0_0 ) ) ; + public final void rule__UnaryExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19363:1: ( ( ( rule__UnaryExpression__Alternatives_0_0 ) ) ) + // InternalFiacre.g:19364:1: ( ( rule__UnaryExpression__Alternatives_0_0 ) ) + { + // InternalFiacre.g:19364:1: ( ( rule__UnaryExpression__Alternatives_0_0 ) ) + // InternalFiacre.g:19365:2: ( rule__UnaryExpression__Alternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getAlternatives_0_0()); + } + // InternalFiacre.g:19366:2: ( rule__UnaryExpression__Alternatives_0_0 ) + // InternalFiacre.g:19366:3: rule__UnaryExpression__Alternatives_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Alternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0__1" + // InternalFiacre.g:19374:1: rule__UnaryExpression__Group_0__1 : rule__UnaryExpression__Group_0__1__Impl ; + public final void rule__UnaryExpression__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19378:1: ( rule__UnaryExpression__Group_0__1__Impl ) + // InternalFiacre.g:19379:2: rule__UnaryExpression__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0__1__Impl" + // InternalFiacre.g:19385:1: rule__UnaryExpression__Group_0__1__Impl : ( ( rule__UnaryExpression__ChildAssignment_0_1 ) ) ; + public final void rule__UnaryExpression__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19389:1: ( ( ( rule__UnaryExpression__ChildAssignment_0_1 ) ) ) + // InternalFiacre.g:19390:1: ( ( rule__UnaryExpression__ChildAssignment_0_1 ) ) + { + // InternalFiacre.g:19390:1: ( ( rule__UnaryExpression__ChildAssignment_0_1 ) ) + // InternalFiacre.g:19391:2: ( rule__UnaryExpression__ChildAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getChildAssignment_0_1()); + } + // InternalFiacre.g:19392:2: ( rule__UnaryExpression__ChildAssignment_0_1 ) + // InternalFiacre.g:19392:3: rule__UnaryExpression__ChildAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__ChildAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getChildAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_0__0" + // InternalFiacre.g:19401:1: rule__UnaryExpression__Group_0_0_0__0 : rule__UnaryExpression__Group_0_0_0__0__Impl rule__UnaryExpression__Group_0_0_0__1 ; + public final void rule__UnaryExpression__Group_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19405:1: ( rule__UnaryExpression__Group_0_0_0__0__Impl rule__UnaryExpression__Group_0_0_0__1 ) + // InternalFiacre.g:19406:2: rule__UnaryExpression__Group_0_0_0__0__Impl rule__UnaryExpression__Group_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_103); + rule__UnaryExpression__Group_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_0__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_0__0__Impl" + // InternalFiacre.g:19413:1: rule__UnaryExpression__Group_0_0_0__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19417:1: ( ( () ) ) + // InternalFiacre.g:19418:1: ( () ) + { + // InternalFiacre.g:19418:1: ( () ) + // InternalFiacre.g:19419:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0()); + } + // InternalFiacre.g:19420:2: () + // InternalFiacre.g:19420:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_0__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_0__1" + // InternalFiacre.g:19428:1: rule__UnaryExpression__Group_0_0_0__1 : rule__UnaryExpression__Group_0_0_0__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19432:1: ( rule__UnaryExpression__Group_0_0_0__1__Impl ) + // InternalFiacre.g:19433:2: rule__UnaryExpression__Group_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_0__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_0__1__Impl" + // InternalFiacre.g:19439:1: rule__UnaryExpression__Group_0_0_0__1__Impl : ( '+' ) ; + public final void rule__UnaryExpression__Group_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19443:1: ( ( '+' ) ) + // InternalFiacre.g:19444:1: ( '+' ) + { + // InternalFiacre.g:19444:1: ( '+' ) + // InternalFiacre.g:19445:2: '+' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); + } + match(input,14,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_0__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_1__0" + // InternalFiacre.g:19455:1: rule__UnaryExpression__Group_0_0_1__0 : rule__UnaryExpression__Group_0_0_1__0__Impl rule__UnaryExpression__Group_0_0_1__1 ; + public final void rule__UnaryExpression__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19459:1: ( rule__UnaryExpression__Group_0_0_1__0__Impl rule__UnaryExpression__Group_0_0_1__1 ) + // InternalFiacre.g:19460:2: rule__UnaryExpression__Group_0_0_1__0__Impl rule__UnaryExpression__Group_0_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_105); + rule__UnaryExpression__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_1__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_1__0__Impl" + // InternalFiacre.g:19467:1: rule__UnaryExpression__Group_0_0_1__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19471:1: ( ( () ) ) + // InternalFiacre.g:19472:1: ( () ) + { + // InternalFiacre.g:19472:1: ( () ) + // InternalFiacre.g:19473:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0()); + } + // InternalFiacre.g:19474:2: () + // InternalFiacre.g:19474:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_1__1" + // InternalFiacre.g:19482:1: rule__UnaryExpression__Group_0_0_1__1 : rule__UnaryExpression__Group_0_0_1__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19486:1: ( rule__UnaryExpression__Group_0_0_1__1__Impl ) + // InternalFiacre.g:19487:2: rule__UnaryExpression__Group_0_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_1__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_1__1__Impl" + // InternalFiacre.g:19493:1: rule__UnaryExpression__Group_0_0_1__1__Impl : ( '-' ) ; + public final void rule__UnaryExpression__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19497:1: ( ( '-' ) ) + // InternalFiacre.g:19498:1: ( '-' ) + { + // InternalFiacre.g:19498:1: ( '-' ) + // InternalFiacre.g:19499:2: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); + } + match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_2__0" + // InternalFiacre.g:19509:1: rule__UnaryExpression__Group_0_0_2__0 : rule__UnaryExpression__Group_0_0_2__0__Impl rule__UnaryExpression__Group_0_0_2__1 ; + public final void rule__UnaryExpression__Group_0_0_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19513:1: ( rule__UnaryExpression__Group_0_0_2__0__Impl rule__UnaryExpression__Group_0_0_2__1 ) + // InternalFiacre.g:19514:2: rule__UnaryExpression__Group_0_0_2__0__Impl rule__UnaryExpression__Group_0_0_2__1 + { + pushFollow(FollowSets000.FOLLOW_113); + rule__UnaryExpression__Group_0_0_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_2__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_2__0__Impl" + // InternalFiacre.g:19521:1: rule__UnaryExpression__Group_0_0_2__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19525:1: ( ( () ) ) + // InternalFiacre.g:19526:1: ( () ) + { + // InternalFiacre.g:19526:1: ( () ) + // InternalFiacre.g:19527:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0()); + } + // InternalFiacre.g:19528:2: () + // InternalFiacre.g:19528:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_2__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_2__1" + // InternalFiacre.g:19536:1: rule__UnaryExpression__Group_0_0_2__1 : rule__UnaryExpression__Group_0_0_2__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19540:1: ( rule__UnaryExpression__Group_0_0_2__1__Impl ) + // InternalFiacre.g:19541:2: rule__UnaryExpression__Group_0_0_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_2__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_2__1__Impl" + // InternalFiacre.g:19547:1: rule__UnaryExpression__Group_0_0_2__1__Impl : ( 'not' ) ; + public final void rule__UnaryExpression__Group_0_0_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19551:1: ( ( 'not' ) ) + // InternalFiacre.g:19552:1: ( 'not' ) + { + // InternalFiacre.g:19552:1: ( 'not' ) + // InternalFiacre.g:19553:2: 'not' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); + } + match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_2__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_3__0" + // InternalFiacre.g:19563:1: rule__UnaryExpression__Group_0_0_3__0 : rule__UnaryExpression__Group_0_0_3__0__Impl rule__UnaryExpression__Group_0_0_3__1 ; + public final void rule__UnaryExpression__Group_0_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19567:1: ( rule__UnaryExpression__Group_0_0_3__0__Impl rule__UnaryExpression__Group_0_0_3__1 ) + // InternalFiacre.g:19568:2: rule__UnaryExpression__Group_0_0_3__0__Impl rule__UnaryExpression__Group_0_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_114); + rule__UnaryExpression__Group_0_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_3__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_3__0__Impl" + // InternalFiacre.g:19575:1: rule__UnaryExpression__Group_0_0_3__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19579:1: ( ( () ) ) + // InternalFiacre.g:19580:1: ( () ) + { + // InternalFiacre.g:19580:1: ( () ) + // InternalFiacre.g:19581:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0()); + } + // InternalFiacre.g:19582:2: () + // InternalFiacre.g:19582:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_3__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_3__1" + // InternalFiacre.g:19590:1: rule__UnaryExpression__Group_0_0_3__1 : rule__UnaryExpression__Group_0_0_3__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19594:1: ( rule__UnaryExpression__Group_0_0_3__1__Impl ) + // InternalFiacre.g:19595:2: rule__UnaryExpression__Group_0_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_3__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_3__1__Impl" + // InternalFiacre.g:19601:1: rule__UnaryExpression__Group_0_0_3__1__Impl : ( 'first' ) ; + public final void rule__UnaryExpression__Group_0_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19605:1: ( ( 'first' ) ) + // InternalFiacre.g:19606:1: ( 'first' ) + { + // InternalFiacre.g:19606:1: ( 'first' ) + // InternalFiacre.g:19607:2: 'first' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); + } + match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_3__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_4__0" + // InternalFiacre.g:19617:1: rule__UnaryExpression__Group_0_0_4__0 : rule__UnaryExpression__Group_0_0_4__0__Impl rule__UnaryExpression__Group_0_0_4__1 ; + public final void rule__UnaryExpression__Group_0_0_4__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19621:1: ( rule__UnaryExpression__Group_0_0_4__0__Impl rule__UnaryExpression__Group_0_0_4__1 ) + // InternalFiacre.g:19622:2: rule__UnaryExpression__Group_0_0_4__0__Impl rule__UnaryExpression__Group_0_0_4__1 + { + pushFollow(FollowSets000.FOLLOW_115); + rule__UnaryExpression__Group_0_0_4__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_4__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_4__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_4__0__Impl" + // InternalFiacre.g:19629:1: rule__UnaryExpression__Group_0_0_4__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_4__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19633:1: ( ( () ) ) + // InternalFiacre.g:19634:1: ( () ) + { + // InternalFiacre.g:19634:1: ( () ) + // InternalFiacre.g:19635:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0()); + } + // InternalFiacre.g:19636:2: () + // InternalFiacre.g:19636:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_4__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_4__1" + // InternalFiacre.g:19644:1: rule__UnaryExpression__Group_0_0_4__1 : rule__UnaryExpression__Group_0_0_4__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_4__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19648:1: ( rule__UnaryExpression__Group_0_0_4__1__Impl ) + // InternalFiacre.g:19649:2: rule__UnaryExpression__Group_0_0_4__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_4__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_4__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_4__1__Impl" + // InternalFiacre.g:19655:1: rule__UnaryExpression__Group_0_0_4__1__Impl : ( 'length' ) ; + public final void rule__UnaryExpression__Group_0_0_4__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19659:1: ( ( 'length' ) ) + // InternalFiacre.g:19660:1: ( 'length' ) + { + // InternalFiacre.g:19660:1: ( 'length' ) + // InternalFiacre.g:19661:2: 'length' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); + } + match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_4__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_5__0" + // InternalFiacre.g:19671:1: rule__UnaryExpression__Group_0_0_5__0 : rule__UnaryExpression__Group_0_0_5__0__Impl rule__UnaryExpression__Group_0_0_5__1 ; + public final void rule__UnaryExpression__Group_0_0_5__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19675:1: ( rule__UnaryExpression__Group_0_0_5__0__Impl rule__UnaryExpression__Group_0_0_5__1 ) + // InternalFiacre.g:19676:2: rule__UnaryExpression__Group_0_0_5__0__Impl rule__UnaryExpression__Group_0_0_5__1 + { + pushFollow(FollowSets000.FOLLOW_116); + rule__UnaryExpression__Group_0_0_5__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_5__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_5__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_5__0__Impl" + // InternalFiacre.g:19683:1: rule__UnaryExpression__Group_0_0_5__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_5__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19687:1: ( ( () ) ) + // InternalFiacre.g:19688:1: ( () ) + { + // InternalFiacre.g:19688:1: ( () ) + // InternalFiacre.g:19689:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0()); + } + // InternalFiacre.g:19690:2: () + // InternalFiacre.g:19690:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_5__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_5__1" + // InternalFiacre.g:19698:1: rule__UnaryExpression__Group_0_0_5__1 : rule__UnaryExpression__Group_0_0_5__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_5__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19702:1: ( rule__UnaryExpression__Group_0_0_5__1__Impl ) + // InternalFiacre.g:19703:2: rule__UnaryExpression__Group_0_0_5__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_5__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_5__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_5__1__Impl" + // InternalFiacre.g:19709:1: rule__UnaryExpression__Group_0_0_5__1__Impl : ( '$' ) ; + public final void rule__UnaryExpression__Group_0_0_5__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19713:1: ( ( '$' ) ) + // InternalFiacre.g:19714:1: ( '$' ) + { + // InternalFiacre.g:19714:1: ( '$' ) + // InternalFiacre.g:19715:2: '$' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); + } + match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_5__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_6__0" + // InternalFiacre.g:19725:1: rule__UnaryExpression__Group_0_0_6__0 : rule__UnaryExpression__Group_0_0_6__0__Impl rule__UnaryExpression__Group_0_0_6__1 ; + public final void rule__UnaryExpression__Group_0_0_6__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19729:1: ( rule__UnaryExpression__Group_0_0_6__0__Impl rule__UnaryExpression__Group_0_0_6__1 ) + // InternalFiacre.g:19730:2: rule__UnaryExpression__Group_0_0_6__0__Impl rule__UnaryExpression__Group_0_0_6__1 + { + pushFollow(FollowSets000.FOLLOW_117); + rule__UnaryExpression__Group_0_0_6__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_6__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_6__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_6__0__Impl" + // InternalFiacre.g:19737:1: rule__UnaryExpression__Group_0_0_6__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_6__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19741:1: ( ( () ) ) + // InternalFiacre.g:19742:1: ( () ) + { + // InternalFiacre.g:19742:1: ( () ) + // InternalFiacre.g:19743:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0()); + } + // InternalFiacre.g:19744:2: () + // InternalFiacre.g:19744:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_6__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_6__1" + // InternalFiacre.g:19752:1: rule__UnaryExpression__Group_0_0_6__1 : rule__UnaryExpression__Group_0_0_6__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_6__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19756:1: ( rule__UnaryExpression__Group_0_0_6__1__Impl ) + // InternalFiacre.g:19757:2: rule__UnaryExpression__Group_0_0_6__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_6__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_6__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_6__1__Impl" + // InternalFiacre.g:19763:1: rule__UnaryExpression__Group_0_0_6__1__Impl : ( 'full' ) ; + public final void rule__UnaryExpression__Group_0_0_6__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19767:1: ( ( 'full' ) ) + // InternalFiacre.g:19768:1: ( 'full' ) + { + // InternalFiacre.g:19768:1: ( 'full' ) + // InternalFiacre.g:19769:2: 'full' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); + } + match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_6__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_7__0" + // InternalFiacre.g:19779:1: rule__UnaryExpression__Group_0_0_7__0 : rule__UnaryExpression__Group_0_0_7__0__Impl rule__UnaryExpression__Group_0_0_7__1 ; + public final void rule__UnaryExpression__Group_0_0_7__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19783:1: ( rule__UnaryExpression__Group_0_0_7__0__Impl rule__UnaryExpression__Group_0_0_7__1 ) + // InternalFiacre.g:19784:2: rule__UnaryExpression__Group_0_0_7__0__Impl rule__UnaryExpression__Group_0_0_7__1 + { + pushFollow(FollowSets000.FOLLOW_118); + rule__UnaryExpression__Group_0_0_7__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_7__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_7__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_7__0__Impl" + // InternalFiacre.g:19791:1: rule__UnaryExpression__Group_0_0_7__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_7__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19795:1: ( ( () ) ) + // InternalFiacre.g:19796:1: ( () ) + { + // InternalFiacre.g:19796:1: ( () ) + // InternalFiacre.g:19797:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0()); + } + // InternalFiacre.g:19798:2: () + // InternalFiacre.g:19798:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_7__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_7__1" + // InternalFiacre.g:19806:1: rule__UnaryExpression__Group_0_0_7__1 : rule__UnaryExpression__Group_0_0_7__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_7__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19810:1: ( rule__UnaryExpression__Group_0_0_7__1__Impl ) + // InternalFiacre.g:19811:2: rule__UnaryExpression__Group_0_0_7__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_7__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_7__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_7__1__Impl" + // InternalFiacre.g:19817:1: rule__UnaryExpression__Group_0_0_7__1__Impl : ( 'dequeue' ) ; + public final void rule__UnaryExpression__Group_0_0_7__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19821:1: ( ( 'dequeue' ) ) + // InternalFiacre.g:19822:1: ( 'dequeue' ) + { + // InternalFiacre.g:19822:1: ( 'dequeue' ) + // InternalFiacre.g:19823:2: 'dequeue' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); + } + match(input,96,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_7__1__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_8__0" + // InternalFiacre.g:19833:1: rule__UnaryExpression__Group_0_0_8__0 : rule__UnaryExpression__Group_0_0_8__0__Impl rule__UnaryExpression__Group_0_0_8__1 ; + public final void rule__UnaryExpression__Group_0_0_8__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19837:1: ( rule__UnaryExpression__Group_0_0_8__0__Impl rule__UnaryExpression__Group_0_0_8__1 ) + // InternalFiacre.g:19838:2: rule__UnaryExpression__Group_0_0_8__0__Impl rule__UnaryExpression__Group_0_0_8__1 + { + pushFollow(FollowSets000.FOLLOW_119); + rule__UnaryExpression__Group_0_0_8__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_8__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_8__0" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_8__0__Impl" + // InternalFiacre.g:19845:1: rule__UnaryExpression__Group_0_0_8__0__Impl : ( () ) ; + public final void rule__UnaryExpression__Group_0_0_8__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19849:1: ( ( () ) ) + // InternalFiacre.g:19850:1: ( () ) + { + // InternalFiacre.g:19850:1: ( () ) + // InternalFiacre.g:19851:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0()); + } + // InternalFiacre.g:19852:2: () + // InternalFiacre.g:19852:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_8__0__Impl" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_8__1" + // InternalFiacre.g:19860:1: rule__UnaryExpression__Group_0_0_8__1 : rule__UnaryExpression__Group_0_0_8__1__Impl ; + public final void rule__UnaryExpression__Group_0_0_8__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19864:1: ( rule__UnaryExpression__Group_0_0_8__1__Impl ) + // InternalFiacre.g:19865:2: rule__UnaryExpression__Group_0_0_8__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__UnaryExpression__Group_0_0_8__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_8__1" + + + // $ANTLR start "rule__UnaryExpression__Group_0_0_8__1__Impl" + // InternalFiacre.g:19871:1: rule__UnaryExpression__Group_0_0_8__1__Impl : ( 'empty' ) ; + public final void rule__UnaryExpression__Group_0_0_8__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19875:1: ( ( 'empty' ) ) + // InternalFiacre.g:19876:1: ( 'empty' ) + { + // InternalFiacre.g:19876:1: ( 'empty' ) + // InternalFiacre.g:19877:2: 'empty' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); + } + match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__Group_0_0_8__1__Impl" + + + // $ANTLR start "rule__Projection__Group__0" + // InternalFiacre.g:19887:1: rule__Projection__Group__0 : rule__Projection__Group__0__Impl rule__Projection__Group__1 ; + public final void rule__Projection__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19891:1: ( rule__Projection__Group__0__Impl rule__Projection__Group__1 ) + // InternalFiacre.g:19892:2: rule__Projection__Group__0__Impl rule__Projection__Group__1 + { + pushFollow(FollowSets000.FOLLOW_120); + rule__Projection__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group__0" + + + // $ANTLR start "rule__Projection__Group__0__Impl" + // InternalFiacre.g:19899:1: rule__Projection__Group__0__Impl : ( ruleAtomicExpression ) ; + public final void rule__Projection__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19903:1: ( ( ruleAtomicExpression ) ) + // InternalFiacre.g:19904:1: ( ruleAtomicExpression ) + { + // InternalFiacre.g:19904:1: ( ruleAtomicExpression ) + // InternalFiacre.g:19905:2: ruleAtomicExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group__0__Impl" + + + // $ANTLR start "rule__Projection__Group__1" + // InternalFiacre.g:19914:1: rule__Projection__Group__1 : rule__Projection__Group__1__Impl ; + public final void rule__Projection__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19918:1: ( rule__Projection__Group__1__Impl ) + // InternalFiacre.g:19919:2: rule__Projection__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group__1" + + + // $ANTLR start "rule__Projection__Group__1__Impl" + // InternalFiacre.g:19925:1: rule__Projection__Group__1__Impl : ( ( rule__Projection__Group_1__0 )? ) ; + public final void rule__Projection__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19929:1: ( ( ( rule__Projection__Group_1__0 )? ) ) + // InternalFiacre.g:19930:1: ( ( rule__Projection__Group_1__0 )? ) + { + // InternalFiacre.g:19930:1: ( ( rule__Projection__Group_1__0 )? ) + // InternalFiacre.g:19931:2: ( rule__Projection__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getGroup_1()); + } + // InternalFiacre.g:19932:2: ( rule__Projection__Group_1__0 )? + int alt165=2; + int LA165_0 = input.LA(1); + + if ( (LA165_0==98) ) { + alt165=1; + } + switch (alt165) { + case 1 : + // InternalFiacre.g:19932:3: rule__Projection__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group__1__Impl" + + + // $ANTLR start "rule__Projection__Group_1__0" + // InternalFiacre.g:19941:1: rule__Projection__Group_1__0 : rule__Projection__Group_1__0__Impl rule__Projection__Group_1__1 ; + public final void rule__Projection__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19945:1: ( rule__Projection__Group_1__0__Impl rule__Projection__Group_1__1 ) + // InternalFiacre.g:19946:2: rule__Projection__Group_1__0__Impl rule__Projection__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_120); + rule__Projection__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__0" + + + // $ANTLR start "rule__Projection__Group_1__0__Impl" + // InternalFiacre.g:19953:1: rule__Projection__Group_1__0__Impl : ( () ) ; + public final void rule__Projection__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19957:1: ( ( () ) ) + // InternalFiacre.g:19958:1: ( () ) + { + // InternalFiacre.g:19958:1: ( () ) + // InternalFiacre.g:19959:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0()); + } + // InternalFiacre.g:19960:2: () + // InternalFiacre.g:19960:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__0__Impl" + + + // $ANTLR start "rule__Projection__Group_1__1" + // InternalFiacre.g:19968:1: rule__Projection__Group_1__1 : rule__Projection__Group_1__1__Impl rule__Projection__Group_1__2 ; + public final void rule__Projection__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19972:1: ( rule__Projection__Group_1__1__Impl rule__Projection__Group_1__2 ) + // InternalFiacre.g:19973:2: rule__Projection__Group_1__1__Impl rule__Projection__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__Projection__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__1" + + + // $ANTLR start "rule__Projection__Group_1__1__Impl" + // InternalFiacre.g:19980:1: rule__Projection__Group_1__1__Impl : ( '^' ) ; + public final void rule__Projection__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19984:1: ( ( '^' ) ) + // InternalFiacre.g:19985:1: ( '^' ) + { + // InternalFiacre.g:19985:1: ( '^' ) + // InternalFiacre.g:19986:2: '^' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); + } + match(input,98,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__1__Impl" + + + // $ANTLR start "rule__Projection__Group_1__2" + // InternalFiacre.g:19995:1: rule__Projection__Group_1__2 : rule__Projection__Group_1__2__Impl ; + public final void rule__Projection__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:19999:1: ( rule__Projection__Group_1__2__Impl ) + // InternalFiacre.g:20000:2: rule__Projection__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__2" + + + // $ANTLR start "rule__Projection__Group_1__2__Impl" + // InternalFiacre.g:20006:1: rule__Projection__Group_1__2__Impl : ( ( rule__Projection__FieldAssignment_1_2 ) ) ; + public final void rule__Projection__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20010:1: ( ( ( rule__Projection__FieldAssignment_1_2 ) ) ) + // InternalFiacre.g:20011:1: ( ( rule__Projection__FieldAssignment_1_2 ) ) + { + // InternalFiacre.g:20011:1: ( ( rule__Projection__FieldAssignment_1_2 ) ) + // InternalFiacre.g:20012:2: ( rule__Projection__FieldAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getFieldAssignment_1_2()); + } + // InternalFiacre.g:20013:2: ( rule__Projection__FieldAssignment_1_2 ) + // InternalFiacre.g:20013:3: rule__Projection__FieldAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Projection__FieldAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getFieldAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__Group_1__2__Impl" + + + // $ANTLR start "rule__AtomicExpression__Group_8__0" + // InternalFiacre.g:20022:1: rule__AtomicExpression__Group_8__0 : rule__AtomicExpression__Group_8__0__Impl rule__AtomicExpression__Group_8__1 ; + public final void rule__AtomicExpression__Group_8__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20026:1: ( rule__AtomicExpression__Group_8__0__Impl rule__AtomicExpression__Group_8__1 ) + // InternalFiacre.g:20027:2: rule__AtomicExpression__Group_8__0__Impl rule__AtomicExpression__Group_8__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__AtomicExpression__Group_8__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicExpression__Group_8__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__0" + + + // $ANTLR start "rule__AtomicExpression__Group_8__0__Impl" + // InternalFiacre.g:20034:1: rule__AtomicExpression__Group_8__0__Impl : ( '(' ) ; + public final void rule__AtomicExpression__Group_8__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20038:1: ( ( '(' ) ) + // InternalFiacre.g:20039:1: ( '(' ) + { + // InternalFiacre.g:20039:1: ( '(' ) + // InternalFiacre.g:20040:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__0__Impl" + + + // $ANTLR start "rule__AtomicExpression__Group_8__1" + // InternalFiacre.g:20049:1: rule__AtomicExpression__Group_8__1 : rule__AtomicExpression__Group_8__1__Impl rule__AtomicExpression__Group_8__2 ; + public final void rule__AtomicExpression__Group_8__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20053:1: ( rule__AtomicExpression__Group_8__1__Impl rule__AtomicExpression__Group_8__2 ) + // InternalFiacre.g:20054:2: rule__AtomicExpression__Group_8__1__Impl rule__AtomicExpression__Group_8__2 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__AtomicExpression__Group_8__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicExpression__Group_8__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__1" + + + // $ANTLR start "rule__AtomicExpression__Group_8__1__Impl" + // InternalFiacre.g:20061:1: rule__AtomicExpression__Group_8__1__Impl : ( ruleExpression ) ; + public final void rule__AtomicExpression__Group_8__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20065:1: ( ( ruleExpression ) ) + // InternalFiacre.g:20066:1: ( ruleExpression ) + { + // InternalFiacre.g:20066:1: ( ruleExpression ) + // InternalFiacre.g:20067:2: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__1__Impl" + + + // $ANTLR start "rule__AtomicExpression__Group_8__2" + // InternalFiacre.g:20076:1: rule__AtomicExpression__Group_8__2 : rule__AtomicExpression__Group_8__2__Impl ; + public final void rule__AtomicExpression__Group_8__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20080:1: ( rule__AtomicExpression__Group_8__2__Impl ) + // InternalFiacre.g:20081:2: rule__AtomicExpression__Group_8__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicExpression__Group_8__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__2" + + + // $ANTLR start "rule__AtomicExpression__Group_8__2__Impl" + // InternalFiacre.g:20087:1: rule__AtomicExpression__Group_8__2__Impl : ( ')' ) ; + public final void rule__AtomicExpression__Group_8__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20091:1: ( ( ')' ) ) + // InternalFiacre.g:20092:1: ( ')' ) + { + // InternalFiacre.g:20092:1: ( ')' ) + // InternalFiacre.g:20093:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicExpression__Group_8__2__Impl" + + + // $ANTLR start "rule__ReferenceExpression__Group__0" + // InternalFiacre.g:20103:1: rule__ReferenceExpression__Group__0 : rule__ReferenceExpression__Group__0__Impl rule__ReferenceExpression__Group__1 ; + public final void rule__ReferenceExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20107:1: ( rule__ReferenceExpression__Group__0__Impl rule__ReferenceExpression__Group__1 ) + // InternalFiacre.g:20108:2: rule__ReferenceExpression__Group__0__Impl rule__ReferenceExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__ReferenceExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ReferenceExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferenceExpression__Group__0" + + + // $ANTLR start "rule__ReferenceExpression__Group__0__Impl" + // InternalFiacre.g:20115:1: rule__ReferenceExpression__Group__0__Impl : ( '&' ) ; + public final void rule__ReferenceExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20119:1: ( ( '&' ) ) + // InternalFiacre.g:20120:1: ( '&' ) + { + // InternalFiacre.g:20120:1: ( '&' ) + // InternalFiacre.g:20121:2: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); + } + match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferenceExpression__Group__0__Impl" + + + // $ANTLR start "rule__ReferenceExpression__Group__1" + // InternalFiacre.g:20130:1: rule__ReferenceExpression__Group__1 : rule__ReferenceExpression__Group__1__Impl ; + public final void rule__ReferenceExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20134:1: ( rule__ReferenceExpression__Group__1__Impl ) + // InternalFiacre.g:20135:2: rule__ReferenceExpression__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReferenceExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferenceExpression__Group__1" + + + // $ANTLR start "rule__ReferenceExpression__Group__1__Impl" + // InternalFiacre.g:20141:1: rule__ReferenceExpression__Group__1__Impl : ( ( rule__ReferenceExpression__DeclarationAssignment_1 ) ) ; + public final void rule__ReferenceExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20145:1: ( ( ( rule__ReferenceExpression__DeclarationAssignment_1 ) ) ) + // InternalFiacre.g:20146:1: ( ( rule__ReferenceExpression__DeclarationAssignment_1 ) ) + { + // InternalFiacre.g:20146:1: ( ( rule__ReferenceExpression__DeclarationAssignment_1 ) ) + // InternalFiacre.g:20147:2: ( rule__ReferenceExpression__DeclarationAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionAccess().getDeclarationAssignment_1()); + } + // InternalFiacre.g:20148:2: ( rule__ReferenceExpression__DeclarationAssignment_1 ) + // InternalFiacre.g:20148:3: rule__ReferenceExpression__DeclarationAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ReferenceExpression__DeclarationAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionAccess().getDeclarationAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferenceExpression__Group__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__0" + // InternalFiacre.g:20157:1: rule__IdentifierExpression__Group_0__0 : rule__IdentifierExpression__Group_0__0__Impl rule__IdentifierExpression__Group_0__1 ; + public final void rule__IdentifierExpression__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20161:1: ( rule__IdentifierExpression__Group_0__0__Impl rule__IdentifierExpression__Group_0__1 ) + // InternalFiacre.g:20162:2: rule__IdentifierExpression__Group_0__0__Impl rule__IdentifierExpression__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierExpression__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__0__Impl" + // InternalFiacre.g:20169:1: rule__IdentifierExpression__Group_0__0__Impl : ( () ) ; + public final void rule__IdentifierExpression__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20173:1: ( ( () ) ) + // InternalFiacre.g:20174:1: ( () ) + { + // InternalFiacre.g:20174:1: ( () ) + // InternalFiacre.g:20175:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0()); + } + // InternalFiacre.g:20176:2: () + // InternalFiacre.g:20176:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__1" + // InternalFiacre.g:20184:1: rule__IdentifierExpression__Group_0__1 : rule__IdentifierExpression__Group_0__1__Impl rule__IdentifierExpression__Group_0__2 ; + public final void rule__IdentifierExpression__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20188:1: ( rule__IdentifierExpression__Group_0__1__Impl rule__IdentifierExpression__Group_0__2 ) + // InternalFiacre.g:20189:2: rule__IdentifierExpression__Group_0__1__Impl rule__IdentifierExpression__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_13); + rule__IdentifierExpression__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__1__Impl" + // InternalFiacre.g:20196:1: rule__IdentifierExpression__Group_0__1__Impl : ( ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) ) ; + public final void rule__IdentifierExpression__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20200:1: ( ( ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) ) ) + // InternalFiacre.g:20201:1: ( ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) ) + { + // InternalFiacre.g:20201:1: ( ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) ) + // InternalFiacre.g:20202:2: ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_0_1()); + } + // InternalFiacre.g:20203:2: ( rule__IdentifierExpression__DeclarationAssignment_0_1 ) + // InternalFiacre.g:20203:3: rule__IdentifierExpression__DeclarationAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__DeclarationAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__2" + // InternalFiacre.g:20211:1: rule__IdentifierExpression__Group_0__2 : rule__IdentifierExpression__Group_0__2__Impl rule__IdentifierExpression__Group_0__3 ; + public final void rule__IdentifierExpression__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20215:1: ( rule__IdentifierExpression__Group_0__2__Impl rule__IdentifierExpression__Group_0__3 ) + // InternalFiacre.g:20216:2: rule__IdentifierExpression__Group_0__2__Impl rule__IdentifierExpression__Group_0__3 + { + pushFollow(FollowSets000.FOLLOW_121); + rule__IdentifierExpression__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__2" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__2__Impl" + // InternalFiacre.g:20223:1: rule__IdentifierExpression__Group_0__2__Impl : ( '(' ) ; + public final void rule__IdentifierExpression__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20227:1: ( ( '(' ) ) + // InternalFiacre.g:20228:1: ( '(' ) + { + // InternalFiacre.g:20228:1: ( '(' ) + // InternalFiacre.g:20229:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__2__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__3" + // InternalFiacre.g:20238:1: rule__IdentifierExpression__Group_0__3 : rule__IdentifierExpression__Group_0__3__Impl rule__IdentifierExpression__Group_0__4 ; + public final void rule__IdentifierExpression__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20242:1: ( rule__IdentifierExpression__Group_0__3__Impl rule__IdentifierExpression__Group_0__4 ) + // InternalFiacre.g:20243:2: rule__IdentifierExpression__Group_0__3__Impl rule__IdentifierExpression__Group_0__4 + { + pushFollow(FollowSets000.FOLLOW_121); + rule__IdentifierExpression__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__3" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__3__Impl" + // InternalFiacre.g:20250:1: rule__IdentifierExpression__Group_0__3__Impl : ( ( rule__IdentifierExpression__Group_0_3__0 )? ) ; + public final void rule__IdentifierExpression__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20254:1: ( ( ( rule__IdentifierExpression__Group_0_3__0 )? ) ) + // InternalFiacre.g:20255:1: ( ( rule__IdentifierExpression__Group_0_3__0 )? ) + { + // InternalFiacre.g:20255:1: ( ( rule__IdentifierExpression__Group_0_3__0 )? ) + // InternalFiacre.g:20256:2: ( rule__IdentifierExpression__Group_0_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3()); + } + // InternalFiacre.g:20257:2: ( rule__IdentifierExpression__Group_0_3__0 )? + int alt166=2; + int LA166_0 = input.LA(1); + + if ( (LA166_0==RULE_ID||LA166_0==RULE_INT||LA166_0==14||LA166_0==22||LA166_0==42||(LA166_0>=77 && LA166_0<=78)||LA166_0==87||(LA166_0>=91 && LA166_0<=97)||(LA166_0>=99 && LA166_0<=100)||LA166_0==102||(LA166_0>=104 && LA166_0<=107)) ) { + alt166=1; + } + switch (alt166) { + case 1 : + // InternalFiacre.g:20257:3: rule__IdentifierExpression__Group_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__3__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__4" + // InternalFiacre.g:20265:1: rule__IdentifierExpression__Group_0__4 : rule__IdentifierExpression__Group_0__4__Impl ; + public final void rule__IdentifierExpression__Group_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20269:1: ( rule__IdentifierExpression__Group_0__4__Impl ) + // InternalFiacre.g:20270:2: rule__IdentifierExpression__Group_0__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__4" + + + // $ANTLR start "rule__IdentifierExpression__Group_0__4__Impl" + // InternalFiacre.g:20276:1: rule__IdentifierExpression__Group_0__4__Impl : ( ')' ) ; + public final void rule__IdentifierExpression__Group_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20280:1: ( ( ')' ) ) + // InternalFiacre.g:20281:1: ( ')' ) + { + // InternalFiacre.g:20281:1: ( ')' ) + // InternalFiacre.g:20282:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0__4__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3__0" + // InternalFiacre.g:20292:1: rule__IdentifierExpression__Group_0_3__0 : rule__IdentifierExpression__Group_0_3__0__Impl rule__IdentifierExpression__Group_0_3__1 ; + public final void rule__IdentifierExpression__Group_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20296:1: ( rule__IdentifierExpression__Group_0_3__0__Impl rule__IdentifierExpression__Group_0_3__1 ) + // InternalFiacre.g:20297:2: rule__IdentifierExpression__Group_0_3__0__Impl rule__IdentifierExpression__Group_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__IdentifierExpression__Group_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3__0__Impl" + // InternalFiacre.g:20304:1: rule__IdentifierExpression__Group_0_3__0__Impl : ( ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) ) ; + public final void rule__IdentifierExpression__Group_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20308:1: ( ( ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) ) ) + // InternalFiacre.g:20309:1: ( ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) ) + { + // InternalFiacre.g:20309:1: ( ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) ) + // InternalFiacre.g:20310:2: ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_0()); + } + // InternalFiacre.g:20311:2: ( rule__IdentifierExpression__ParametersAssignment_0_3_0 ) + // InternalFiacre.g:20311:3: rule__IdentifierExpression__ParametersAssignment_0_3_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__ParametersAssignment_0_3_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3__1" + // InternalFiacre.g:20319:1: rule__IdentifierExpression__Group_0_3__1 : rule__IdentifierExpression__Group_0_3__1__Impl ; + public final void rule__IdentifierExpression__Group_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20323:1: ( rule__IdentifierExpression__Group_0_3__1__Impl ) + // InternalFiacre.g:20324:2: rule__IdentifierExpression__Group_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3__1__Impl" + // InternalFiacre.g:20330:1: rule__IdentifierExpression__Group_0_3__1__Impl : ( ( rule__IdentifierExpression__Group_0_3_1__0 )* ) ; + public final void rule__IdentifierExpression__Group_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20334:1: ( ( ( rule__IdentifierExpression__Group_0_3_1__0 )* ) ) + // InternalFiacre.g:20335:1: ( ( rule__IdentifierExpression__Group_0_3_1__0 )* ) + { + // InternalFiacre.g:20335:1: ( ( rule__IdentifierExpression__Group_0_3_1__0 )* ) + // InternalFiacre.g:20336:2: ( rule__IdentifierExpression__Group_0_3_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3_1()); + } + // InternalFiacre.g:20337:2: ( rule__IdentifierExpression__Group_0_3_1__0 )* + loop167: + do { + int alt167=2; + int LA167_0 = input.LA(1); + + if ( (LA167_0==24) ) { + alt167=1; + } + + + switch (alt167) { + case 1 : + // InternalFiacre.g:20337:3: rule__IdentifierExpression__Group_0_3_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__IdentifierExpression__Group_0_3_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop167; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3_1__0" + // InternalFiacre.g:20346:1: rule__IdentifierExpression__Group_0_3_1__0 : rule__IdentifierExpression__Group_0_3_1__0__Impl rule__IdentifierExpression__Group_0_3_1__1 ; + public final void rule__IdentifierExpression__Group_0_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20350:1: ( rule__IdentifierExpression__Group_0_3_1__0__Impl rule__IdentifierExpression__Group_0_3_1__1 ) + // InternalFiacre.g:20351:2: rule__IdentifierExpression__Group_0_3_1__0__Impl rule__IdentifierExpression__Group_0_3_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierExpression__Group_0_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3_1__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3_1__0__Impl" + // InternalFiacre.g:20358:1: rule__IdentifierExpression__Group_0_3_1__0__Impl : ( ',' ) ; + public final void rule__IdentifierExpression__Group_0_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20362:1: ( ( ',' ) ) + // InternalFiacre.g:20363:1: ( ',' ) + { + // InternalFiacre.g:20363:1: ( ',' ) + // InternalFiacre.g:20364:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3_1__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3_1__1" + // InternalFiacre.g:20373:1: rule__IdentifierExpression__Group_0_3_1__1 : rule__IdentifierExpression__Group_0_3_1__1__Impl ; + public final void rule__IdentifierExpression__Group_0_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20377:1: ( rule__IdentifierExpression__Group_0_3_1__1__Impl ) + // InternalFiacre.g:20378:2: rule__IdentifierExpression__Group_0_3_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3_1__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_0_3_1__1__Impl" + // InternalFiacre.g:20384:1: rule__IdentifierExpression__Group_0_3_1__1__Impl : ( ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) ) ; + public final void rule__IdentifierExpression__Group_0_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20388:1: ( ( ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) ) ) + // InternalFiacre.g:20389:1: ( ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) ) + { + // InternalFiacre.g:20389:1: ( ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) ) + // InternalFiacre.g:20390:2: ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_1_1()); + } + // InternalFiacre.g:20391:2: ( rule__IdentifierExpression__ParametersAssignment_0_3_1_1 ) + // InternalFiacre.g:20391:3: rule__IdentifierExpression__ParametersAssignment_0_3_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__ParametersAssignment_0_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getParametersAssignment_0_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_0_3_1__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1__0" + // InternalFiacre.g:20400:1: rule__IdentifierExpression__Group_1__0 : rule__IdentifierExpression__Group_1__0__Impl rule__IdentifierExpression__Group_1__1 ; + public final void rule__IdentifierExpression__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20404:1: ( rule__IdentifierExpression__Group_1__0__Impl rule__IdentifierExpression__Group_1__1 ) + // InternalFiacre.g:20405:2: rule__IdentifierExpression__Group_1__0__Impl rule__IdentifierExpression__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_71); + rule__IdentifierExpression__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_1__0__Impl" + // InternalFiacre.g:20412:1: rule__IdentifierExpression__Group_1__0__Impl : ( ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) ) ; + public final void rule__IdentifierExpression__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20416:1: ( ( ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) ) ) + // InternalFiacre.g:20417:1: ( ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) ) + { + // InternalFiacre.g:20417:1: ( ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) ) + // InternalFiacre.g:20418:2: ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_1_0()); + } + // InternalFiacre.g:20419:2: ( rule__IdentifierExpression__DeclarationAssignment_1_0 ) + // InternalFiacre.g:20419:3: rule__IdentifierExpression__DeclarationAssignment_1_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__DeclarationAssignment_1_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationAssignment_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1__1" + // InternalFiacre.g:20427:1: rule__IdentifierExpression__Group_1__1 : rule__IdentifierExpression__Group_1__1__Impl ; + public final void rule__IdentifierExpression__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20431:1: ( rule__IdentifierExpression__Group_1__1__Impl ) + // InternalFiacre.g:20432:2: rule__IdentifierExpression__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_1__1__Impl" + // InternalFiacre.g:20438:1: rule__IdentifierExpression__Group_1__1__Impl : ( ( rule__IdentifierExpression__Alternatives_1_1 )* ) ; + public final void rule__IdentifierExpression__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20442:1: ( ( ( rule__IdentifierExpression__Alternatives_1_1 )* ) ) + // InternalFiacre.g:20443:1: ( ( rule__IdentifierExpression__Alternatives_1_1 )* ) + { + // InternalFiacre.g:20443:1: ( ( rule__IdentifierExpression__Alternatives_1_1 )* ) + // InternalFiacre.g:20444:2: ( rule__IdentifierExpression__Alternatives_1_1 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getAlternatives_1_1()); + } + // InternalFiacre.g:20445:2: ( rule__IdentifierExpression__Alternatives_1_1 )* + loop168: + do { + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==61) ) { + int LA168_2 = input.LA(2); + + if ( (LA168_2==RULE_ID) ) { + int LA168_4 = input.LA(3); + + if ( (synpred238_InternalFiacre()) ) { + alt168=1; + } + + + } + + + } + else if ( (LA168_0==42) ) { + alt168=1; + } + + + switch (alt168) { + case 1 : + // InternalFiacre.g:20445:3: rule__IdentifierExpression__Alternatives_1_1 + { + pushFollow(FollowSets000.FOLLOW_72); + rule__IdentifierExpression__Alternatives_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop168; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getAlternatives_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__0" + // InternalFiacre.g:20454:1: rule__IdentifierExpression__Group_1_1_0__0 : rule__IdentifierExpression__Group_1_1_0__0__Impl rule__IdentifierExpression__Group_1_1_0__1 ; + public final void rule__IdentifierExpression__Group_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20458:1: ( rule__IdentifierExpression__Group_1_1_0__0__Impl rule__IdentifierExpression__Group_1_1_0__1 ) + // InternalFiacre.g:20459:2: rule__IdentifierExpression__Group_1_1_0__0__Impl rule__IdentifierExpression__Group_1_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierExpression__Group_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__0__Impl" + // InternalFiacre.g:20466:1: rule__IdentifierExpression__Group_1_1_0__0__Impl : ( '[' ) ; + public final void rule__IdentifierExpression__Group_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20470:1: ( ( '[' ) ) + // InternalFiacre.g:20471:1: ( '[' ) + { + // InternalFiacre.g:20471:1: ( '[' ) + // InternalFiacre.g:20472:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__1" + // InternalFiacre.g:20481:1: rule__IdentifierExpression__Group_1_1_0__1 : rule__IdentifierExpression__Group_1_1_0__1__Impl rule__IdentifierExpression__Group_1_1_0__2 ; + public final void rule__IdentifierExpression__Group_1_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20485:1: ( rule__IdentifierExpression__Group_1_1_0__1__Impl rule__IdentifierExpression__Group_1_1_0__2 ) + // InternalFiacre.g:20486:2: rule__IdentifierExpression__Group_1_1_0__1__Impl rule__IdentifierExpression__Group_1_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierExpression__Group_1_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__1__Impl" + // InternalFiacre.g:20493:1: rule__IdentifierExpression__Group_1_1_0__1__Impl : ( () ) ; + public final void rule__IdentifierExpression__Group_1_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20497:1: ( ( () ) ) + // InternalFiacre.g:20498:1: ( () ) + { + // InternalFiacre.g:20498:1: ( () ) + // InternalFiacre.g:20499:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1()); + } + // InternalFiacre.g:20500:2: () + // InternalFiacre.g:20500:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__2" + // InternalFiacre.g:20508:1: rule__IdentifierExpression__Group_1_1_0__2 : rule__IdentifierExpression__Group_1_1_0__2__Impl rule__IdentifierExpression__Group_1_1_0__3 ; + public final void rule__IdentifierExpression__Group_1_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20512:1: ( rule__IdentifierExpression__Group_1_1_0__2__Impl rule__IdentifierExpression__Group_1_1_0__3 ) + // InternalFiacre.g:20513:2: rule__IdentifierExpression__Group_1_1_0__2__Impl rule__IdentifierExpression__Group_1_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__IdentifierExpression__Group_1_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__2" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__2__Impl" + // InternalFiacre.g:20520:1: rule__IdentifierExpression__Group_1_1_0__2__Impl : ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) ) ; + public final void rule__IdentifierExpression__Group_1_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20524:1: ( ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) ) ) + // InternalFiacre.g:20525:1: ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) ) + { + // InternalFiacre.g:20525:1: ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) ) + // InternalFiacre.g:20526:2: ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_2()); + } + // InternalFiacre.g:20527:2: ( rule__IdentifierExpression__IndexesAssignment_1_1_0_2 ) + // InternalFiacre.g:20527:3: rule__IdentifierExpression__IndexesAssignment_1_1_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__IndexesAssignment_1_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__2__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__3" + // InternalFiacre.g:20535:1: rule__IdentifierExpression__Group_1_1_0__3 : rule__IdentifierExpression__Group_1_1_0__3__Impl rule__IdentifierExpression__Group_1_1_0__4 ; + public final void rule__IdentifierExpression__Group_1_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20539:1: ( rule__IdentifierExpression__Group_1_1_0__3__Impl rule__IdentifierExpression__Group_1_1_0__4 ) + // InternalFiacre.g:20540:2: rule__IdentifierExpression__Group_1_1_0__3__Impl rule__IdentifierExpression__Group_1_1_0__4 + { + pushFollow(FollowSets000.FOLLOW_43); + rule__IdentifierExpression__Group_1_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__3" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__3__Impl" + // InternalFiacre.g:20547:1: rule__IdentifierExpression__Group_1_1_0__3__Impl : ( ( rule__IdentifierExpression__Group_1_1_0_3__0 )* ) ; + public final void rule__IdentifierExpression__Group_1_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20551:1: ( ( ( rule__IdentifierExpression__Group_1_1_0_3__0 )* ) ) + // InternalFiacre.g:20552:1: ( ( rule__IdentifierExpression__Group_1_1_0_3__0 )* ) + { + // InternalFiacre.g:20552:1: ( ( rule__IdentifierExpression__Group_1_1_0_3__0 )* ) + // InternalFiacre.g:20553:2: ( rule__IdentifierExpression__Group_1_1_0_3__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0_3()); + } + // InternalFiacre.g:20554:2: ( rule__IdentifierExpression__Group_1_1_0_3__0 )* + loop169: + do { + int alt169=2; + int LA169_0 = input.LA(1); + + if ( (LA169_0==24) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // InternalFiacre.g:20554:3: rule__IdentifierExpression__Group_1_1_0_3__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__IdentifierExpression__Group_1_1_0_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop169; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getGroup_1_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__3__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__4" + // InternalFiacre.g:20562:1: rule__IdentifierExpression__Group_1_1_0__4 : rule__IdentifierExpression__Group_1_1_0__4__Impl ; + public final void rule__IdentifierExpression__Group_1_1_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20566:1: ( rule__IdentifierExpression__Group_1_1_0__4__Impl ) + // InternalFiacre.g:20567:2: rule__IdentifierExpression__Group_1_1_0__4__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__4" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0__4__Impl" + // InternalFiacre.g:20573:1: rule__IdentifierExpression__Group_1_1_0__4__Impl : ( ']' ) ; + public final void rule__IdentifierExpression__Group_1_1_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20577:1: ( ( ']' ) ) + // InternalFiacre.g:20578:1: ( ']' ) + { + // InternalFiacre.g:20578:1: ( ']' ) + // InternalFiacre.g:20579:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0__4__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0_3__0" + // InternalFiacre.g:20589:1: rule__IdentifierExpression__Group_1_1_0_3__0 : rule__IdentifierExpression__Group_1_1_0_3__0__Impl rule__IdentifierExpression__Group_1_1_0_3__1 ; + public final void rule__IdentifierExpression__Group_1_1_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20593:1: ( rule__IdentifierExpression__Group_1_1_0_3__0__Impl rule__IdentifierExpression__Group_1_1_0_3__1 ) + // InternalFiacre.g:20594:2: rule__IdentifierExpression__Group_1_1_0_3__0__Impl rule__IdentifierExpression__Group_1_1_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__IdentifierExpression__Group_1_1_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0_3__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0_3__0__Impl" + // InternalFiacre.g:20601:1: rule__IdentifierExpression__Group_1_1_0_3__0__Impl : ( ',' ) ; + public final void rule__IdentifierExpression__Group_1_1_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20605:1: ( ( ',' ) ) + // InternalFiacre.g:20606:1: ( ',' ) + { + // InternalFiacre.g:20606:1: ( ',' ) + // InternalFiacre.g:20607:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0_3__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0_3__1" + // InternalFiacre.g:20616:1: rule__IdentifierExpression__Group_1_1_0_3__1 : rule__IdentifierExpression__Group_1_1_0_3__1__Impl ; + public final void rule__IdentifierExpression__Group_1_1_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20620:1: ( rule__IdentifierExpression__Group_1_1_0_3__1__Impl ) + // InternalFiacre.g:20621:2: rule__IdentifierExpression__Group_1_1_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0_3__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_0_3__1__Impl" + // InternalFiacre.g:20627:1: rule__IdentifierExpression__Group_1_1_0_3__1__Impl : ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) ) ; + public final void rule__IdentifierExpression__Group_1_1_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20631:1: ( ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) ) ) + // InternalFiacre.g:20632:1: ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) ) + { + // InternalFiacre.g:20632:1: ( ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) ) + // InternalFiacre.g:20633:2: ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_3_1()); + } + // InternalFiacre.g:20634:2: ( rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 ) + // InternalFiacre.g:20634:3: rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getIndexesAssignment_1_1_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_0_3__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__0" + // InternalFiacre.g:20643:1: rule__IdentifierExpression__Group_1_1_1__0 : rule__IdentifierExpression__Group_1_1_1__0__Impl rule__IdentifierExpression__Group_1_1_1__1 ; + public final void rule__IdentifierExpression__Group_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20647:1: ( rule__IdentifierExpression__Group_1_1_1__0__Impl rule__IdentifierExpression__Group_1_1_1__1 ) + // InternalFiacre.g:20648:2: rule__IdentifierExpression__Group_1_1_1__0__Impl rule__IdentifierExpression__Group_1_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierExpression__Group_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__0" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__0__Impl" + // InternalFiacre.g:20655:1: rule__IdentifierExpression__Group_1_1_1__0__Impl : ( '.' ) ; + public final void rule__IdentifierExpression__Group_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20659:1: ( ( '.' ) ) + // InternalFiacre.g:20660:1: ( '.' ) + { + // InternalFiacre.g:20660:1: ( '.' ) + // InternalFiacre.g:20661:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); + } + match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__0__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__1" + // InternalFiacre.g:20670:1: rule__IdentifierExpression__Group_1_1_1__1 : rule__IdentifierExpression__Group_1_1_1__1__Impl rule__IdentifierExpression__Group_1_1_1__2 ; + public final void rule__IdentifierExpression__Group_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20674:1: ( rule__IdentifierExpression__Group_1_1_1__1__Impl rule__IdentifierExpression__Group_1_1_1__2 ) + // InternalFiacre.g:20675:2: rule__IdentifierExpression__Group_1_1_1__1__Impl rule__IdentifierExpression__Group_1_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__IdentifierExpression__Group_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__1" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__1__Impl" + // InternalFiacre.g:20682:1: rule__IdentifierExpression__Group_1_1_1__1__Impl : ( () ) ; + public final void rule__IdentifierExpression__Group_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20686:1: ( ( () ) ) + // InternalFiacre.g:20687:1: ( () ) + { + // InternalFiacre.g:20687:1: ( () ) + // InternalFiacre.g:20688:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1()); + } + // InternalFiacre.g:20689:2: () + // InternalFiacre.g:20689:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__1__Impl" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__2" + // InternalFiacre.g:20697:1: rule__IdentifierExpression__Group_1_1_1__2 : rule__IdentifierExpression__Group_1_1_1__2__Impl ; + public final void rule__IdentifierExpression__Group_1_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20701:1: ( rule__IdentifierExpression__Group_1_1_1__2__Impl ) + // InternalFiacre.g:20702:2: rule__IdentifierExpression__Group_1_1_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_1_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__2" + + + // $ANTLR start "rule__IdentifierExpression__Group_1_1_1__2__Impl" + // InternalFiacre.g:20708:1: rule__IdentifierExpression__Group_1_1_1__2__Impl : ( ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) ) ; + public final void rule__IdentifierExpression__Group_1_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20712:1: ( ( ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) ) ) + // InternalFiacre.g:20713:1: ( ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) ) + { + // InternalFiacre.g:20713:1: ( ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) ) + // InternalFiacre.g:20714:2: ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getFieldAssignment_1_1_1_2()); + } + // InternalFiacre.g:20715:2: ( rule__IdentifierExpression__FieldAssignment_1_1_1_2 ) + // InternalFiacre.g:20715:3: rule__IdentifierExpression__FieldAssignment_1_1_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__FieldAssignment_1_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getFieldAssignment_1_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__Group_1_1_1__2__Impl" + + + // $ANTLR start "rule__RecordExpression__Group__0" + // InternalFiacre.g:20724:1: rule__RecordExpression__Group__0 : rule__RecordExpression__Group__0__Impl rule__RecordExpression__Group__1 ; + public final void rule__RecordExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20728:1: ( rule__RecordExpression__Group__0__Impl rule__RecordExpression__Group__1 ) + // InternalFiacre.g:20729:2: rule__RecordExpression__Group__0__Impl rule__RecordExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__RecordExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__0" + + + // $ANTLR start "rule__RecordExpression__Group__0__Impl" + // InternalFiacre.g:20736:1: rule__RecordExpression__Group__0__Impl : ( '{' ) ; + public final void rule__RecordExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20740:1: ( ( '{' ) ) + // InternalFiacre.g:20741:1: ( '{' ) + { + // InternalFiacre.g:20741:1: ( '{' ) + // InternalFiacre.g:20742:2: '{' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); + } + match(input,100,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__0__Impl" + + + // $ANTLR start "rule__RecordExpression__Group__1" + // InternalFiacre.g:20751:1: rule__RecordExpression__Group__1 : rule__RecordExpression__Group__1__Impl rule__RecordExpression__Group__2 ; + public final void rule__RecordExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20755:1: ( rule__RecordExpression__Group__1__Impl rule__RecordExpression__Group__2 ) + // InternalFiacre.g:20756:2: rule__RecordExpression__Group__1__Impl rule__RecordExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_122); + rule__RecordExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__1" + + + // $ANTLR start "rule__RecordExpression__Group__1__Impl" + // InternalFiacre.g:20763:1: rule__RecordExpression__Group__1__Impl : ( ( rule__RecordExpression__FieldsAssignment_1 ) ) ; + public final void rule__RecordExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20767:1: ( ( ( rule__RecordExpression__FieldsAssignment_1 ) ) ) + // InternalFiacre.g:20768:1: ( ( rule__RecordExpression__FieldsAssignment_1 ) ) + { + // InternalFiacre.g:20768:1: ( ( rule__RecordExpression__FieldsAssignment_1 ) ) + // InternalFiacre.g:20769:2: ( rule__RecordExpression__FieldsAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_1()); + } + // InternalFiacre.g:20770:2: ( rule__RecordExpression__FieldsAssignment_1 ) + // InternalFiacre.g:20770:3: rule__RecordExpression__FieldsAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__FieldsAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__1__Impl" + + + // $ANTLR start "rule__RecordExpression__Group__2" + // InternalFiacre.g:20778:1: rule__RecordExpression__Group__2 : rule__RecordExpression__Group__2__Impl rule__RecordExpression__Group__3 ; + public final void rule__RecordExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20782:1: ( rule__RecordExpression__Group__2__Impl rule__RecordExpression__Group__3 ) + // InternalFiacre.g:20783:2: rule__RecordExpression__Group__2__Impl rule__RecordExpression__Group__3 + { + pushFollow(FollowSets000.FOLLOW_122); + rule__RecordExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__2" + + + // $ANTLR start "rule__RecordExpression__Group__2__Impl" + // InternalFiacre.g:20790:1: rule__RecordExpression__Group__2__Impl : ( ( rule__RecordExpression__Group_2__0 )* ) ; + public final void rule__RecordExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20794:1: ( ( ( rule__RecordExpression__Group_2__0 )* ) ) + // InternalFiacre.g:20795:1: ( ( rule__RecordExpression__Group_2__0 )* ) + { + // InternalFiacre.g:20795:1: ( ( rule__RecordExpression__Group_2__0 )* ) + // InternalFiacre.g:20796:2: ( rule__RecordExpression__Group_2__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getGroup_2()); + } + // InternalFiacre.g:20797:2: ( rule__RecordExpression__Group_2__0 )* + loop170: + do { + int alt170=2; + int LA170_0 = input.LA(1); + + if ( (LA170_0==24) ) { + alt170=1; + } + + + switch (alt170) { + case 1 : + // InternalFiacre.g:20797:3: rule__RecordExpression__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__RecordExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop170; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__2__Impl" + + + // $ANTLR start "rule__RecordExpression__Group__3" + // InternalFiacre.g:20805:1: rule__RecordExpression__Group__3 : rule__RecordExpression__Group__3__Impl ; + public final void rule__RecordExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20809:1: ( rule__RecordExpression__Group__3__Impl ) + // InternalFiacre.g:20810:2: rule__RecordExpression__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__3" + + + // $ANTLR start "rule__RecordExpression__Group__3__Impl" + // InternalFiacre.g:20816:1: rule__RecordExpression__Group__3__Impl : ( '}' ) ; + public final void rule__RecordExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20820:1: ( ( '}' ) ) + // InternalFiacre.g:20821:1: ( '}' ) + { + // InternalFiacre.g:20821:1: ( '}' ) + // InternalFiacre.g:20822:2: '}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); + } + match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group__3__Impl" + + + // $ANTLR start "rule__RecordExpression__Group_2__0" + // InternalFiacre.g:20832:1: rule__RecordExpression__Group_2__0 : rule__RecordExpression__Group_2__0__Impl rule__RecordExpression__Group_2__1 ; + public final void rule__RecordExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20836:1: ( rule__RecordExpression__Group_2__0__Impl rule__RecordExpression__Group_2__1 ) + // InternalFiacre.g:20837:2: rule__RecordExpression__Group_2__0__Impl rule__RecordExpression__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__RecordExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group_2__0" + + + // $ANTLR start "rule__RecordExpression__Group_2__0__Impl" + // InternalFiacre.g:20844:1: rule__RecordExpression__Group_2__0__Impl : ( ',' ) ; + public final void rule__RecordExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20848:1: ( ( ',' ) ) + // InternalFiacre.g:20849:1: ( ',' ) + { + // InternalFiacre.g:20849:1: ( ',' ) + // InternalFiacre.g:20850:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__RecordExpression__Group_2__1" + // InternalFiacre.g:20859:1: rule__RecordExpression__Group_2__1 : rule__RecordExpression__Group_2__1__Impl ; + public final void rule__RecordExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20863:1: ( rule__RecordExpression__Group_2__1__Impl ) + // InternalFiacre.g:20864:2: rule__RecordExpression__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group_2__1" + + + // $ANTLR start "rule__RecordExpression__Group_2__1__Impl" + // InternalFiacre.g:20870:1: rule__RecordExpression__Group_2__1__Impl : ( ( rule__RecordExpression__FieldsAssignment_2_1 ) ) ; + public final void rule__RecordExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20874:1: ( ( ( rule__RecordExpression__FieldsAssignment_2_1 ) ) ) + // InternalFiacre.g:20875:1: ( ( rule__RecordExpression__FieldsAssignment_2_1 ) ) + { + // InternalFiacre.g:20875:1: ( ( rule__RecordExpression__FieldsAssignment_2_1 ) ) + // InternalFiacre.g:20876:2: ( rule__RecordExpression__FieldsAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_2_1()); + } + // InternalFiacre.g:20877:2: ( rule__RecordExpression__FieldsAssignment_2_1 ) + // InternalFiacre.g:20877:3: rule__RecordExpression__FieldsAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__RecordExpression__FieldsAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getFieldsAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__FieldExpression__Group__0" + // InternalFiacre.g:20886:1: rule__FieldExpression__Group__0 : rule__FieldExpression__Group__0__Impl rule__FieldExpression__Group__1 ; + public final void rule__FieldExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20890:1: ( rule__FieldExpression__Group__0__Impl rule__FieldExpression__Group__1 ) + // InternalFiacre.g:20891:2: rule__FieldExpression__Group__0__Impl rule__FieldExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_99); + rule__FieldExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__0" + + + // $ANTLR start "rule__FieldExpression__Group__0__Impl" + // InternalFiacre.g:20898:1: rule__FieldExpression__Group__0__Impl : ( ( rule__FieldExpression__FieldAssignment_0 ) ) ; + public final void rule__FieldExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20902:1: ( ( ( rule__FieldExpression__FieldAssignment_0 ) ) ) + // InternalFiacre.g:20903:1: ( ( rule__FieldExpression__FieldAssignment_0 ) ) + { + // InternalFiacre.g:20903:1: ( ( rule__FieldExpression__FieldAssignment_0 ) ) + // InternalFiacre.g:20904:2: ( rule__FieldExpression__FieldAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getFieldAssignment_0()); + } + // InternalFiacre.g:20905:2: ( rule__FieldExpression__FieldAssignment_0 ) + // InternalFiacre.g:20905:3: rule__FieldExpression__FieldAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__FieldAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getFieldAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__0__Impl" + + + // $ANTLR start "rule__FieldExpression__Group__1" + // InternalFiacre.g:20913:1: rule__FieldExpression__Group__1 : rule__FieldExpression__Group__1__Impl rule__FieldExpression__Group__2 ; + public final void rule__FieldExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20917:1: ( rule__FieldExpression__Group__1__Impl rule__FieldExpression__Group__2 ) + // InternalFiacre.g:20918:2: rule__FieldExpression__Group__1__Impl rule__FieldExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__FieldExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__1" + + + // $ANTLR start "rule__FieldExpression__Group__1__Impl" + // InternalFiacre.g:20925:1: rule__FieldExpression__Group__1__Impl : ( '=' ) ; + public final void rule__FieldExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20929:1: ( ( '=' ) ) + // InternalFiacre.g:20930:1: ( '=' ) + { + // InternalFiacre.g:20930:1: ( '=' ) + // InternalFiacre.g:20931:2: '=' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); + } + match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__1__Impl" + + + // $ANTLR start "rule__FieldExpression__Group__2" + // InternalFiacre.g:20940:1: rule__FieldExpression__Group__2 : rule__FieldExpression__Group__2__Impl ; + public final void rule__FieldExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20944:1: ( rule__FieldExpression__Group__2__Impl ) + // InternalFiacre.g:20945:2: rule__FieldExpression__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__2" + + + // $ANTLR start "rule__FieldExpression__Group__2__Impl" + // InternalFiacre.g:20951:1: rule__FieldExpression__Group__2__Impl : ( ( rule__FieldExpression__ValueAssignment_2 ) ) ; + public final void rule__FieldExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20955:1: ( ( ( rule__FieldExpression__ValueAssignment_2 ) ) ) + // InternalFiacre.g:20956:1: ( ( rule__FieldExpression__ValueAssignment_2 ) ) + { + // InternalFiacre.g:20956:1: ( ( rule__FieldExpression__ValueAssignment_2 ) ) + // InternalFiacre.g:20957:2: ( rule__FieldExpression__ValueAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getValueAssignment_2()); + } + // InternalFiacre.g:20958:2: ( rule__FieldExpression__ValueAssignment_2 ) + // InternalFiacre.g:20958:3: rule__FieldExpression__ValueAssignment_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__FieldExpression__ValueAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getValueAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__Group__2__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group__0" + // InternalFiacre.g:20967:1: rule__ArrayExpression__Group__0 : rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1 ; + public final void rule__ArrayExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20971:1: ( rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1 ) + // InternalFiacre.g:20972:2: rule__ArrayExpression__Group__0__Impl rule__ArrayExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_50); + rule__ArrayExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__0" + + + // $ANTLR start "rule__ArrayExpression__Group__0__Impl" + // InternalFiacre.g:20979:1: rule__ArrayExpression__Group__0__Impl : ( () ) ; + public final void rule__ArrayExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20983:1: ( ( () ) ) + // InternalFiacre.g:20984:1: ( () ) + { + // InternalFiacre.g:20984:1: ( () ) + // InternalFiacre.g:20985:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0()); + } + // InternalFiacre.g:20986:2: () + // InternalFiacre.g:20986:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__0__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group__1" + // InternalFiacre.g:20994:1: rule__ArrayExpression__Group__1 : rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2 ; + public final void rule__ArrayExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:20998:1: ( rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2 ) + // InternalFiacre.g:20999:2: rule__ArrayExpression__Group__1__Impl rule__ArrayExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_123); + rule__ArrayExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__1" + + + // $ANTLR start "rule__ArrayExpression__Group__1__Impl" + // InternalFiacre.g:21006:1: rule__ArrayExpression__Group__1__Impl : ( '[' ) ; + public final void rule__ArrayExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21010:1: ( ( '[' ) ) + // InternalFiacre.g:21011:1: ( '[' ) + { + // InternalFiacre.g:21011:1: ( '[' ) + // InternalFiacre.g:21012:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__1__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group__2" + // InternalFiacre.g:21021:1: rule__ArrayExpression__Group__2 : rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3 ; + public final void rule__ArrayExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21025:1: ( rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3 ) + // InternalFiacre.g:21026:2: rule__ArrayExpression__Group__2__Impl rule__ArrayExpression__Group__3 + { + pushFollow(FollowSets000.FOLLOW_123); + rule__ArrayExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__2" + + + // $ANTLR start "rule__ArrayExpression__Group__2__Impl" + // InternalFiacre.g:21033:1: rule__ArrayExpression__Group__2__Impl : ( ( rule__ArrayExpression__Group_2__0 )? ) ; + public final void rule__ArrayExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21037:1: ( ( ( rule__ArrayExpression__Group_2__0 )? ) ) + // InternalFiacre.g:21038:1: ( ( rule__ArrayExpression__Group_2__0 )? ) + { + // InternalFiacre.g:21038:1: ( ( rule__ArrayExpression__Group_2__0 )? ) + // InternalFiacre.g:21039:2: ( rule__ArrayExpression__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getGroup_2()); + } + // InternalFiacre.g:21040:2: ( rule__ArrayExpression__Group_2__0 )? + int alt171=2; + int LA171_0 = input.LA(1); + + if ( (LA171_0==RULE_ID||LA171_0==RULE_INT||LA171_0==14||LA171_0==22||LA171_0==42||(LA171_0>=77 && LA171_0<=78)||LA171_0==87||(LA171_0>=91 && LA171_0<=97)||(LA171_0>=99 && LA171_0<=100)||LA171_0==102||(LA171_0>=104 && LA171_0<=107)) ) { + alt171=1; + } + switch (alt171) { + case 1 : + // InternalFiacre.g:21040:3: rule__ArrayExpression__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__2__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group__3" + // InternalFiacre.g:21048:1: rule__ArrayExpression__Group__3 : rule__ArrayExpression__Group__3__Impl ; + public final void rule__ArrayExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21052:1: ( rule__ArrayExpression__Group__3__Impl ) + // InternalFiacre.g:21053:2: rule__ArrayExpression__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__3" + + + // $ANTLR start "rule__ArrayExpression__Group__3__Impl" + // InternalFiacre.g:21059:1: rule__ArrayExpression__Group__3__Impl : ( ']' ) ; + public final void rule__ArrayExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21063:1: ( ( ']' ) ) + // InternalFiacre.g:21064:1: ( ']' ) + { + // InternalFiacre.g:21064:1: ( ']' ) + // InternalFiacre.g:21065:2: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group__3__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group_2__0" + // InternalFiacre.g:21075:1: rule__ArrayExpression__Group_2__0 : rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1 ; + public final void rule__ArrayExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21079:1: ( rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1 ) + // InternalFiacre.g:21080:2: rule__ArrayExpression__Group_2__0__Impl rule__ArrayExpression__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__ArrayExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2__0" + + + // $ANTLR start "rule__ArrayExpression__Group_2__0__Impl" + // InternalFiacre.g:21087:1: rule__ArrayExpression__Group_2__0__Impl : ( ( rule__ArrayExpression__ValuesAssignment_2_0 ) ) ; + public final void rule__ArrayExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21091:1: ( ( ( rule__ArrayExpression__ValuesAssignment_2_0 ) ) ) + // InternalFiacre.g:21092:1: ( ( rule__ArrayExpression__ValuesAssignment_2_0 ) ) + { + // InternalFiacre.g:21092:1: ( ( rule__ArrayExpression__ValuesAssignment_2_0 ) ) + // InternalFiacre.g:21093:2: ( rule__ArrayExpression__ValuesAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_0()); + } + // InternalFiacre.g:21094:2: ( rule__ArrayExpression__ValuesAssignment_2_0 ) + // InternalFiacre.g:21094:3: rule__ArrayExpression__ValuesAssignment_2_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__ValuesAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group_2__1" + // InternalFiacre.g:21102:1: rule__ArrayExpression__Group_2__1 : rule__ArrayExpression__Group_2__1__Impl ; + public final void rule__ArrayExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21106:1: ( rule__ArrayExpression__Group_2__1__Impl ) + // InternalFiacre.g:21107:2: rule__ArrayExpression__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2__1" + + + // $ANTLR start "rule__ArrayExpression__Group_2__1__Impl" + // InternalFiacre.g:21113:1: rule__ArrayExpression__Group_2__1__Impl : ( ( rule__ArrayExpression__Group_2_1__0 )* ) ; + public final void rule__ArrayExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21117:1: ( ( ( rule__ArrayExpression__Group_2_1__0 )* ) ) + // InternalFiacre.g:21118:1: ( ( rule__ArrayExpression__Group_2_1__0 )* ) + { + // InternalFiacre.g:21118:1: ( ( rule__ArrayExpression__Group_2_1__0 )* ) + // InternalFiacre.g:21119:2: ( rule__ArrayExpression__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); + } + // InternalFiacre.g:21120:2: ( rule__ArrayExpression__Group_2_1__0 )* + loop172: + do { + int alt172=2; + int LA172_0 = input.LA(1); + + if ( (LA172_0==24) ) { + alt172=1; + } + + + switch (alt172) { + case 1 : + // InternalFiacre.g:21120:3: rule__ArrayExpression__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__ArrayExpression__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop172; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group_2_1__0" + // InternalFiacre.g:21129:1: rule__ArrayExpression__Group_2_1__0 : rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1 ; + public final void rule__ArrayExpression__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21133:1: ( rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1 ) + // InternalFiacre.g:21134:2: rule__ArrayExpression__Group_2_1__0__Impl rule__ArrayExpression__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ArrayExpression__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2_1__0" + + + // $ANTLR start "rule__ArrayExpression__Group_2_1__0__Impl" + // InternalFiacre.g:21141:1: rule__ArrayExpression__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ArrayExpression__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21145:1: ( ( ',' ) ) + // InternalFiacre.g:21146:1: ( ',' ) + { + // InternalFiacre.g:21146:1: ( ',' ) + // InternalFiacre.g:21147:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2_1__0__Impl" + + + // $ANTLR start "rule__ArrayExpression__Group_2_1__1" + // InternalFiacre.g:21156:1: rule__ArrayExpression__Group_2_1__1 : rule__ArrayExpression__Group_2_1__1__Impl ; + public final void rule__ArrayExpression__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21160:1: ( rule__ArrayExpression__Group_2_1__1__Impl ) + // InternalFiacre.g:21161:2: rule__ArrayExpression__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2_1__1" + + + // $ANTLR start "rule__ArrayExpression__Group_2_1__1__Impl" + // InternalFiacre.g:21167:1: rule__ArrayExpression__Group_2_1__1__Impl : ( ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) ) ; + public final void rule__ArrayExpression__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21171:1: ( ( ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) ) ) + // InternalFiacre.g:21172:1: ( ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) ) + { + // InternalFiacre.g:21172:1: ( ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) ) + // InternalFiacre.g:21173:2: ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_1_1()); + } + // InternalFiacre.g:21174:2: ( rule__ArrayExpression__ValuesAssignment_2_1_1 ) + // InternalFiacre.g:21174:3: rule__ArrayExpression__ValuesAssignment_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ArrayExpression__ValuesAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getValuesAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__Group_2_1__1__Impl" + + + // $ANTLR start "rule__QueueExpression__Group__0" + // InternalFiacre.g:21183:1: rule__QueueExpression__Group__0 : rule__QueueExpression__Group__0__Impl rule__QueueExpression__Group__1 ; + public final void rule__QueueExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21187:1: ( rule__QueueExpression__Group__0__Impl rule__QueueExpression__Group__1 ) + // InternalFiacre.g:21188:2: rule__QueueExpression__Group__0__Impl rule__QueueExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_124); + rule__QueueExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__0" + + + // $ANTLR start "rule__QueueExpression__Group__0__Impl" + // InternalFiacre.g:21195:1: rule__QueueExpression__Group__0__Impl : ( () ) ; + public final void rule__QueueExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21199:1: ( ( () ) ) + // InternalFiacre.g:21200:1: ( () ) + { + // InternalFiacre.g:21200:1: ( () ) + // InternalFiacre.g:21201:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0()); + } + // InternalFiacre.g:21202:2: () + // InternalFiacre.g:21202:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__0__Impl" + + + // $ANTLR start "rule__QueueExpression__Group__1" + // InternalFiacre.g:21210:1: rule__QueueExpression__Group__1 : rule__QueueExpression__Group__1__Impl rule__QueueExpression__Group__2 ; + public final void rule__QueueExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21214:1: ( rule__QueueExpression__Group__1__Impl rule__QueueExpression__Group__2 ) + // InternalFiacre.g:21215:2: rule__QueueExpression__Group__1__Impl rule__QueueExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_125); + rule__QueueExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__1" + + + // $ANTLR start "rule__QueueExpression__Group__1__Impl" + // InternalFiacre.g:21222:1: rule__QueueExpression__Group__1__Impl : ( '{|' ) ; + public final void rule__QueueExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21226:1: ( ( '{|' ) ) + // InternalFiacre.g:21227:1: ( '{|' ) + { + // InternalFiacre.g:21227:1: ( '{|' ) + // InternalFiacre.g:21228:2: '{|' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); + } + match(input,102,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__1__Impl" + + + // $ANTLR start "rule__QueueExpression__Group__2" + // InternalFiacre.g:21237:1: rule__QueueExpression__Group__2 : rule__QueueExpression__Group__2__Impl rule__QueueExpression__Group__3 ; + public final void rule__QueueExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21241:1: ( rule__QueueExpression__Group__2__Impl rule__QueueExpression__Group__3 ) + // InternalFiacre.g:21242:2: rule__QueueExpression__Group__2__Impl rule__QueueExpression__Group__3 + { + pushFollow(FollowSets000.FOLLOW_125); + rule__QueueExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__2" + + + // $ANTLR start "rule__QueueExpression__Group__2__Impl" + // InternalFiacre.g:21249:1: rule__QueueExpression__Group__2__Impl : ( ( rule__QueueExpression__Group_2__0 )? ) ; + public final void rule__QueueExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21253:1: ( ( ( rule__QueueExpression__Group_2__0 )? ) ) + // InternalFiacre.g:21254:1: ( ( rule__QueueExpression__Group_2__0 )? ) + { + // InternalFiacre.g:21254:1: ( ( rule__QueueExpression__Group_2__0 )? ) + // InternalFiacre.g:21255:2: ( rule__QueueExpression__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getGroup_2()); + } + // InternalFiacre.g:21256:2: ( rule__QueueExpression__Group_2__0 )? + int alt173=2; + int LA173_0 = input.LA(1); + + if ( (LA173_0==RULE_ID||LA173_0==RULE_INT||LA173_0==14||LA173_0==22||LA173_0==42||(LA173_0>=77 && LA173_0<=78)||LA173_0==87||(LA173_0>=91 && LA173_0<=97)||(LA173_0>=99 && LA173_0<=100)||LA173_0==102||(LA173_0>=104 && LA173_0<=107)) ) { + alt173=1; + } + switch (alt173) { + case 1 : + // InternalFiacre.g:21256:3: rule__QueueExpression__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__2__Impl" + + + // $ANTLR start "rule__QueueExpression__Group__3" + // InternalFiacre.g:21264:1: rule__QueueExpression__Group__3 : rule__QueueExpression__Group__3__Impl ; + public final void rule__QueueExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21268:1: ( rule__QueueExpression__Group__3__Impl ) + // InternalFiacre.g:21269:2: rule__QueueExpression__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__3" + + + // $ANTLR start "rule__QueueExpression__Group__3__Impl" + // InternalFiacre.g:21275:1: rule__QueueExpression__Group__3__Impl : ( '|}' ) ; + public final void rule__QueueExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21279:1: ( ( '|}' ) ) + // InternalFiacre.g:21280:1: ( '|}' ) + { + // InternalFiacre.g:21280:1: ( '|}' ) + // InternalFiacre.g:21281:2: '|}' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); + } + match(input,103,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group__3__Impl" + + + // $ANTLR start "rule__QueueExpression__Group_2__0" + // InternalFiacre.g:21291:1: rule__QueueExpression__Group_2__0 : rule__QueueExpression__Group_2__0__Impl rule__QueueExpression__Group_2__1 ; + public final void rule__QueueExpression__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21295:1: ( rule__QueueExpression__Group_2__0__Impl rule__QueueExpression__Group_2__1 ) + // InternalFiacre.g:21296:2: rule__QueueExpression__Group_2__0__Impl rule__QueueExpression__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__QueueExpression__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2__0" + + + // $ANTLR start "rule__QueueExpression__Group_2__0__Impl" + // InternalFiacre.g:21303:1: rule__QueueExpression__Group_2__0__Impl : ( ( rule__QueueExpression__ValuesAssignment_2_0 ) ) ; + public final void rule__QueueExpression__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21307:1: ( ( ( rule__QueueExpression__ValuesAssignment_2_0 ) ) ) + // InternalFiacre.g:21308:1: ( ( rule__QueueExpression__ValuesAssignment_2_0 ) ) + { + // InternalFiacre.g:21308:1: ( ( rule__QueueExpression__ValuesAssignment_2_0 ) ) + // InternalFiacre.g:21309:2: ( rule__QueueExpression__ValuesAssignment_2_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_0()); + } + // InternalFiacre.g:21310:2: ( rule__QueueExpression__ValuesAssignment_2_0 ) + // InternalFiacre.g:21310:3: rule__QueueExpression__ValuesAssignment_2_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__ValuesAssignment_2_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2__0__Impl" + + + // $ANTLR start "rule__QueueExpression__Group_2__1" + // InternalFiacre.g:21318:1: rule__QueueExpression__Group_2__1 : rule__QueueExpression__Group_2__1__Impl ; + public final void rule__QueueExpression__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21322:1: ( rule__QueueExpression__Group_2__1__Impl ) + // InternalFiacre.g:21323:2: rule__QueueExpression__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2__1" + + + // $ANTLR start "rule__QueueExpression__Group_2__1__Impl" + // InternalFiacre.g:21329:1: rule__QueueExpression__Group_2__1__Impl : ( ( rule__QueueExpression__Group_2_1__0 )* ) ; + public final void rule__QueueExpression__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21333:1: ( ( ( rule__QueueExpression__Group_2_1__0 )* ) ) + // InternalFiacre.g:21334:1: ( ( rule__QueueExpression__Group_2_1__0 )* ) + { + // InternalFiacre.g:21334:1: ( ( rule__QueueExpression__Group_2_1__0 )* ) + // InternalFiacre.g:21335:2: ( rule__QueueExpression__Group_2_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getGroup_2_1()); + } + // InternalFiacre.g:21336:2: ( rule__QueueExpression__Group_2_1__0 )* + loop174: + do { + int alt174=2; + int LA174_0 = input.LA(1); + + if ( (LA174_0==24) ) { + alt174=1; + } + + + switch (alt174) { + case 1 : + // InternalFiacre.g:21336:3: rule__QueueExpression__Group_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_20); + rule__QueueExpression__Group_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop174; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getGroup_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2__1__Impl" + + + // $ANTLR start "rule__QueueExpression__Group_2_1__0" + // InternalFiacre.g:21345:1: rule__QueueExpression__Group_2_1__0 : rule__QueueExpression__Group_2_1__0__Impl rule__QueueExpression__Group_2_1__1 ; + public final void rule__QueueExpression__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21349:1: ( rule__QueueExpression__Group_2_1__0__Impl rule__QueueExpression__Group_2_1__1 ) + // InternalFiacre.g:21350:2: rule__QueueExpression__Group_2_1__0__Impl rule__QueueExpression__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__QueueExpression__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2_1__0" + + + // $ANTLR start "rule__QueueExpression__Group_2_1__0__Impl" + // InternalFiacre.g:21357:1: rule__QueueExpression__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__QueueExpression__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21361:1: ( ( ',' ) ) + // InternalFiacre.g:21362:1: ( ',' ) + { + // InternalFiacre.g:21362:1: ( ',' ) + // InternalFiacre.g:21363:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2_1__0__Impl" + + + // $ANTLR start "rule__QueueExpression__Group_2_1__1" + // InternalFiacre.g:21372:1: rule__QueueExpression__Group_2_1__1 : rule__QueueExpression__Group_2_1__1__Impl ; + public final void rule__QueueExpression__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21376:1: ( rule__QueueExpression__Group_2_1__1__Impl ) + // InternalFiacre.g:21377:2: rule__QueueExpression__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2_1__1" + + + // $ANTLR start "rule__QueueExpression__Group_2_1__1__Impl" + // InternalFiacre.g:21383:1: rule__QueueExpression__Group_2_1__1__Impl : ( ( rule__QueueExpression__ValuesAssignment_2_1_1 ) ) ; + public final void rule__QueueExpression__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21387:1: ( ( ( rule__QueueExpression__ValuesAssignment_2_1_1 ) ) ) + // InternalFiacre.g:21388:1: ( ( rule__QueueExpression__ValuesAssignment_2_1_1 ) ) + { + // InternalFiacre.g:21388:1: ( ( rule__QueueExpression__ValuesAssignment_2_1_1 ) ) + // InternalFiacre.g:21389:2: ( rule__QueueExpression__ValuesAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_1_1()); + } + // InternalFiacre.g:21390:2: ( rule__QueueExpression__ValuesAssignment_2_1_1 ) + // InternalFiacre.g:21390:3: rule__QueueExpression__ValuesAssignment_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QueueExpression__ValuesAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getValuesAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__Group_2_1__1__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__0" + // InternalFiacre.g:21399:1: rule__EnqueueExpression__Group__0 : rule__EnqueueExpression__Group__0__Impl rule__EnqueueExpression__Group__1 ; + public final void rule__EnqueueExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21403:1: ( rule__EnqueueExpression__Group__0__Impl rule__EnqueueExpression__Group__1 ) + // InternalFiacre.g:21404:2: rule__EnqueueExpression__Group__0__Impl rule__EnqueueExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_13); + rule__EnqueueExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__0" + + + // $ANTLR start "rule__EnqueueExpression__Group__0__Impl" + // InternalFiacre.g:21411:1: rule__EnqueueExpression__Group__0__Impl : ( 'enqueue' ) ; + public final void rule__EnqueueExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21415:1: ( ( 'enqueue' ) ) + // InternalFiacre.g:21416:1: ( 'enqueue' ) + { + // InternalFiacre.g:21416:1: ( 'enqueue' ) + // InternalFiacre.g:21417:2: 'enqueue' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); + } + match(input,104,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__0__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__1" + // InternalFiacre.g:21426:1: rule__EnqueueExpression__Group__1 : rule__EnqueueExpression__Group__1__Impl rule__EnqueueExpression__Group__2 ; + public final void rule__EnqueueExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21430:1: ( rule__EnqueueExpression__Group__1__Impl rule__EnqueueExpression__Group__2 ) + // InternalFiacre.g:21431:2: rule__EnqueueExpression__Group__1__Impl rule__EnqueueExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__EnqueueExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__1" + + + // $ANTLR start "rule__EnqueueExpression__Group__1__Impl" + // InternalFiacre.g:21438:1: rule__EnqueueExpression__Group__1__Impl : ( '(' ) ; + public final void rule__EnqueueExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21442:1: ( ( '(' ) ) + // InternalFiacre.g:21443:1: ( '(' ) + { + // InternalFiacre.g:21443:1: ( '(' ) + // InternalFiacre.g:21444:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__1__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__2" + // InternalFiacre.g:21453:1: rule__EnqueueExpression__Group__2 : rule__EnqueueExpression__Group__2__Impl rule__EnqueueExpression__Group__3 ; + public final void rule__EnqueueExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21457:1: ( rule__EnqueueExpression__Group__2__Impl rule__EnqueueExpression__Group__3 ) + // InternalFiacre.g:21458:2: rule__EnqueueExpression__Group__2__Impl rule__EnqueueExpression__Group__3 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__EnqueueExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__2" + + + // $ANTLR start "rule__EnqueueExpression__Group__2__Impl" + // InternalFiacre.g:21465:1: rule__EnqueueExpression__Group__2__Impl : ( ( rule__EnqueueExpression__ElementAssignment_2 ) ) ; + public final void rule__EnqueueExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21469:1: ( ( ( rule__EnqueueExpression__ElementAssignment_2 ) ) ) + // InternalFiacre.g:21470:1: ( ( rule__EnqueueExpression__ElementAssignment_2 ) ) + { + // InternalFiacre.g:21470:1: ( ( rule__EnqueueExpression__ElementAssignment_2 ) ) + // InternalFiacre.g:21471:2: ( rule__EnqueueExpression__ElementAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getElementAssignment_2()); + } + // InternalFiacre.g:21472:2: ( rule__EnqueueExpression__ElementAssignment_2 ) + // InternalFiacre.g:21472:3: rule__EnqueueExpression__ElementAssignment_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__ElementAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getElementAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__2__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__3" + // InternalFiacre.g:21480:1: rule__EnqueueExpression__Group__3 : rule__EnqueueExpression__Group__3__Impl rule__EnqueueExpression__Group__4 ; + public final void rule__EnqueueExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21484:1: ( rule__EnqueueExpression__Group__3__Impl rule__EnqueueExpression__Group__4 ) + // InternalFiacre.g:21485:2: rule__EnqueueExpression__Group__3__Impl rule__EnqueueExpression__Group__4 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__EnqueueExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__3" + + + // $ANTLR start "rule__EnqueueExpression__Group__3__Impl" + // InternalFiacre.g:21492:1: rule__EnqueueExpression__Group__3__Impl : ( ',' ) ; + public final void rule__EnqueueExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21496:1: ( ( ',' ) ) + // InternalFiacre.g:21497:1: ( ',' ) + { + // InternalFiacre.g:21497:1: ( ',' ) + // InternalFiacre.g:21498:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__3__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__4" + // InternalFiacre.g:21507:1: rule__EnqueueExpression__Group__4 : rule__EnqueueExpression__Group__4__Impl rule__EnqueueExpression__Group__5 ; + public final void rule__EnqueueExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21511:1: ( rule__EnqueueExpression__Group__4__Impl rule__EnqueueExpression__Group__5 ) + // InternalFiacre.g:21512:2: rule__EnqueueExpression__Group__4__Impl rule__EnqueueExpression__Group__5 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__EnqueueExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__4" + + + // $ANTLR start "rule__EnqueueExpression__Group__4__Impl" + // InternalFiacre.g:21519:1: rule__EnqueueExpression__Group__4__Impl : ( ( rule__EnqueueExpression__QueueAssignment_4 ) ) ; + public final void rule__EnqueueExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21523:1: ( ( ( rule__EnqueueExpression__QueueAssignment_4 ) ) ) + // InternalFiacre.g:21524:1: ( ( rule__EnqueueExpression__QueueAssignment_4 ) ) + { + // InternalFiacre.g:21524:1: ( ( rule__EnqueueExpression__QueueAssignment_4 ) ) + // InternalFiacre.g:21525:2: ( rule__EnqueueExpression__QueueAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getQueueAssignment_4()); + } + // InternalFiacre.g:21526:2: ( rule__EnqueueExpression__QueueAssignment_4 ) + // InternalFiacre.g:21526:3: rule__EnqueueExpression__QueueAssignment_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__QueueAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getQueueAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__4__Impl" + + + // $ANTLR start "rule__EnqueueExpression__Group__5" + // InternalFiacre.g:21534:1: rule__EnqueueExpression__Group__5 : rule__EnqueueExpression__Group__5__Impl ; + public final void rule__EnqueueExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21538:1: ( rule__EnqueueExpression__Group__5__Impl ) + // InternalFiacre.g:21539:2: rule__EnqueueExpression__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnqueueExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__5" + + + // $ANTLR start "rule__EnqueueExpression__Group__5__Impl" + // InternalFiacre.g:21545:1: rule__EnqueueExpression__Group__5__Impl : ( ')' ) ; + public final void rule__EnqueueExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21549:1: ( ( ')' ) ) + // InternalFiacre.g:21550:1: ( ')' ) + { + // InternalFiacre.g:21550:1: ( ')' ) + // InternalFiacre.g:21551:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__Group__5__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__0" + // InternalFiacre.g:21561:1: rule__AppendExpression__Group__0 : rule__AppendExpression__Group__0__Impl rule__AppendExpression__Group__1 ; + public final void rule__AppendExpression__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21565:1: ( rule__AppendExpression__Group__0__Impl rule__AppendExpression__Group__1 ) + // InternalFiacre.g:21566:2: rule__AppendExpression__Group__0__Impl rule__AppendExpression__Group__1 + { + pushFollow(FollowSets000.FOLLOW_13); + rule__AppendExpression__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__0" + + + // $ANTLR start "rule__AppendExpression__Group__0__Impl" + // InternalFiacre.g:21573:1: rule__AppendExpression__Group__0__Impl : ( 'append' ) ; + public final void rule__AppendExpression__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21577:1: ( ( 'append' ) ) + // InternalFiacre.g:21578:1: ( 'append' ) + { + // InternalFiacre.g:21578:1: ( 'append' ) + // InternalFiacre.g:21579:2: 'append' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); + } + match(input,105,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__0__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__1" + // InternalFiacre.g:21588:1: rule__AppendExpression__Group__1 : rule__AppendExpression__Group__1__Impl rule__AppendExpression__Group__2 ; + public final void rule__AppendExpression__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21592:1: ( rule__AppendExpression__Group__1__Impl rule__AppendExpression__Group__2 ) + // InternalFiacre.g:21593:2: rule__AppendExpression__Group__1__Impl rule__AppendExpression__Group__2 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__AppendExpression__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__1" + + + // $ANTLR start "rule__AppendExpression__Group__1__Impl" + // InternalFiacre.g:21600:1: rule__AppendExpression__Group__1__Impl : ( '(' ) ; + public final void rule__AppendExpression__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21604:1: ( ( '(' ) ) + // InternalFiacre.g:21605:1: ( '(' ) + { + // InternalFiacre.g:21605:1: ( '(' ) + // InternalFiacre.g:21606:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__1__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__2" + // InternalFiacre.g:21615:1: rule__AppendExpression__Group__2 : rule__AppendExpression__Group__2__Impl rule__AppendExpression__Group__3 ; + public final void rule__AppendExpression__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21619:1: ( rule__AppendExpression__Group__2__Impl rule__AppendExpression__Group__3 ) + // InternalFiacre.g:21620:2: rule__AppendExpression__Group__2__Impl rule__AppendExpression__Group__3 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__AppendExpression__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__2" + + + // $ANTLR start "rule__AppendExpression__Group__2__Impl" + // InternalFiacre.g:21627:1: rule__AppendExpression__Group__2__Impl : ( ( rule__AppendExpression__LeftAssignment_2 ) ) ; + public final void rule__AppendExpression__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21631:1: ( ( ( rule__AppendExpression__LeftAssignment_2 ) ) ) + // InternalFiacre.g:21632:1: ( ( rule__AppendExpression__LeftAssignment_2 ) ) + { + // InternalFiacre.g:21632:1: ( ( rule__AppendExpression__LeftAssignment_2 ) ) + // InternalFiacre.g:21633:2: ( rule__AppendExpression__LeftAssignment_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getLeftAssignment_2()); + } + // InternalFiacre.g:21634:2: ( rule__AppendExpression__LeftAssignment_2 ) + // InternalFiacre.g:21634:3: rule__AppendExpression__LeftAssignment_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__LeftAssignment_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getLeftAssignment_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__2__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__3" + // InternalFiacre.g:21642:1: rule__AppendExpression__Group__3 : rule__AppendExpression__Group__3__Impl rule__AppendExpression__Group__4 ; + public final void rule__AppendExpression__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21646:1: ( rule__AppendExpression__Group__3__Impl rule__AppendExpression__Group__4 ) + // InternalFiacre.g:21647:2: rule__AppendExpression__Group__3__Impl rule__AppendExpression__Group__4 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__AppendExpression__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__3" + + + // $ANTLR start "rule__AppendExpression__Group__3__Impl" + // InternalFiacre.g:21654:1: rule__AppendExpression__Group__3__Impl : ( ',' ) ; + public final void rule__AppendExpression__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21658:1: ( ( ',' ) ) + // InternalFiacre.g:21659:1: ( ',' ) + { + // InternalFiacre.g:21659:1: ( ',' ) + // InternalFiacre.g:21660:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__3__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__4" + // InternalFiacre.g:21669:1: rule__AppendExpression__Group__4 : rule__AppendExpression__Group__4__Impl rule__AppendExpression__Group__5 ; + public final void rule__AppendExpression__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21673:1: ( rule__AppendExpression__Group__4__Impl rule__AppendExpression__Group__5 ) + // InternalFiacre.g:21674:2: rule__AppendExpression__Group__4__Impl rule__AppendExpression__Group__5 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__AppendExpression__Group__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__4" + + + // $ANTLR start "rule__AppendExpression__Group__4__Impl" + // InternalFiacre.g:21681:1: rule__AppendExpression__Group__4__Impl : ( ( rule__AppendExpression__RightAssignment_4 ) ) ; + public final void rule__AppendExpression__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21685:1: ( ( ( rule__AppendExpression__RightAssignment_4 ) ) ) + // InternalFiacre.g:21686:1: ( ( rule__AppendExpression__RightAssignment_4 ) ) + { + // InternalFiacre.g:21686:1: ( ( rule__AppendExpression__RightAssignment_4 ) ) + // InternalFiacre.g:21687:2: ( rule__AppendExpression__RightAssignment_4 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getRightAssignment_4()); + } + // InternalFiacre.g:21688:2: ( rule__AppendExpression__RightAssignment_4 ) + // InternalFiacre.g:21688:3: rule__AppendExpression__RightAssignment_4 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__RightAssignment_4(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getRightAssignment_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__4__Impl" + + + // $ANTLR start "rule__AppendExpression__Group__5" + // InternalFiacre.g:21696:1: rule__AppendExpression__Group__5 : rule__AppendExpression__Group__5__Impl ; + public final void rule__AppendExpression__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21700:1: ( rule__AppendExpression__Group__5__Impl ) + // InternalFiacre.g:21701:2: rule__AppendExpression__Group__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AppendExpression__Group__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__5" + + + // $ANTLR start "rule__AppendExpression__Group__5__Impl" + // InternalFiacre.g:21707:1: rule__AppendExpression__Group__5__Impl : ( ')' ) ; + public final void rule__AppendExpression__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21711:1: ( ( ')' ) ) + // InternalFiacre.g:21712:1: ( ')' ) + { + // InternalFiacre.g:21712:1: ( ')' ) + // InternalFiacre.g:21713:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__Group__5__Impl" + + + // $ANTLR start "rule__BooleanLiteral__Group_0__0" + // InternalFiacre.g:21723:1: rule__BooleanLiteral__Group_0__0 : rule__BooleanLiteral__Group_0__0__Impl rule__BooleanLiteral__Group_0__1 ; + public final void rule__BooleanLiteral__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21727:1: ( rule__BooleanLiteral__Group_0__0__Impl rule__BooleanLiteral__Group_0__1 ) + // InternalFiacre.g:21728:2: rule__BooleanLiteral__Group_0__0__Impl rule__BooleanLiteral__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_126); + rule__BooleanLiteral__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_0__0" + + + // $ANTLR start "rule__BooleanLiteral__Group_0__0__Impl" + // InternalFiacre.g:21735:1: rule__BooleanLiteral__Group_0__0__Impl : ( () ) ; + public final void rule__BooleanLiteral__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21739:1: ( ( () ) ) + // InternalFiacre.g:21740:1: ( () ) + { + // InternalFiacre.g:21740:1: ( () ) + // InternalFiacre.g:21741:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0()); + } + // InternalFiacre.g:21742:2: () + // InternalFiacre.g:21742:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_0__0__Impl" + + + // $ANTLR start "rule__BooleanLiteral__Group_0__1" + // InternalFiacre.g:21750:1: rule__BooleanLiteral__Group_0__1 : rule__BooleanLiteral__Group_0__1__Impl ; + public final void rule__BooleanLiteral__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21754:1: ( rule__BooleanLiteral__Group_0__1__Impl ) + // InternalFiacre.g:21755:2: rule__BooleanLiteral__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_0__1" + + + // $ANTLR start "rule__BooleanLiteral__Group_0__1__Impl" + // InternalFiacre.g:21761:1: rule__BooleanLiteral__Group_0__1__Impl : ( 'true' ) ; + public final void rule__BooleanLiteral__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21765:1: ( ( 'true' ) ) + // InternalFiacre.g:21766:1: ( 'true' ) + { + // InternalFiacre.g:21766:1: ( 'true' ) + // InternalFiacre.g:21767:2: 'true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); + } + match(input,106,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_0__1__Impl" + + + // $ANTLR start "rule__BooleanLiteral__Group_1__0" + // InternalFiacre.g:21777:1: rule__BooleanLiteral__Group_1__0 : rule__BooleanLiteral__Group_1__0__Impl rule__BooleanLiteral__Group_1__1 ; + public final void rule__BooleanLiteral__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21781:1: ( rule__BooleanLiteral__Group_1__0__Impl rule__BooleanLiteral__Group_1__1 ) + // InternalFiacre.g:21782:2: rule__BooleanLiteral__Group_1__0__Impl rule__BooleanLiteral__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_127); + rule__BooleanLiteral__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_1__0" + + + // $ANTLR start "rule__BooleanLiteral__Group_1__0__Impl" + // InternalFiacre.g:21789:1: rule__BooleanLiteral__Group_1__0__Impl : ( () ) ; + public final void rule__BooleanLiteral__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21793:1: ( ( () ) ) + // InternalFiacre.g:21794:1: ( () ) + { + // InternalFiacre.g:21794:1: ( () ) + // InternalFiacre.g:21795:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0()); + } + // InternalFiacre.g:21796:2: () + // InternalFiacre.g:21796:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_1__0__Impl" + + + // $ANTLR start "rule__BooleanLiteral__Group_1__1" + // InternalFiacre.g:21804:1: rule__BooleanLiteral__Group_1__1 : rule__BooleanLiteral__Group_1__1__Impl ; + public final void rule__BooleanLiteral__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21808:1: ( rule__BooleanLiteral__Group_1__1__Impl ) + // InternalFiacre.g:21809:2: rule__BooleanLiteral__Group_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__BooleanLiteral__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_1__1" + + + // $ANTLR start "rule__BooleanLiteral__Group_1__1__Impl" + // InternalFiacre.g:21815:1: rule__BooleanLiteral__Group_1__1__Impl : ( 'false' ) ; + public final void rule__BooleanLiteral__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21819:1: ( ( 'false' ) ) + // InternalFiacre.g:21820:1: ( 'false' ) + { + // InternalFiacre.g:21820:1: ( 'false' ) + // InternalFiacre.g:21821:2: 'false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); + } + match(input,107,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteral__Group_1__1__Impl" + + + // $ANTLR start "rule__NaturalLowerBound__Group__0" + // InternalFiacre.g:21831:1: rule__NaturalLowerBound__Group__0 : rule__NaturalLowerBound__Group__0__Impl rule__NaturalLowerBound__Group__1 ; + public final void rule__NaturalLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21835:1: ( rule__NaturalLowerBound__Group__0__Impl rule__NaturalLowerBound__Group__1 ) + // InternalFiacre.g:21836:2: rule__NaturalLowerBound__Group__0__Impl rule__NaturalLowerBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_69); + rule__NaturalLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__Group__0" + + + // $ANTLR start "rule__NaturalLowerBound__Group__0__Impl" + // InternalFiacre.g:21843:1: rule__NaturalLowerBound__Group__0__Impl : ( ( rule__NaturalLowerBound__Alternatives_0 ) ) ; + public final void rule__NaturalLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21847:1: ( ( ( rule__NaturalLowerBound__Alternatives_0 ) ) ) + // InternalFiacre.g:21848:1: ( ( rule__NaturalLowerBound__Alternatives_0 ) ) + { + // InternalFiacre.g:21848:1: ( ( rule__NaturalLowerBound__Alternatives_0 ) ) + // InternalFiacre.g:21849:2: ( rule__NaturalLowerBound__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getAlternatives_0()); + } + // InternalFiacre.g:21850:2: ( rule__NaturalLowerBound__Alternatives_0 ) + // InternalFiacre.g:21850:3: rule__NaturalLowerBound__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__NaturalLowerBound__Group__1" + // InternalFiacre.g:21858:1: rule__NaturalLowerBound__Group__1 : rule__NaturalLowerBound__Group__1__Impl ; + public final void rule__NaturalLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21862:1: ( rule__NaturalLowerBound__Group__1__Impl ) + // InternalFiacre.g:21863:2: rule__NaturalLowerBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__Group__1" + + + // $ANTLR start "rule__NaturalLowerBound__Group__1__Impl" + // InternalFiacre.g:21869:1: rule__NaturalLowerBound__Group__1__Impl : ( ( rule__NaturalLowerBound__ValueAssignment_1 ) ) ; + public final void rule__NaturalLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21873:1: ( ( ( rule__NaturalLowerBound__ValueAssignment_1 ) ) ) + // InternalFiacre.g:21874:1: ( ( rule__NaturalLowerBound__ValueAssignment_1 ) ) + { + // InternalFiacre.g:21874:1: ( ( rule__NaturalLowerBound__ValueAssignment_1 ) ) + // InternalFiacre.g:21875:2: ( rule__NaturalLowerBound__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getValueAssignment_1()); + } + // InternalFiacre.g:21876:2: ( rule__NaturalLowerBound__ValueAssignment_1 ) + // InternalFiacre.g:21876:3: rule__NaturalLowerBound__ValueAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalLowerBound__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__NaturalUpperBound__Group__0" + // InternalFiacre.g:21885:1: rule__NaturalUpperBound__Group__0 : rule__NaturalUpperBound__Group__0__Impl rule__NaturalUpperBound__Group__1 ; + public final void rule__NaturalUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21889:1: ( rule__NaturalUpperBound__Group__0__Impl rule__NaturalUpperBound__Group__1 ) + // InternalFiacre.g:21890:2: rule__NaturalUpperBound__Group__0__Impl rule__NaturalUpperBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__NaturalUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__Group__0" + + + // $ANTLR start "rule__NaturalUpperBound__Group__0__Impl" + // InternalFiacre.g:21897:1: rule__NaturalUpperBound__Group__0__Impl : ( ( rule__NaturalUpperBound__ValueAssignment_0 ) ) ; + public final void rule__NaturalUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21901:1: ( ( ( rule__NaturalUpperBound__ValueAssignment_0 ) ) ) + // InternalFiacre.g:21902:1: ( ( rule__NaturalUpperBound__ValueAssignment_0 ) ) + { + // InternalFiacre.g:21902:1: ( ( rule__NaturalUpperBound__ValueAssignment_0 ) ) + // InternalFiacre.g:21903:2: ( rule__NaturalUpperBound__ValueAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getValueAssignment_0()); + } + // InternalFiacre.g:21904:2: ( rule__NaturalUpperBound__ValueAssignment_0 ) + // InternalFiacre.g:21904:3: rule__NaturalUpperBound__ValueAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__ValueAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getValueAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__NaturalUpperBound__Group__1" + // InternalFiacre.g:21912:1: rule__NaturalUpperBound__Group__1 : rule__NaturalUpperBound__Group__1__Impl ; + public final void rule__NaturalUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21916:1: ( rule__NaturalUpperBound__Group__1__Impl ) + // InternalFiacre.g:21917:2: rule__NaturalUpperBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__Group__1" + + + // $ANTLR start "rule__NaturalUpperBound__Group__1__Impl" + // InternalFiacre.g:21923:1: rule__NaturalUpperBound__Group__1__Impl : ( ( rule__NaturalUpperBound__Alternatives_1 ) ) ; + public final void rule__NaturalUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21927:1: ( ( ( rule__NaturalUpperBound__Alternatives_1 ) ) ) + // InternalFiacre.g:21928:1: ( ( rule__NaturalUpperBound__Alternatives_1 ) ) + { + // InternalFiacre.g:21928:1: ( ( rule__NaturalUpperBound__Alternatives_1 ) ) + // InternalFiacre.g:21929:2: ( rule__NaturalUpperBound__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getAlternatives_1()); + } + // InternalFiacre.g:21930:2: ( rule__NaturalUpperBound__Alternatives_1 ) + // InternalFiacre.g:21930:3: rule__NaturalUpperBound__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__NaturalUpperBound__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__DecimalLowerBound__Group__0" + // InternalFiacre.g:21939:1: rule__DecimalLowerBound__Group__0 : rule__DecimalLowerBound__Group__0__Impl rule__DecimalLowerBound__Group__1 ; + public final void rule__DecimalLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21943:1: ( rule__DecimalLowerBound__Group__0__Impl rule__DecimalLowerBound__Group__1 ) + // InternalFiacre.g:21944:2: rule__DecimalLowerBound__Group__0__Impl rule__DecimalLowerBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_128); + rule__DecimalLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__Group__0" + + + // $ANTLR start "rule__DecimalLowerBound__Group__0__Impl" + // InternalFiacre.g:21951:1: rule__DecimalLowerBound__Group__0__Impl : ( ( rule__DecimalLowerBound__Alternatives_0 ) ) ; + public final void rule__DecimalLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21955:1: ( ( ( rule__DecimalLowerBound__Alternatives_0 ) ) ) + // InternalFiacre.g:21956:1: ( ( rule__DecimalLowerBound__Alternatives_0 ) ) + { + // InternalFiacre.g:21956:1: ( ( rule__DecimalLowerBound__Alternatives_0 ) ) + // InternalFiacre.g:21957:2: ( rule__DecimalLowerBound__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getAlternatives_0()); + } + // InternalFiacre.g:21958:2: ( rule__DecimalLowerBound__Alternatives_0 ) + // InternalFiacre.g:21958:3: rule__DecimalLowerBound__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__DecimalLowerBound__Group__1" + // InternalFiacre.g:21966:1: rule__DecimalLowerBound__Group__1 : rule__DecimalLowerBound__Group__1__Impl ; + public final void rule__DecimalLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21970:1: ( rule__DecimalLowerBound__Group__1__Impl ) + // InternalFiacre.g:21971:2: rule__DecimalLowerBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__Group__1" + + + // $ANTLR start "rule__DecimalLowerBound__Group__1__Impl" + // InternalFiacre.g:21977:1: rule__DecimalLowerBound__Group__1__Impl : ( ( rule__DecimalLowerBound__ValueAssignment_1 ) ) ; + public final void rule__DecimalLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21981:1: ( ( ( rule__DecimalLowerBound__ValueAssignment_1 ) ) ) + // InternalFiacre.g:21982:1: ( ( rule__DecimalLowerBound__ValueAssignment_1 ) ) + { + // InternalFiacre.g:21982:1: ( ( rule__DecimalLowerBound__ValueAssignment_1 ) ) + // InternalFiacre.g:21983:2: ( rule__DecimalLowerBound__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getValueAssignment_1()); + } + // InternalFiacre.g:21984:2: ( rule__DecimalLowerBound__ValueAssignment_1 ) + // InternalFiacre.g:21984:3: rule__DecimalLowerBound__ValueAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalLowerBound__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__DecimalUpperBound__Group__0" + // InternalFiacre.g:21993:1: rule__DecimalUpperBound__Group__0 : rule__DecimalUpperBound__Group__0__Impl rule__DecimalUpperBound__Group__1 ; + public final void rule__DecimalUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:21997:1: ( rule__DecimalUpperBound__Group__0__Impl rule__DecimalUpperBound__Group__1 ) + // InternalFiacre.g:21998:2: rule__DecimalUpperBound__Group__0__Impl rule__DecimalUpperBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__DecimalUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__Group__0" + + + // $ANTLR start "rule__DecimalUpperBound__Group__0__Impl" + // InternalFiacre.g:22005:1: rule__DecimalUpperBound__Group__0__Impl : ( ( rule__DecimalUpperBound__ValueAssignment_0 ) ) ; + public final void rule__DecimalUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22009:1: ( ( ( rule__DecimalUpperBound__ValueAssignment_0 ) ) ) + // InternalFiacre.g:22010:1: ( ( rule__DecimalUpperBound__ValueAssignment_0 ) ) + { + // InternalFiacre.g:22010:1: ( ( rule__DecimalUpperBound__ValueAssignment_0 ) ) + // InternalFiacre.g:22011:2: ( rule__DecimalUpperBound__ValueAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getValueAssignment_0()); + } + // InternalFiacre.g:22012:2: ( rule__DecimalUpperBound__ValueAssignment_0 ) + // InternalFiacre.g:22012:3: rule__DecimalUpperBound__ValueAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__ValueAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getValueAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__DecimalUpperBound__Group__1" + // InternalFiacre.g:22020:1: rule__DecimalUpperBound__Group__1 : rule__DecimalUpperBound__Group__1__Impl ; + public final void rule__DecimalUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22024:1: ( rule__DecimalUpperBound__Group__1__Impl ) + // InternalFiacre.g:22025:2: rule__DecimalUpperBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__Group__1" + + + // $ANTLR start "rule__DecimalUpperBound__Group__1__Impl" + // InternalFiacre.g:22031:1: rule__DecimalUpperBound__Group__1__Impl : ( ( rule__DecimalUpperBound__Alternatives_1 ) ) ; + public final void rule__DecimalUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22035:1: ( ( ( rule__DecimalUpperBound__Alternatives_1 ) ) ) + // InternalFiacre.g:22036:1: ( ( rule__DecimalUpperBound__Alternatives_1 ) ) + { + // InternalFiacre.g:22036:1: ( ( rule__DecimalUpperBound__Alternatives_1 ) ) + // InternalFiacre.g:22037:2: ( rule__DecimalUpperBound__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getAlternatives_1()); + } + // InternalFiacre.g:22038:2: ( rule__DecimalUpperBound__Alternatives_1 ) + // InternalFiacre.g:22038:3: rule__DecimalUpperBound__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DecimalUpperBound__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__VariableLowerBound__Group__0" + // InternalFiacre.g:22047:1: rule__VariableLowerBound__Group__0 : rule__VariableLowerBound__Group__0__Impl rule__VariableLowerBound__Group__1 ; + public final void rule__VariableLowerBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22051:1: ( rule__VariableLowerBound__Group__0__Impl rule__VariableLowerBound__Group__1 ) + // InternalFiacre.g:22052:2: rule__VariableLowerBound__Group__0__Impl rule__VariableLowerBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__VariableLowerBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__Group__0" + + + // $ANTLR start "rule__VariableLowerBound__Group__0__Impl" + // InternalFiacre.g:22059:1: rule__VariableLowerBound__Group__0__Impl : ( ( rule__VariableLowerBound__Alternatives_0 ) ) ; + public final void rule__VariableLowerBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22063:1: ( ( ( rule__VariableLowerBound__Alternatives_0 ) ) ) + // InternalFiacre.g:22064:1: ( ( rule__VariableLowerBound__Alternatives_0 ) ) + { + // InternalFiacre.g:22064:1: ( ( rule__VariableLowerBound__Alternatives_0 ) ) + // InternalFiacre.g:22065:2: ( rule__VariableLowerBound__Alternatives_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getAlternatives_0()); + } + // InternalFiacre.g:22066:2: ( rule__VariableLowerBound__Alternatives_0 ) + // InternalFiacre.g:22066:3: rule__VariableLowerBound__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getAlternatives_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__Group__0__Impl" + + + // $ANTLR start "rule__VariableLowerBound__Group__1" + // InternalFiacre.g:22074:1: rule__VariableLowerBound__Group__1 : rule__VariableLowerBound__Group__1__Impl ; + public final void rule__VariableLowerBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22078:1: ( rule__VariableLowerBound__Group__1__Impl ) + // InternalFiacre.g:22079:2: rule__VariableLowerBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__Group__1" + + + // $ANTLR start "rule__VariableLowerBound__Group__1__Impl" + // InternalFiacre.g:22085:1: rule__VariableLowerBound__Group__1__Impl : ( ( rule__VariableLowerBound__VariableAssignment_1 ) ) ; + public final void rule__VariableLowerBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22089:1: ( ( ( rule__VariableLowerBound__VariableAssignment_1 ) ) ) + // InternalFiacre.g:22090:1: ( ( rule__VariableLowerBound__VariableAssignment_1 ) ) + { + // InternalFiacre.g:22090:1: ( ( rule__VariableLowerBound__VariableAssignment_1 ) ) + // InternalFiacre.g:22091:2: ( rule__VariableLowerBound__VariableAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getVariableAssignment_1()); + } + // InternalFiacre.g:22092:2: ( rule__VariableLowerBound__VariableAssignment_1 ) + // InternalFiacre.g:22092:3: rule__VariableLowerBound__VariableAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableLowerBound__VariableAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getVariableAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__Group__1__Impl" + + + // $ANTLR start "rule__VariableUpperBound__Group__0" + // InternalFiacre.g:22101:1: rule__VariableUpperBound__Group__0 : rule__VariableUpperBound__Group__0__Impl rule__VariableUpperBound__Group__1 ; + public final void rule__VariableUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22105:1: ( rule__VariableUpperBound__Group__0__Impl rule__VariableUpperBound__Group__1 ) + // InternalFiacre.g:22106:2: rule__VariableUpperBound__Group__0__Impl rule__VariableUpperBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__VariableUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__Group__0" + + + // $ANTLR start "rule__VariableUpperBound__Group__0__Impl" + // InternalFiacre.g:22113:1: rule__VariableUpperBound__Group__0__Impl : ( ( rule__VariableUpperBound__VariableAssignment_0 ) ) ; + public final void rule__VariableUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22117:1: ( ( ( rule__VariableUpperBound__VariableAssignment_0 ) ) ) + // InternalFiacre.g:22118:1: ( ( rule__VariableUpperBound__VariableAssignment_0 ) ) + { + // InternalFiacre.g:22118:1: ( ( rule__VariableUpperBound__VariableAssignment_0 ) ) + // InternalFiacre.g:22119:2: ( rule__VariableUpperBound__VariableAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getVariableAssignment_0()); + } + // InternalFiacre.g:22120:2: ( rule__VariableUpperBound__VariableAssignment_0 ) + // InternalFiacre.g:22120:3: rule__VariableUpperBound__VariableAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__VariableAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getVariableAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__VariableUpperBound__Group__1" + // InternalFiacre.g:22128:1: rule__VariableUpperBound__Group__1 : rule__VariableUpperBound__Group__1__Impl ; + public final void rule__VariableUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22132:1: ( rule__VariableUpperBound__Group__1__Impl ) + // InternalFiacre.g:22133:2: rule__VariableUpperBound__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__Group__1" + + + // $ANTLR start "rule__VariableUpperBound__Group__1__Impl" + // InternalFiacre.g:22139:1: rule__VariableUpperBound__Group__1__Impl : ( ( rule__VariableUpperBound__Alternatives_1 ) ) ; + public final void rule__VariableUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22143:1: ( ( ( rule__VariableUpperBound__Alternatives_1 ) ) ) + // InternalFiacre.g:22144:1: ( ( rule__VariableUpperBound__Alternatives_1 ) ) + { + // InternalFiacre.g:22144:1: ( ( rule__VariableUpperBound__Alternatives_1 ) ) + // InternalFiacre.g:22145:2: ( rule__VariableUpperBound__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getAlternatives_1()); + } + // InternalFiacre.g:22146:2: ( rule__VariableUpperBound__Alternatives_1 ) + // InternalFiacre.g:22146:3: rule__VariableUpperBound__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__VariableUpperBound__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__0" + // InternalFiacre.g:22155:1: rule__InfiniteUpperBound__Group__0 : rule__InfiniteUpperBound__Group__0__Impl rule__InfiniteUpperBound__Group__1 ; + public final void rule__InfiniteUpperBound__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22159:1: ( rule__InfiniteUpperBound__Group__0__Impl rule__InfiniteUpperBound__Group__1 ) + // InternalFiacre.g:22160:2: rule__InfiniteUpperBound__Group__0__Impl rule__InfiniteUpperBound__Group__1 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__InfiniteUpperBound__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__InfiniteUpperBound__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__0" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__0__Impl" + // InternalFiacre.g:22167:1: rule__InfiniteUpperBound__Group__0__Impl : ( () ) ; + public final void rule__InfiniteUpperBound__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22171:1: ( ( () ) ) + // InternalFiacre.g:22172:1: ( () ) + { + // InternalFiacre.g:22172:1: ( () ) + // InternalFiacre.g:22173:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0()); + } + // InternalFiacre.g:22174:2: () + // InternalFiacre.g:22174:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__0__Impl" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__1" + // InternalFiacre.g:22182:1: rule__InfiniteUpperBound__Group__1 : rule__InfiniteUpperBound__Group__1__Impl rule__InfiniteUpperBound__Group__2 ; + public final void rule__InfiniteUpperBound__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22186:1: ( rule__InfiniteUpperBound__Group__1__Impl rule__InfiniteUpperBound__Group__2 ) + // InternalFiacre.g:22187:2: rule__InfiniteUpperBound__Group__1__Impl rule__InfiniteUpperBound__Group__2 + { + pushFollow(FollowSets000.FOLLOW_50); + rule__InfiniteUpperBound__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__InfiniteUpperBound__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__1" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__1__Impl" + // InternalFiacre.g:22194:1: rule__InfiniteUpperBound__Group__1__Impl : ( '...' ) ; + public final void rule__InfiniteUpperBound__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22198:1: ( ( '...' ) ) + // InternalFiacre.g:22199:1: ( '...' ) + { + // InternalFiacre.g:22199:1: ( '...' ) + // InternalFiacre.g:22200:2: '...' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); + } + match(input,108,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__1__Impl" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__2" + // InternalFiacre.g:22209:1: rule__InfiniteUpperBound__Group__2 : rule__InfiniteUpperBound__Group__2__Impl ; + public final void rule__InfiniteUpperBound__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22213:1: ( rule__InfiniteUpperBound__Group__2__Impl ) + // InternalFiacre.g:22214:2: rule__InfiniteUpperBound__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InfiniteUpperBound__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__2" + + + // $ANTLR start "rule__InfiniteUpperBound__Group__2__Impl" + // InternalFiacre.g:22220:1: rule__InfiniteUpperBound__Group__2__Impl : ( '[' ) ; + public final void rule__InfiniteUpperBound__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22224:1: ( ( '[' ) ) + // InternalFiacre.g:22225:1: ( '[' ) + { + // InternalFiacre.g:22225:1: ( '[' ) + // InternalFiacre.g:22226:2: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfiniteUpperBound__Group__2__Impl" + + + // $ANTLR start "rule__Requirement__Group__0" + // InternalFiacre.g:22236:1: rule__Requirement__Group__0 : rule__Requirement__Group__0__Impl rule__Requirement__Group__1 ; + public final void rule__Requirement__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22240:1: ( rule__Requirement__Group__0__Impl rule__Requirement__Group__1 ) + // InternalFiacre.g:22241:2: rule__Requirement__Group__0__Impl rule__Requirement__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__Requirement__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__0" + + + // $ANTLR start "rule__Requirement__Group__0__Impl" + // InternalFiacre.g:22248:1: rule__Requirement__Group__0__Impl : ( 'assert' ) ; + public final void rule__Requirement__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22252:1: ( ( 'assert' ) ) + // InternalFiacre.g:22253:1: ( 'assert' ) + { + // InternalFiacre.g:22253:1: ( 'assert' ) + // InternalFiacre.g:22254:2: 'assert' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getAssertKeyword_0()); + } + match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getAssertKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__0__Impl" + + + // $ANTLR start "rule__Requirement__Group__1" + // InternalFiacre.g:22263:1: rule__Requirement__Group__1 : rule__Requirement__Group__1__Impl rule__Requirement__Group__2 ; + public final void rule__Requirement__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22267:1: ( rule__Requirement__Group__1__Impl rule__Requirement__Group__2 ) + // InternalFiacre.g:22268:2: rule__Requirement__Group__1__Impl rule__Requirement__Group__2 + { + pushFollow(FollowSets000.FOLLOW_129); + rule__Requirement__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__1" + + + // $ANTLR start "rule__Requirement__Group__1__Impl" + // InternalFiacre.g:22275:1: rule__Requirement__Group__1__Impl : ( ( rule__Requirement__PropertyAssignment_1 ) ) ; + public final void rule__Requirement__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22279:1: ( ( ( rule__Requirement__PropertyAssignment_1 ) ) ) + // InternalFiacre.g:22280:1: ( ( rule__Requirement__PropertyAssignment_1 ) ) + { + // InternalFiacre.g:22280:1: ( ( rule__Requirement__PropertyAssignment_1 ) ) + // InternalFiacre.g:22281:2: ( rule__Requirement__PropertyAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getPropertyAssignment_1()); + } + // InternalFiacre.g:22282:2: ( rule__Requirement__PropertyAssignment_1 ) + // InternalFiacre.g:22282:3: rule__Requirement__PropertyAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__PropertyAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getPropertyAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__1__Impl" + + + // $ANTLR start "rule__Requirement__Group__2" + // InternalFiacre.g:22290:1: rule__Requirement__Group__2 : rule__Requirement__Group__2__Impl rule__Requirement__Group__3 ; + public final void rule__Requirement__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22294:1: ( rule__Requirement__Group__2__Impl rule__Requirement__Group__3 ) + // InternalFiacre.g:22295:2: rule__Requirement__Group__2__Impl rule__Requirement__Group__3 + { + pushFollow(FollowSets000.FOLLOW_129); + rule__Requirement__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__2" + + + // $ANTLR start "rule__Requirement__Group__2__Impl" + // InternalFiacre.g:22302:1: rule__Requirement__Group__2__Impl : ( ( rule__Requirement__Group_2__0 )? ) ; + public final void rule__Requirement__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22306:1: ( ( ( rule__Requirement__Group_2__0 )? ) ) + // InternalFiacre.g:22307:1: ( ( rule__Requirement__Group_2__0 )? ) + { + // InternalFiacre.g:22307:1: ( ( rule__Requirement__Group_2__0 )? ) + // InternalFiacre.g:22308:2: ( rule__Requirement__Group_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getGroup_2()); + } + // InternalFiacre.g:22309:2: ( rule__Requirement__Group_2__0 )? + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==110) ) { + alt175=1; + } + switch (alt175) { + case 1 : + // InternalFiacre.g:22309:3: rule__Requirement__Group_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getGroup_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__2__Impl" + + + // $ANTLR start "rule__Requirement__Group__3" + // InternalFiacre.g:22317:1: rule__Requirement__Group__3 : rule__Requirement__Group__3__Impl ; + public final void rule__Requirement__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22321:1: ( rule__Requirement__Group__3__Impl ) + // InternalFiacre.g:22322:2: rule__Requirement__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__3" + + + // $ANTLR start "rule__Requirement__Group__3__Impl" + // InternalFiacre.g:22328:1: rule__Requirement__Group__3__Impl : ( ( rule__Requirement__Group_3__0 )? ) ; + public final void rule__Requirement__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22332:1: ( ( ( rule__Requirement__Group_3__0 )? ) ) + // InternalFiacre.g:22333:1: ( ( rule__Requirement__Group_3__0 )? ) + { + // InternalFiacre.g:22333:1: ( ( rule__Requirement__Group_3__0 )? ) + // InternalFiacre.g:22334:2: ( rule__Requirement__Group_3__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getGroup_3()); + } + // InternalFiacre.g:22335:2: ( rule__Requirement__Group_3__0 )? + int alt176=2; + int LA176_0 = input.LA(1); + + if ( (LA176_0==111) ) { + alt176=1; + } + switch (alt176) { + case 1 : + // InternalFiacre.g:22335:3: rule__Requirement__Group_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getGroup_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group__3__Impl" + + + // $ANTLR start "rule__Requirement__Group_2__0" + // InternalFiacre.g:22344:1: rule__Requirement__Group_2__0 : rule__Requirement__Group_2__0__Impl rule__Requirement__Group_2__1 ; + public final void rule__Requirement__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22348:1: ( rule__Requirement__Group_2__0__Impl rule__Requirement__Group_2__1 ) + // InternalFiacre.g:22349:2: rule__Requirement__Group_2__0__Impl rule__Requirement__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_12); + rule__Requirement__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_2__0" + + + // $ANTLR start "rule__Requirement__Group_2__0__Impl" + // InternalFiacre.g:22356:1: rule__Requirement__Group_2__0__Impl : ( '-true' ) ; + public final void rule__Requirement__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22360:1: ( ( '-true' ) ) + // InternalFiacre.g:22361:1: ( '-true' ) + { + // InternalFiacre.g:22361:1: ( '-true' ) + // InternalFiacre.g:22362:2: '-true' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); + } + match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_2__0__Impl" + + + // $ANTLR start "rule__Requirement__Group_2__1" + // InternalFiacre.g:22371:1: rule__Requirement__Group_2__1 : rule__Requirement__Group_2__1__Impl ; + public final void rule__Requirement__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22375:1: ( rule__Requirement__Group_2__1__Impl ) + // InternalFiacre.g:22376:2: rule__Requirement__Group_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_2__1" + + + // $ANTLR start "rule__Requirement__Group_2__1__Impl" + // InternalFiacre.g:22382:1: rule__Requirement__Group_2__1__Impl : ( ( rule__Requirement__PositiveAssignment_2_1 ) ) ; + public final void rule__Requirement__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22386:1: ( ( ( rule__Requirement__PositiveAssignment_2_1 ) ) ) + // InternalFiacre.g:22387:1: ( ( rule__Requirement__PositiveAssignment_2_1 ) ) + { + // InternalFiacre.g:22387:1: ( ( rule__Requirement__PositiveAssignment_2_1 ) ) + // InternalFiacre.g:22388:2: ( rule__Requirement__PositiveAssignment_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getPositiveAssignment_2_1()); + } + // InternalFiacre.g:22389:2: ( rule__Requirement__PositiveAssignment_2_1 ) + // InternalFiacre.g:22389:3: rule__Requirement__PositiveAssignment_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__PositiveAssignment_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getPositiveAssignment_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_2__1__Impl" + + + // $ANTLR start "rule__Requirement__Group_3__0" + // InternalFiacre.g:22398:1: rule__Requirement__Group_3__0 : rule__Requirement__Group_3__0__Impl rule__Requirement__Group_3__1 ; + public final void rule__Requirement__Group_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22402:1: ( rule__Requirement__Group_3__0__Impl rule__Requirement__Group_3__1 ) + // InternalFiacre.g:22403:2: rule__Requirement__Group_3__0__Impl rule__Requirement__Group_3__1 + { + pushFollow(FollowSets000.FOLLOW_12); + rule__Requirement__Group_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_3__0" + + + // $ANTLR start "rule__Requirement__Group_3__0__Impl" + // InternalFiacre.g:22410:1: rule__Requirement__Group_3__0__Impl : ( '-false' ) ; + public final void rule__Requirement__Group_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22414:1: ( ( '-false' ) ) + // InternalFiacre.g:22415:1: ( '-false' ) + { + // InternalFiacre.g:22415:1: ( '-false' ) + // InternalFiacre.g:22416:2: '-false' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); + } + match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_3__0__Impl" + + + // $ANTLR start "rule__Requirement__Group_3__1" + // InternalFiacre.g:22425:1: rule__Requirement__Group_3__1 : rule__Requirement__Group_3__1__Impl ; + public final void rule__Requirement__Group_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22429:1: ( rule__Requirement__Group_3__1__Impl ) + // InternalFiacre.g:22430:2: rule__Requirement__Group_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__Group_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_3__1" + + + // $ANTLR start "rule__Requirement__Group_3__1__Impl" + // InternalFiacre.g:22436:1: rule__Requirement__Group_3__1__Impl : ( ( rule__Requirement__NegativeAssignment_3_1 ) ) ; + public final void rule__Requirement__Group_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22440:1: ( ( ( rule__Requirement__NegativeAssignment_3_1 ) ) ) + // InternalFiacre.g:22441:1: ( ( rule__Requirement__NegativeAssignment_3_1 ) ) + { + // InternalFiacre.g:22441:1: ( ( rule__Requirement__NegativeAssignment_3_1 ) ) + // InternalFiacre.g:22442:2: ( rule__Requirement__NegativeAssignment_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getNegativeAssignment_3_1()); + } + // InternalFiacre.g:22443:2: ( rule__Requirement__NegativeAssignment_3_1 ) + // InternalFiacre.g:22443:3: rule__Requirement__NegativeAssignment_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Requirement__NegativeAssignment_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getNegativeAssignment_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__Group_3__1__Impl" + + + // $ANTLR start "rule__PropertyDeclaration__Group__0" + // InternalFiacre.g:22452:1: rule__PropertyDeclaration__Group__0 : rule__PropertyDeclaration__Group__0__Impl rule__PropertyDeclaration__Group__1 ; + public final void rule__PropertyDeclaration__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22456:1: ( rule__PropertyDeclaration__Group__0__Impl rule__PropertyDeclaration__Group__1 ) + // InternalFiacre.g:22457:2: rule__PropertyDeclaration__Group__0__Impl rule__PropertyDeclaration__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__PropertyDeclaration__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__0" + + + // $ANTLR start "rule__PropertyDeclaration__Group__0__Impl" + // InternalFiacre.g:22464:1: rule__PropertyDeclaration__Group__0__Impl : ( 'property' ) ; + public final void rule__PropertyDeclaration__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22468:1: ( ( 'property' ) ) + // InternalFiacre.g:22469:1: ( 'property' ) + { + // InternalFiacre.g:22469:1: ( 'property' ) + // InternalFiacre.g:22470:2: 'property' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); + } + match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__0__Impl" + + + // $ANTLR start "rule__PropertyDeclaration__Group__1" + // InternalFiacre.g:22479:1: rule__PropertyDeclaration__Group__1 : rule__PropertyDeclaration__Group__1__Impl rule__PropertyDeclaration__Group__2 ; + public final void rule__PropertyDeclaration__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22483:1: ( rule__PropertyDeclaration__Group__1__Impl rule__PropertyDeclaration__Group__2 ) + // InternalFiacre.g:22484:2: rule__PropertyDeclaration__Group__1__Impl rule__PropertyDeclaration__Group__2 + { + pushFollow(FollowSets000.FOLLOW_16); + rule__PropertyDeclaration__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__1" + + + // $ANTLR start "rule__PropertyDeclaration__Group__1__Impl" + // InternalFiacre.g:22491:1: rule__PropertyDeclaration__Group__1__Impl : ( ( rule__PropertyDeclaration__NameAssignment_1 ) ) ; + public final void rule__PropertyDeclaration__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22495:1: ( ( ( rule__PropertyDeclaration__NameAssignment_1 ) ) ) + // InternalFiacre.g:22496:1: ( ( rule__PropertyDeclaration__NameAssignment_1 ) ) + { + // InternalFiacre.g:22496:1: ( ( rule__PropertyDeclaration__NameAssignment_1 ) ) + // InternalFiacre.g:22497:2: ( rule__PropertyDeclaration__NameAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getNameAssignment_1()); + } + // InternalFiacre.g:22498:2: ( rule__PropertyDeclaration__NameAssignment_1 ) + // InternalFiacre.g:22498:3: rule__PropertyDeclaration__NameAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__NameAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getNameAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__1__Impl" + + + // $ANTLR start "rule__PropertyDeclaration__Group__2" + // InternalFiacre.g:22506:1: rule__PropertyDeclaration__Group__2 : rule__PropertyDeclaration__Group__2__Impl rule__PropertyDeclaration__Group__3 ; + public final void rule__PropertyDeclaration__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22510:1: ( rule__PropertyDeclaration__Group__2__Impl rule__PropertyDeclaration__Group__3 ) + // InternalFiacre.g:22511:2: rule__PropertyDeclaration__Group__2__Impl rule__PropertyDeclaration__Group__3 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__PropertyDeclaration__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__Group__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__2" + + + // $ANTLR start "rule__PropertyDeclaration__Group__2__Impl" + // InternalFiacre.g:22518:1: rule__PropertyDeclaration__Group__2__Impl : ( 'is' ) ; + public final void rule__PropertyDeclaration__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22522:1: ( ( 'is' ) ) + // InternalFiacre.g:22523:1: ( 'is' ) + { + // InternalFiacre.g:22523:1: ( 'is' ) + // InternalFiacre.g:22524:2: 'is' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); + } + match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__2__Impl" + + + // $ANTLR start "rule__PropertyDeclaration__Group__3" + // InternalFiacre.g:22533:1: rule__PropertyDeclaration__Group__3 : rule__PropertyDeclaration__Group__3__Impl ; + public final void rule__PropertyDeclaration__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22537:1: ( rule__PropertyDeclaration__Group__3__Impl ) + // InternalFiacre.g:22538:2: rule__PropertyDeclaration__Group__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__Group__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__3" + + + // $ANTLR start "rule__PropertyDeclaration__Group__3__Impl" + // InternalFiacre.g:22544:1: rule__PropertyDeclaration__Group__3__Impl : ( ( rule__PropertyDeclaration__PropertyAssignment_3 ) ) ; + public final void rule__PropertyDeclaration__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22548:1: ( ( ( rule__PropertyDeclaration__PropertyAssignment_3 ) ) ) + // InternalFiacre.g:22549:1: ( ( rule__PropertyDeclaration__PropertyAssignment_3 ) ) + { + // InternalFiacre.g:22549:1: ( ( rule__PropertyDeclaration__PropertyAssignment_3 ) ) + // InternalFiacre.g:22550:2: ( rule__PropertyDeclaration__PropertyAssignment_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getPropertyAssignment_3()); + } + // InternalFiacre.g:22551:2: ( rule__PropertyDeclaration__PropertyAssignment_3 ) + // InternalFiacre.g:22551:3: rule__PropertyDeclaration__PropertyAssignment_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDeclaration__PropertyAssignment_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getPropertyAssignment_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__Group__3__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__0" + // InternalFiacre.g:22560:1: rule__QuantifiedProperty__Group_0__0 : rule__QuantifiedProperty__Group_0__0__Impl rule__QuantifiedProperty__Group_0__1 ; + public final void rule__QuantifiedProperty__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22564:1: ( rule__QuantifiedProperty__Group_0__0__Impl rule__QuantifiedProperty__Group_0__1 ) + // InternalFiacre.g:22565:2: rule__QuantifiedProperty__Group_0__0__Impl rule__QuantifiedProperty__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__QuantifiedProperty__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__0" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__0__Impl" + // InternalFiacre.g:22572:1: rule__QuantifiedProperty__Group_0__0__Impl : ( ( rule__QuantifiedProperty__Alternatives_0_0 ) ) ; + public final void rule__QuantifiedProperty__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22576:1: ( ( ( rule__QuantifiedProperty__Alternatives_0_0 ) ) ) + // InternalFiacre.g:22577:1: ( ( rule__QuantifiedProperty__Alternatives_0_0 ) ) + { + // InternalFiacre.g:22577:1: ( ( rule__QuantifiedProperty__Alternatives_0_0 ) ) + // InternalFiacre.g:22578:2: ( rule__QuantifiedProperty__Alternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getAlternatives_0_0()); + } + // InternalFiacre.g:22579:2: ( rule__QuantifiedProperty__Alternatives_0_0 ) + // InternalFiacre.g:22579:3: rule__QuantifiedProperty__Alternatives_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Alternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__0__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__1" + // InternalFiacre.g:22587:1: rule__QuantifiedProperty__Group_0__1 : rule__QuantifiedProperty__Group_0__1__Impl rule__QuantifiedProperty__Group_0__2 ; + public final void rule__QuantifiedProperty__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22591:1: ( rule__QuantifiedProperty__Group_0__1__Impl rule__QuantifiedProperty__Group_0__2 ) + // InternalFiacre.g:22592:2: rule__QuantifiedProperty__Group_0__1__Impl rule__QuantifiedProperty__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_46); + rule__QuantifiedProperty__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__1" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__1__Impl" + // InternalFiacre.g:22599:1: rule__QuantifiedProperty__Group_0__1__Impl : ( ( rule__QuantifiedProperty__VariableAssignment_0_1 ) ) ; + public final void rule__QuantifiedProperty__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22603:1: ( ( ( rule__QuantifiedProperty__VariableAssignment_0_1 ) ) ) + // InternalFiacre.g:22604:1: ( ( rule__QuantifiedProperty__VariableAssignment_0_1 ) ) + { + // InternalFiacre.g:22604:1: ( ( rule__QuantifiedProperty__VariableAssignment_0_1 ) ) + // InternalFiacre.g:22605:2: ( rule__QuantifiedProperty__VariableAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getVariableAssignment_0_1()); + } + // InternalFiacre.g:22606:2: ( rule__QuantifiedProperty__VariableAssignment_0_1 ) + // InternalFiacre.g:22606:3: rule__QuantifiedProperty__VariableAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__VariableAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getVariableAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__1__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__2" + // InternalFiacre.g:22614:1: rule__QuantifiedProperty__Group_0__2 : rule__QuantifiedProperty__Group_0__2__Impl rule__QuantifiedProperty__Group_0__3 ; + public final void rule__QuantifiedProperty__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22618:1: ( rule__QuantifiedProperty__Group_0__2__Impl rule__QuantifiedProperty__Group_0__3 ) + // InternalFiacre.g:22619:2: rule__QuantifiedProperty__Group_0__2__Impl rule__QuantifiedProperty__Group_0__3 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__QuantifiedProperty__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__2" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__2__Impl" + // InternalFiacre.g:22626:1: rule__QuantifiedProperty__Group_0__2__Impl : ( 'in' ) ; + public final void rule__QuantifiedProperty__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22630:1: ( ( 'in' ) ) + // InternalFiacre.g:22631:1: ( 'in' ) + { + // InternalFiacre.g:22631:1: ( 'in' ) + // InternalFiacre.g:22632:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__2__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__3" + // InternalFiacre.g:22641:1: rule__QuantifiedProperty__Group_0__3 : rule__QuantifiedProperty__Group_0__3__Impl rule__QuantifiedProperty__Group_0__4 ; + public final void rule__QuantifiedProperty__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22645:1: ( rule__QuantifiedProperty__Group_0__3__Impl rule__QuantifiedProperty__Group_0__4 ) + // InternalFiacre.g:22646:2: rule__QuantifiedProperty__Group_0__3__Impl rule__QuantifiedProperty__Group_0__4 + { + pushFollow(FollowSets000.FOLLOW_131); + rule__QuantifiedProperty__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__3" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__3__Impl" + // InternalFiacre.g:22653:1: rule__QuantifiedProperty__Group_0__3__Impl : ( ( rule__QuantifiedProperty__TypeAssignment_0_3 ) ) ; + public final void rule__QuantifiedProperty__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22657:1: ( ( ( rule__QuantifiedProperty__TypeAssignment_0_3 ) ) ) + // InternalFiacre.g:22658:1: ( ( rule__QuantifiedProperty__TypeAssignment_0_3 ) ) + { + // InternalFiacre.g:22658:1: ( ( rule__QuantifiedProperty__TypeAssignment_0_3 ) ) + // InternalFiacre.g:22659:2: ( rule__QuantifiedProperty__TypeAssignment_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getTypeAssignment_0_3()); + } + // InternalFiacre.g:22660:2: ( rule__QuantifiedProperty__TypeAssignment_0_3 ) + // InternalFiacre.g:22660:3: rule__QuantifiedProperty__TypeAssignment_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__TypeAssignment_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getTypeAssignment_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__3__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__4" + // InternalFiacre.g:22668:1: rule__QuantifiedProperty__Group_0__4 : rule__QuantifiedProperty__Group_0__4__Impl rule__QuantifiedProperty__Group_0__5 ; + public final void rule__QuantifiedProperty__Group_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22672:1: ( rule__QuantifiedProperty__Group_0__4__Impl rule__QuantifiedProperty__Group_0__5 ) + // InternalFiacre.g:22673:2: rule__QuantifiedProperty__Group_0__4__Impl rule__QuantifiedProperty__Group_0__5 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__QuantifiedProperty__Group_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__4" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__4__Impl" + // InternalFiacre.g:22680:1: rule__QuantifiedProperty__Group_0__4__Impl : ( '.' ) ; + public final void rule__QuantifiedProperty__Group_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22684:1: ( ( '.' ) ) + // InternalFiacre.g:22685:1: ( '.' ) + { + // InternalFiacre.g:22685:1: ( '.' ) + // InternalFiacre.g:22686:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); + } + match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__4__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__5" + // InternalFiacre.g:22695:1: rule__QuantifiedProperty__Group_0__5 : rule__QuantifiedProperty__Group_0__5__Impl ; + public final void rule__QuantifiedProperty__Group_0__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22699:1: ( rule__QuantifiedProperty__Group_0__5__Impl ) + // InternalFiacre.g:22700:2: rule__QuantifiedProperty__Group_0__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__5" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0__5__Impl" + // InternalFiacre.g:22706:1: rule__QuantifiedProperty__Group_0__5__Impl : ( ( rule__QuantifiedProperty__ChildAssignment_0_5 ) ) ; + public final void rule__QuantifiedProperty__Group_0__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22710:1: ( ( ( rule__QuantifiedProperty__ChildAssignment_0_5 ) ) ) + // InternalFiacre.g:22711:1: ( ( rule__QuantifiedProperty__ChildAssignment_0_5 ) ) + { + // InternalFiacre.g:22711:1: ( ( rule__QuantifiedProperty__ChildAssignment_0_5 ) ) + // InternalFiacre.g:22712:2: ( rule__QuantifiedProperty__ChildAssignment_0_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getChildAssignment_0_5()); + } + // InternalFiacre.g:22713:2: ( rule__QuantifiedProperty__ChildAssignment_0_5 ) + // InternalFiacre.g:22713:3: rule__QuantifiedProperty__ChildAssignment_0_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__ChildAssignment_0_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getChildAssignment_0_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0__5__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_0__0" + // InternalFiacre.g:22722:1: rule__QuantifiedProperty__Group_0_0_0__0 : rule__QuantifiedProperty__Group_0_0_0__0__Impl rule__QuantifiedProperty__Group_0_0_0__1 ; + public final void rule__QuantifiedProperty__Group_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22726:1: ( rule__QuantifiedProperty__Group_0_0_0__0__Impl rule__QuantifiedProperty__Group_0_0_0__1 ) + // InternalFiacre.g:22727:2: rule__QuantifiedProperty__Group_0_0_0__0__Impl rule__QuantifiedProperty__Group_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_90); + rule__QuantifiedProperty__Group_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_0__0" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_0__0__Impl" + // InternalFiacre.g:22734:1: rule__QuantifiedProperty__Group_0_0_0__0__Impl : ( () ) ; + public final void rule__QuantifiedProperty__Group_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22738:1: ( ( () ) ) + // InternalFiacre.g:22739:1: ( () ) + { + // InternalFiacre.g:22739:1: ( () ) + // InternalFiacre.g:22740:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0()); + } + // InternalFiacre.g:22741:2: () + // InternalFiacre.g:22741:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_0__0__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_0__1" + // InternalFiacre.g:22749:1: rule__QuantifiedProperty__Group_0_0_0__1 : rule__QuantifiedProperty__Group_0_0_0__1__Impl ; + public final void rule__QuantifiedProperty__Group_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22753:1: ( rule__QuantifiedProperty__Group_0_0_0__1__Impl ) + // InternalFiacre.g:22754:2: rule__QuantifiedProperty__Group_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_0__1" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_0__1__Impl" + // InternalFiacre.g:22760:1: rule__QuantifiedProperty__Group_0_0_0__1__Impl : ( 'all' ) ; + public final void rule__QuantifiedProperty__Group_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22764:1: ( ( 'all' ) ) + // InternalFiacre.g:22765:1: ( 'all' ) + { + // InternalFiacre.g:22765:1: ( 'all' ) + // InternalFiacre.g:22766:2: 'all' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); + } + match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_0__1__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_1__0" + // InternalFiacre.g:22776:1: rule__QuantifiedProperty__Group_0_0_1__0 : rule__QuantifiedProperty__Group_0_0_1__0__Impl rule__QuantifiedProperty__Group_0_0_1__1 ; + public final void rule__QuantifiedProperty__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22780:1: ( rule__QuantifiedProperty__Group_0_0_1__0__Impl rule__QuantifiedProperty__Group_0_0_1__1 ) + // InternalFiacre.g:22781:2: rule__QuantifiedProperty__Group_0_0_1__0__Impl rule__QuantifiedProperty__Group_0_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_91); + rule__QuantifiedProperty__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_1__0" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_1__0__Impl" + // InternalFiacre.g:22788:1: rule__QuantifiedProperty__Group_0_0_1__0__Impl : ( () ) ; + public final void rule__QuantifiedProperty__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22792:1: ( ( () ) ) + // InternalFiacre.g:22793:1: ( () ) + { + // InternalFiacre.g:22793:1: ( () ) + // InternalFiacre.g:22794:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0()); + } + // InternalFiacre.g:22795:2: () + // InternalFiacre.g:22795:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_1__1" + // InternalFiacre.g:22803:1: rule__QuantifiedProperty__Group_0_0_1__1 : rule__QuantifiedProperty__Group_0_0_1__1__Impl ; + public final void rule__QuantifiedProperty__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22807:1: ( rule__QuantifiedProperty__Group_0_0_1__1__Impl ) + // InternalFiacre.g:22808:2: rule__QuantifiedProperty__Group_0_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__QuantifiedProperty__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_1__1" + + + // $ANTLR start "rule__QuantifiedProperty__Group_0_0_1__1__Impl" + // InternalFiacre.g:22814:1: rule__QuantifiedProperty__Group_0_0_1__1__Impl : ( 'exists' ) ; + public final void rule__QuantifiedProperty__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22818:1: ( ( 'exists' ) ) + // InternalFiacre.g:22819:1: ( 'exists' ) + { + // InternalFiacre.g:22819:1: ( 'exists' ) + // InternalFiacre.g:22820:2: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); + } + match(input,78,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__PropertyDisjunction__Group__0" + // InternalFiacre.g:22830:1: rule__PropertyDisjunction__Group__0 : rule__PropertyDisjunction__Group__0__Impl rule__PropertyDisjunction__Group__1 ; + public final void rule__PropertyDisjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22834:1: ( rule__PropertyDisjunction__Group__0__Impl rule__PropertyDisjunction__Group__1 ) + // InternalFiacre.g:22835:2: rule__PropertyDisjunction__Group__0__Impl rule__PropertyDisjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__PropertyDisjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group__0" + + + // $ANTLR start "rule__PropertyDisjunction__Group__0__Impl" + // InternalFiacre.g:22842:1: rule__PropertyDisjunction__Group__0__Impl : ( rulePropertyImplication ) ; + public final void rule__PropertyDisjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22846:1: ( ( rulePropertyImplication ) ) + // InternalFiacre.g:22847:1: ( rulePropertyImplication ) + { + // InternalFiacre.g:22847:1: ( rulePropertyImplication ) + // InternalFiacre.g:22848:2: rulePropertyImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group__0__Impl" + + + // $ANTLR start "rule__PropertyDisjunction__Group__1" + // InternalFiacre.g:22857:1: rule__PropertyDisjunction__Group__1 : rule__PropertyDisjunction__Group__1__Impl ; + public final void rule__PropertyDisjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22861:1: ( rule__PropertyDisjunction__Group__1__Impl ) + // InternalFiacre.g:22862:2: rule__PropertyDisjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group__1" + + + // $ANTLR start "rule__PropertyDisjunction__Group__1__Impl" + // InternalFiacre.g:22868:1: rule__PropertyDisjunction__Group__1__Impl : ( ( rule__PropertyDisjunction__Group_1__0 )* ) ; + public final void rule__PropertyDisjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22872:1: ( ( ( rule__PropertyDisjunction__Group_1__0 )* ) ) + // InternalFiacre.g:22873:1: ( ( rule__PropertyDisjunction__Group_1__0 )* ) + { + // InternalFiacre.g:22873:1: ( ( rule__PropertyDisjunction__Group_1__0 )* ) + // InternalFiacre.g:22874:2: ( rule__PropertyDisjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:22875:2: ( rule__PropertyDisjunction__Group_1__0 )* + loop177: + do { + int alt177=2; + int LA177_0 = input.LA(1); + + if ( (LA177_0==79) ) { + alt177=1; + } + + + switch (alt177) { + case 1 : + // InternalFiacre.g:22875:3: rule__PropertyDisjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_94); + rule__PropertyDisjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop177; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group__1__Impl" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__0" + // InternalFiacre.g:22884:1: rule__PropertyDisjunction__Group_1__0 : rule__PropertyDisjunction__Group_1__0__Impl rule__PropertyDisjunction__Group_1__1 ; + public final void rule__PropertyDisjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22888:1: ( rule__PropertyDisjunction__Group_1__0__Impl rule__PropertyDisjunction__Group_1__1 ) + // InternalFiacre.g:22889:2: rule__PropertyDisjunction__Group_1__0__Impl rule__PropertyDisjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__PropertyDisjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__0" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__0__Impl" + // InternalFiacre.g:22896:1: rule__PropertyDisjunction__Group_1__0__Impl : ( () ) ; + public final void rule__PropertyDisjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22900:1: ( ( () ) ) + // InternalFiacre.g:22901:1: ( () ) + { + // InternalFiacre.g:22901:1: ( () ) + // InternalFiacre.g:22902:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0()); + } + // InternalFiacre.g:22903:2: () + // InternalFiacre.g:22903:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__1" + // InternalFiacre.g:22911:1: rule__PropertyDisjunction__Group_1__1 : rule__PropertyDisjunction__Group_1__1__Impl rule__PropertyDisjunction__Group_1__2 ; + public final void rule__PropertyDisjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22915:1: ( rule__PropertyDisjunction__Group_1__1__Impl rule__PropertyDisjunction__Group_1__2 ) + // InternalFiacre.g:22916:2: rule__PropertyDisjunction__Group_1__1__Impl rule__PropertyDisjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__PropertyDisjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__1" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__1__Impl" + // InternalFiacre.g:22923:1: rule__PropertyDisjunction__Group_1__1__Impl : ( 'or' ) ; + public final void rule__PropertyDisjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22927:1: ( ( 'or' ) ) + // InternalFiacre.g:22928:1: ( 'or' ) + { + // InternalFiacre.g:22928:1: ( 'or' ) + // InternalFiacre.g:22929:2: 'or' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); + } + match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__2" + // InternalFiacre.g:22938:1: rule__PropertyDisjunction__Group_1__2 : rule__PropertyDisjunction__Group_1__2__Impl ; + public final void rule__PropertyDisjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22942:1: ( rule__PropertyDisjunction__Group_1__2__Impl ) + // InternalFiacre.g:22943:2: rule__PropertyDisjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__2" + + + // $ANTLR start "rule__PropertyDisjunction__Group_1__2__Impl" + // InternalFiacre.g:22949:1: rule__PropertyDisjunction__Group_1__2__Impl : ( ( rule__PropertyDisjunction__RightAssignment_1_2 ) ) ; + public final void rule__PropertyDisjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22953:1: ( ( ( rule__PropertyDisjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:22954:1: ( ( rule__PropertyDisjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:22954:1: ( ( rule__PropertyDisjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:22955:2: ( rule__PropertyDisjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:22956:2: ( rule__PropertyDisjunction__RightAssignment_1_2 ) + // InternalFiacre.g:22956:3: rule__PropertyDisjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyDisjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__PropertyImplication__Group__0" + // InternalFiacre.g:22965:1: rule__PropertyImplication__Group__0 : rule__PropertyImplication__Group__0__Impl rule__PropertyImplication__Group__1 ; + public final void rule__PropertyImplication__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22969:1: ( rule__PropertyImplication__Group__0__Impl rule__PropertyImplication__Group__1 ) + // InternalFiacre.g:22970:2: rule__PropertyImplication__Group__0__Impl rule__PropertyImplication__Group__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__PropertyImplication__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group__0" + + + // $ANTLR start "rule__PropertyImplication__Group__0__Impl" + // InternalFiacre.g:22977:1: rule__PropertyImplication__Group__0__Impl : ( rulePropertyConjunction ) ; + public final void rule__PropertyImplication__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22981:1: ( ( rulePropertyConjunction ) ) + // InternalFiacre.g:22982:1: ( rulePropertyConjunction ) + { + // InternalFiacre.g:22982:1: ( rulePropertyConjunction ) + // InternalFiacre.g:22983:2: rulePropertyConjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group__0__Impl" + + + // $ANTLR start "rule__PropertyImplication__Group__1" + // InternalFiacre.g:22992:1: rule__PropertyImplication__Group__1 : rule__PropertyImplication__Group__1__Impl ; + public final void rule__PropertyImplication__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:22996:1: ( rule__PropertyImplication__Group__1__Impl ) + // InternalFiacre.g:22997:2: rule__PropertyImplication__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group__1" + + + // $ANTLR start "rule__PropertyImplication__Group__1__Impl" + // InternalFiacre.g:23003:1: rule__PropertyImplication__Group__1__Impl : ( ( rule__PropertyImplication__Group_1__0 )? ) ; + public final void rule__PropertyImplication__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23007:1: ( ( ( rule__PropertyImplication__Group_1__0 )? ) ) + // InternalFiacre.g:23008:1: ( ( rule__PropertyImplication__Group_1__0 )? ) + { + // InternalFiacre.g:23008:1: ( ( rule__PropertyImplication__Group_1__0 )? ) + // InternalFiacre.g:23009:2: ( rule__PropertyImplication__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getGroup_1()); + } + // InternalFiacre.g:23010:2: ( rule__PropertyImplication__Group_1__0 )? + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==80) ) { + alt178=1; + } + switch (alt178) { + case 1 : + // InternalFiacre.g:23010:3: rule__PropertyImplication__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group__1__Impl" + + + // $ANTLR start "rule__PropertyImplication__Group_1__0" + // InternalFiacre.g:23019:1: rule__PropertyImplication__Group_1__0 : rule__PropertyImplication__Group_1__0__Impl rule__PropertyImplication__Group_1__1 ; + public final void rule__PropertyImplication__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23023:1: ( rule__PropertyImplication__Group_1__0__Impl rule__PropertyImplication__Group_1__1 ) + // InternalFiacre.g:23024:2: rule__PropertyImplication__Group_1__0__Impl rule__PropertyImplication__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__PropertyImplication__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__0" + + + // $ANTLR start "rule__PropertyImplication__Group_1__0__Impl" + // InternalFiacre.g:23031:1: rule__PropertyImplication__Group_1__0__Impl : ( () ) ; + public final void rule__PropertyImplication__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23035:1: ( ( () ) ) + // InternalFiacre.g:23036:1: ( () ) + { + // InternalFiacre.g:23036:1: ( () ) + // InternalFiacre.g:23037:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0()); + } + // InternalFiacre.g:23038:2: () + // InternalFiacre.g:23038:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__0__Impl" + + + // $ANTLR start "rule__PropertyImplication__Group_1__1" + // InternalFiacre.g:23046:1: rule__PropertyImplication__Group_1__1 : rule__PropertyImplication__Group_1__1__Impl rule__PropertyImplication__Group_1__2 ; + public final void rule__PropertyImplication__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23050:1: ( rule__PropertyImplication__Group_1__1__Impl rule__PropertyImplication__Group_1__2 ) + // InternalFiacre.g:23051:2: rule__PropertyImplication__Group_1__1__Impl rule__PropertyImplication__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__PropertyImplication__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__1" + + + // $ANTLR start "rule__PropertyImplication__Group_1__1__Impl" + // InternalFiacre.g:23058:1: rule__PropertyImplication__Group_1__1__Impl : ( '=>' ) ; + public final void rule__PropertyImplication__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23062:1: ( ( '=>' ) ) + // InternalFiacre.g:23063:1: ( '=>' ) + { + // InternalFiacre.g:23063:1: ( '=>' ) + // InternalFiacre.g:23064:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__1__Impl" + + + // $ANTLR start "rule__PropertyImplication__Group_1__2" + // InternalFiacre.g:23073:1: rule__PropertyImplication__Group_1__2 : rule__PropertyImplication__Group_1__2__Impl ; + public final void rule__PropertyImplication__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23077:1: ( rule__PropertyImplication__Group_1__2__Impl ) + // InternalFiacre.g:23078:2: rule__PropertyImplication__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__2" + + + // $ANTLR start "rule__PropertyImplication__Group_1__2__Impl" + // InternalFiacre.g:23084:1: rule__PropertyImplication__Group_1__2__Impl : ( ( rule__PropertyImplication__RightAssignment_1_2 ) ) ; + public final void rule__PropertyImplication__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23088:1: ( ( ( rule__PropertyImplication__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:23089:1: ( ( rule__PropertyImplication__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:23089:1: ( ( rule__PropertyImplication__RightAssignment_1_2 ) ) + // InternalFiacre.g:23090:2: ( rule__PropertyImplication__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:23091:2: ( rule__PropertyImplication__RightAssignment_1_2 ) + // InternalFiacre.g:23091:3: rule__PropertyImplication__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyImplication__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__Group_1__2__Impl" + + + // $ANTLR start "rule__PropertyConjunction__Group__0" + // InternalFiacre.g:23100:1: rule__PropertyConjunction__Group__0 : rule__PropertyConjunction__Group__0__Impl rule__PropertyConjunction__Group__1 ; + public final void rule__PropertyConjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23104:1: ( rule__PropertyConjunction__Group__0__Impl rule__PropertyConjunction__Group__1 ) + // InternalFiacre.g:23105:2: rule__PropertyConjunction__Group__0__Impl rule__PropertyConjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__PropertyConjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group__0" + + + // $ANTLR start "rule__PropertyConjunction__Group__0__Impl" + // InternalFiacre.g:23112:1: rule__PropertyConjunction__Group__0__Impl : ( rulePropertyNegation ) ; + public final void rule__PropertyConjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23116:1: ( ( rulePropertyNegation ) ) + // InternalFiacre.g:23117:1: ( rulePropertyNegation ) + { + // InternalFiacre.g:23117:1: ( rulePropertyNegation ) + // InternalFiacre.g:23118:2: rulePropertyNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group__0__Impl" + + + // $ANTLR start "rule__PropertyConjunction__Group__1" + // InternalFiacre.g:23127:1: rule__PropertyConjunction__Group__1 : rule__PropertyConjunction__Group__1__Impl ; + public final void rule__PropertyConjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23131:1: ( rule__PropertyConjunction__Group__1__Impl ) + // InternalFiacre.g:23132:2: rule__PropertyConjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group__1" + + + // $ANTLR start "rule__PropertyConjunction__Group__1__Impl" + // InternalFiacre.g:23138:1: rule__PropertyConjunction__Group__1__Impl : ( ( rule__PropertyConjunction__Group_1__0 )* ) ; + public final void rule__PropertyConjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23142:1: ( ( ( rule__PropertyConjunction__Group_1__0 )* ) ) + // InternalFiacre.g:23143:1: ( ( rule__PropertyConjunction__Group_1__0 )* ) + { + // InternalFiacre.g:23143:1: ( ( rule__PropertyConjunction__Group_1__0 )* ) + // InternalFiacre.g:23144:2: ( rule__PropertyConjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:23145:2: ( rule__PropertyConjunction__Group_1__0 )* + loop179: + do { + int alt179=2; + int LA179_0 = input.LA(1); + + if ( (LA179_0==81) ) { + alt179=1; + } + + + switch (alt179) { + case 1 : + // InternalFiacre.g:23145:3: rule__PropertyConjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_97); + rule__PropertyConjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop179; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group__1__Impl" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__0" + // InternalFiacre.g:23154:1: rule__PropertyConjunction__Group_1__0 : rule__PropertyConjunction__Group_1__0__Impl rule__PropertyConjunction__Group_1__1 ; + public final void rule__PropertyConjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23158:1: ( rule__PropertyConjunction__Group_1__0__Impl rule__PropertyConjunction__Group_1__1 ) + // InternalFiacre.g:23159:2: rule__PropertyConjunction__Group_1__0__Impl rule__PropertyConjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__PropertyConjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__0" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__0__Impl" + // InternalFiacre.g:23166:1: rule__PropertyConjunction__Group_1__0__Impl : ( () ) ; + public final void rule__PropertyConjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23170:1: ( ( () ) ) + // InternalFiacre.g:23171:1: ( () ) + { + // InternalFiacre.g:23171:1: ( () ) + // InternalFiacre.g:23172:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0()); + } + // InternalFiacre.g:23173:2: () + // InternalFiacre.g:23173:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__1" + // InternalFiacre.g:23181:1: rule__PropertyConjunction__Group_1__1 : rule__PropertyConjunction__Group_1__1__Impl rule__PropertyConjunction__Group_1__2 ; + public final void rule__PropertyConjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23185:1: ( rule__PropertyConjunction__Group_1__1__Impl rule__PropertyConjunction__Group_1__2 ) + // InternalFiacre.g:23186:2: rule__PropertyConjunction__Group_1__1__Impl rule__PropertyConjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__PropertyConjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__1" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__1__Impl" + // InternalFiacre.g:23193:1: rule__PropertyConjunction__Group_1__1__Impl : ( 'and' ) ; + public final void rule__PropertyConjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23197:1: ( ( 'and' ) ) + // InternalFiacre.g:23198:1: ( 'and' ) + { + // InternalFiacre.g:23198:1: ( 'and' ) + // InternalFiacre.g:23199:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__2" + // InternalFiacre.g:23208:1: rule__PropertyConjunction__Group_1__2 : rule__PropertyConjunction__Group_1__2__Impl ; + public final void rule__PropertyConjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23212:1: ( rule__PropertyConjunction__Group_1__2__Impl ) + // InternalFiacre.g:23213:2: rule__PropertyConjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__2" + + + // $ANTLR start "rule__PropertyConjunction__Group_1__2__Impl" + // InternalFiacre.g:23219:1: rule__PropertyConjunction__Group_1__2__Impl : ( ( rule__PropertyConjunction__RightAssignment_1_2 ) ) ; + public final void rule__PropertyConjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23223:1: ( ( ( rule__PropertyConjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:23224:1: ( ( rule__PropertyConjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:23224:1: ( ( rule__PropertyConjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:23225:2: ( rule__PropertyConjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:23226:2: ( rule__PropertyConjunction__RightAssignment_1_2 ) + // InternalFiacre.g:23226:3: rule__PropertyConjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyConjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__PropertyNegation__Group_0__0" + // InternalFiacre.g:23235:1: rule__PropertyNegation__Group_0__0 : rule__PropertyNegation__Group_0__0__Impl rule__PropertyNegation__Group_0__1 ; + public final void rule__PropertyNegation__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23239:1: ( rule__PropertyNegation__Group_0__0__Impl rule__PropertyNegation__Group_0__1 ) + // InternalFiacre.g:23240:2: rule__PropertyNegation__Group_0__0__Impl rule__PropertyNegation__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_113); + rule__PropertyNegation__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__0" + + + // $ANTLR start "rule__PropertyNegation__Group_0__0__Impl" + // InternalFiacre.g:23247:1: rule__PropertyNegation__Group_0__0__Impl : ( () ) ; + public final void rule__PropertyNegation__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23251:1: ( ( () ) ) + // InternalFiacre.g:23252:1: ( () ) + { + // InternalFiacre.g:23252:1: ( () ) + // InternalFiacre.g:23253:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0()); + } + // InternalFiacre.g:23254:2: () + // InternalFiacre.g:23254:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__0__Impl" + + + // $ANTLR start "rule__PropertyNegation__Group_0__1" + // InternalFiacre.g:23262:1: rule__PropertyNegation__Group_0__1 : rule__PropertyNegation__Group_0__1__Impl rule__PropertyNegation__Group_0__2 ; + public final void rule__PropertyNegation__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23266:1: ( rule__PropertyNegation__Group_0__1__Impl rule__PropertyNegation__Group_0__2 ) + // InternalFiacre.g:23267:2: rule__PropertyNegation__Group_0__1__Impl rule__PropertyNegation__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__PropertyNegation__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__1" + + + // $ANTLR start "rule__PropertyNegation__Group_0__1__Impl" + // InternalFiacre.g:23274:1: rule__PropertyNegation__Group_0__1__Impl : ( 'not' ) ; + public final void rule__PropertyNegation__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23278:1: ( ( 'not' ) ) + // InternalFiacre.g:23279:1: ( 'not' ) + { + // InternalFiacre.g:23279:1: ( 'not' ) + // InternalFiacre.g:23280:2: 'not' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); + } + match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__1__Impl" + + + // $ANTLR start "rule__PropertyNegation__Group_0__2" + // InternalFiacre.g:23289:1: rule__PropertyNegation__Group_0__2 : rule__PropertyNegation__Group_0__2__Impl ; + public final void rule__PropertyNegation__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23293:1: ( rule__PropertyNegation__Group_0__2__Impl ) + // InternalFiacre.g:23294:2: rule__PropertyNegation__Group_0__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__2" + + + // $ANTLR start "rule__PropertyNegation__Group_0__2__Impl" + // InternalFiacre.g:23300:1: rule__PropertyNegation__Group_0__2__Impl : ( ( rule__PropertyNegation__ChildAssignment_0_2 ) ) ; + public final void rule__PropertyNegation__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23304:1: ( ( ( rule__PropertyNegation__ChildAssignment_0_2 ) ) ) + // InternalFiacre.g:23305:1: ( ( rule__PropertyNegation__ChildAssignment_0_2 ) ) + { + // InternalFiacre.g:23305:1: ( ( rule__PropertyNegation__ChildAssignment_0_2 ) ) + // InternalFiacre.g:23306:2: ( rule__PropertyNegation__ChildAssignment_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getChildAssignment_0_2()); + } + // InternalFiacre.g:23307:2: ( rule__PropertyNegation__ChildAssignment_0_2 ) + // InternalFiacre.g:23307:3: rule__PropertyNegation__ChildAssignment_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PropertyNegation__ChildAssignment_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getChildAssignment_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__Group_0__2__Impl" + + + // $ANTLR start "rule__AtomicProperty__Group_1__0" + // InternalFiacre.g:23316:1: rule__AtomicProperty__Group_1__0 : rule__AtomicProperty__Group_1__0__Impl rule__AtomicProperty__Group_1__1 ; + public final void rule__AtomicProperty__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23320:1: ( rule__AtomicProperty__Group_1__0__Impl rule__AtomicProperty__Group_1__1 ) + // InternalFiacre.g:23321:2: rule__AtomicProperty__Group_1__0__Impl rule__AtomicProperty__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_130); + rule__AtomicProperty__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicProperty__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__0" + + + // $ANTLR start "rule__AtomicProperty__Group_1__0__Impl" + // InternalFiacre.g:23328:1: rule__AtomicProperty__Group_1__0__Impl : ( '(' ) ; + public final void rule__AtomicProperty__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23332:1: ( ( '(' ) ) + // InternalFiacre.g:23333:1: ( '(' ) + { + // InternalFiacre.g:23333:1: ( '(' ) + // InternalFiacre.g:23334:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__0__Impl" + + + // $ANTLR start "rule__AtomicProperty__Group_1__1" + // InternalFiacre.g:23343:1: rule__AtomicProperty__Group_1__1 : rule__AtomicProperty__Group_1__1__Impl rule__AtomicProperty__Group_1__2 ; + public final void rule__AtomicProperty__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23347:1: ( rule__AtomicProperty__Group_1__1__Impl rule__AtomicProperty__Group_1__2 ) + // InternalFiacre.g:23348:2: rule__AtomicProperty__Group_1__1__Impl rule__AtomicProperty__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__AtomicProperty__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicProperty__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__1" + + + // $ANTLR start "rule__AtomicProperty__Group_1__1__Impl" + // InternalFiacre.g:23355:1: rule__AtomicProperty__Group_1__1__Impl : ( ruleProperty ) ; + public final void rule__AtomicProperty__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23359:1: ( ( ruleProperty ) ) + // InternalFiacre.g:23360:1: ( ruleProperty ) + { + // InternalFiacre.g:23360:1: ( ruleProperty ) + // InternalFiacre.g:23361:2: ruleProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__1__Impl" + + + // $ANTLR start "rule__AtomicProperty__Group_1__2" + // InternalFiacre.g:23370:1: rule__AtomicProperty__Group_1__2 : rule__AtomicProperty__Group_1__2__Impl ; + public final void rule__AtomicProperty__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23374:1: ( rule__AtomicProperty__Group_1__2__Impl ) + // InternalFiacre.g:23375:2: rule__AtomicProperty__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicProperty__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__2" + + + // $ANTLR start "rule__AtomicProperty__Group_1__2__Impl" + // InternalFiacre.g:23381:1: rule__AtomicProperty__Group_1__2__Impl : ( ')' ) ; + public final void rule__AtomicProperty__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23385:1: ( ( ')' ) ) + // InternalFiacre.g:23386:1: ( ')' ) + { + // InternalFiacre.g:23386:1: ( ')' ) + // InternalFiacre.g:23387:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicProperty__Group_1__2__Impl" + + + // $ANTLR start "rule__LTLPattern__Group__0" + // InternalFiacre.g:23397:1: rule__LTLPattern__Group__0 : rule__LTLPattern__Group__0__Impl rule__LTLPattern__Group__1 ; + public final void rule__LTLPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23401:1: ( rule__LTLPattern__Group__0__Impl rule__LTLPattern__Group__1 ) + // InternalFiacre.g:23402:2: rule__LTLPattern__Group__0__Impl rule__LTLPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_132); + rule__LTLPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLPattern__Group__0" + + + // $ANTLR start "rule__LTLPattern__Group__0__Impl" + // InternalFiacre.g:23409:1: rule__LTLPattern__Group__0__Impl : ( 'ltl' ) ; + public final void rule__LTLPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23413:1: ( ( 'ltl' ) ) + // InternalFiacre.g:23414:1: ( 'ltl' ) + { + // InternalFiacre.g:23414:1: ( 'ltl' ) + // InternalFiacre.g:23415:2: 'ltl' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); + } + match(input,113,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLPattern__Group__0__Impl" + + + // $ANTLR start "rule__LTLPattern__Group__1" + // InternalFiacre.g:23424:1: rule__LTLPattern__Group__1 : rule__LTLPattern__Group__1__Impl ; + public final void rule__LTLPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23428:1: ( rule__LTLPattern__Group__1__Impl ) + // InternalFiacre.g:23429:2: rule__LTLPattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLPattern__Group__1" + + + // $ANTLR start "rule__LTLPattern__Group__1__Impl" + // InternalFiacre.g:23435:1: rule__LTLPattern__Group__1__Impl : ( ( rule__LTLPattern__PropertyAssignment_1 ) ) ; + public final void rule__LTLPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23439:1: ( ( ( rule__LTLPattern__PropertyAssignment_1 ) ) ) + // InternalFiacre.g:23440:1: ( ( rule__LTLPattern__PropertyAssignment_1 ) ) + { + // InternalFiacre.g:23440:1: ( ( rule__LTLPattern__PropertyAssignment_1 ) ) + // InternalFiacre.g:23441:2: ( rule__LTLPattern__PropertyAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPatternAccess().getPropertyAssignment_1()); + } + // InternalFiacre.g:23442:2: ( rule__LTLPattern__PropertyAssignment_1 ) + // InternalFiacre.g:23442:3: rule__LTLPattern__PropertyAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLPattern__PropertyAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPatternAccess().getPropertyAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLPattern__Group__1__Impl" + + + // $ANTLR start "rule__DeadlockFreePattern__Group__0" + // InternalFiacre.g:23451:1: rule__DeadlockFreePattern__Group__0 : rule__DeadlockFreePattern__Group__0__Impl rule__DeadlockFreePattern__Group__1 ; + public final void rule__DeadlockFreePattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23455:1: ( rule__DeadlockFreePattern__Group__0__Impl rule__DeadlockFreePattern__Group__1 ) + // InternalFiacre.g:23456:2: rule__DeadlockFreePattern__Group__0__Impl rule__DeadlockFreePattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_133); + rule__DeadlockFreePattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__DeadlockFreePattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DeadlockFreePattern__Group__0" + + + // $ANTLR start "rule__DeadlockFreePattern__Group__0__Impl" + // InternalFiacre.g:23463:1: rule__DeadlockFreePattern__Group__0__Impl : ( () ) ; + public final void rule__DeadlockFreePattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23467:1: ( ( () ) ) + // InternalFiacre.g:23468:1: ( () ) + { + // InternalFiacre.g:23468:1: ( () ) + // InternalFiacre.g:23469:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0()); + } + // InternalFiacre.g:23470:2: () + // InternalFiacre.g:23470:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DeadlockFreePattern__Group__0__Impl" + + + // $ANTLR start "rule__DeadlockFreePattern__Group__1" + // InternalFiacre.g:23478:1: rule__DeadlockFreePattern__Group__1 : rule__DeadlockFreePattern__Group__1__Impl ; + public final void rule__DeadlockFreePattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23482:1: ( rule__DeadlockFreePattern__Group__1__Impl ) + // InternalFiacre.g:23483:2: rule__DeadlockFreePattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__DeadlockFreePattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DeadlockFreePattern__Group__1" + + + // $ANTLR start "rule__DeadlockFreePattern__Group__1__Impl" + // InternalFiacre.g:23489:1: rule__DeadlockFreePattern__Group__1__Impl : ( 'deadlockfree' ) ; + public final void rule__DeadlockFreePattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23493:1: ( ( 'deadlockfree' ) ) + // InternalFiacre.g:23494:1: ( 'deadlockfree' ) + { + // InternalFiacre.g:23494:1: ( 'deadlockfree' ) + // InternalFiacre.g:23495:2: 'deadlockfree' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); + } + match(input,114,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DeadlockFreePattern__Group__1__Impl" + + + // $ANTLR start "rule__InfinitelyOftenPattern__Group__0" + // InternalFiacre.g:23505:1: rule__InfinitelyOftenPattern__Group__0 : rule__InfinitelyOftenPattern__Group__0__Impl rule__InfinitelyOftenPattern__Group__1 ; + public final void rule__InfinitelyOftenPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23509:1: ( rule__InfinitelyOftenPattern__Group__0__Impl rule__InfinitelyOftenPattern__Group__1 ) + // InternalFiacre.g:23510:2: rule__InfinitelyOftenPattern__Group__0__Impl rule__InfinitelyOftenPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__InfinitelyOftenPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__InfinitelyOftenPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfinitelyOftenPattern__Group__0" + + + // $ANTLR start "rule__InfinitelyOftenPattern__Group__0__Impl" + // InternalFiacre.g:23517:1: rule__InfinitelyOftenPattern__Group__0__Impl : ( 'infinitelyoften' ) ; + public final void rule__InfinitelyOftenPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23521:1: ( ( 'infinitelyoften' ) ) + // InternalFiacre.g:23522:1: ( 'infinitelyoften' ) + { + // InternalFiacre.g:23522:1: ( 'infinitelyoften' ) + // InternalFiacre.g:23523:2: 'infinitelyoften' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); + } + match(input,115,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfinitelyOftenPattern__Group__0__Impl" + + + // $ANTLR start "rule__InfinitelyOftenPattern__Group__1" + // InternalFiacre.g:23532:1: rule__InfinitelyOftenPattern__Group__1 : rule__InfinitelyOftenPattern__Group__1__Impl ; + public final void rule__InfinitelyOftenPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23536:1: ( rule__InfinitelyOftenPattern__Group__1__Impl ) + // InternalFiacre.g:23537:2: rule__InfinitelyOftenPattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InfinitelyOftenPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfinitelyOftenPattern__Group__1" + + + // $ANTLR start "rule__InfinitelyOftenPattern__Group__1__Impl" + // InternalFiacre.g:23543:1: rule__InfinitelyOftenPattern__Group__1__Impl : ( ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) ) ; + public final void rule__InfinitelyOftenPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23547:1: ( ( ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:23548:1: ( ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:23548:1: ( ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) ) + // InternalFiacre.g:23549:2: ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:23550:2: ( rule__InfinitelyOftenPattern__SubjectAssignment_1 ) + // InternalFiacre.g:23550:3: rule__InfinitelyOftenPattern__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InfinitelyOftenPattern__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfinitelyOftenPattern__Group__1__Impl" + + + // $ANTLR start "rule__MortalPattern__Group__0" + // InternalFiacre.g:23559:1: rule__MortalPattern__Group__0 : rule__MortalPattern__Group__0__Impl rule__MortalPattern__Group__1 ; + public final void rule__MortalPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23563:1: ( rule__MortalPattern__Group__0__Impl rule__MortalPattern__Group__1 ) + // InternalFiacre.g:23564:2: rule__MortalPattern__Group__0__Impl rule__MortalPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__MortalPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__MortalPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MortalPattern__Group__0" + + + // $ANTLR start "rule__MortalPattern__Group__0__Impl" + // InternalFiacre.g:23571:1: rule__MortalPattern__Group__0__Impl : ( 'mortal' ) ; + public final void rule__MortalPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23575:1: ( ( 'mortal' ) ) + // InternalFiacre.g:23576:1: ( 'mortal' ) + { + // InternalFiacre.g:23576:1: ( 'mortal' ) + // InternalFiacre.g:23577:2: 'mortal' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); + } + match(input,116,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MortalPattern__Group__0__Impl" + + + // $ANTLR start "rule__MortalPattern__Group__1" + // InternalFiacre.g:23586:1: rule__MortalPattern__Group__1 : rule__MortalPattern__Group__1__Impl ; + public final void rule__MortalPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23590:1: ( rule__MortalPattern__Group__1__Impl ) + // InternalFiacre.g:23591:2: rule__MortalPattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__MortalPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MortalPattern__Group__1" + + + // $ANTLR start "rule__MortalPattern__Group__1__Impl" + // InternalFiacre.g:23597:1: rule__MortalPattern__Group__1__Impl : ( ( rule__MortalPattern__SubjectAssignment_1 ) ) ; + public final void rule__MortalPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23601:1: ( ( ( rule__MortalPattern__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:23602:1: ( ( rule__MortalPattern__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:23602:1: ( ( rule__MortalPattern__SubjectAssignment_1 ) ) + // InternalFiacre.g:23603:2: ( rule__MortalPattern__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMortalPatternAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:23604:2: ( rule__MortalPattern__SubjectAssignment_1 ) + // InternalFiacre.g:23604:3: rule__MortalPattern__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__MortalPattern__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getMortalPatternAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MortalPattern__Group__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group__0" + // InternalFiacre.g:23613:1: rule__PresencePattern__Group__0 : rule__PresencePattern__Group__0__Impl rule__PresencePattern__Group__1 ; + public final void rule__PresencePattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23617:1: ( rule__PresencePattern__Group__0__Impl rule__PresencePattern__Group__1 ) + // InternalFiacre.g:23618:2: rule__PresencePattern__Group__0__Impl rule__PresencePattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__0" + + + // $ANTLR start "rule__PresencePattern__Group__0__Impl" + // InternalFiacre.g:23625:1: rule__PresencePattern__Group__0__Impl : ( 'present' ) ; + public final void rule__PresencePattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23629:1: ( ( 'present' ) ) + // InternalFiacre.g:23630:1: ( 'present' ) + { + // InternalFiacre.g:23630:1: ( 'present' ) + // InternalFiacre.g:23631:2: 'present' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); + } + match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group__1" + // InternalFiacre.g:23640:1: rule__PresencePattern__Group__1 : rule__PresencePattern__Group__1__Impl rule__PresencePattern__Group__2 ; + public final void rule__PresencePattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23644:1: ( rule__PresencePattern__Group__1__Impl rule__PresencePattern__Group__2 ) + // InternalFiacre.g:23645:2: rule__PresencePattern__Group__1__Impl rule__PresencePattern__Group__2 + { + pushFollow(FollowSets000.FOLLOW_135); + rule__PresencePattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__1" + + + // $ANTLR start "rule__PresencePattern__Group__1__Impl" + // InternalFiacre.g:23652:1: rule__PresencePattern__Group__1__Impl : ( ( rule__PresencePattern__SubjectAssignment_1 ) ) ; + public final void rule__PresencePattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23656:1: ( ( ( rule__PresencePattern__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:23657:1: ( ( rule__PresencePattern__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:23657:1: ( ( rule__PresencePattern__SubjectAssignment_1 ) ) + // InternalFiacre.g:23658:2: ( rule__PresencePattern__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:23659:2: ( rule__PresencePattern__SubjectAssignment_1 ) + // InternalFiacre.g:23659:3: rule__PresencePattern__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group__2" + // InternalFiacre.g:23667:1: rule__PresencePattern__Group__2 : rule__PresencePattern__Group__2__Impl ; + public final void rule__PresencePattern__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23671:1: ( rule__PresencePattern__Group__2__Impl ) + // InternalFiacre.g:23672:2: rule__PresencePattern__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__2" + + + // $ANTLR start "rule__PresencePattern__Group__2__Impl" + // InternalFiacre.g:23678:1: rule__PresencePattern__Group__2__Impl : ( ( rule__PresencePattern__Alternatives_2 )? ) ; + public final void rule__PresencePattern__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23682:1: ( ( ( rule__PresencePattern__Alternatives_2 )? ) ) + // InternalFiacre.g:23683:1: ( ( rule__PresencePattern__Alternatives_2 )? ) + { + // InternalFiacre.g:23683:1: ( ( rule__PresencePattern__Alternatives_2 )? ) + // InternalFiacre.g:23684:2: ( rule__PresencePattern__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAlternatives_2()); + } + // InternalFiacre.g:23685:2: ( rule__PresencePattern__Alternatives_2 )? + int alt180=2; + int LA180_0 = input.LA(1); + + if ( ((LA180_0>=118 && LA180_0<=119)||(LA180_0>=122 && LA180_0<=123)) ) { + alt180=1; + } + switch (alt180) { + case 1 : + // InternalFiacre.g:23685:3: rule__PresencePattern__Alternatives_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group__2__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_0__0" + // InternalFiacre.g:23694:1: rule__PresencePattern__Group_2_0__0 : rule__PresencePattern__Group_2_0__0__Impl rule__PresencePattern__Group_2_0__1 ; + public final void rule__PresencePattern__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23698:1: ( rule__PresencePattern__Group_2_0__0__Impl rule__PresencePattern__Group_2_0__1 ) + // InternalFiacre.g:23699:2: rule__PresencePattern__Group_2_0__0__Impl rule__PresencePattern__Group_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_69); + rule__PresencePattern__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_0__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_0__0__Impl" + // InternalFiacre.g:23706:1: rule__PresencePattern__Group_2_0__0__Impl : ( 'lasting' ) ; + public final void rule__PresencePattern__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23710:1: ( ( 'lasting' ) ) + // InternalFiacre.g:23711:1: ( 'lasting' ) + { + // InternalFiacre.g:23711:1: ( 'lasting' ) + // InternalFiacre.g:23712:2: 'lasting' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); + } + match(input,118,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_0__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_0__1" + // InternalFiacre.g:23721:1: rule__PresencePattern__Group_2_0__1 : rule__PresencePattern__Group_2_0__1__Impl ; + public final void rule__PresencePattern__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23725:1: ( rule__PresencePattern__Group_2_0__1__Impl ) + // InternalFiacre.g:23726:2: rule__PresencePattern__Group_2_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_0__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_0__1__Impl" + // InternalFiacre.g:23732:1: rule__PresencePattern__Group_2_0__1__Impl : ( ( rule__PresencePattern__LastingAssignment_2_0_1 ) ) ; + public final void rule__PresencePattern__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23736:1: ( ( ( rule__PresencePattern__LastingAssignment_2_0_1 ) ) ) + // InternalFiacre.g:23737:1: ( ( rule__PresencePattern__LastingAssignment_2_0_1 ) ) + { + // InternalFiacre.g:23737:1: ( ( rule__PresencePattern__LastingAssignment_2_0_1 ) ) + // InternalFiacre.g:23738:2: ( rule__PresencePattern__LastingAssignment_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLastingAssignment_2_0_1()); + } + // InternalFiacre.g:23739:2: ( rule__PresencePattern__LastingAssignment_2_0_1 ) + // InternalFiacre.g:23739:3: rule__PresencePattern__LastingAssignment_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__LastingAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLastingAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_0__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1__0" + // InternalFiacre.g:23748:1: rule__PresencePattern__Group_2_1__0 : rule__PresencePattern__Group_2_1__0__Impl rule__PresencePattern__Group_2_1__1 ; + public final void rule__PresencePattern__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23752:1: ( rule__PresencePattern__Group_2_1__0__Impl rule__PresencePattern__Group_2_1__1 ) + // InternalFiacre.g:23753:2: rule__PresencePattern__Group_2_1__0__Impl rule__PresencePattern__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_136); + rule__PresencePattern__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_1__0__Impl" + // InternalFiacre.g:23760:1: rule__PresencePattern__Group_2_1__0__Impl : ( ( rule__PresencePattern__Group_2_1_0__0 ) ) ; + public final void rule__PresencePattern__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23764:1: ( ( ( rule__PresencePattern__Group_2_1_0__0 ) ) ) + // InternalFiacre.g:23765:1: ( ( rule__PresencePattern__Group_2_1_0__0 ) ) + { + // InternalFiacre.g:23765:1: ( ( rule__PresencePattern__Group_2_1_0__0 ) ) + // InternalFiacre.g:23766:2: ( rule__PresencePattern__Group_2_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_1_0()); + } + // InternalFiacre.g:23767:2: ( rule__PresencePattern__Group_2_1_0__0 ) + // InternalFiacre.g:23767:3: rule__PresencePattern__Group_2_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1__1" + // InternalFiacre.g:23775:1: rule__PresencePattern__Group_2_1__1 : rule__PresencePattern__Group_2_1__1__Impl ; + public final void rule__PresencePattern__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23779:1: ( rule__PresencePattern__Group_2_1__1__Impl ) + // InternalFiacre.g:23780:2: rule__PresencePattern__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_1__1__Impl" + // InternalFiacre.g:23786:1: rule__PresencePattern__Group_2_1__1__Impl : ( ( rule__PresencePattern__Alternatives_2_1_1 )? ) ; + public final void rule__PresencePattern__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23790:1: ( ( ( rule__PresencePattern__Alternatives_2_1_1 )? ) ) + // InternalFiacre.g:23791:1: ( ( rule__PresencePattern__Alternatives_2_1_1 )? ) + { + // InternalFiacre.g:23791:1: ( ( rule__PresencePattern__Alternatives_2_1_1 )? ) + // InternalFiacre.g:23792:2: ( rule__PresencePattern__Alternatives_2_1_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAlternatives_2_1_1()); + } + // InternalFiacre.g:23793:2: ( rule__PresencePattern__Alternatives_2_1_1 )? + int alt181=2; + int LA181_0 = input.LA(1); + + if ( ((LA181_0>=120 && LA181_0<=121)) ) { + alt181=1; + } + switch (alt181) { + case 1 : + // InternalFiacre.g:23793:3: rule__PresencePattern__Alternatives_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Alternatives_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAlternatives_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_0__0" + // InternalFiacre.g:23802:1: rule__PresencePattern__Group_2_1_0__0 : rule__PresencePattern__Group_2_1_0__0__Impl rule__PresencePattern__Group_2_1_0__1 ; + public final void rule__PresencePattern__Group_2_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23806:1: ( rule__PresencePattern__Group_2_1_0__0__Impl rule__PresencePattern__Group_2_1_0__1 ) + // InternalFiacre.g:23807:2: rule__PresencePattern__Group_2_1_0__0__Impl rule__PresencePattern__Group_2_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group_2_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_0__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_0__0__Impl" + // InternalFiacre.g:23814:1: rule__PresencePattern__Group_2_1_0__0__Impl : ( 'after' ) ; + public final void rule__PresencePattern__Group_2_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23818:1: ( ( 'after' ) ) + // InternalFiacre.g:23819:1: ( 'after' ) + { + // InternalFiacre.g:23819:1: ( 'after' ) + // InternalFiacre.g:23820:2: 'after' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); + } + match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_0__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_0__1" + // InternalFiacre.g:23829:1: rule__PresencePattern__Group_2_1_0__1 : rule__PresencePattern__Group_2_1_0__1__Impl ; + public final void rule__PresencePattern__Group_2_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23833:1: ( rule__PresencePattern__Group_2_1_0__1__Impl ) + // InternalFiacre.g:23834:2: rule__PresencePattern__Group_2_1_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_0__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_0__1__Impl" + // InternalFiacre.g:23840:1: rule__PresencePattern__Group_2_1_0__1__Impl : ( ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) ) ; + public final void rule__PresencePattern__Group_2_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23844:1: ( ( ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) ) ) + // InternalFiacre.g:23845:1: ( ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) ) + { + // InternalFiacre.g:23845:1: ( ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) ) + // InternalFiacre.g:23846:2: ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAfterAssignment_2_1_0_1()); + } + // InternalFiacre.g:23847:2: ( rule__PresencePattern__AfterAssignment_2_1_0_1 ) + // InternalFiacre.g:23847:3: rule__PresencePattern__AfterAssignment_2_1_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__AfterAssignment_2_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAfterAssignment_2_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_0__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__0" + // InternalFiacre.g:23856:1: rule__PresencePattern__Group_2_1_1_0__0 : rule__PresencePattern__Group_2_1_1_0__0__Impl rule__PresencePattern__Group_2_1_1_0__1 ; + public final void rule__PresencePattern__Group_2_1_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23860:1: ( rule__PresencePattern__Group_2_1_1_0__0__Impl rule__PresencePattern__Group_2_1_1_0__1 ) + // InternalFiacre.g:23861:2: rule__PresencePattern__Group_2_1_1_0__0__Impl rule__PresencePattern__Group_2_1_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__PresencePattern__Group_2_1_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__0__Impl" + // InternalFiacre.g:23868:1: rule__PresencePattern__Group_2_1_1_0__0__Impl : ( 'within' ) ; + public final void rule__PresencePattern__Group_2_1_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23872:1: ( ( 'within' ) ) + // InternalFiacre.g:23873:1: ( 'within' ) + { + // InternalFiacre.g:23873:1: ( 'within' ) + // InternalFiacre.g:23874:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__1" + // InternalFiacre.g:23883:1: rule__PresencePattern__Group_2_1_1_0__1 : rule__PresencePattern__Group_2_1_1_0__1__Impl rule__PresencePattern__Group_2_1_1_0__2 ; + public final void rule__PresencePattern__Group_2_1_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23887:1: ( rule__PresencePattern__Group_2_1_1_0__1__Impl rule__PresencePattern__Group_2_1_1_0__2 ) + // InternalFiacre.g:23888:2: rule__PresencePattern__Group_2_1_1_0__1__Impl rule__PresencePattern__Group_2_1_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PresencePattern__Group_2_1_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__1__Impl" + // InternalFiacre.g:23895:1: rule__PresencePattern__Group_2_1_1_0__1__Impl : ( ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) ) ; + public final void rule__PresencePattern__Group_2_1_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23899:1: ( ( ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) ) ) + // InternalFiacre.g:23900:1: ( ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) ) + { + // InternalFiacre.g:23900:1: ( ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) ) + // InternalFiacre.g:23901:2: ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_1_1_0_1()); + } + // InternalFiacre.g:23902:2: ( rule__PresencePattern__LowerAssignment_2_1_1_0_1 ) + // InternalFiacre.g:23902:3: rule__PresencePattern__LowerAssignment_2_1_1_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__LowerAssignment_2_1_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_1_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__2" + // InternalFiacre.g:23910:1: rule__PresencePattern__Group_2_1_1_0__2 : rule__PresencePattern__Group_2_1_1_0__2__Impl rule__PresencePattern__Group_2_1_1_0__3 ; + public final void rule__PresencePattern__Group_2_1_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23914:1: ( rule__PresencePattern__Group_2_1_1_0__2__Impl rule__PresencePattern__Group_2_1_1_0__3 ) + // InternalFiacre.g:23915:2: rule__PresencePattern__Group_2_1_1_0__2__Impl rule__PresencePattern__Group_2_1_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__PresencePattern__Group_2_1_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__2" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__2__Impl" + // InternalFiacre.g:23922:1: rule__PresencePattern__Group_2_1_1_0__2__Impl : ( ',' ) ; + public final void rule__PresencePattern__Group_2_1_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23926:1: ( ( ',' ) ) + // InternalFiacre.g:23927:1: ( ',' ) + { + // InternalFiacre.g:23927:1: ( ',' ) + // InternalFiacre.g:23928:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__2__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__3" + // InternalFiacre.g:23937:1: rule__PresencePattern__Group_2_1_1_0__3 : rule__PresencePattern__Group_2_1_1_0__3__Impl ; + public final void rule__PresencePattern__Group_2_1_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23941:1: ( rule__PresencePattern__Group_2_1_1_0__3__Impl ) + // InternalFiacre.g:23942:2: rule__PresencePattern__Group_2_1_1_0__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__3" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_0__3__Impl" + // InternalFiacre.g:23948:1: rule__PresencePattern__Group_2_1_1_0__3__Impl : ( ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) ) ; + public final void rule__PresencePattern__Group_2_1_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23952:1: ( ( ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) ) ) + // InternalFiacre.g:23953:1: ( ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) ) + { + // InternalFiacre.g:23953:1: ( ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) ) + // InternalFiacre.g:23954:2: ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_1_1_0_3()); + } + // InternalFiacre.g:23955:2: ( rule__PresencePattern__UpperAssignment_2_1_1_0_3 ) + // InternalFiacre.g:23955:3: rule__PresencePattern__UpperAssignment_2_1_1_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__UpperAssignment_2_1_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_1_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_0__3__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_1__0" + // InternalFiacre.g:23964:1: rule__PresencePattern__Group_2_1_1_1__0 : rule__PresencePattern__Group_2_1_1_1__0__Impl rule__PresencePattern__Group_2_1_1_1__1 ; + public final void rule__PresencePattern__Group_2_1_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23968:1: ( rule__PresencePattern__Group_2_1_1_1__0__Impl rule__PresencePattern__Group_2_1_1_1__1 ) + // InternalFiacre.g:23969:2: rule__PresencePattern__Group_2_1_1_1__0__Impl rule__PresencePattern__Group_2_1_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group_2_1_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_1__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_1__0__Impl" + // InternalFiacre.g:23976:1: rule__PresencePattern__Group_2_1_1_1__0__Impl : ( 'until' ) ; + public final void rule__PresencePattern__Group_2_1_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23980:1: ( ( 'until' ) ) + // InternalFiacre.g:23981:1: ( 'until' ) + { + // InternalFiacre.g:23981:1: ( 'until' ) + // InternalFiacre.g:23982:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_1__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_1__1" + // InternalFiacre.g:23991:1: rule__PresencePattern__Group_2_1_1_1__1 : rule__PresencePattern__Group_2_1_1_1__1__Impl ; + public final void rule__PresencePattern__Group_2_1_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:23995:1: ( rule__PresencePattern__Group_2_1_1_1__1__Impl ) + // InternalFiacre.g:23996:2: rule__PresencePattern__Group_2_1_1_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_1_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_1__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_1_1_1__1__Impl" + // InternalFiacre.g:24002:1: rule__PresencePattern__Group_2_1_1_1__1__Impl : ( ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) ) ; + public final void rule__PresencePattern__Group_2_1_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24006:1: ( ( ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) ) ) + // InternalFiacre.g:24007:1: ( ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) ) + { + // InternalFiacre.g:24007:1: ( ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) ) + // InternalFiacre.g:24008:2: ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUntilAssignment_2_1_1_1_1()); + } + // InternalFiacre.g:24009:2: ( rule__PresencePattern__UntilAssignment_2_1_1_1_1 ) + // InternalFiacre.g:24009:3: rule__PresencePattern__UntilAssignment_2_1_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__UntilAssignment_2_1_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUntilAssignment_2_1_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_1_1_1__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2__0" + // InternalFiacre.g:24018:1: rule__PresencePattern__Group_2_2__0 : rule__PresencePattern__Group_2_2__0__Impl rule__PresencePattern__Group_2_2__1 ; + public final void rule__PresencePattern__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24022:1: ( rule__PresencePattern__Group_2_2__0__Impl rule__PresencePattern__Group_2_2__1 ) + // InternalFiacre.g:24023:2: rule__PresencePattern__Group_2_2__0__Impl rule__PresencePattern__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_137); + rule__PresencePattern__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_2__0__Impl" + // InternalFiacre.g:24030:1: rule__PresencePattern__Group_2_2__0__Impl : ( ( rule__PresencePattern__Group_2_2_0__0 ) ) ; + public final void rule__PresencePattern__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24034:1: ( ( ( rule__PresencePattern__Group_2_2_0__0 ) ) ) + // InternalFiacre.g:24035:1: ( ( rule__PresencePattern__Group_2_2_0__0 ) ) + { + // InternalFiacre.g:24035:1: ( ( rule__PresencePattern__Group_2_2_0__0 ) ) + // InternalFiacre.g:24036:2: ( rule__PresencePattern__Group_2_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_2_0()); + } + // InternalFiacre.g:24037:2: ( rule__PresencePattern__Group_2_2_0__0 ) + // InternalFiacre.g:24037:3: rule__PresencePattern__Group_2_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2__1" + // InternalFiacre.g:24045:1: rule__PresencePattern__Group_2_2__1 : rule__PresencePattern__Group_2_2__1__Impl ; + public final void rule__PresencePattern__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24049:1: ( rule__PresencePattern__Group_2_2__1__Impl ) + // InternalFiacre.g:24050:2: rule__PresencePattern__Group_2_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_2__1__Impl" + // InternalFiacre.g:24056:1: rule__PresencePattern__Group_2_2__1__Impl : ( ( rule__PresencePattern__Group_2_2_1__0 )? ) ; + public final void rule__PresencePattern__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24060:1: ( ( ( rule__PresencePattern__Group_2_2_1__0 )? ) ) + // InternalFiacre.g:24061:1: ( ( rule__PresencePattern__Group_2_2_1__0 )? ) + { + // InternalFiacre.g:24061:1: ( ( rule__PresencePattern__Group_2_2_1__0 )? ) + // InternalFiacre.g:24062:2: ( rule__PresencePattern__Group_2_2_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getGroup_2_2_1()); + } + // InternalFiacre.g:24063:2: ( rule__PresencePattern__Group_2_2_1__0 )? + int alt182=2; + int LA182_0 = input.LA(1); + + if ( (LA182_0==120) ) { + alt182=1; + } + switch (alt182) { + case 1 : + // InternalFiacre.g:24063:3: rule__PresencePattern__Group_2_2_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getGroup_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_0__0" + // InternalFiacre.g:24072:1: rule__PresencePattern__Group_2_2_0__0 : rule__PresencePattern__Group_2_2_0__0__Impl rule__PresencePattern__Group_2_2_0__1 ; + public final void rule__PresencePattern__Group_2_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24076:1: ( rule__PresencePattern__Group_2_2_0__0__Impl rule__PresencePattern__Group_2_2_0__1 ) + // InternalFiacre.g:24077:2: rule__PresencePattern__Group_2_2_0__0__Impl rule__PresencePattern__Group_2_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group_2_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_0__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_0__0__Impl" + // InternalFiacre.g:24084:1: rule__PresencePattern__Group_2_2_0__0__Impl : ( 'before' ) ; + public final void rule__PresencePattern__Group_2_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24088:1: ( ( 'before' ) ) + // InternalFiacre.g:24089:1: ( 'before' ) + { + // InternalFiacre.g:24089:1: ( 'before' ) + // InternalFiacre.g:24090:2: 'before' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); + } + match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_0__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_0__1" + // InternalFiacre.g:24099:1: rule__PresencePattern__Group_2_2_0__1 : rule__PresencePattern__Group_2_2_0__1__Impl ; + public final void rule__PresencePattern__Group_2_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24103:1: ( rule__PresencePattern__Group_2_2_0__1__Impl ) + // InternalFiacre.g:24104:2: rule__PresencePattern__Group_2_2_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_0__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_0__1__Impl" + // InternalFiacre.g:24110:1: rule__PresencePattern__Group_2_2_0__1__Impl : ( ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) ) ; + public final void rule__PresencePattern__Group_2_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24114:1: ( ( ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) ) ) + // InternalFiacre.g:24115:1: ( ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) ) + { + // InternalFiacre.g:24115:1: ( ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) ) + // InternalFiacre.g:24116:2: ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getBeforeAssignment_2_2_0_1()); + } + // InternalFiacre.g:24117:2: ( rule__PresencePattern__BeforeAssignment_2_2_0_1 ) + // InternalFiacre.g:24117:3: rule__PresencePattern__BeforeAssignment_2_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__BeforeAssignment_2_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getBeforeAssignment_2_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_0__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__0" + // InternalFiacre.g:24126:1: rule__PresencePattern__Group_2_2_1__0 : rule__PresencePattern__Group_2_2_1__0__Impl rule__PresencePattern__Group_2_2_1__1 ; + public final void rule__PresencePattern__Group_2_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24130:1: ( rule__PresencePattern__Group_2_2_1__0__Impl rule__PresencePattern__Group_2_2_1__1 ) + // InternalFiacre.g:24131:2: rule__PresencePattern__Group_2_2_1__0__Impl rule__PresencePattern__Group_2_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__PresencePattern__Group_2_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__0__Impl" + // InternalFiacre.g:24138:1: rule__PresencePattern__Group_2_2_1__0__Impl : ( 'within' ) ; + public final void rule__PresencePattern__Group_2_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24142:1: ( ( 'within' ) ) + // InternalFiacre.g:24143:1: ( 'within' ) + { + // InternalFiacre.g:24143:1: ( 'within' ) + // InternalFiacre.g:24144:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__1" + // InternalFiacre.g:24153:1: rule__PresencePattern__Group_2_2_1__1 : rule__PresencePattern__Group_2_2_1__1__Impl rule__PresencePattern__Group_2_2_1__2 ; + public final void rule__PresencePattern__Group_2_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24157:1: ( rule__PresencePattern__Group_2_2_1__1__Impl rule__PresencePattern__Group_2_2_1__2 ) + // InternalFiacre.g:24158:2: rule__PresencePattern__Group_2_2_1__1__Impl rule__PresencePattern__Group_2_2_1__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__PresencePattern__Group_2_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__1__Impl" + // InternalFiacre.g:24165:1: rule__PresencePattern__Group_2_2_1__1__Impl : ( ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) ) ; + public final void rule__PresencePattern__Group_2_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24169:1: ( ( ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) ) ) + // InternalFiacre.g:24170:1: ( ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) ) + { + // InternalFiacre.g:24170:1: ( ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) ) + // InternalFiacre.g:24171:2: ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_2_1_1()); + } + // InternalFiacre.g:24172:2: ( rule__PresencePattern__LowerAssignment_2_2_1_1 ) + // InternalFiacre.g:24172:3: rule__PresencePattern__LowerAssignment_2_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__LowerAssignment_2_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLowerAssignment_2_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__2" + // InternalFiacre.g:24180:1: rule__PresencePattern__Group_2_2_1__2 : rule__PresencePattern__Group_2_2_1__2__Impl rule__PresencePattern__Group_2_2_1__3 ; + public final void rule__PresencePattern__Group_2_2_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24184:1: ( rule__PresencePattern__Group_2_2_1__2__Impl rule__PresencePattern__Group_2_2_1__3 ) + // InternalFiacre.g:24185:2: rule__PresencePattern__Group_2_2_1__2__Impl rule__PresencePattern__Group_2_2_1__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__PresencePattern__Group_2_2_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__2" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__2__Impl" + // InternalFiacre.g:24192:1: rule__PresencePattern__Group_2_2_1__2__Impl : ( ',' ) ; + public final void rule__PresencePattern__Group_2_2_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24196:1: ( ( ',' ) ) + // InternalFiacre.g:24197:1: ( ',' ) + { + // InternalFiacre.g:24197:1: ( ',' ) + // InternalFiacre.g:24198:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__2__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__3" + // InternalFiacre.g:24207:1: rule__PresencePattern__Group_2_2_1__3 : rule__PresencePattern__Group_2_2_1__3__Impl ; + public final void rule__PresencePattern__Group_2_2_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24211:1: ( rule__PresencePattern__Group_2_2_1__3__Impl ) + // InternalFiacre.g:24212:2: rule__PresencePattern__Group_2_2_1__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_2_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__3" + + + // $ANTLR start "rule__PresencePattern__Group_2_2_1__3__Impl" + // InternalFiacre.g:24218:1: rule__PresencePattern__Group_2_2_1__3__Impl : ( ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) ) ; + public final void rule__PresencePattern__Group_2_2_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24222:1: ( ( ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) ) ) + // InternalFiacre.g:24223:1: ( ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) ) + { + // InternalFiacre.g:24223:1: ( ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) ) + // InternalFiacre.g:24224:2: ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_2_1_3()); + } + // InternalFiacre.g:24225:2: ( rule__PresencePattern__UpperAssignment_2_2_1_3 ) + // InternalFiacre.g:24225:3: rule__PresencePattern__UpperAssignment_2_2_1_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__UpperAssignment_2_2_1_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUpperAssignment_2_2_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_2_1__3__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__0" + // InternalFiacre.g:24234:1: rule__PresencePattern__Group_2_3__0 : rule__PresencePattern__Group_2_3__0__Impl rule__PresencePattern__Group_2_3__1 ; + public final void rule__PresencePattern__Group_2_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24238:1: ( rule__PresencePattern__Group_2_3__0__Impl rule__PresencePattern__Group_2_3__1 ) + // InternalFiacre.g:24239:2: rule__PresencePattern__Group_2_3__0__Impl rule__PresencePattern__Group_2_3__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group_2_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__0" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__0__Impl" + // InternalFiacre.g:24246:1: rule__PresencePattern__Group_2_3__0__Impl : ( 'between' ) ; + public final void rule__PresencePattern__Group_2_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24250:1: ( ( 'between' ) ) + // InternalFiacre.g:24251:1: ( 'between' ) + { + // InternalFiacre.g:24251:1: ( 'between' ) + // InternalFiacre.g:24252:2: 'between' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); + } + match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__0__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__1" + // InternalFiacre.g:24261:1: rule__PresencePattern__Group_2_3__1 : rule__PresencePattern__Group_2_3__1__Impl rule__PresencePattern__Group_2_3__2 ; + public final void rule__PresencePattern__Group_2_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24265:1: ( rule__PresencePattern__Group_2_3__1__Impl rule__PresencePattern__Group_2_3__2 ) + // InternalFiacre.g:24266:2: rule__PresencePattern__Group_2_3__1__Impl rule__PresencePattern__Group_2_3__2 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__PresencePattern__Group_2_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__1" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__1__Impl" + // InternalFiacre.g:24273:1: rule__PresencePattern__Group_2_3__1__Impl : ( ( rule__PresencePattern__MinAssignment_2_3_1 ) ) ; + public final void rule__PresencePattern__Group_2_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24277:1: ( ( ( rule__PresencePattern__MinAssignment_2_3_1 ) ) ) + // InternalFiacre.g:24278:1: ( ( rule__PresencePattern__MinAssignment_2_3_1 ) ) + { + // InternalFiacre.g:24278:1: ( ( rule__PresencePattern__MinAssignment_2_3_1 ) ) + // InternalFiacre.g:24279:2: ( rule__PresencePattern__MinAssignment_2_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getMinAssignment_2_3_1()); + } + // InternalFiacre.g:24280:2: ( rule__PresencePattern__MinAssignment_2_3_1 ) + // InternalFiacre.g:24280:3: rule__PresencePattern__MinAssignment_2_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__MinAssignment_2_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getMinAssignment_2_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__1__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__2" + // InternalFiacre.g:24288:1: rule__PresencePattern__Group_2_3__2 : rule__PresencePattern__Group_2_3__2__Impl rule__PresencePattern__Group_2_3__3 ; + public final void rule__PresencePattern__Group_2_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24292:1: ( rule__PresencePattern__Group_2_3__2__Impl rule__PresencePattern__Group_2_3__3 ) + // InternalFiacre.g:24293:2: rule__PresencePattern__Group_2_3__2__Impl rule__PresencePattern__Group_2_3__3 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__PresencePattern__Group_2_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__2" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__2__Impl" + // InternalFiacre.g:24300:1: rule__PresencePattern__Group_2_3__2__Impl : ( 'and' ) ; + public final void rule__PresencePattern__Group_2_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24304:1: ( ( 'and' ) ) + // InternalFiacre.g:24305:1: ( 'and' ) + { + // InternalFiacre.g:24305:1: ( 'and' ) + // InternalFiacre.g:24306:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__2__Impl" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__3" + // InternalFiacre.g:24315:1: rule__PresencePattern__Group_2_3__3 : rule__PresencePattern__Group_2_3__3__Impl ; + public final void rule__PresencePattern__Group_2_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24319:1: ( rule__PresencePattern__Group_2_3__3__Impl ) + // InternalFiacre.g:24320:2: rule__PresencePattern__Group_2_3__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__Group_2_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__3" + + + // $ANTLR start "rule__PresencePattern__Group_2_3__3__Impl" + // InternalFiacre.g:24326:1: rule__PresencePattern__Group_2_3__3__Impl : ( ( rule__PresencePattern__MaxAssignment_2_3_3 ) ) ; + public final void rule__PresencePattern__Group_2_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24330:1: ( ( ( rule__PresencePattern__MaxAssignment_2_3_3 ) ) ) + // InternalFiacre.g:24331:1: ( ( rule__PresencePattern__MaxAssignment_2_3_3 ) ) + { + // InternalFiacre.g:24331:1: ( ( rule__PresencePattern__MaxAssignment_2_3_3 ) ) + // InternalFiacre.g:24332:2: ( rule__PresencePattern__MaxAssignment_2_3_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getMaxAssignment_2_3_3()); + } + // InternalFiacre.g:24333:2: ( rule__PresencePattern__MaxAssignment_2_3_3 ) + // InternalFiacre.g:24333:3: rule__PresencePattern__MaxAssignment_2_3_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PresencePattern__MaxAssignment_2_3_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getMaxAssignment_2_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__Group_2_3__3__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group__0" + // InternalFiacre.g:24342:1: rule__AbsencePattern__Group__0 : rule__AbsencePattern__Group__0__Impl rule__AbsencePattern__Group__1 ; + public final void rule__AbsencePattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24346:1: ( rule__AbsencePattern__Group__0__Impl rule__AbsencePattern__Group__1 ) + // InternalFiacre.g:24347:2: rule__AbsencePattern__Group__0__Impl rule__AbsencePattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__0" + + + // $ANTLR start "rule__AbsencePattern__Group__0__Impl" + // InternalFiacre.g:24354:1: rule__AbsencePattern__Group__0__Impl : ( 'absent' ) ; + public final void rule__AbsencePattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24358:1: ( ( 'absent' ) ) + // InternalFiacre.g:24359:1: ( 'absent' ) + { + // InternalFiacre.g:24359:1: ( 'absent' ) + // InternalFiacre.g:24360:2: 'absent' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); + } + match(input,124,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group__1" + // InternalFiacre.g:24369:1: rule__AbsencePattern__Group__1 : rule__AbsencePattern__Group__1__Impl rule__AbsencePattern__Group__2 ; + public final void rule__AbsencePattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24373:1: ( rule__AbsencePattern__Group__1__Impl rule__AbsencePattern__Group__2 ) + // InternalFiacre.g:24374:2: rule__AbsencePattern__Group__1__Impl rule__AbsencePattern__Group__2 + { + pushFollow(FollowSets000.FOLLOW_138); + rule__AbsencePattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__1" + + + // $ANTLR start "rule__AbsencePattern__Group__1__Impl" + // InternalFiacre.g:24381:1: rule__AbsencePattern__Group__1__Impl : ( ( rule__AbsencePattern__SubjectAssignment_1 ) ) ; + public final void rule__AbsencePattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24385:1: ( ( ( rule__AbsencePattern__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:24386:1: ( ( rule__AbsencePattern__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:24386:1: ( ( rule__AbsencePattern__SubjectAssignment_1 ) ) + // InternalFiacre.g:24387:2: ( rule__AbsencePattern__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:24388:2: ( rule__AbsencePattern__SubjectAssignment_1 ) + // InternalFiacre.g:24388:3: rule__AbsencePattern__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group__2" + // InternalFiacre.g:24396:1: rule__AbsencePattern__Group__2 : rule__AbsencePattern__Group__2__Impl ; + public final void rule__AbsencePattern__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24400:1: ( rule__AbsencePattern__Group__2__Impl ) + // InternalFiacre.g:24401:2: rule__AbsencePattern__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__2" + + + // $ANTLR start "rule__AbsencePattern__Group__2__Impl" + // InternalFiacre.g:24407:1: rule__AbsencePattern__Group__2__Impl : ( ( rule__AbsencePattern__Alternatives_2 )? ) ; + public final void rule__AbsencePattern__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24411:1: ( ( ( rule__AbsencePattern__Alternatives_2 )? ) ) + // InternalFiacre.g:24412:1: ( ( rule__AbsencePattern__Alternatives_2 )? ) + { + // InternalFiacre.g:24412:1: ( ( rule__AbsencePattern__Alternatives_2 )? ) + // InternalFiacre.g:24413:2: ( rule__AbsencePattern__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAlternatives_2()); + } + // InternalFiacre.g:24414:2: ( rule__AbsencePattern__Alternatives_2 )? + int alt183=2; + int LA183_0 = input.LA(1); + + if ( (LA183_0==119||(LA183_0>=122 && LA183_0<=123)) ) { + alt183=1; + } + switch (alt183) { + case 1 : + // InternalFiacre.g:24414:3: rule__AbsencePattern__Alternatives_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group__2__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0__0" + // InternalFiacre.g:24423:1: rule__AbsencePattern__Group_2_0__0 : rule__AbsencePattern__Group_2_0__0__Impl rule__AbsencePattern__Group_2_0__1 ; + public final void rule__AbsencePattern__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24427:1: ( rule__AbsencePattern__Group_2_0__0__Impl rule__AbsencePattern__Group_2_0__1 ) + // InternalFiacre.g:24428:2: rule__AbsencePattern__Group_2_0__0__Impl rule__AbsencePattern__Group_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_136); + rule__AbsencePattern__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0__0__Impl" + // InternalFiacre.g:24435:1: rule__AbsencePattern__Group_2_0__0__Impl : ( ( rule__AbsencePattern__Group_2_0_0__0 ) ) ; + public final void rule__AbsencePattern__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24439:1: ( ( ( rule__AbsencePattern__Group_2_0_0__0 ) ) ) + // InternalFiacre.g:24440:1: ( ( rule__AbsencePattern__Group_2_0_0__0 ) ) + { + // InternalFiacre.g:24440:1: ( ( rule__AbsencePattern__Group_2_0_0__0 ) ) + // InternalFiacre.g:24441:2: ( rule__AbsencePattern__Group_2_0_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_0_0()); + } + // InternalFiacre.g:24442:2: ( rule__AbsencePattern__Group_2_0_0__0 ) + // InternalFiacre.g:24442:3: rule__AbsencePattern__Group_2_0_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0__1" + // InternalFiacre.g:24450:1: rule__AbsencePattern__Group_2_0__1 : rule__AbsencePattern__Group_2_0__1__Impl ; + public final void rule__AbsencePattern__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24454:1: ( rule__AbsencePattern__Group_2_0__1__Impl ) + // InternalFiacre.g:24455:2: rule__AbsencePattern__Group_2_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0__1__Impl" + // InternalFiacre.g:24461:1: rule__AbsencePattern__Group_2_0__1__Impl : ( ( rule__AbsencePattern__Alternatives_2_0_1 )? ) ; + public final void rule__AbsencePattern__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24465:1: ( ( ( rule__AbsencePattern__Alternatives_2_0_1 )? ) ) + // InternalFiacre.g:24466:1: ( ( rule__AbsencePattern__Alternatives_2_0_1 )? ) + { + // InternalFiacre.g:24466:1: ( ( rule__AbsencePattern__Alternatives_2_0_1 )? ) + // InternalFiacre.g:24467:2: ( rule__AbsencePattern__Alternatives_2_0_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAlternatives_2_0_1()); + } + // InternalFiacre.g:24468:2: ( rule__AbsencePattern__Alternatives_2_0_1 )? + int alt184=2; + int LA184_0 = input.LA(1); + + if ( ((LA184_0>=120 && LA184_0<=121)) ) { + alt184=1; + } + switch (alt184) { + case 1 : + // InternalFiacre.g:24468:3: rule__AbsencePattern__Alternatives_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Alternatives_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAlternatives_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_0__0" + // InternalFiacre.g:24477:1: rule__AbsencePattern__Group_2_0_0__0 : rule__AbsencePattern__Group_2_0_0__0__Impl rule__AbsencePattern__Group_2_0_0__1 ; + public final void rule__AbsencePattern__Group_2_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24481:1: ( rule__AbsencePattern__Group_2_0_0__0__Impl rule__AbsencePattern__Group_2_0_0__1 ) + // InternalFiacre.g:24482:2: rule__AbsencePattern__Group_2_0_0__0__Impl rule__AbsencePattern__Group_2_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group_2_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_0__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_0__0__Impl" + // InternalFiacre.g:24489:1: rule__AbsencePattern__Group_2_0_0__0__Impl : ( 'after' ) ; + public final void rule__AbsencePattern__Group_2_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24493:1: ( ( 'after' ) ) + // InternalFiacre.g:24494:1: ( 'after' ) + { + // InternalFiacre.g:24494:1: ( 'after' ) + // InternalFiacre.g:24495:2: 'after' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); + } + match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_0__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_0__1" + // InternalFiacre.g:24504:1: rule__AbsencePattern__Group_2_0_0__1 : rule__AbsencePattern__Group_2_0_0__1__Impl ; + public final void rule__AbsencePattern__Group_2_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24508:1: ( rule__AbsencePattern__Group_2_0_0__1__Impl ) + // InternalFiacre.g:24509:2: rule__AbsencePattern__Group_2_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_0__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_0__1__Impl" + // InternalFiacre.g:24515:1: rule__AbsencePattern__Group_2_0_0__1__Impl : ( ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) ) ; + public final void rule__AbsencePattern__Group_2_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24519:1: ( ( ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) ) ) + // InternalFiacre.g:24520:1: ( ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) ) + { + // InternalFiacre.g:24520:1: ( ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) ) + // InternalFiacre.g:24521:2: ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAfterAssignment_2_0_0_1()); + } + // InternalFiacre.g:24522:2: ( rule__AbsencePattern__AfterAssignment_2_0_0_1 ) + // InternalFiacre.g:24522:3: rule__AbsencePattern__AfterAssignment_2_0_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__AfterAssignment_2_0_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAfterAssignment_2_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_0__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__0" + // InternalFiacre.g:24531:1: rule__AbsencePattern__Group_2_0_1_0__0 : rule__AbsencePattern__Group_2_0_1_0__0__Impl rule__AbsencePattern__Group_2_0_1_0__1 ; + public final void rule__AbsencePattern__Group_2_0_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24535:1: ( rule__AbsencePattern__Group_2_0_1_0__0__Impl rule__AbsencePattern__Group_2_0_1_0__1 ) + // InternalFiacre.g:24536:2: rule__AbsencePattern__Group_2_0_1_0__0__Impl rule__AbsencePattern__Group_2_0_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__AbsencePattern__Group_2_0_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__0__Impl" + // InternalFiacre.g:24543:1: rule__AbsencePattern__Group_2_0_1_0__0__Impl : ( 'within' ) ; + public final void rule__AbsencePattern__Group_2_0_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24547:1: ( ( 'within' ) ) + // InternalFiacre.g:24548:1: ( 'within' ) + { + // InternalFiacre.g:24548:1: ( 'within' ) + // InternalFiacre.g:24549:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__1" + // InternalFiacre.g:24558:1: rule__AbsencePattern__Group_2_0_1_0__1 : rule__AbsencePattern__Group_2_0_1_0__1__Impl rule__AbsencePattern__Group_2_0_1_0__2 ; + public final void rule__AbsencePattern__Group_2_0_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24562:1: ( rule__AbsencePattern__Group_2_0_1_0__1__Impl rule__AbsencePattern__Group_2_0_1_0__2 ) + // InternalFiacre.g:24563:2: rule__AbsencePattern__Group_2_0_1_0__1__Impl rule__AbsencePattern__Group_2_0_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__AbsencePattern__Group_2_0_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__1__Impl" + // InternalFiacre.g:24570:1: rule__AbsencePattern__Group_2_0_1_0__1__Impl : ( ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) ) ; + public final void rule__AbsencePattern__Group_2_0_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24574:1: ( ( ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) ) ) + // InternalFiacre.g:24575:1: ( ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) ) + { + // InternalFiacre.g:24575:1: ( ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) ) + // InternalFiacre.g:24576:2: ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_0_1_0_1()); + } + // InternalFiacre.g:24577:2: ( rule__AbsencePattern__LowerAssignment_2_0_1_0_1 ) + // InternalFiacre.g:24577:3: rule__AbsencePattern__LowerAssignment_2_0_1_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__LowerAssignment_2_0_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_0_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__2" + // InternalFiacre.g:24585:1: rule__AbsencePattern__Group_2_0_1_0__2 : rule__AbsencePattern__Group_2_0_1_0__2__Impl rule__AbsencePattern__Group_2_0_1_0__3 ; + public final void rule__AbsencePattern__Group_2_0_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24589:1: ( rule__AbsencePattern__Group_2_0_1_0__2__Impl rule__AbsencePattern__Group_2_0_1_0__3 ) + // InternalFiacre.g:24590:2: rule__AbsencePattern__Group_2_0_1_0__2__Impl rule__AbsencePattern__Group_2_0_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__AbsencePattern__Group_2_0_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__2" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__2__Impl" + // InternalFiacre.g:24597:1: rule__AbsencePattern__Group_2_0_1_0__2__Impl : ( ',' ) ; + public final void rule__AbsencePattern__Group_2_0_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24601:1: ( ( ',' ) ) + // InternalFiacre.g:24602:1: ( ',' ) + { + // InternalFiacre.g:24602:1: ( ',' ) + // InternalFiacre.g:24603:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__2__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__3" + // InternalFiacre.g:24612:1: rule__AbsencePattern__Group_2_0_1_0__3 : rule__AbsencePattern__Group_2_0_1_0__3__Impl ; + public final void rule__AbsencePattern__Group_2_0_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24616:1: ( rule__AbsencePattern__Group_2_0_1_0__3__Impl ) + // InternalFiacre.g:24617:2: rule__AbsencePattern__Group_2_0_1_0__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__3" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_0__3__Impl" + // InternalFiacre.g:24623:1: rule__AbsencePattern__Group_2_0_1_0__3__Impl : ( ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) ) ; + public final void rule__AbsencePattern__Group_2_0_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24627:1: ( ( ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) ) ) + // InternalFiacre.g:24628:1: ( ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) ) + { + // InternalFiacre.g:24628:1: ( ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) ) + // InternalFiacre.g:24629:2: ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_0_1_0_3()); + } + // InternalFiacre.g:24630:2: ( rule__AbsencePattern__UpperAssignment_2_0_1_0_3 ) + // InternalFiacre.g:24630:3: rule__AbsencePattern__UpperAssignment_2_0_1_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__UpperAssignment_2_0_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_0_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_0__3__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_1__0" + // InternalFiacre.g:24639:1: rule__AbsencePattern__Group_2_0_1_1__0 : rule__AbsencePattern__Group_2_0_1_1__0__Impl rule__AbsencePattern__Group_2_0_1_1__1 ; + public final void rule__AbsencePattern__Group_2_0_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24643:1: ( rule__AbsencePattern__Group_2_0_1_1__0__Impl rule__AbsencePattern__Group_2_0_1_1__1 ) + // InternalFiacre.g:24644:2: rule__AbsencePattern__Group_2_0_1_1__0__Impl rule__AbsencePattern__Group_2_0_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group_2_0_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_1__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_1__0__Impl" + // InternalFiacre.g:24651:1: rule__AbsencePattern__Group_2_0_1_1__0__Impl : ( 'until' ) ; + public final void rule__AbsencePattern__Group_2_0_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24655:1: ( ( 'until' ) ) + // InternalFiacre.g:24656:1: ( 'until' ) + { + // InternalFiacre.g:24656:1: ( 'until' ) + // InternalFiacre.g:24657:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_1__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_1__1" + // InternalFiacre.g:24666:1: rule__AbsencePattern__Group_2_0_1_1__1 : rule__AbsencePattern__Group_2_0_1_1__1__Impl ; + public final void rule__AbsencePattern__Group_2_0_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24670:1: ( rule__AbsencePattern__Group_2_0_1_1__1__Impl ) + // InternalFiacre.g:24671:2: rule__AbsencePattern__Group_2_0_1_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_0_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_1__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_0_1_1__1__Impl" + // InternalFiacre.g:24677:1: rule__AbsencePattern__Group_2_0_1_1__1__Impl : ( ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) ) ; + public final void rule__AbsencePattern__Group_2_0_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24681:1: ( ( ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) ) ) + // InternalFiacre.g:24682:1: ( ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) ) + { + // InternalFiacre.g:24682:1: ( ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) ) + // InternalFiacre.g:24683:2: ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUntilAssignment_2_0_1_1_1()); + } + // InternalFiacre.g:24684:2: ( rule__AbsencePattern__UntilAssignment_2_0_1_1_1 ) + // InternalFiacre.g:24684:3: rule__AbsencePattern__UntilAssignment_2_0_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__UntilAssignment_2_0_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUntilAssignment_2_0_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_0_1_1__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1__0" + // InternalFiacre.g:24693:1: rule__AbsencePattern__Group_2_1__0 : rule__AbsencePattern__Group_2_1__0__Impl rule__AbsencePattern__Group_2_1__1 ; + public final void rule__AbsencePattern__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24697:1: ( rule__AbsencePattern__Group_2_1__0__Impl rule__AbsencePattern__Group_2_1__1 ) + // InternalFiacre.g:24698:2: rule__AbsencePattern__Group_2_1__0__Impl rule__AbsencePattern__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_139); + rule__AbsencePattern__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1__0__Impl" + // InternalFiacre.g:24705:1: rule__AbsencePattern__Group_2_1__0__Impl : ( ( rule__AbsencePattern__Group_2_1_0__0 ) ) ; + public final void rule__AbsencePattern__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24709:1: ( ( ( rule__AbsencePattern__Group_2_1_0__0 ) ) ) + // InternalFiacre.g:24710:1: ( ( rule__AbsencePattern__Group_2_1_0__0 ) ) + { + // InternalFiacre.g:24710:1: ( ( rule__AbsencePattern__Group_2_1_0__0 ) ) + // InternalFiacre.g:24711:2: ( rule__AbsencePattern__Group_2_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_1_0()); + } + // InternalFiacre.g:24712:2: ( rule__AbsencePattern__Group_2_1_0__0 ) + // InternalFiacre.g:24712:3: rule__AbsencePattern__Group_2_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1__1" + // InternalFiacre.g:24720:1: rule__AbsencePattern__Group_2_1__1 : rule__AbsencePattern__Group_2_1__1__Impl ; + public final void rule__AbsencePattern__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24724:1: ( rule__AbsencePattern__Group_2_1__1__Impl ) + // InternalFiacre.g:24725:2: rule__AbsencePattern__Group_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1__1__Impl" + // InternalFiacre.g:24731:1: rule__AbsencePattern__Group_2_1__1__Impl : ( ( rule__AbsencePattern__Group_2_1_1__0 )? ) ; + public final void rule__AbsencePattern__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24735:1: ( ( ( rule__AbsencePattern__Group_2_1_1__0 )? ) ) + // InternalFiacre.g:24736:1: ( ( rule__AbsencePattern__Group_2_1_1__0 )? ) + { + // InternalFiacre.g:24736:1: ( ( rule__AbsencePattern__Group_2_1_1__0 )? ) + // InternalFiacre.g:24737:2: ( rule__AbsencePattern__Group_2_1_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getGroup_2_1_1()); + } + // InternalFiacre.g:24738:2: ( rule__AbsencePattern__Group_2_1_1__0 )? + int alt185=2; + int LA185_0 = input.LA(1); + + if ( (LA185_0==125) ) { + alt185=1; + } + switch (alt185) { + case 1 : + // InternalFiacre.g:24738:3: rule__AbsencePattern__Group_2_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getGroup_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_0__0" + // InternalFiacre.g:24747:1: rule__AbsencePattern__Group_2_1_0__0 : rule__AbsencePattern__Group_2_1_0__0__Impl rule__AbsencePattern__Group_2_1_0__1 ; + public final void rule__AbsencePattern__Group_2_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24751:1: ( rule__AbsencePattern__Group_2_1_0__0__Impl rule__AbsencePattern__Group_2_1_0__1 ) + // InternalFiacre.g:24752:2: rule__AbsencePattern__Group_2_1_0__0__Impl rule__AbsencePattern__Group_2_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group_2_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_0__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_0__0__Impl" + // InternalFiacre.g:24759:1: rule__AbsencePattern__Group_2_1_0__0__Impl : ( 'before' ) ; + public final void rule__AbsencePattern__Group_2_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24763:1: ( ( 'before' ) ) + // InternalFiacre.g:24764:1: ( 'before' ) + { + // InternalFiacre.g:24764:1: ( 'before' ) + // InternalFiacre.g:24765:2: 'before' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); + } + match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_0__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_0__1" + // InternalFiacre.g:24774:1: rule__AbsencePattern__Group_2_1_0__1 : rule__AbsencePattern__Group_2_1_0__1__Impl ; + public final void rule__AbsencePattern__Group_2_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24778:1: ( rule__AbsencePattern__Group_2_1_0__1__Impl ) + // InternalFiacre.g:24779:2: rule__AbsencePattern__Group_2_1_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_0__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_0__1__Impl" + // InternalFiacre.g:24785:1: rule__AbsencePattern__Group_2_1_0__1__Impl : ( ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) ) ; + public final void rule__AbsencePattern__Group_2_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24789:1: ( ( ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) ) ) + // InternalFiacre.g:24790:1: ( ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) ) + { + // InternalFiacre.g:24790:1: ( ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) ) + // InternalFiacre.g:24791:2: ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getBeforeAssignment_2_1_0_1()); + } + // InternalFiacre.g:24792:2: ( rule__AbsencePattern__BeforeAssignment_2_1_0_1 ) + // InternalFiacre.g:24792:3: rule__AbsencePattern__BeforeAssignment_2_1_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__BeforeAssignment_2_1_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getBeforeAssignment_2_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_0__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__0" + // InternalFiacre.g:24801:1: rule__AbsencePattern__Group_2_1_1__0 : rule__AbsencePattern__Group_2_1_1__0__Impl rule__AbsencePattern__Group_2_1_1__1 ; + public final void rule__AbsencePattern__Group_2_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24805:1: ( rule__AbsencePattern__Group_2_1_1__0__Impl rule__AbsencePattern__Group_2_1_1__1 ) + // InternalFiacre.g:24806:2: rule__AbsencePattern__Group_2_1_1__0__Impl rule__AbsencePattern__Group_2_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__AbsencePattern__Group_2_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__0__Impl" + // InternalFiacre.g:24813:1: rule__AbsencePattern__Group_2_1_1__0__Impl : ( 'for' ) ; + public final void rule__AbsencePattern__Group_2_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24817:1: ( ( 'for' ) ) + // InternalFiacre.g:24818:1: ( 'for' ) + { + // InternalFiacre.g:24818:1: ( 'for' ) + // InternalFiacre.g:24819:2: 'for' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); + } + match(input,125,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__1" + // InternalFiacre.g:24828:1: rule__AbsencePattern__Group_2_1_1__1 : rule__AbsencePattern__Group_2_1_1__1__Impl rule__AbsencePattern__Group_2_1_1__2 ; + public final void rule__AbsencePattern__Group_2_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24832:1: ( rule__AbsencePattern__Group_2_1_1__1__Impl rule__AbsencePattern__Group_2_1_1__2 ) + // InternalFiacre.g:24833:2: rule__AbsencePattern__Group_2_1_1__1__Impl rule__AbsencePattern__Group_2_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__AbsencePattern__Group_2_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__1__Impl" + // InternalFiacre.g:24840:1: rule__AbsencePattern__Group_2_1_1__1__Impl : ( ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) ) ; + public final void rule__AbsencePattern__Group_2_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24844:1: ( ( ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) ) ) + // InternalFiacre.g:24845:1: ( ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) ) + { + // InternalFiacre.g:24845:1: ( ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) ) + // InternalFiacre.g:24846:2: ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_1_1_1()); + } + // InternalFiacre.g:24847:2: ( rule__AbsencePattern__LowerAssignment_2_1_1_1 ) + // InternalFiacre.g:24847:3: rule__AbsencePattern__LowerAssignment_2_1_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__LowerAssignment_2_1_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getLowerAssignment_2_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__2" + // InternalFiacre.g:24855:1: rule__AbsencePattern__Group_2_1_1__2 : rule__AbsencePattern__Group_2_1_1__2__Impl rule__AbsencePattern__Group_2_1_1__3 ; + public final void rule__AbsencePattern__Group_2_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24859:1: ( rule__AbsencePattern__Group_2_1_1__2__Impl rule__AbsencePattern__Group_2_1_1__3 ) + // InternalFiacre.g:24860:2: rule__AbsencePattern__Group_2_1_1__2__Impl rule__AbsencePattern__Group_2_1_1__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__AbsencePattern__Group_2_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__2" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__2__Impl" + // InternalFiacre.g:24867:1: rule__AbsencePattern__Group_2_1_1__2__Impl : ( ',' ) ; + public final void rule__AbsencePattern__Group_2_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24871:1: ( ( ',' ) ) + // InternalFiacre.g:24872:1: ( ',' ) + { + // InternalFiacre.g:24872:1: ( ',' ) + // InternalFiacre.g:24873:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__2__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__3" + // InternalFiacre.g:24882:1: rule__AbsencePattern__Group_2_1_1__3 : rule__AbsencePattern__Group_2_1_1__3__Impl ; + public final void rule__AbsencePattern__Group_2_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24886:1: ( rule__AbsencePattern__Group_2_1_1__3__Impl ) + // InternalFiacre.g:24887:2: rule__AbsencePattern__Group_2_1_1__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__3" + + + // $ANTLR start "rule__AbsencePattern__Group_2_1_1__3__Impl" + // InternalFiacre.g:24893:1: rule__AbsencePattern__Group_2_1_1__3__Impl : ( ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) ) ; + public final void rule__AbsencePattern__Group_2_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24897:1: ( ( ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) ) ) + // InternalFiacre.g:24898:1: ( ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) ) + { + // InternalFiacre.g:24898:1: ( ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) ) + // InternalFiacre.g:24899:2: ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_1_1_3()); + } + // InternalFiacre.g:24900:2: ( rule__AbsencePattern__UpperAssignment_2_1_1_3 ) + // InternalFiacre.g:24900:3: rule__AbsencePattern__UpperAssignment_2_1_1_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__UpperAssignment_2_1_1_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUpperAssignment_2_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_1_1__3__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__0" + // InternalFiacre.g:24909:1: rule__AbsencePattern__Group_2_2__0 : rule__AbsencePattern__Group_2_2__0__Impl rule__AbsencePattern__Group_2_2__1 ; + public final void rule__AbsencePattern__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24913:1: ( rule__AbsencePattern__Group_2_2__0__Impl rule__AbsencePattern__Group_2_2__1 ) + // InternalFiacre.g:24914:2: rule__AbsencePattern__Group_2_2__0__Impl rule__AbsencePattern__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__0" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__0__Impl" + // InternalFiacre.g:24921:1: rule__AbsencePattern__Group_2_2__0__Impl : ( 'between' ) ; + public final void rule__AbsencePattern__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24925:1: ( ( 'between' ) ) + // InternalFiacre.g:24926:1: ( 'between' ) + { + // InternalFiacre.g:24926:1: ( 'between' ) + // InternalFiacre.g:24927:2: 'between' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); + } + match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__0__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__1" + // InternalFiacre.g:24936:1: rule__AbsencePattern__Group_2_2__1 : rule__AbsencePattern__Group_2_2__1__Impl rule__AbsencePattern__Group_2_2__2 ; + public final void rule__AbsencePattern__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24940:1: ( rule__AbsencePattern__Group_2_2__1__Impl rule__AbsencePattern__Group_2_2__2 ) + // InternalFiacre.g:24941:2: rule__AbsencePattern__Group_2_2__1__Impl rule__AbsencePattern__Group_2_2__2 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__AbsencePattern__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__1" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__1__Impl" + // InternalFiacre.g:24948:1: rule__AbsencePattern__Group_2_2__1__Impl : ( ( rule__AbsencePattern__MinAssignment_2_2_1 ) ) ; + public final void rule__AbsencePattern__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24952:1: ( ( ( rule__AbsencePattern__MinAssignment_2_2_1 ) ) ) + // InternalFiacre.g:24953:1: ( ( rule__AbsencePattern__MinAssignment_2_2_1 ) ) + { + // InternalFiacre.g:24953:1: ( ( rule__AbsencePattern__MinAssignment_2_2_1 ) ) + // InternalFiacre.g:24954:2: ( rule__AbsencePattern__MinAssignment_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getMinAssignment_2_2_1()); + } + // InternalFiacre.g:24955:2: ( rule__AbsencePattern__MinAssignment_2_2_1 ) + // InternalFiacre.g:24955:3: rule__AbsencePattern__MinAssignment_2_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__MinAssignment_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getMinAssignment_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__1__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__2" + // InternalFiacre.g:24963:1: rule__AbsencePattern__Group_2_2__2 : rule__AbsencePattern__Group_2_2__2__Impl rule__AbsencePattern__Group_2_2__3 ; + public final void rule__AbsencePattern__Group_2_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24967:1: ( rule__AbsencePattern__Group_2_2__2__Impl rule__AbsencePattern__Group_2_2__3 ) + // InternalFiacre.g:24968:2: rule__AbsencePattern__Group_2_2__2__Impl rule__AbsencePattern__Group_2_2__3 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AbsencePattern__Group_2_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__2" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__2__Impl" + // InternalFiacre.g:24975:1: rule__AbsencePattern__Group_2_2__2__Impl : ( 'and' ) ; + public final void rule__AbsencePattern__Group_2_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24979:1: ( ( 'and' ) ) + // InternalFiacre.g:24980:1: ( 'and' ) + { + // InternalFiacre.g:24980:1: ( 'and' ) + // InternalFiacre.g:24981:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__2__Impl" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__3" + // InternalFiacre.g:24990:1: rule__AbsencePattern__Group_2_2__3 : rule__AbsencePattern__Group_2_2__3__Impl ; + public final void rule__AbsencePattern__Group_2_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:24994:1: ( rule__AbsencePattern__Group_2_2__3__Impl ) + // InternalFiacre.g:24995:2: rule__AbsencePattern__Group_2_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__Group_2_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__3" + + + // $ANTLR start "rule__AbsencePattern__Group_2_2__3__Impl" + // InternalFiacre.g:25001:1: rule__AbsencePattern__Group_2_2__3__Impl : ( ( rule__AbsencePattern__MaxAssignment_2_2_3 ) ) ; + public final void rule__AbsencePattern__Group_2_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25005:1: ( ( ( rule__AbsencePattern__MaxAssignment_2_2_3 ) ) ) + // InternalFiacre.g:25006:1: ( ( rule__AbsencePattern__MaxAssignment_2_2_3 ) ) + { + // InternalFiacre.g:25006:1: ( ( rule__AbsencePattern__MaxAssignment_2_2_3 ) ) + // InternalFiacre.g:25007:2: ( rule__AbsencePattern__MaxAssignment_2_2_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getMaxAssignment_2_2_3()); + } + // InternalFiacre.g:25008:2: ( rule__AbsencePattern__MaxAssignment_2_2_3 ) + // InternalFiacre.g:25008:3: rule__AbsencePattern__MaxAssignment_2_2_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AbsencePattern__MaxAssignment_2_2_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getMaxAssignment_2_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__Group_2_2__3__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group__0" + // InternalFiacre.g:25017:1: rule__AlwaysPattern__Group__0 : rule__AlwaysPattern__Group__0__Impl rule__AlwaysPattern__Group__1 ; + public final void rule__AlwaysPattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25021:1: ( rule__AlwaysPattern__Group__0__Impl rule__AlwaysPattern__Group__1 ) + // InternalFiacre.g:25022:2: rule__AlwaysPattern__Group__0__Impl rule__AlwaysPattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__0" + + + // $ANTLR start "rule__AlwaysPattern__Group__0__Impl" + // InternalFiacre.g:25029:1: rule__AlwaysPattern__Group__0__Impl : ( 'always' ) ; + public final void rule__AlwaysPattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25033:1: ( ( 'always' ) ) + // InternalFiacre.g:25034:1: ( 'always' ) + { + // InternalFiacre.g:25034:1: ( 'always' ) + // InternalFiacre.g:25035:2: 'always' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); + } + match(input,126,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__0__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group__1" + // InternalFiacre.g:25044:1: rule__AlwaysPattern__Group__1 : rule__AlwaysPattern__Group__1__Impl rule__AlwaysPattern__Group__2 ; + public final void rule__AlwaysPattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25048:1: ( rule__AlwaysPattern__Group__1__Impl rule__AlwaysPattern__Group__2 ) + // InternalFiacre.g:25049:2: rule__AlwaysPattern__Group__1__Impl rule__AlwaysPattern__Group__2 + { + pushFollow(FollowSets000.FOLLOW_138); + rule__AlwaysPattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__1" + + + // $ANTLR start "rule__AlwaysPattern__Group__1__Impl" + // InternalFiacre.g:25056:1: rule__AlwaysPattern__Group__1__Impl : ( ( rule__AlwaysPattern__SubjectAssignment_1 ) ) ; + public final void rule__AlwaysPattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25060:1: ( ( ( rule__AlwaysPattern__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:25061:1: ( ( rule__AlwaysPattern__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:25061:1: ( ( rule__AlwaysPattern__SubjectAssignment_1 ) ) + // InternalFiacre.g:25062:2: ( rule__AlwaysPattern__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:25063:2: ( rule__AlwaysPattern__SubjectAssignment_1 ) + // InternalFiacre.g:25063:3: rule__AlwaysPattern__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__1__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group__2" + // InternalFiacre.g:25071:1: rule__AlwaysPattern__Group__2 : rule__AlwaysPattern__Group__2__Impl ; + public final void rule__AlwaysPattern__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25075:1: ( rule__AlwaysPattern__Group__2__Impl ) + // InternalFiacre.g:25076:2: rule__AlwaysPattern__Group__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__2" + + + // $ANTLR start "rule__AlwaysPattern__Group__2__Impl" + // InternalFiacre.g:25082:1: rule__AlwaysPattern__Group__2__Impl : ( ( rule__AlwaysPattern__Alternatives_2 )? ) ; + public final void rule__AlwaysPattern__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25086:1: ( ( ( rule__AlwaysPattern__Alternatives_2 )? ) ) + // InternalFiacre.g:25087:1: ( ( rule__AlwaysPattern__Alternatives_2 )? ) + { + // InternalFiacre.g:25087:1: ( ( rule__AlwaysPattern__Alternatives_2 )? ) + // InternalFiacre.g:25088:2: ( rule__AlwaysPattern__Alternatives_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAlternatives_2()); + } + // InternalFiacre.g:25089:2: ( rule__AlwaysPattern__Alternatives_2 )? + int alt186=2; + int LA186_0 = input.LA(1); + + if ( (LA186_0==119||(LA186_0>=122 && LA186_0<=123)) ) { + alt186=1; + } + switch (alt186) { + case 1 : + // InternalFiacre.g:25089:3: rule__AlwaysPattern__Alternatives_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Alternatives_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAlternatives_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group__2__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_0__0" + // InternalFiacre.g:25098:1: rule__AlwaysPattern__Group_2_0__0 : rule__AlwaysPattern__Group_2_0__0__Impl rule__AlwaysPattern__Group_2_0__1 ; + public final void rule__AlwaysPattern__Group_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25102:1: ( rule__AlwaysPattern__Group_2_0__0__Impl rule__AlwaysPattern__Group_2_0__1 ) + // InternalFiacre.g:25103:2: rule__AlwaysPattern__Group_2_0__0__Impl rule__AlwaysPattern__Group_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_0__0" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_0__0__Impl" + // InternalFiacre.g:25110:1: rule__AlwaysPattern__Group_2_0__0__Impl : ( 'before' ) ; + public final void rule__AlwaysPattern__Group_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25114:1: ( ( 'before' ) ) + // InternalFiacre.g:25115:1: ( 'before' ) + { + // InternalFiacre.g:25115:1: ( 'before' ) + // InternalFiacre.g:25116:2: 'before' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); + } + match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_0__0__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_0__1" + // InternalFiacre.g:25125:1: rule__AlwaysPattern__Group_2_0__1 : rule__AlwaysPattern__Group_2_0__1__Impl ; + public final void rule__AlwaysPattern__Group_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25129:1: ( rule__AlwaysPattern__Group_2_0__1__Impl ) + // InternalFiacre.g:25130:2: rule__AlwaysPattern__Group_2_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_0__1" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_0__1__Impl" + // InternalFiacre.g:25136:1: rule__AlwaysPattern__Group_2_0__1__Impl : ( ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) ) ; + public final void rule__AlwaysPattern__Group_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25140:1: ( ( ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) ) ) + // InternalFiacre.g:25141:1: ( ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) ) + { + // InternalFiacre.g:25141:1: ( ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) ) + // InternalFiacre.g:25142:2: ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getBeforeAssignment_2_0_1()); + } + // InternalFiacre.g:25143:2: ( rule__AlwaysPattern__BeforeAssignment_2_0_1 ) + // InternalFiacre.g:25143:3: rule__AlwaysPattern__BeforeAssignment_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__BeforeAssignment_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getBeforeAssignment_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_0__1__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__0" + // InternalFiacre.g:25152:1: rule__AlwaysPattern__Group_2_1__0 : rule__AlwaysPattern__Group_2_1__0__Impl rule__AlwaysPattern__Group_2_1__1 ; + public final void rule__AlwaysPattern__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25156:1: ( rule__AlwaysPattern__Group_2_1__0__Impl rule__AlwaysPattern__Group_2_1__1 ) + // InternalFiacre.g:25157:2: rule__AlwaysPattern__Group_2_1__0__Impl rule__AlwaysPattern__Group_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__0" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__0__Impl" + // InternalFiacre.g:25164:1: rule__AlwaysPattern__Group_2_1__0__Impl : ( 'after' ) ; + public final void rule__AlwaysPattern__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25168:1: ( ( 'after' ) ) + // InternalFiacre.g:25169:1: ( 'after' ) + { + // InternalFiacre.g:25169:1: ( 'after' ) + // InternalFiacre.g:25170:2: 'after' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); + } + match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__0__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__1" + // InternalFiacre.g:25179:1: rule__AlwaysPattern__Group_2_1__1 : rule__AlwaysPattern__Group_2_1__1__Impl rule__AlwaysPattern__Group_2_1__2 ; + public final void rule__AlwaysPattern__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25183:1: ( rule__AlwaysPattern__Group_2_1__1__Impl rule__AlwaysPattern__Group_2_1__2 ) + // InternalFiacre.g:25184:2: rule__AlwaysPattern__Group_2_1__1__Impl rule__AlwaysPattern__Group_2_1__2 + { + pushFollow(FollowSets000.FOLLOW_140); + rule__AlwaysPattern__Group_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__1" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__1__Impl" + // InternalFiacre.g:25191:1: rule__AlwaysPattern__Group_2_1__1__Impl : ( ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) ) ; + public final void rule__AlwaysPattern__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25195:1: ( ( ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) ) ) + // InternalFiacre.g:25196:1: ( ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) ) + { + // InternalFiacre.g:25196:1: ( ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) ) + // InternalFiacre.g:25197:2: ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAfterAssignment_2_1_1()); + } + // InternalFiacre.g:25198:2: ( rule__AlwaysPattern__AfterAssignment_2_1_1 ) + // InternalFiacre.g:25198:3: rule__AlwaysPattern__AfterAssignment_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__AfterAssignment_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAfterAssignment_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__1__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__2" + // InternalFiacre.g:25206:1: rule__AlwaysPattern__Group_2_1__2 : rule__AlwaysPattern__Group_2_1__2__Impl ; + public final void rule__AlwaysPattern__Group_2_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25210:1: ( rule__AlwaysPattern__Group_2_1__2__Impl ) + // InternalFiacre.g:25211:2: rule__AlwaysPattern__Group_2_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__2" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1__2__Impl" + // InternalFiacre.g:25217:1: rule__AlwaysPattern__Group_2_1__2__Impl : ( ( rule__AlwaysPattern__Group_2_1_2__0 )? ) ; + public final void rule__AlwaysPattern__Group_2_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25221:1: ( ( ( rule__AlwaysPattern__Group_2_1_2__0 )? ) ) + // InternalFiacre.g:25222:1: ( ( rule__AlwaysPattern__Group_2_1_2__0 )? ) + { + // InternalFiacre.g:25222:1: ( ( rule__AlwaysPattern__Group_2_1_2__0 )? ) + // InternalFiacre.g:25223:2: ( rule__AlwaysPattern__Group_2_1_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getGroup_2_1_2()); + } + // InternalFiacre.g:25224:2: ( rule__AlwaysPattern__Group_2_1_2__0 )? + int alt187=2; + int LA187_0 = input.LA(1); + + if ( (LA187_0==121) ) { + alt187=1; + } + switch (alt187) { + case 1 : + // InternalFiacre.g:25224:3: rule__AlwaysPattern__Group_2_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getGroup_2_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1__2__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1_2__0" + // InternalFiacre.g:25233:1: rule__AlwaysPattern__Group_2_1_2__0 : rule__AlwaysPattern__Group_2_1_2__0__Impl rule__AlwaysPattern__Group_2_1_2__1 ; + public final void rule__AlwaysPattern__Group_2_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25237:1: ( rule__AlwaysPattern__Group_2_1_2__0__Impl rule__AlwaysPattern__Group_2_1_2__1 ) + // InternalFiacre.g:25238:2: rule__AlwaysPattern__Group_2_1_2__0__Impl rule__AlwaysPattern__Group_2_1_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group_2_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1_2__0" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1_2__0__Impl" + // InternalFiacre.g:25245:1: rule__AlwaysPattern__Group_2_1_2__0__Impl : ( 'until' ) ; + public final void rule__AlwaysPattern__Group_2_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25249:1: ( ( 'until' ) ) + // InternalFiacre.g:25250:1: ( 'until' ) + { + // InternalFiacre.g:25250:1: ( 'until' ) + // InternalFiacre.g:25251:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1_2__0__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1_2__1" + // InternalFiacre.g:25260:1: rule__AlwaysPattern__Group_2_1_2__1 : rule__AlwaysPattern__Group_2_1_2__1__Impl ; + public final void rule__AlwaysPattern__Group_2_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25264:1: ( rule__AlwaysPattern__Group_2_1_2__1__Impl ) + // InternalFiacre.g:25265:2: rule__AlwaysPattern__Group_2_1_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1_2__1" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_1_2__1__Impl" + // InternalFiacre.g:25271:1: rule__AlwaysPattern__Group_2_1_2__1__Impl : ( ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) ) ; + public final void rule__AlwaysPattern__Group_2_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25275:1: ( ( ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) ) ) + // InternalFiacre.g:25276:1: ( ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) ) + { + // InternalFiacre.g:25276:1: ( ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) ) + // InternalFiacre.g:25277:2: ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getUntilAssignment_2_1_2_1()); + } + // InternalFiacre.g:25278:2: ( rule__AlwaysPattern__UntilAssignment_2_1_2_1 ) + // InternalFiacre.g:25278:3: rule__AlwaysPattern__UntilAssignment_2_1_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__UntilAssignment_2_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getUntilAssignment_2_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_1_2__1__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__0" + // InternalFiacre.g:25287:1: rule__AlwaysPattern__Group_2_2__0 : rule__AlwaysPattern__Group_2_2__0__Impl rule__AlwaysPattern__Group_2_2__1 ; + public final void rule__AlwaysPattern__Group_2_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25291:1: ( rule__AlwaysPattern__Group_2_2__0__Impl rule__AlwaysPattern__Group_2_2__1 ) + // InternalFiacre.g:25292:2: rule__AlwaysPattern__Group_2_2__0__Impl rule__AlwaysPattern__Group_2_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group_2_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__0" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__0__Impl" + // InternalFiacre.g:25299:1: rule__AlwaysPattern__Group_2_2__0__Impl : ( 'between' ) ; + public final void rule__AlwaysPattern__Group_2_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25303:1: ( ( 'between' ) ) + // InternalFiacre.g:25304:1: ( 'between' ) + { + // InternalFiacre.g:25304:1: ( 'between' ) + // InternalFiacre.g:25305:2: 'between' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); + } + match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__0__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__1" + // InternalFiacre.g:25314:1: rule__AlwaysPattern__Group_2_2__1 : rule__AlwaysPattern__Group_2_2__1__Impl rule__AlwaysPattern__Group_2_2__2 ; + public final void rule__AlwaysPattern__Group_2_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25318:1: ( rule__AlwaysPattern__Group_2_2__1__Impl rule__AlwaysPattern__Group_2_2__2 ) + // InternalFiacre.g:25319:2: rule__AlwaysPattern__Group_2_2__1__Impl rule__AlwaysPattern__Group_2_2__2 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__AlwaysPattern__Group_2_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__1" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__1__Impl" + // InternalFiacre.g:25326:1: rule__AlwaysPattern__Group_2_2__1__Impl : ( ( rule__AlwaysPattern__MinAssignment_2_2_1 ) ) ; + public final void rule__AlwaysPattern__Group_2_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25330:1: ( ( ( rule__AlwaysPattern__MinAssignment_2_2_1 ) ) ) + // InternalFiacre.g:25331:1: ( ( rule__AlwaysPattern__MinAssignment_2_2_1 ) ) + { + // InternalFiacre.g:25331:1: ( ( rule__AlwaysPattern__MinAssignment_2_2_1 ) ) + // InternalFiacre.g:25332:2: ( rule__AlwaysPattern__MinAssignment_2_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getMinAssignment_2_2_1()); + } + // InternalFiacre.g:25333:2: ( rule__AlwaysPattern__MinAssignment_2_2_1 ) + // InternalFiacre.g:25333:3: rule__AlwaysPattern__MinAssignment_2_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__MinAssignment_2_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getMinAssignment_2_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__1__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__2" + // InternalFiacre.g:25341:1: rule__AlwaysPattern__Group_2_2__2 : rule__AlwaysPattern__Group_2_2__2__Impl rule__AlwaysPattern__Group_2_2__3 ; + public final void rule__AlwaysPattern__Group_2_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25345:1: ( rule__AlwaysPattern__Group_2_2__2__Impl rule__AlwaysPattern__Group_2_2__3 ) + // InternalFiacre.g:25346:2: rule__AlwaysPattern__Group_2_2__2__Impl rule__AlwaysPattern__Group_2_2__3 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__AlwaysPattern__Group_2_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__2" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__2__Impl" + // InternalFiacre.g:25353:1: rule__AlwaysPattern__Group_2_2__2__Impl : ( 'and' ) ; + public final void rule__AlwaysPattern__Group_2_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25357:1: ( ( 'and' ) ) + // InternalFiacre.g:25358:1: ( 'and' ) + { + // InternalFiacre.g:25358:1: ( 'and' ) + // InternalFiacre.g:25359:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__2__Impl" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__3" + // InternalFiacre.g:25368:1: rule__AlwaysPattern__Group_2_2__3 : rule__AlwaysPattern__Group_2_2__3__Impl ; + public final void rule__AlwaysPattern__Group_2_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25372:1: ( rule__AlwaysPattern__Group_2_2__3__Impl ) + // InternalFiacre.g:25373:2: rule__AlwaysPattern__Group_2_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__Group_2_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__3" + + + // $ANTLR start "rule__AlwaysPattern__Group_2_2__3__Impl" + // InternalFiacre.g:25379:1: rule__AlwaysPattern__Group_2_2__3__Impl : ( ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) ) ; + public final void rule__AlwaysPattern__Group_2_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25383:1: ( ( ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) ) ) + // InternalFiacre.g:25384:1: ( ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) ) + { + // InternalFiacre.g:25384:1: ( ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) ) + // InternalFiacre.g:25385:2: ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getMaxAssignment_2_2_3()); + } + // InternalFiacre.g:25386:2: ( rule__AlwaysPattern__MaxAssignment_2_2_3 ) + // InternalFiacre.g:25386:3: rule__AlwaysPattern__MaxAssignment_2_2_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AlwaysPattern__MaxAssignment_2_2_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getMaxAssignment_2_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__Group_2_2__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group__0" + // InternalFiacre.g:25395:1: rule__SequencePattern__Group__0 : rule__SequencePattern__Group__0__Impl rule__SequencePattern__Group__1 ; + public final void rule__SequencePattern__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25399:1: ( rule__SequencePattern__Group__0__Impl rule__SequencePattern__Group__1 ) + // InternalFiacre.g:25400:2: rule__SequencePattern__Group__0__Impl rule__SequencePattern__Group__1 + { + pushFollow(FollowSets000.FOLLOW_141); + rule__SequencePattern__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group__0" + + + // $ANTLR start "rule__SequencePattern__Group__0__Impl" + // InternalFiacre.g:25407:1: rule__SequencePattern__Group__0__Impl : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25411:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:25412:1: ( ruleAtomicObservable ) + { + // InternalFiacre.g:25412:1: ( ruleAtomicObservable ) + // InternalFiacre.g:25413:2: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group__1" + // InternalFiacre.g:25422:1: rule__SequencePattern__Group__1 : rule__SequencePattern__Group__1__Impl ; + public final void rule__SequencePattern__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25426:1: ( rule__SequencePattern__Group__1__Impl ) + // InternalFiacre.g:25427:2: rule__SequencePattern__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group__1" + + + // $ANTLR start "rule__SequencePattern__Group__1__Impl" + // InternalFiacre.g:25433:1: rule__SequencePattern__Group__1__Impl : ( ( rule__SequencePattern__Alternatives_1 ) ) ; + public final void rule__SequencePattern__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25437:1: ( ( ( rule__SequencePattern__Alternatives_1 ) ) ) + // InternalFiacre.g:25438:1: ( ( rule__SequencePattern__Alternatives_1 ) ) + { + // InternalFiacre.g:25438:1: ( ( rule__SequencePattern__Alternatives_1 ) ) + // InternalFiacre.g:25439:2: ( rule__SequencePattern__Alternatives_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAlternatives_1()); + } + // InternalFiacre.g:25440:2: ( rule__SequencePattern__Alternatives_1 ) + // InternalFiacre.g:25440:3: rule__SequencePattern__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__0" + // InternalFiacre.g:25449:1: rule__SequencePattern__Group_1_0__0 : rule__SequencePattern__Group_1_0__0__Impl rule__SequencePattern__Group_1_0__1 ; + public final void rule__SequencePattern__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25453:1: ( rule__SequencePattern__Group_1_0__0__Impl rule__SequencePattern__Group_1_0__1 ) + // InternalFiacre.g:25454:2: rule__SequencePattern__Group_1_0__0__Impl rule__SequencePattern__Group_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__0__Impl" + // InternalFiacre.g:25461:1: rule__SequencePattern__Group_1_0__0__Impl : ( 'leadsto' ) ; + public final void rule__SequencePattern__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25465:1: ( ( 'leadsto' ) ) + // InternalFiacre.g:25466:1: ( 'leadsto' ) + { + // InternalFiacre.g:25466:1: ( 'leadsto' ) + // InternalFiacre.g:25467:2: 'leadsto' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); + } + match(input,127,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__1" + // InternalFiacre.g:25476:1: rule__SequencePattern__Group_1_0__1 : rule__SequencePattern__Group_1_0__1__Impl rule__SequencePattern__Group_1_0__2 ; + public final void rule__SequencePattern__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25480:1: ( rule__SequencePattern__Group_1_0__1__Impl rule__SequencePattern__Group_1_0__2 ) + // InternalFiacre.g:25481:2: rule__SequencePattern__Group_1_0__1__Impl rule__SequencePattern__Group_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__1__Impl" + // InternalFiacre.g:25488:1: rule__SequencePattern__Group_1_0__1__Impl : ( () ) ; + public final void rule__SequencePattern__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25492:1: ( ( () ) ) + // InternalFiacre.g:25493:1: ( () ) + { + // InternalFiacre.g:25493:1: ( () ) + // InternalFiacre.g:25494:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1()); + } + // InternalFiacre.g:25495:2: () + // InternalFiacre.g:25495:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__2" + // InternalFiacre.g:25503:1: rule__SequencePattern__Group_1_0__2 : rule__SequencePattern__Group_1_0__2__Impl rule__SequencePattern__Group_1_0__3 ; + public final void rule__SequencePattern__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25507:1: ( rule__SequencePattern__Group_1_0__2__Impl rule__SequencePattern__Group_1_0__3 ) + // InternalFiacre.g:25508:2: rule__SequencePattern__Group_1_0__2__Impl rule__SequencePattern__Group_1_0__3 + { + pushFollow(FollowSets000.FOLLOW_142); + rule__SequencePattern__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__2__Impl" + // InternalFiacre.g:25515:1: rule__SequencePattern__Group_1_0__2__Impl : ( ( rule__SequencePattern__FollowerAssignment_1_0_2 ) ) ; + public final void rule__SequencePattern__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25519:1: ( ( ( rule__SequencePattern__FollowerAssignment_1_0_2 ) ) ) + // InternalFiacre.g:25520:1: ( ( rule__SequencePattern__FollowerAssignment_1_0_2 ) ) + { + // InternalFiacre.g:25520:1: ( ( rule__SequencePattern__FollowerAssignment_1_0_2 ) ) + // InternalFiacre.g:25521:2: ( rule__SequencePattern__FollowerAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_0_2()); + } + // InternalFiacre.g:25522:2: ( rule__SequencePattern__FollowerAssignment_1_0_2 ) + // InternalFiacre.g:25522:3: rule__SequencePattern__FollowerAssignment_1_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__FollowerAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__3" + // InternalFiacre.g:25530:1: rule__SequencePattern__Group_1_0__3 : rule__SequencePattern__Group_1_0__3__Impl ; + public final void rule__SequencePattern__Group_1_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25534:1: ( rule__SequencePattern__Group_1_0__3__Impl ) + // InternalFiacre.g:25535:2: rule__SequencePattern__Group_1_0__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_0__3__Impl" + // InternalFiacre.g:25541:1: rule__SequencePattern__Group_1_0__3__Impl : ( ( rule__SequencePattern__Alternatives_1_0_3 )? ) ; + public final void rule__SequencePattern__Group_1_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25545:1: ( ( ( rule__SequencePattern__Alternatives_1_0_3 )? ) ) + // InternalFiacre.g:25546:1: ( ( rule__SequencePattern__Alternatives_1_0_3 )? ) + { + // InternalFiacre.g:25546:1: ( ( rule__SequencePattern__Alternatives_1_0_3 )? ) + // InternalFiacre.g:25547:2: ( rule__SequencePattern__Alternatives_1_0_3 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3()); + } + // InternalFiacre.g:25548:2: ( rule__SequencePattern__Alternatives_1_0_3 )? + int alt188=2; + int LA188_0 = input.LA(1); + + if ( ((LA188_0>=119 && LA188_0<=120)||(LA188_0>=122 && LA188_0<=123)) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // InternalFiacre.g:25548:3: rule__SequencePattern__Alternatives_1_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Alternatives_1_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__0" + // InternalFiacre.g:25557:1: rule__SequencePattern__Group_1_0_3_0__0 : rule__SequencePattern__Group_1_0_3_0__0__Impl rule__SequencePattern__Group_1_0_3_0__1 ; + public final void rule__SequencePattern__Group_1_0_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25561:1: ( rule__SequencePattern__Group_1_0_3_0__0__Impl rule__SequencePattern__Group_1_0_3_0__1 ) + // InternalFiacre.g:25562:2: rule__SequencePattern__Group_1_0_3_0__0__Impl rule__SequencePattern__Group_1_0_3_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__0__Impl" + // InternalFiacre.g:25569:1: rule__SequencePattern__Group_1_0_3_0__0__Impl : ( 'before' ) ; + public final void rule__SequencePattern__Group_1_0_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25573:1: ( ( 'before' ) ) + // InternalFiacre.g:25574:1: ( 'before' ) + { + // InternalFiacre.g:25574:1: ( 'before' ) + // InternalFiacre.g:25575:2: 'before' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); + } + match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__1" + // InternalFiacre.g:25584:1: rule__SequencePattern__Group_1_0_3_0__1 : rule__SequencePattern__Group_1_0_3_0__1__Impl rule__SequencePattern__Group_1_0_3_0__2 ; + public final void rule__SequencePattern__Group_1_0_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25588:1: ( rule__SequencePattern__Group_1_0_3_0__1__Impl rule__SequencePattern__Group_1_0_3_0__2 ) + // InternalFiacre.g:25589:2: rule__SequencePattern__Group_1_0_3_0__1__Impl rule__SequencePattern__Group_1_0_3_0__2 + { + pushFollow(FollowSets000.FOLLOW_137); + rule__SequencePattern__Group_1_0_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__1__Impl" + // InternalFiacre.g:25596:1: rule__SequencePattern__Group_1_0_3_0__1__Impl : ( ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25600:1: ( ( ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) ) ) + // InternalFiacre.g:25601:1: ( ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) ) + { + // InternalFiacre.g:25601:1: ( ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) ) + // InternalFiacre.g:25602:2: ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_0_3_0_1()); + } + // InternalFiacre.g:25603:2: ( rule__SequencePattern__BeforeAssignment_1_0_3_0_1 ) + // InternalFiacre.g:25603:3: rule__SequencePattern__BeforeAssignment_1_0_3_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__BeforeAssignment_1_0_3_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_0_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__2" + // InternalFiacre.g:25611:1: rule__SequencePattern__Group_1_0_3_0__2 : rule__SequencePattern__Group_1_0_3_0__2__Impl ; + public final void rule__SequencePattern__Group_1_0_3_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25615:1: ( rule__SequencePattern__Group_1_0_3_0__2__Impl ) + // InternalFiacre.g:25616:2: rule__SequencePattern__Group_1_0_3_0__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0__2__Impl" + // InternalFiacre.g:25622:1: rule__SequencePattern__Group_1_0_3_0__2__Impl : ( ( rule__SequencePattern__Group_1_0_3_0_2__0 )? ) ; + public final void rule__SequencePattern__Group_1_0_3_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25626:1: ( ( ( rule__SequencePattern__Group_1_0_3_0_2__0 )? ) ) + // InternalFiacre.g:25627:1: ( ( rule__SequencePattern__Group_1_0_3_0_2__0 )? ) + { + // InternalFiacre.g:25627:1: ( ( rule__SequencePattern__Group_1_0_3_0_2__0 )? ) + // InternalFiacre.g:25628:2: ( rule__SequencePattern__Group_1_0_3_0_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0_2()); + } + // InternalFiacre.g:25629:2: ( rule__SequencePattern__Group_1_0_3_0_2__0 )? + int alt189=2; + int LA189_0 = input.LA(1); + + if ( (LA189_0==120) ) { + alt189=1; + } + switch (alt189) { + case 1 : + // InternalFiacre.g:25629:3: rule__SequencePattern__Group_1_0_3_0_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_0_3_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__0" + // InternalFiacre.g:25638:1: rule__SequencePattern__Group_1_0_3_0_2__0 : rule__SequencePattern__Group_1_0_3_0_2__0__Impl rule__SequencePattern__Group_1_0_3_0_2__1 ; + public final void rule__SequencePattern__Group_1_0_3_0_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25642:1: ( rule__SequencePattern__Group_1_0_3_0_2__0__Impl rule__SequencePattern__Group_1_0_3_0_2__1 ) + // InternalFiacre.g:25643:2: rule__SequencePattern__Group_1_0_3_0_2__0__Impl rule__SequencePattern__Group_1_0_3_0_2__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__SequencePattern__Group_1_0_3_0_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__0__Impl" + // InternalFiacre.g:25650:1: rule__SequencePattern__Group_1_0_3_0_2__0__Impl : ( 'within' ) ; + public final void rule__SequencePattern__Group_1_0_3_0_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25654:1: ( ( 'within' ) ) + // InternalFiacre.g:25655:1: ( 'within' ) + { + // InternalFiacre.g:25655:1: ( 'within' ) + // InternalFiacre.g:25656:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__1" + // InternalFiacre.g:25665:1: rule__SequencePattern__Group_1_0_3_0_2__1 : rule__SequencePattern__Group_1_0_3_0_2__1__Impl rule__SequencePattern__Group_1_0_3_0_2__2 ; + public final void rule__SequencePattern__Group_1_0_3_0_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25669:1: ( rule__SequencePattern__Group_1_0_3_0_2__1__Impl rule__SequencePattern__Group_1_0_3_0_2__2 ) + // InternalFiacre.g:25670:2: rule__SequencePattern__Group_1_0_3_0_2__1__Impl rule__SequencePattern__Group_1_0_3_0_2__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__SequencePattern__Group_1_0_3_0_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__1__Impl" + // InternalFiacre.g:25677:1: rule__SequencePattern__Group_1_0_3_0_2__1__Impl : ( ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_0_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25681:1: ( ( ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) ) ) + // InternalFiacre.g:25682:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) ) + { + // InternalFiacre.g:25682:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) ) + // InternalFiacre.g:25683:2: ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_0_2_1()); + } + // InternalFiacre.g:25684:2: ( rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 ) + // InternalFiacre.g:25684:3: rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__LowerAssignment_1_0_3_0_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_0_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__2" + // InternalFiacre.g:25692:1: rule__SequencePattern__Group_1_0_3_0_2__2 : rule__SequencePattern__Group_1_0_3_0_2__2__Impl rule__SequencePattern__Group_1_0_3_0_2__3 ; + public final void rule__SequencePattern__Group_1_0_3_0_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25696:1: ( rule__SequencePattern__Group_1_0_3_0_2__2__Impl rule__SequencePattern__Group_1_0_3_0_2__3 ) + // InternalFiacre.g:25697:2: rule__SequencePattern__Group_1_0_3_0_2__2__Impl rule__SequencePattern__Group_1_0_3_0_2__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__SequencePattern__Group_1_0_3_0_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__2__Impl" + // InternalFiacre.g:25704:1: rule__SequencePattern__Group_1_0_3_0_2__2__Impl : ( ',' ) ; + public final void rule__SequencePattern__Group_1_0_3_0_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25708:1: ( ( ',' ) ) + // InternalFiacre.g:25709:1: ( ',' ) + { + // InternalFiacre.g:25709:1: ( ',' ) + // InternalFiacre.g:25710:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__3" + // InternalFiacre.g:25719:1: rule__SequencePattern__Group_1_0_3_0_2__3 : rule__SequencePattern__Group_1_0_3_0_2__3__Impl ; + public final void rule__SequencePattern__Group_1_0_3_0_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25723:1: ( rule__SequencePattern__Group_1_0_3_0_2__3__Impl ) + // InternalFiacre.g:25724:2: rule__SequencePattern__Group_1_0_3_0_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_0_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_0_2__3__Impl" + // InternalFiacre.g:25730:1: rule__SequencePattern__Group_1_0_3_0_2__3__Impl : ( ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_0_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25734:1: ( ( ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) ) ) + // InternalFiacre.g:25735:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) ) + { + // InternalFiacre.g:25735:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) ) + // InternalFiacre.g:25736:2: ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_0_2_3()); + } + // InternalFiacre.g:25737:2: ( rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 ) + // InternalFiacre.g:25737:3: rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__UpperAssignment_1_0_3_0_2_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_0_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_0_2__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__0" + // InternalFiacre.g:25746:1: rule__SequencePattern__Group_1_0_3_1__0 : rule__SequencePattern__Group_1_0_3_1__0__Impl rule__SequencePattern__Group_1_0_3_1__1 ; + public final void rule__SequencePattern__Group_1_0_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25750:1: ( rule__SequencePattern__Group_1_0_3_1__0__Impl rule__SequencePattern__Group_1_0_3_1__1 ) + // InternalFiacre.g:25751:2: rule__SequencePattern__Group_1_0_3_1__0__Impl rule__SequencePattern__Group_1_0_3_1__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__SequencePattern__Group_1_0_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__0__Impl" + // InternalFiacre.g:25758:1: rule__SequencePattern__Group_1_0_3_1__0__Impl : ( 'within' ) ; + public final void rule__SequencePattern__Group_1_0_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25762:1: ( ( 'within' ) ) + // InternalFiacre.g:25763:1: ( 'within' ) + { + // InternalFiacre.g:25763:1: ( 'within' ) + // InternalFiacre.g:25764:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__1" + // InternalFiacre.g:25773:1: rule__SequencePattern__Group_1_0_3_1__1 : rule__SequencePattern__Group_1_0_3_1__1__Impl rule__SequencePattern__Group_1_0_3_1__2 ; + public final void rule__SequencePattern__Group_1_0_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25777:1: ( rule__SequencePattern__Group_1_0_3_1__1__Impl rule__SequencePattern__Group_1_0_3_1__2 ) + // InternalFiacre.g:25778:2: rule__SequencePattern__Group_1_0_3_1__1__Impl rule__SequencePattern__Group_1_0_3_1__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__SequencePattern__Group_1_0_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__1__Impl" + // InternalFiacre.g:25785:1: rule__SequencePattern__Group_1_0_3_1__1__Impl : ( ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25789:1: ( ( ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) ) ) + // InternalFiacre.g:25790:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) ) + { + // InternalFiacre.g:25790:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) ) + // InternalFiacre.g:25791:2: ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_1_1()); + } + // InternalFiacre.g:25792:2: ( rule__SequencePattern__LowerAssignment_1_0_3_1_1 ) + // InternalFiacre.g:25792:3: rule__SequencePattern__LowerAssignment_1_0_3_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__LowerAssignment_1_0_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__2" + // InternalFiacre.g:25800:1: rule__SequencePattern__Group_1_0_3_1__2 : rule__SequencePattern__Group_1_0_3_1__2__Impl rule__SequencePattern__Group_1_0_3_1__3 ; + public final void rule__SequencePattern__Group_1_0_3_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25804:1: ( rule__SequencePattern__Group_1_0_3_1__2__Impl rule__SequencePattern__Group_1_0_3_1__3 ) + // InternalFiacre.g:25805:2: rule__SequencePattern__Group_1_0_3_1__2__Impl rule__SequencePattern__Group_1_0_3_1__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__SequencePattern__Group_1_0_3_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__2__Impl" + // InternalFiacre.g:25812:1: rule__SequencePattern__Group_1_0_3_1__2__Impl : ( ',' ) ; + public final void rule__SequencePattern__Group_1_0_3_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25816:1: ( ( ',' ) ) + // InternalFiacre.g:25817:1: ( ',' ) + { + // InternalFiacre.g:25817:1: ( ',' ) + // InternalFiacre.g:25818:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__3" + // InternalFiacre.g:25827:1: rule__SequencePattern__Group_1_0_3_1__3 : rule__SequencePattern__Group_1_0_3_1__3__Impl ; + public final void rule__SequencePattern__Group_1_0_3_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25831:1: ( rule__SequencePattern__Group_1_0_3_1__3__Impl ) + // InternalFiacre.g:25832:2: rule__SequencePattern__Group_1_0_3_1__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_1__3__Impl" + // InternalFiacre.g:25838:1: rule__SequencePattern__Group_1_0_3_1__3__Impl : ( ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25842:1: ( ( ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) ) ) + // InternalFiacre.g:25843:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) ) + { + // InternalFiacre.g:25843:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) ) + // InternalFiacre.g:25844:2: ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_1_3()); + } + // InternalFiacre.g:25845:2: ( rule__SequencePattern__UpperAssignment_1_0_3_1_3 ) + // InternalFiacre.g:25845:3: rule__SequencePattern__UpperAssignment_1_0_3_1_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__UpperAssignment_1_0_3_1_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_1__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__0" + // InternalFiacre.g:25854:1: rule__SequencePattern__Group_1_0_3_2__0 : rule__SequencePattern__Group_1_0_3_2__0__Impl rule__SequencePattern__Group_1_0_3_2__1 ; + public final void rule__SequencePattern__Group_1_0_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25858:1: ( rule__SequencePattern__Group_1_0_3_2__0__Impl rule__SequencePattern__Group_1_0_3_2__1 ) + // InternalFiacre.g:25859:2: rule__SequencePattern__Group_1_0_3_2__0__Impl rule__SequencePattern__Group_1_0_3_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__0__Impl" + // InternalFiacre.g:25866:1: rule__SequencePattern__Group_1_0_3_2__0__Impl : ( 'after' ) ; + public final void rule__SequencePattern__Group_1_0_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25870:1: ( ( 'after' ) ) + // InternalFiacre.g:25871:1: ( 'after' ) + { + // InternalFiacre.g:25871:1: ( 'after' ) + // InternalFiacre.g:25872:2: 'after' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); + } + match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__1" + // InternalFiacre.g:25881:1: rule__SequencePattern__Group_1_0_3_2__1 : rule__SequencePattern__Group_1_0_3_2__1__Impl rule__SequencePattern__Group_1_0_3_2__2 ; + public final void rule__SequencePattern__Group_1_0_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25885:1: ( rule__SequencePattern__Group_1_0_3_2__1__Impl rule__SequencePattern__Group_1_0_3_2__2 ) + // InternalFiacre.g:25886:2: rule__SequencePattern__Group_1_0_3_2__1__Impl rule__SequencePattern__Group_1_0_3_2__2 + { + pushFollow(FollowSets000.FOLLOW_136); + rule__SequencePattern__Group_1_0_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__1__Impl" + // InternalFiacre.g:25893:1: rule__SequencePattern__Group_1_0_3_2__1__Impl : ( ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25897:1: ( ( ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) ) ) + // InternalFiacre.g:25898:1: ( ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) ) + { + // InternalFiacre.g:25898:1: ( ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) ) + // InternalFiacre.g:25899:2: ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_0_3_2_1()); + } + // InternalFiacre.g:25900:2: ( rule__SequencePattern__AfterAssignment_1_0_3_2_1 ) + // InternalFiacre.g:25900:3: rule__SequencePattern__AfterAssignment_1_0_3_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__AfterAssignment_1_0_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_0_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__2" + // InternalFiacre.g:25908:1: rule__SequencePattern__Group_1_0_3_2__2 : rule__SequencePattern__Group_1_0_3_2__2__Impl ; + public final void rule__SequencePattern__Group_1_0_3_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25912:1: ( rule__SequencePattern__Group_1_0_3_2__2__Impl ) + // InternalFiacre.g:25913:2: rule__SequencePattern__Group_1_0_3_2__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2__2__Impl" + // InternalFiacre.g:25919:1: rule__SequencePattern__Group_1_0_3_2__2__Impl : ( ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? ) ; + public final void rule__SequencePattern__Group_1_0_3_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25923:1: ( ( ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? ) ) + // InternalFiacre.g:25924:1: ( ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? ) + { + // InternalFiacre.g:25924:1: ( ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? ) + // InternalFiacre.g:25925:2: ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3_2_2()); + } + // InternalFiacre.g:25926:2: ( rule__SequencePattern__Alternatives_1_0_3_2_2 )? + int alt190=2; + int LA190_0 = input.LA(1); + + if ( ((LA190_0>=120 && LA190_0<=121)) ) { + alt190=1; + } + switch (alt190) { + case 1 : + // InternalFiacre.g:25926:3: rule__SequencePattern__Alternatives_1_0_3_2_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Alternatives_1_0_3_2_2(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAlternatives_1_0_3_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__0" + // InternalFiacre.g:25935:1: rule__SequencePattern__Group_1_0_3_2_2_0__0 : rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl rule__SequencePattern__Group_1_0_3_2_2_0__1 ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25939:1: ( rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl rule__SequencePattern__Group_1_0_3_2_2_0__1 ) + // InternalFiacre.g:25940:2: rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl rule__SequencePattern__Group_1_0_3_2_2_0__1 + { + pushFollow(FollowSets000.FOLLOW_47); + rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl" + // InternalFiacre.g:25947:1: rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl : ( 'within' ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25951:1: ( ( 'within' ) ) + // InternalFiacre.g:25952:1: ( 'within' ) + { + // InternalFiacre.g:25952:1: ( 'within' ) + // InternalFiacre.g:25953:2: 'within' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); + } + match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__1" + // InternalFiacre.g:25962:1: rule__SequencePattern__Group_1_0_3_2_2_0__1 : rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl rule__SequencePattern__Group_1_0_3_2_2_0__2 ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25966:1: ( rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl rule__SequencePattern__Group_1_0_3_2_2_0__2 ) + // InternalFiacre.g:25967:2: rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl rule__SequencePattern__Group_1_0_3_2_2_0__2 + { + pushFollow(FollowSets000.FOLLOW_19); + rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl" + // InternalFiacre.g:25974:1: rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl : ( ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25978:1: ( ( ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) ) ) + // InternalFiacre.g:25979:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) ) + { + // InternalFiacre.g:25979:1: ( ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) ) + // InternalFiacre.g:25980:2: ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_2_2_0_1()); + } + // InternalFiacre.g:25981:2: ( rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 ) + // InternalFiacre.g:25981:3: rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerAssignment_1_0_3_2_2_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__2" + // InternalFiacre.g:25989:1: rule__SequencePattern__Group_1_0_3_2_2_0__2 : rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl rule__SequencePattern__Group_1_0_3_2_2_0__3 ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:25993:1: ( rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl rule__SequencePattern__Group_1_0_3_2_2_0__3 ) + // InternalFiacre.g:25994:2: rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl rule__SequencePattern__Group_1_0_3_2_2_0__3 + { + pushFollow(FollowSets000.FOLLOW_48); + rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl" + // InternalFiacre.g:26001:1: rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl : ( ',' ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26005:1: ( ( ',' ) ) + // InternalFiacre.g:26006:1: ( ',' ) + { + // InternalFiacre.g:26006:1: ( ',' ) + // InternalFiacre.g:26007:2: ',' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); + } + match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__3" + // InternalFiacre.g:26016:1: rule__SequencePattern__Group_1_0_3_2_2_0__3 : rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26020:1: ( rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl ) + // InternalFiacre.g:26021:2: rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl" + // InternalFiacre.g:26027:1: rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl : ( ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26031:1: ( ( ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) ) ) + // InternalFiacre.g:26032:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) ) + { + // InternalFiacre.g:26032:1: ( ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) ) + // InternalFiacre.g:26033:2: ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_2_2_0_3()); + } + // InternalFiacre.g:26034:2: ( rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 ) + // InternalFiacre.g:26034:3: rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperAssignment_1_0_3_2_2_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_0__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_1__0" + // InternalFiacre.g:26043:1: rule__SequencePattern__Group_1_0_3_2_2_1__0 : rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl rule__SequencePattern__Group_1_0_3_2_2_1__1 ; + public final void rule__SequencePattern__Group_1_0_3_2_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26047:1: ( rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl rule__SequencePattern__Group_1_0_3_2_2_1__1 ) + // InternalFiacre.g:26048:2: rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl rule__SequencePattern__Group_1_0_3_2_2_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_1__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl" + // InternalFiacre.g:26055:1: rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl : ( 'until' ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26059:1: ( ( 'until' ) ) + // InternalFiacre.g:26060:1: ( 'until' ) + { + // InternalFiacre.g:26060:1: ( 'until' ) + // InternalFiacre.g:26061:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_1__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_1__1" + // InternalFiacre.g:26070:1: rule__SequencePattern__Group_1_0_3_2_2_1__1 : rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl ; + public final void rule__SequencePattern__Group_1_0_3_2_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26074:1: ( rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl ) + // InternalFiacre.g:26075:2: rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_1__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl" + // InternalFiacre.g:26081:1: rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl : ( ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26085:1: ( ( ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) ) ) + // InternalFiacre.g:26086:1: ( ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) ) + { + // InternalFiacre.g:26086:1: ( ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) ) + // InternalFiacre.g:26087:2: ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_0_3_2_2_1_1()); + } + // InternalFiacre.g:26088:2: ( rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 ) + // InternalFiacre.g:26088:3: rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_0_3_2_2_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_2_2_1__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__0" + // InternalFiacre.g:26097:1: rule__SequencePattern__Group_1_0_3_3__0 : rule__SequencePattern__Group_1_0_3_3__0__Impl rule__SequencePattern__Group_1_0_3_3__1 ; + public final void rule__SequencePattern__Group_1_0_3_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26101:1: ( rule__SequencePattern__Group_1_0_3_3__0__Impl rule__SequencePattern__Group_1_0_3_3__1 ) + // InternalFiacre.g:26102:2: rule__SequencePattern__Group_1_0_3_3__0__Impl rule__SequencePattern__Group_1_0_3_3__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0_3_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__0__Impl" + // InternalFiacre.g:26109:1: rule__SequencePattern__Group_1_0_3_3__0__Impl : ( 'between' ) ; + public final void rule__SequencePattern__Group_1_0_3_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26113:1: ( ( 'between' ) ) + // InternalFiacre.g:26114:1: ( 'between' ) + { + // InternalFiacre.g:26114:1: ( 'between' ) + // InternalFiacre.g:26115:2: 'between' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); + } + match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__1" + // InternalFiacre.g:26124:1: rule__SequencePattern__Group_1_0_3_3__1 : rule__SequencePattern__Group_1_0_3_3__1__Impl rule__SequencePattern__Group_1_0_3_3__2 ; + public final void rule__SequencePattern__Group_1_0_3_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26128:1: ( rule__SequencePattern__Group_1_0_3_3__1__Impl rule__SequencePattern__Group_1_0_3_3__2 ) + // InternalFiacre.g:26129:2: rule__SequencePattern__Group_1_0_3_3__1__Impl rule__SequencePattern__Group_1_0_3_3__2 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__SequencePattern__Group_1_0_3_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_3__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__1__Impl" + // InternalFiacre.g:26136:1: rule__SequencePattern__Group_1_0_3_3__1__Impl : ( ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26140:1: ( ( ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) ) ) + // InternalFiacre.g:26141:1: ( ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) ) + { + // InternalFiacre.g:26141:1: ( ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) ) + // InternalFiacre.g:26142:2: ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMinAssignment_1_0_3_3_1()); + } + // InternalFiacre.g:26143:2: ( rule__SequencePattern__MinAssignment_1_0_3_3_1 ) + // InternalFiacre.g:26143:3: rule__SequencePattern__MinAssignment_1_0_3_3_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__MinAssignment_1_0_3_3_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMinAssignment_1_0_3_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__2" + // InternalFiacre.g:26151:1: rule__SequencePattern__Group_1_0_3_3__2 : rule__SequencePattern__Group_1_0_3_3__2__Impl rule__SequencePattern__Group_1_0_3_3__3 ; + public final void rule__SequencePattern__Group_1_0_3_3__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26155:1: ( rule__SequencePattern__Group_1_0_3_3__2__Impl rule__SequencePattern__Group_1_0_3_3__3 ) + // InternalFiacre.g:26156:2: rule__SequencePattern__Group_1_0_3_3__2__Impl rule__SequencePattern__Group_1_0_3_3__3 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_0_3_3__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_3__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__2__Impl" + // InternalFiacre.g:26163:1: rule__SequencePattern__Group_1_0_3_3__2__Impl : ( 'and' ) ; + public final void rule__SequencePattern__Group_1_0_3_3__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26167:1: ( ( 'and' ) ) + // InternalFiacre.g:26168:1: ( 'and' ) + { + // InternalFiacre.g:26168:1: ( 'and' ) + // InternalFiacre.g:26169:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__3" + // InternalFiacre.g:26178:1: rule__SequencePattern__Group_1_0_3_3__3 : rule__SequencePattern__Group_1_0_3_3__3__Impl ; + public final void rule__SequencePattern__Group_1_0_3_3__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26182:1: ( rule__SequencePattern__Group_1_0_3_3__3__Impl ) + // InternalFiacre.g:26183:2: rule__SequencePattern__Group_1_0_3_3__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_0_3_3__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_0_3_3__3__Impl" + // InternalFiacre.g:26189:1: rule__SequencePattern__Group_1_0_3_3__3__Impl : ( ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) ) ; + public final void rule__SequencePattern__Group_1_0_3_3__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26193:1: ( ( ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) ) ) + // InternalFiacre.g:26194:1: ( ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) ) + { + // InternalFiacre.g:26194:1: ( ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) ) + // InternalFiacre.g:26195:2: ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_0_3_3_3()); + } + // InternalFiacre.g:26196:2: ( rule__SequencePattern__MaxAssignment_1_0_3_3_3 ) + // InternalFiacre.g:26196:3: rule__SequencePattern__MaxAssignment_1_0_3_3_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__MaxAssignment_1_0_3_3_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_0_3_3_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_0_3_3__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__0" + // InternalFiacre.g:26205:1: rule__SequencePattern__Group_1_1__0 : rule__SequencePattern__Group_1_1__0__Impl rule__SequencePattern__Group_1_1__1 ; + public final void rule__SequencePattern__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26209:1: ( rule__SequencePattern__Group_1_1__0__Impl rule__SequencePattern__Group_1_1__1 ) + // InternalFiacre.g:26210:2: rule__SequencePattern__Group_1_1__0__Impl rule__SequencePattern__Group_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__0__Impl" + // InternalFiacre.g:26217:1: rule__SequencePattern__Group_1_1__0__Impl : ( 'precedes' ) ; + public final void rule__SequencePattern__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26221:1: ( ( 'precedes' ) ) + // InternalFiacre.g:26222:1: ( 'precedes' ) + { + // InternalFiacre.g:26222:1: ( 'precedes' ) + // InternalFiacre.g:26223:2: 'precedes' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); + } + match(input,128,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__1" + // InternalFiacre.g:26232:1: rule__SequencePattern__Group_1_1__1 : rule__SequencePattern__Group_1_1__1__Impl rule__SequencePattern__Group_1_1__2 ; + public final void rule__SequencePattern__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26236:1: ( rule__SequencePattern__Group_1_1__1__Impl rule__SequencePattern__Group_1_1__2 ) + // InternalFiacre.g:26237:2: rule__SequencePattern__Group_1_1__1__Impl rule__SequencePattern__Group_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__1__Impl" + // InternalFiacre.g:26244:1: rule__SequencePattern__Group_1_1__1__Impl : ( () ) ; + public final void rule__SequencePattern__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26248:1: ( ( () ) ) + // InternalFiacre.g:26249:1: ( () ) + { + // InternalFiacre.g:26249:1: ( () ) + // InternalFiacre.g:26250:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1()); + } + // InternalFiacre.g:26251:2: () + // InternalFiacre.g:26251:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__2" + // InternalFiacre.g:26259:1: rule__SequencePattern__Group_1_1__2 : rule__SequencePattern__Group_1_1__2__Impl rule__SequencePattern__Group_1_1__3 ; + public final void rule__SequencePattern__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26263:1: ( rule__SequencePattern__Group_1_1__2__Impl rule__SequencePattern__Group_1_1__3 ) + // InternalFiacre.g:26264:2: rule__SequencePattern__Group_1_1__2__Impl rule__SequencePattern__Group_1_1__3 + { + pushFollow(FollowSets000.FOLLOW_138); + rule__SequencePattern__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__2__Impl" + // InternalFiacre.g:26271:1: rule__SequencePattern__Group_1_1__2__Impl : ( ( rule__SequencePattern__FollowerAssignment_1_1_2 ) ) ; + public final void rule__SequencePattern__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26275:1: ( ( ( rule__SequencePattern__FollowerAssignment_1_1_2 ) ) ) + // InternalFiacre.g:26276:1: ( ( rule__SequencePattern__FollowerAssignment_1_1_2 ) ) + { + // InternalFiacre.g:26276:1: ( ( rule__SequencePattern__FollowerAssignment_1_1_2 ) ) + // InternalFiacre.g:26277:2: ( rule__SequencePattern__FollowerAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_1_2()); + } + // InternalFiacre.g:26278:2: ( rule__SequencePattern__FollowerAssignment_1_1_2 ) + // InternalFiacre.g:26278:3: rule__SequencePattern__FollowerAssignment_1_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__FollowerAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getFollowerAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__3" + // InternalFiacre.g:26286:1: rule__SequencePattern__Group_1_1__3 : rule__SequencePattern__Group_1_1__3__Impl ; + public final void rule__SequencePattern__Group_1_1__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26290:1: ( rule__SequencePattern__Group_1_1__3__Impl ) + // InternalFiacre.g:26291:2: rule__SequencePattern__Group_1_1__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_1__3__Impl" + // InternalFiacre.g:26297:1: rule__SequencePattern__Group_1_1__3__Impl : ( ( rule__SequencePattern__Alternatives_1_1_3 )? ) ; + public final void rule__SequencePattern__Group_1_1__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26301:1: ( ( ( rule__SequencePattern__Alternatives_1_1_3 )? ) ) + // InternalFiacre.g:26302:1: ( ( rule__SequencePattern__Alternatives_1_1_3 )? ) + { + // InternalFiacre.g:26302:1: ( ( rule__SequencePattern__Alternatives_1_1_3 )? ) + // InternalFiacre.g:26303:2: ( rule__SequencePattern__Alternatives_1_1_3 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAlternatives_1_1_3()); + } + // InternalFiacre.g:26304:2: ( rule__SequencePattern__Alternatives_1_1_3 )? + int alt191=2; + int LA191_0 = input.LA(1); + + if ( (LA191_0==119||(LA191_0>=122 && LA191_0<=123)) ) { + alt191=1; + } + switch (alt191) { + case 1 : + // InternalFiacre.g:26304:3: rule__SequencePattern__Alternatives_1_1_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Alternatives_1_1_3(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAlternatives_1_1_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1__3__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_0__0" + // InternalFiacre.g:26313:1: rule__SequencePattern__Group_1_1_3_0__0 : rule__SequencePattern__Group_1_1_3_0__0__Impl rule__SequencePattern__Group_1_1_3_0__1 ; + public final void rule__SequencePattern__Group_1_1_3_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26317:1: ( rule__SequencePattern__Group_1_1_3_0__0__Impl rule__SequencePattern__Group_1_1_3_0__1 ) + // InternalFiacre.g:26318:2: rule__SequencePattern__Group_1_1_3_0__0__Impl rule__SequencePattern__Group_1_1_3_0__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1_3_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_0__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_0__0__Impl" + // InternalFiacre.g:26325:1: rule__SequencePattern__Group_1_1_3_0__0__Impl : ( 'before' ) ; + public final void rule__SequencePattern__Group_1_1_3_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26329:1: ( ( 'before' ) ) + // InternalFiacre.g:26330:1: ( 'before' ) + { + // InternalFiacre.g:26330:1: ( 'before' ) + // InternalFiacre.g:26331:2: 'before' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); + } + match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_0__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_0__1" + // InternalFiacre.g:26340:1: rule__SequencePattern__Group_1_1_3_0__1 : rule__SequencePattern__Group_1_1_3_0__1__Impl ; + public final void rule__SequencePattern__Group_1_1_3_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26344:1: ( rule__SequencePattern__Group_1_1_3_0__1__Impl ) + // InternalFiacre.g:26345:2: rule__SequencePattern__Group_1_1_3_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_0__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_0__1__Impl" + // InternalFiacre.g:26351:1: rule__SequencePattern__Group_1_1_3_0__1__Impl : ( ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) ) ; + public final void rule__SequencePattern__Group_1_1_3_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26355:1: ( ( ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) ) ) + // InternalFiacre.g:26356:1: ( ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) ) + { + // InternalFiacre.g:26356:1: ( ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) ) + // InternalFiacre.g:26357:2: ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_1_3_0_1()); + } + // InternalFiacre.g:26358:2: ( rule__SequencePattern__BeforeAssignment_1_1_3_0_1 ) + // InternalFiacre.g:26358:3: rule__SequencePattern__BeforeAssignment_1_1_3_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__BeforeAssignment_1_1_3_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeAssignment_1_1_3_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_0__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__0" + // InternalFiacre.g:26367:1: rule__SequencePattern__Group_1_1_3_1__0 : rule__SequencePattern__Group_1_1_3_1__0__Impl rule__SequencePattern__Group_1_1_3_1__1 ; + public final void rule__SequencePattern__Group_1_1_3_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26371:1: ( rule__SequencePattern__Group_1_1_3_1__0__Impl rule__SequencePattern__Group_1_1_3_1__1 ) + // InternalFiacre.g:26372:2: rule__SequencePattern__Group_1_1_3_1__0__Impl rule__SequencePattern__Group_1_1_3_1__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1_3_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__0__Impl" + // InternalFiacre.g:26379:1: rule__SequencePattern__Group_1_1_3_1__0__Impl : ( 'after' ) ; + public final void rule__SequencePattern__Group_1_1_3_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26383:1: ( ( 'after' ) ) + // InternalFiacre.g:26384:1: ( 'after' ) + { + // InternalFiacre.g:26384:1: ( 'after' ) + // InternalFiacre.g:26385:2: 'after' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); + } + match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__1" + // InternalFiacre.g:26394:1: rule__SequencePattern__Group_1_1_3_1__1 : rule__SequencePattern__Group_1_1_3_1__1__Impl rule__SequencePattern__Group_1_1_3_1__2 ; + public final void rule__SequencePattern__Group_1_1_3_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26398:1: ( rule__SequencePattern__Group_1_1_3_1__1__Impl rule__SequencePattern__Group_1_1_3_1__2 ) + // InternalFiacre.g:26399:2: rule__SequencePattern__Group_1_1_3_1__1__Impl rule__SequencePattern__Group_1_1_3_1__2 + { + pushFollow(FollowSets000.FOLLOW_140); + rule__SequencePattern__Group_1_1_3_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__1__Impl" + // InternalFiacre.g:26406:1: rule__SequencePattern__Group_1_1_3_1__1__Impl : ( ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) ) ; + public final void rule__SequencePattern__Group_1_1_3_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26410:1: ( ( ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) ) ) + // InternalFiacre.g:26411:1: ( ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) ) + { + // InternalFiacre.g:26411:1: ( ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) ) + // InternalFiacre.g:26412:2: ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_1_3_1_1()); + } + // InternalFiacre.g:26413:2: ( rule__SequencePattern__AfterAssignment_1_1_3_1_1 ) + // InternalFiacre.g:26413:3: rule__SequencePattern__AfterAssignment_1_1_3_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__AfterAssignment_1_1_3_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterAssignment_1_1_3_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__2" + // InternalFiacre.g:26421:1: rule__SequencePattern__Group_1_1_3_1__2 : rule__SequencePattern__Group_1_1_3_1__2__Impl ; + public final void rule__SequencePattern__Group_1_1_3_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26425:1: ( rule__SequencePattern__Group_1_1_3_1__2__Impl ) + // InternalFiacre.g:26426:2: rule__SequencePattern__Group_1_1_3_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1__2__Impl" + // InternalFiacre.g:26432:1: rule__SequencePattern__Group_1_1_3_1__2__Impl : ( ( rule__SequencePattern__Group_1_1_3_1_2__0 )? ) ; + public final void rule__SequencePattern__Group_1_1_3_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26436:1: ( ( ( rule__SequencePattern__Group_1_1_3_1_2__0 )? ) ) + // InternalFiacre.g:26437:1: ( ( rule__SequencePattern__Group_1_1_3_1_2__0 )? ) + { + // InternalFiacre.g:26437:1: ( ( rule__SequencePattern__Group_1_1_3_1_2__0 )? ) + // InternalFiacre.g:26438:2: ( rule__SequencePattern__Group_1_1_3_1_2__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1_2()); + } + // InternalFiacre.g:26439:2: ( rule__SequencePattern__Group_1_1_3_1_2__0 )? + int alt192=2; + int LA192_0 = input.LA(1); + + if ( (LA192_0==121) ) { + alt192=1; + } + switch (alt192) { + case 1 : + // InternalFiacre.g:26439:3: rule__SequencePattern__Group_1_1_3_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getGroup_1_1_3_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1_2__0" + // InternalFiacre.g:26448:1: rule__SequencePattern__Group_1_1_3_1_2__0 : rule__SequencePattern__Group_1_1_3_1_2__0__Impl rule__SequencePattern__Group_1_1_3_1_2__1 ; + public final void rule__SequencePattern__Group_1_1_3_1_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26452:1: ( rule__SequencePattern__Group_1_1_3_1_2__0__Impl rule__SequencePattern__Group_1_1_3_1_2__1 ) + // InternalFiacre.g:26453:2: rule__SequencePattern__Group_1_1_3_1_2__0__Impl rule__SequencePattern__Group_1_1_3_1_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1_3_1_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1_2__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1_2__0__Impl" + // InternalFiacre.g:26460:1: rule__SequencePattern__Group_1_1_3_1_2__0__Impl : ( 'until' ) ; + public final void rule__SequencePattern__Group_1_1_3_1_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26464:1: ( ( 'until' ) ) + // InternalFiacre.g:26465:1: ( 'until' ) + { + // InternalFiacre.g:26465:1: ( 'until' ) + // InternalFiacre.g:26466:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1_2__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1_2__1" + // InternalFiacre.g:26475:1: rule__SequencePattern__Group_1_1_3_1_2__1 : rule__SequencePattern__Group_1_1_3_1_2__1__Impl ; + public final void rule__SequencePattern__Group_1_1_3_1_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26479:1: ( rule__SequencePattern__Group_1_1_3_1_2__1__Impl ) + // InternalFiacre.g:26480:2: rule__SequencePattern__Group_1_1_3_1_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_1_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1_2__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_1_2__1__Impl" + // InternalFiacre.g:26486:1: rule__SequencePattern__Group_1_1_3_1_2__1__Impl : ( ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) ) ; + public final void rule__SequencePattern__Group_1_1_3_1_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26490:1: ( ( ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) ) ) + // InternalFiacre.g:26491:1: ( ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) ) + { + // InternalFiacre.g:26491:1: ( ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) ) + // InternalFiacre.g:26492:2: ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_1_3_1_2_1()); + } + // InternalFiacre.g:26493:2: ( rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 ) + // InternalFiacre.g:26493:3: rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__UntilAssignment_1_1_3_1_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilAssignment_1_1_3_1_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_1_2__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__0" + // InternalFiacre.g:26502:1: rule__SequencePattern__Group_1_1_3_2__0 : rule__SequencePattern__Group_1_1_3_2__0__Impl rule__SequencePattern__Group_1_1_3_2__1 ; + public final void rule__SequencePattern__Group_1_1_3_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26506:1: ( rule__SequencePattern__Group_1_1_3_2__0__Impl rule__SequencePattern__Group_1_1_3_2__1 ) + // InternalFiacre.g:26507:2: rule__SequencePattern__Group_1_1_3_2__0__Impl rule__SequencePattern__Group_1_1_3_2__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1_3_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__0" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__0__Impl" + // InternalFiacre.g:26514:1: rule__SequencePattern__Group_1_1_3_2__0__Impl : ( 'between' ) ; + public final void rule__SequencePattern__Group_1_1_3_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26518:1: ( ( 'between' ) ) + // InternalFiacre.g:26519:1: ( 'between' ) + { + // InternalFiacre.g:26519:1: ( 'between' ) + // InternalFiacre.g:26520:2: 'between' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); + } + match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__0__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__1" + // InternalFiacre.g:26529:1: rule__SequencePattern__Group_1_1_3_2__1 : rule__SequencePattern__Group_1_1_3_2__1__Impl rule__SequencePattern__Group_1_1_3_2__2 ; + public final void rule__SequencePattern__Group_1_1_3_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26533:1: ( rule__SequencePattern__Group_1_1_3_2__1__Impl rule__SequencePattern__Group_1_1_3_2__2 ) + // InternalFiacre.g:26534:2: rule__SequencePattern__Group_1_1_3_2__1__Impl rule__SequencePattern__Group_1_1_3_2__2 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__SequencePattern__Group_1_1_3_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__1" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__1__Impl" + // InternalFiacre.g:26541:1: rule__SequencePattern__Group_1_1_3_2__1__Impl : ( ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) ) ; + public final void rule__SequencePattern__Group_1_1_3_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26545:1: ( ( ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) ) ) + // InternalFiacre.g:26546:1: ( ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) ) + { + // InternalFiacre.g:26546:1: ( ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) ) + // InternalFiacre.g:26547:2: ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMinAssignment_1_1_3_2_1()); + } + // InternalFiacre.g:26548:2: ( rule__SequencePattern__MinAssignment_1_1_3_2_1 ) + // InternalFiacre.g:26548:3: rule__SequencePattern__MinAssignment_1_1_3_2_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__MinAssignment_1_1_3_2_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMinAssignment_1_1_3_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__1__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__2" + // InternalFiacre.g:26556:1: rule__SequencePattern__Group_1_1_3_2__2 : rule__SequencePattern__Group_1_1_3_2__2__Impl rule__SequencePattern__Group_1_1_3_2__3 ; + public final void rule__SequencePattern__Group_1_1_3_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26560:1: ( rule__SequencePattern__Group_1_1_3_2__2__Impl rule__SequencePattern__Group_1_1_3_2__3 ) + // InternalFiacre.g:26561:2: rule__SequencePattern__Group_1_1_3_2__2__Impl rule__SequencePattern__Group_1_1_3_2__3 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__SequencePattern__Group_1_1_3_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_2__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__2" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__2__Impl" + // InternalFiacre.g:26568:1: rule__SequencePattern__Group_1_1_3_2__2__Impl : ( 'and' ) ; + public final void rule__SequencePattern__Group_1_1_3_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26572:1: ( ( 'and' ) ) + // InternalFiacre.g:26573:1: ( 'and' ) + { + // InternalFiacre.g:26573:1: ( 'and' ) + // InternalFiacre.g:26574:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__2__Impl" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__3" + // InternalFiacre.g:26583:1: rule__SequencePattern__Group_1_1_3_2__3 : rule__SequencePattern__Group_1_1_3_2__3__Impl ; + public final void rule__SequencePattern__Group_1_1_3_2__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26587:1: ( rule__SequencePattern__Group_1_1_3_2__3__Impl ) + // InternalFiacre.g:26588:2: rule__SequencePattern__Group_1_1_3_2__3__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__Group_1_1_3_2__3__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__3" + + + // $ANTLR start "rule__SequencePattern__Group_1_1_3_2__3__Impl" + // InternalFiacre.g:26594:1: rule__SequencePattern__Group_1_1_3_2__3__Impl : ( ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) ) ; + public final void rule__SequencePattern__Group_1_1_3_2__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26598:1: ( ( ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) ) ) + // InternalFiacre.g:26599:1: ( ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) ) + { + // InternalFiacre.g:26599:1: ( ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) ) + // InternalFiacre.g:26600:2: ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_1_3_2_3()); + } + // InternalFiacre.g:26601:2: ( rule__SequencePattern__MaxAssignment_1_1_3_2_3 ) + // InternalFiacre.g:26601:3: rule__SequencePattern__MaxAssignment_1_1_3_2_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__SequencePattern__MaxAssignment_1_1_3_2_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMaxAssignment_1_1_3_2_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__Group_1_1_3_2__3__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__0" + // InternalFiacre.g:26610:1: rule__LTLQuantified__Group_0__0 : rule__LTLQuantified__Group_0__0__Impl rule__LTLQuantified__Group_0__1 ; + public final void rule__LTLQuantified__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26614:1: ( rule__LTLQuantified__Group_0__0__Impl rule__LTLQuantified__Group_0__1 ) + // InternalFiacre.g:26615:2: rule__LTLQuantified__Group_0__0__Impl rule__LTLQuantified__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__LTLQuantified__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__0" + + + // $ANTLR start "rule__LTLQuantified__Group_0__0__Impl" + // InternalFiacre.g:26622:1: rule__LTLQuantified__Group_0__0__Impl : ( ( rule__LTLQuantified__Alternatives_0_0 ) ) ; + public final void rule__LTLQuantified__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26626:1: ( ( ( rule__LTLQuantified__Alternatives_0_0 ) ) ) + // InternalFiacre.g:26627:1: ( ( rule__LTLQuantified__Alternatives_0_0 ) ) + { + // InternalFiacre.g:26627:1: ( ( rule__LTLQuantified__Alternatives_0_0 ) ) + // InternalFiacre.g:26628:2: ( rule__LTLQuantified__Alternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getAlternatives_0_0()); + } + // InternalFiacre.g:26629:2: ( rule__LTLQuantified__Alternatives_0_0 ) + // InternalFiacre.g:26629:3: rule__LTLQuantified__Alternatives_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Alternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__0__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__1" + // InternalFiacre.g:26637:1: rule__LTLQuantified__Group_0__1 : rule__LTLQuantified__Group_0__1__Impl rule__LTLQuantified__Group_0__2 ; + public final void rule__LTLQuantified__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26641:1: ( rule__LTLQuantified__Group_0__1__Impl rule__LTLQuantified__Group_0__2 ) + // InternalFiacre.g:26642:2: rule__LTLQuantified__Group_0__1__Impl rule__LTLQuantified__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_46); + rule__LTLQuantified__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__1" + + + // $ANTLR start "rule__LTLQuantified__Group_0__1__Impl" + // InternalFiacre.g:26649:1: rule__LTLQuantified__Group_0__1__Impl : ( ( rule__LTLQuantified__IndexAssignment_0_1 ) ) ; + public final void rule__LTLQuantified__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26653:1: ( ( ( rule__LTLQuantified__IndexAssignment_0_1 ) ) ) + // InternalFiacre.g:26654:1: ( ( rule__LTLQuantified__IndexAssignment_0_1 ) ) + { + // InternalFiacre.g:26654:1: ( ( rule__LTLQuantified__IndexAssignment_0_1 ) ) + // InternalFiacre.g:26655:2: ( rule__LTLQuantified__IndexAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getIndexAssignment_0_1()); + } + // InternalFiacre.g:26656:2: ( rule__LTLQuantified__IndexAssignment_0_1 ) + // InternalFiacre.g:26656:3: rule__LTLQuantified__IndexAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__IndexAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getIndexAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__1__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__2" + // InternalFiacre.g:26664:1: rule__LTLQuantified__Group_0__2 : rule__LTLQuantified__Group_0__2__Impl rule__LTLQuantified__Group_0__3 ; + public final void rule__LTLQuantified__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26668:1: ( rule__LTLQuantified__Group_0__2__Impl rule__LTLQuantified__Group_0__3 ) + // InternalFiacre.g:26669:2: rule__LTLQuantified__Group_0__2__Impl rule__LTLQuantified__Group_0__3 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__LTLQuantified__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__3(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__2" + + + // $ANTLR start "rule__LTLQuantified__Group_0__2__Impl" + // InternalFiacre.g:26676:1: rule__LTLQuantified__Group_0__2__Impl : ( 'in' ) ; + public final void rule__LTLQuantified__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26680:1: ( ( 'in' ) ) + // InternalFiacre.g:26681:1: ( 'in' ) + { + // InternalFiacre.g:26681:1: ( 'in' ) + // InternalFiacre.g:26682:2: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__2__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__3" + // InternalFiacre.g:26691:1: rule__LTLQuantified__Group_0__3 : rule__LTLQuantified__Group_0__3__Impl rule__LTLQuantified__Group_0__4 ; + public final void rule__LTLQuantified__Group_0__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26695:1: ( rule__LTLQuantified__Group_0__3__Impl rule__LTLQuantified__Group_0__4 ) + // InternalFiacre.g:26696:2: rule__LTLQuantified__Group_0__3__Impl rule__LTLQuantified__Group_0__4 + { + pushFollow(FollowSets000.FOLLOW_131); + rule__LTLQuantified__Group_0__3__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__4(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__3" + + + // $ANTLR start "rule__LTLQuantified__Group_0__3__Impl" + // InternalFiacre.g:26703:1: rule__LTLQuantified__Group_0__3__Impl : ( ( rule__LTLQuantified__TypeAssignment_0_3 ) ) ; + public final void rule__LTLQuantified__Group_0__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26707:1: ( ( ( rule__LTLQuantified__TypeAssignment_0_3 ) ) ) + // InternalFiacre.g:26708:1: ( ( rule__LTLQuantified__TypeAssignment_0_3 ) ) + { + // InternalFiacre.g:26708:1: ( ( rule__LTLQuantified__TypeAssignment_0_3 ) ) + // InternalFiacre.g:26709:2: ( rule__LTLQuantified__TypeAssignment_0_3 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getTypeAssignment_0_3()); + } + // InternalFiacre.g:26710:2: ( rule__LTLQuantified__TypeAssignment_0_3 ) + // InternalFiacre.g:26710:3: rule__LTLQuantified__TypeAssignment_0_3 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__TypeAssignment_0_3(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getTypeAssignment_0_3()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__3__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__4" + // InternalFiacre.g:26718:1: rule__LTLQuantified__Group_0__4 : rule__LTLQuantified__Group_0__4__Impl rule__LTLQuantified__Group_0__5 ; + public final void rule__LTLQuantified__Group_0__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26722:1: ( rule__LTLQuantified__Group_0__4__Impl rule__LTLQuantified__Group_0__5 ) + // InternalFiacre.g:26723:2: rule__LTLQuantified__Group_0__4__Impl rule__LTLQuantified__Group_0__5 + { + pushFollow(FollowSets000.FOLLOW_143); + rule__LTLQuantified__Group_0__4__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__5(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__4" + + + // $ANTLR start "rule__LTLQuantified__Group_0__4__Impl" + // InternalFiacre.g:26730:1: rule__LTLQuantified__Group_0__4__Impl : ( '.' ) ; + public final void rule__LTLQuantified__Group_0__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26734:1: ( ( '.' ) ) + // InternalFiacre.g:26735:1: ( '.' ) + { + // InternalFiacre.g:26735:1: ( '.' ) + // InternalFiacre.g:26736:2: '.' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); + } + match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__4__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0__5" + // InternalFiacre.g:26745:1: rule__LTLQuantified__Group_0__5 : rule__LTLQuantified__Group_0__5__Impl ; + public final void rule__LTLQuantified__Group_0__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26749:1: ( rule__LTLQuantified__Group_0__5__Impl ) + // InternalFiacre.g:26750:2: rule__LTLQuantified__Group_0__5__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0__5__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__5" + + + // $ANTLR start "rule__LTLQuantified__Group_0__5__Impl" + // InternalFiacre.g:26756:1: rule__LTLQuantified__Group_0__5__Impl : ( ( rule__LTLQuantified__ChildAssignment_0_5 ) ) ; + public final void rule__LTLQuantified__Group_0__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26760:1: ( ( ( rule__LTLQuantified__ChildAssignment_0_5 ) ) ) + // InternalFiacre.g:26761:1: ( ( rule__LTLQuantified__ChildAssignment_0_5 ) ) + { + // InternalFiacre.g:26761:1: ( ( rule__LTLQuantified__ChildAssignment_0_5 ) ) + // InternalFiacre.g:26762:2: ( rule__LTLQuantified__ChildAssignment_0_5 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getChildAssignment_0_5()); + } + // InternalFiacre.g:26763:2: ( rule__LTLQuantified__ChildAssignment_0_5 ) + // InternalFiacre.g:26763:3: rule__LTLQuantified__ChildAssignment_0_5 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__ChildAssignment_0_5(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getChildAssignment_0_5()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0__5__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_0__0" + // InternalFiacre.g:26772:1: rule__LTLQuantified__Group_0_0_0__0 : rule__LTLQuantified__Group_0_0_0__0__Impl rule__LTLQuantified__Group_0_0_0__1 ; + public final void rule__LTLQuantified__Group_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26776:1: ( rule__LTLQuantified__Group_0_0_0__0__Impl rule__LTLQuantified__Group_0_0_0__1 ) + // InternalFiacre.g:26777:2: rule__LTLQuantified__Group_0_0_0__0__Impl rule__LTLQuantified__Group_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_90); + rule__LTLQuantified__Group_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_0__0" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_0__0__Impl" + // InternalFiacre.g:26784:1: rule__LTLQuantified__Group_0_0_0__0__Impl : ( () ) ; + public final void rule__LTLQuantified__Group_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26788:1: ( ( () ) ) + // InternalFiacre.g:26789:1: ( () ) + { + // InternalFiacre.g:26789:1: ( () ) + // InternalFiacre.g:26790:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0()); + } + // InternalFiacre.g:26791:2: () + // InternalFiacre.g:26791:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_0__0__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_0__1" + // InternalFiacre.g:26799:1: rule__LTLQuantified__Group_0_0_0__1 : rule__LTLQuantified__Group_0_0_0__1__Impl ; + public final void rule__LTLQuantified__Group_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26803:1: ( rule__LTLQuantified__Group_0_0_0__1__Impl ) + // InternalFiacre.g:26804:2: rule__LTLQuantified__Group_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_0__1" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_0__1__Impl" + // InternalFiacre.g:26810:1: rule__LTLQuantified__Group_0_0_0__1__Impl : ( 'all' ) ; + public final void rule__LTLQuantified__Group_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26814:1: ( ( 'all' ) ) + // InternalFiacre.g:26815:1: ( 'all' ) + { + // InternalFiacre.g:26815:1: ( 'all' ) + // InternalFiacre.g:26816:2: 'all' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); + } + match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_0__1__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_1__0" + // InternalFiacre.g:26826:1: rule__LTLQuantified__Group_0_0_1__0 : rule__LTLQuantified__Group_0_0_1__0__Impl rule__LTLQuantified__Group_0_0_1__1 ; + public final void rule__LTLQuantified__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26830:1: ( rule__LTLQuantified__Group_0_0_1__0__Impl rule__LTLQuantified__Group_0_0_1__1 ) + // InternalFiacre.g:26831:2: rule__LTLQuantified__Group_0_0_1__0__Impl rule__LTLQuantified__Group_0_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_91); + rule__LTLQuantified__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_1__0" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_1__0__Impl" + // InternalFiacre.g:26838:1: rule__LTLQuantified__Group_0_0_1__0__Impl : ( () ) ; + public final void rule__LTLQuantified__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26842:1: ( ( () ) ) + // InternalFiacre.g:26843:1: ( () ) + { + // InternalFiacre.g:26843:1: ( () ) + // InternalFiacre.g:26844:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0()); + } + // InternalFiacre.g:26845:2: () + // InternalFiacre.g:26845:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_1__1" + // InternalFiacre.g:26853:1: rule__LTLQuantified__Group_0_0_1__1 : rule__LTLQuantified__Group_0_0_1__1__Impl ; + public final void rule__LTLQuantified__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26857:1: ( rule__LTLQuantified__Group_0_0_1__1__Impl ) + // InternalFiacre.g:26858:2: rule__LTLQuantified__Group_0_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLQuantified__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_1__1" + + + // $ANTLR start "rule__LTLQuantified__Group_0_0_1__1__Impl" + // InternalFiacre.g:26864:1: rule__LTLQuantified__Group_0_0_1__1__Impl : ( 'exists' ) ; + public final void rule__LTLQuantified__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26868:1: ( ( 'exists' ) ) + // InternalFiacre.g:26869:1: ( 'exists' ) + { + // InternalFiacre.g:26869:1: ( 'exists' ) + // InternalFiacre.g:26870:2: 'exists' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); + } + match(input,78,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__LTLDisjunction__Group__0" + // InternalFiacre.g:26880:1: rule__LTLDisjunction__Group__0 : rule__LTLDisjunction__Group__0__Impl rule__LTLDisjunction__Group__1 ; + public final void rule__LTLDisjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26884:1: ( rule__LTLDisjunction__Group__0__Impl rule__LTLDisjunction__Group__1 ) + // InternalFiacre.g:26885:2: rule__LTLDisjunction__Group__0__Impl rule__LTLDisjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__LTLDisjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group__0" + + + // $ANTLR start "rule__LTLDisjunction__Group__0__Impl" + // InternalFiacre.g:26892:1: rule__LTLDisjunction__Group__0__Impl : ( ruleLTLImplication ) ; + public final void rule__LTLDisjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26896:1: ( ( ruleLTLImplication ) ) + // InternalFiacre.g:26897:1: ( ruleLTLImplication ) + { + // InternalFiacre.g:26897:1: ( ruleLTLImplication ) + // InternalFiacre.g:26898:2: ruleLTLImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group__0__Impl" + + + // $ANTLR start "rule__LTLDisjunction__Group__1" + // InternalFiacre.g:26907:1: rule__LTLDisjunction__Group__1 : rule__LTLDisjunction__Group__1__Impl ; + public final void rule__LTLDisjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26911:1: ( rule__LTLDisjunction__Group__1__Impl ) + // InternalFiacre.g:26912:2: rule__LTLDisjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group__1" + + + // $ANTLR start "rule__LTLDisjunction__Group__1__Impl" + // InternalFiacre.g:26918:1: rule__LTLDisjunction__Group__1__Impl : ( ( rule__LTLDisjunction__Group_1__0 )* ) ; + public final void rule__LTLDisjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26922:1: ( ( ( rule__LTLDisjunction__Group_1__0 )* ) ) + // InternalFiacre.g:26923:1: ( ( rule__LTLDisjunction__Group_1__0 )* ) + { + // InternalFiacre.g:26923:1: ( ( rule__LTLDisjunction__Group_1__0 )* ) + // InternalFiacre.g:26924:2: ( rule__LTLDisjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:26925:2: ( rule__LTLDisjunction__Group_1__0 )* + loop193: + do { + int alt193=2; + int LA193_0 = input.LA(1); + + if ( (LA193_0==79) ) { + alt193=1; + } + + + switch (alt193) { + case 1 : + // InternalFiacre.g:26925:3: rule__LTLDisjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_94); + rule__LTLDisjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop193; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group__1__Impl" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__0" + // InternalFiacre.g:26934:1: rule__LTLDisjunction__Group_1__0 : rule__LTLDisjunction__Group_1__0__Impl rule__LTLDisjunction__Group_1__1 ; + public final void rule__LTLDisjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26938:1: ( rule__LTLDisjunction__Group_1__0__Impl rule__LTLDisjunction__Group_1__1 ) + // InternalFiacre.g:26939:2: rule__LTLDisjunction__Group_1__0__Impl rule__LTLDisjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__LTLDisjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__0" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__0__Impl" + // InternalFiacre.g:26946:1: rule__LTLDisjunction__Group_1__0__Impl : ( () ) ; + public final void rule__LTLDisjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26950:1: ( ( () ) ) + // InternalFiacre.g:26951:1: ( () ) + { + // InternalFiacre.g:26951:1: ( () ) + // InternalFiacre.g:26952:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0()); + } + // InternalFiacre.g:26953:2: () + // InternalFiacre.g:26953:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__1" + // InternalFiacre.g:26961:1: rule__LTLDisjunction__Group_1__1 : rule__LTLDisjunction__Group_1__1__Impl rule__LTLDisjunction__Group_1__2 ; + public final void rule__LTLDisjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26965:1: ( rule__LTLDisjunction__Group_1__1__Impl rule__LTLDisjunction__Group_1__2 ) + // InternalFiacre.g:26966:2: rule__LTLDisjunction__Group_1__1__Impl rule__LTLDisjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_143); + rule__LTLDisjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__1" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__1__Impl" + // InternalFiacre.g:26973:1: rule__LTLDisjunction__Group_1__1__Impl : ( 'or' ) ; + public final void rule__LTLDisjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26977:1: ( ( 'or' ) ) + // InternalFiacre.g:26978:1: ( 'or' ) + { + // InternalFiacre.g:26978:1: ( 'or' ) + // InternalFiacre.g:26979:2: 'or' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); + } + match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__2" + // InternalFiacre.g:26988:1: rule__LTLDisjunction__Group_1__2 : rule__LTLDisjunction__Group_1__2__Impl ; + public final void rule__LTLDisjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:26992:1: ( rule__LTLDisjunction__Group_1__2__Impl ) + // InternalFiacre.g:26993:2: rule__LTLDisjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__2" + + + // $ANTLR start "rule__LTLDisjunction__Group_1__2__Impl" + // InternalFiacre.g:26999:1: rule__LTLDisjunction__Group_1__2__Impl : ( ( rule__LTLDisjunction__RightAssignment_1_2 ) ) ; + public final void rule__LTLDisjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27003:1: ( ( ( rule__LTLDisjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:27004:1: ( ( rule__LTLDisjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:27004:1: ( ( rule__LTLDisjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:27005:2: ( rule__LTLDisjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:27006:2: ( rule__LTLDisjunction__RightAssignment_1_2 ) + // InternalFiacre.g:27006:3: rule__LTLDisjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLDisjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__LTLImplication__Group__0" + // InternalFiacre.g:27015:1: rule__LTLImplication__Group__0 : rule__LTLImplication__Group__0__Impl rule__LTLImplication__Group__1 ; + public final void rule__LTLImplication__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27019:1: ( rule__LTLImplication__Group__0__Impl rule__LTLImplication__Group__1 ) + // InternalFiacre.g:27020:2: rule__LTLImplication__Group__0__Impl rule__LTLImplication__Group__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__LTLImplication__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group__0" + + + // $ANTLR start "rule__LTLImplication__Group__0__Impl" + // InternalFiacre.g:27027:1: rule__LTLImplication__Group__0__Impl : ( ruleLTLConjunction ) ; + public final void rule__LTLImplication__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27031:1: ( ( ruleLTLConjunction ) ) + // InternalFiacre.g:27032:1: ( ruleLTLConjunction ) + { + // InternalFiacre.g:27032:1: ( ruleLTLConjunction ) + // InternalFiacre.g:27033:2: ruleLTLConjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group__0__Impl" + + + // $ANTLR start "rule__LTLImplication__Group__1" + // InternalFiacre.g:27042:1: rule__LTLImplication__Group__1 : rule__LTLImplication__Group__1__Impl ; + public final void rule__LTLImplication__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27046:1: ( rule__LTLImplication__Group__1__Impl ) + // InternalFiacre.g:27047:2: rule__LTLImplication__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group__1" + + + // $ANTLR start "rule__LTLImplication__Group__1__Impl" + // InternalFiacre.g:27053:1: rule__LTLImplication__Group__1__Impl : ( ( rule__LTLImplication__Group_1__0 )? ) ; + public final void rule__LTLImplication__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27057:1: ( ( ( rule__LTLImplication__Group_1__0 )? ) ) + // InternalFiacre.g:27058:1: ( ( rule__LTLImplication__Group_1__0 )? ) + { + // InternalFiacre.g:27058:1: ( ( rule__LTLImplication__Group_1__0 )? ) + // InternalFiacre.g:27059:2: ( rule__LTLImplication__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getGroup_1()); + } + // InternalFiacre.g:27060:2: ( rule__LTLImplication__Group_1__0 )? + int alt194=2; + int LA194_0 = input.LA(1); + + if ( (LA194_0==80) ) { + alt194=1; + } + switch (alt194) { + case 1 : + // InternalFiacre.g:27060:3: rule__LTLImplication__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group__1__Impl" + + + // $ANTLR start "rule__LTLImplication__Group_1__0" + // InternalFiacre.g:27069:1: rule__LTLImplication__Group_1__0 : rule__LTLImplication__Group_1__0__Impl rule__LTLImplication__Group_1__1 ; + public final void rule__LTLImplication__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27073:1: ( rule__LTLImplication__Group_1__0__Impl rule__LTLImplication__Group_1__1 ) + // InternalFiacre.g:27074:2: rule__LTLImplication__Group_1__0__Impl rule__LTLImplication__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__LTLImplication__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__0" + + + // $ANTLR start "rule__LTLImplication__Group_1__0__Impl" + // InternalFiacre.g:27081:1: rule__LTLImplication__Group_1__0__Impl : ( () ) ; + public final void rule__LTLImplication__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27085:1: ( ( () ) ) + // InternalFiacre.g:27086:1: ( () ) + { + // InternalFiacre.g:27086:1: ( () ) + // InternalFiacre.g:27087:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0()); + } + // InternalFiacre.g:27088:2: () + // InternalFiacre.g:27088:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__0__Impl" + + + // $ANTLR start "rule__LTLImplication__Group_1__1" + // InternalFiacre.g:27096:1: rule__LTLImplication__Group_1__1 : rule__LTLImplication__Group_1__1__Impl rule__LTLImplication__Group_1__2 ; + public final void rule__LTLImplication__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27100:1: ( rule__LTLImplication__Group_1__1__Impl rule__LTLImplication__Group_1__2 ) + // InternalFiacre.g:27101:2: rule__LTLImplication__Group_1__1__Impl rule__LTLImplication__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_143); + rule__LTLImplication__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__1" + + + // $ANTLR start "rule__LTLImplication__Group_1__1__Impl" + // InternalFiacre.g:27108:1: rule__LTLImplication__Group_1__1__Impl : ( '=>' ) ; + public final void rule__LTLImplication__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27112:1: ( ( '=>' ) ) + // InternalFiacre.g:27113:1: ( '=>' ) + { + // InternalFiacre.g:27113:1: ( '=>' ) + // InternalFiacre.g:27114:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__1__Impl" + + + // $ANTLR start "rule__LTLImplication__Group_1__2" + // InternalFiacre.g:27123:1: rule__LTLImplication__Group_1__2 : rule__LTLImplication__Group_1__2__Impl ; + public final void rule__LTLImplication__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27127:1: ( rule__LTLImplication__Group_1__2__Impl ) + // InternalFiacre.g:27128:2: rule__LTLImplication__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__2" + + + // $ANTLR start "rule__LTLImplication__Group_1__2__Impl" + // InternalFiacre.g:27134:1: rule__LTLImplication__Group_1__2__Impl : ( ( rule__LTLImplication__RightAssignment_1_2 ) ) ; + public final void rule__LTLImplication__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27138:1: ( ( ( rule__LTLImplication__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:27139:1: ( ( rule__LTLImplication__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:27139:1: ( ( rule__LTLImplication__RightAssignment_1_2 ) ) + // InternalFiacre.g:27140:2: ( rule__LTLImplication__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:27141:2: ( rule__LTLImplication__RightAssignment_1_2 ) + // InternalFiacre.g:27141:3: rule__LTLImplication__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLImplication__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__Group_1__2__Impl" + + + // $ANTLR start "rule__LTLConjunction__Group__0" + // InternalFiacre.g:27150:1: rule__LTLConjunction__Group__0 : rule__LTLConjunction__Group__0__Impl rule__LTLConjunction__Group__1 ; + public final void rule__LTLConjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27154:1: ( rule__LTLConjunction__Group__0__Impl rule__LTLConjunction__Group__1 ) + // InternalFiacre.g:27155:2: rule__LTLConjunction__Group__0__Impl rule__LTLConjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__LTLConjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group__0" + + + // $ANTLR start "rule__LTLConjunction__Group__0__Impl" + // InternalFiacre.g:27162:1: rule__LTLConjunction__Group__0__Impl : ( ruleLTLBinary ) ; + public final void rule__LTLConjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27166:1: ( ( ruleLTLBinary ) ) + // InternalFiacre.g:27167:1: ( ruleLTLBinary ) + { + // InternalFiacre.g:27167:1: ( ruleLTLBinary ) + // InternalFiacre.g:27168:2: ruleLTLBinary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLBinary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group__0__Impl" + + + // $ANTLR start "rule__LTLConjunction__Group__1" + // InternalFiacre.g:27177:1: rule__LTLConjunction__Group__1 : rule__LTLConjunction__Group__1__Impl ; + public final void rule__LTLConjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27181:1: ( rule__LTLConjunction__Group__1__Impl ) + // InternalFiacre.g:27182:2: rule__LTLConjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group__1" + + + // $ANTLR start "rule__LTLConjunction__Group__1__Impl" + // InternalFiacre.g:27188:1: rule__LTLConjunction__Group__1__Impl : ( ( rule__LTLConjunction__Group_1__0 )* ) ; + public final void rule__LTLConjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27192:1: ( ( ( rule__LTLConjunction__Group_1__0 )* ) ) + // InternalFiacre.g:27193:1: ( ( rule__LTLConjunction__Group_1__0 )* ) + { + // InternalFiacre.g:27193:1: ( ( rule__LTLConjunction__Group_1__0 )* ) + // InternalFiacre.g:27194:2: ( rule__LTLConjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:27195:2: ( rule__LTLConjunction__Group_1__0 )* + loop195: + do { + int alt195=2; + int LA195_0 = input.LA(1); + + if ( (LA195_0==81) ) { + alt195=1; + } + + + switch (alt195) { + case 1 : + // InternalFiacre.g:27195:3: rule__LTLConjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_97); + rule__LTLConjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop195; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group__1__Impl" + + + // $ANTLR start "rule__LTLConjunction__Group_1__0" + // InternalFiacre.g:27204:1: rule__LTLConjunction__Group_1__0 : rule__LTLConjunction__Group_1__0__Impl rule__LTLConjunction__Group_1__1 ; + public final void rule__LTLConjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27208:1: ( rule__LTLConjunction__Group_1__0__Impl rule__LTLConjunction__Group_1__1 ) + // InternalFiacre.g:27209:2: rule__LTLConjunction__Group_1__0__Impl rule__LTLConjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__LTLConjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__0" + + + // $ANTLR start "rule__LTLConjunction__Group_1__0__Impl" + // InternalFiacre.g:27216:1: rule__LTLConjunction__Group_1__0__Impl : ( () ) ; + public final void rule__LTLConjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27220:1: ( ( () ) ) + // InternalFiacre.g:27221:1: ( () ) + { + // InternalFiacre.g:27221:1: ( () ) + // InternalFiacre.g:27222:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0()); + } + // InternalFiacre.g:27223:2: () + // InternalFiacre.g:27223:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__LTLConjunction__Group_1__1" + // InternalFiacre.g:27231:1: rule__LTLConjunction__Group_1__1 : rule__LTLConjunction__Group_1__1__Impl rule__LTLConjunction__Group_1__2 ; + public final void rule__LTLConjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27235:1: ( rule__LTLConjunction__Group_1__1__Impl rule__LTLConjunction__Group_1__2 ) + // InternalFiacre.g:27236:2: rule__LTLConjunction__Group_1__1__Impl rule__LTLConjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_143); + rule__LTLConjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__1" + + + // $ANTLR start "rule__LTLConjunction__Group_1__1__Impl" + // InternalFiacre.g:27243:1: rule__LTLConjunction__Group_1__1__Impl : ( 'and' ) ; + public final void rule__LTLConjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27247:1: ( ( 'and' ) ) + // InternalFiacre.g:27248:1: ( 'and' ) + { + // InternalFiacre.g:27248:1: ( 'and' ) + // InternalFiacre.g:27249:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__LTLConjunction__Group_1__2" + // InternalFiacre.g:27258:1: rule__LTLConjunction__Group_1__2 : rule__LTLConjunction__Group_1__2__Impl ; + public final void rule__LTLConjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27262:1: ( rule__LTLConjunction__Group_1__2__Impl ) + // InternalFiacre.g:27263:2: rule__LTLConjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__2" + + + // $ANTLR start "rule__LTLConjunction__Group_1__2__Impl" + // InternalFiacre.g:27269:1: rule__LTLConjunction__Group_1__2__Impl : ( ( rule__LTLConjunction__RightAssignment_1_2 ) ) ; + public final void rule__LTLConjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27273:1: ( ( ( rule__LTLConjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:27274:1: ( ( rule__LTLConjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:27274:1: ( ( rule__LTLConjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:27275:2: ( rule__LTLConjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:27276:2: ( rule__LTLConjunction__RightAssignment_1_2 ) + // InternalFiacre.g:27276:3: rule__LTLConjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLConjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__LTLBinary__Group__0" + // InternalFiacre.g:27285:1: rule__LTLBinary__Group__0 : rule__LTLBinary__Group__0__Impl rule__LTLBinary__Group__1 ; + public final void rule__LTLBinary__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27289:1: ( rule__LTLBinary__Group__0__Impl rule__LTLBinary__Group__1 ) + // InternalFiacre.g:27290:2: rule__LTLBinary__Group__0__Impl rule__LTLBinary__Group__1 + { + pushFollow(FollowSets000.FOLLOW_144); + rule__LTLBinary__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group__0" + + + // $ANTLR start "rule__LTLBinary__Group__0__Impl" + // InternalFiacre.g:27297:1: rule__LTLBinary__Group__0__Impl : ( ruleLTLUnary ) ; + public final void rule__LTLBinary__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27301:1: ( ( ruleLTLUnary ) ) + // InternalFiacre.g:27302:1: ( ruleLTLUnary ) + { + // InternalFiacre.g:27302:1: ( ruleLTLUnary ) + // InternalFiacre.g:27303:2: ruleLTLUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group__0__Impl" + + + // $ANTLR start "rule__LTLBinary__Group__1" + // InternalFiacre.g:27312:1: rule__LTLBinary__Group__1 : rule__LTLBinary__Group__1__Impl ; + public final void rule__LTLBinary__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27316:1: ( rule__LTLBinary__Group__1__Impl ) + // InternalFiacre.g:27317:2: rule__LTLBinary__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group__1" + + + // $ANTLR start "rule__LTLBinary__Group__1__Impl" + // InternalFiacre.g:27323:1: rule__LTLBinary__Group__1__Impl : ( ( rule__LTLBinary__Alternatives_1 )? ) ; + public final void rule__LTLBinary__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27327:1: ( ( ( rule__LTLBinary__Alternatives_1 )? ) ) + // InternalFiacre.g:27328:1: ( ( rule__LTLBinary__Alternatives_1 )? ) + { + // InternalFiacre.g:27328:1: ( ( rule__LTLBinary__Alternatives_1 )? ) + // InternalFiacre.g:27329:2: ( rule__LTLBinary__Alternatives_1 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getAlternatives_1()); + } + // InternalFiacre.g:27330:2: ( rule__LTLBinary__Alternatives_1 )? + int alt196=2; + int LA196_0 = input.LA(1); + + if ( (LA196_0==121||LA196_0==129) ) { + alt196=1; + } + switch (alt196) { + case 1 : + // InternalFiacre.g:27330:3: rule__LTLBinary__Alternatives_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Alternatives_1(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getAlternatives_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group__1__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__0" + // InternalFiacre.g:27339:1: rule__LTLBinary__Group_1_0__0 : rule__LTLBinary__Group_1_0__0__Impl rule__LTLBinary__Group_1_0__1 ; + public final void rule__LTLBinary__Group_1_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27343:1: ( rule__LTLBinary__Group_1_0__0__Impl rule__LTLBinary__Group_1_0__1 ) + // InternalFiacre.g:27344:2: rule__LTLBinary__Group_1_0__0__Impl rule__LTLBinary__Group_1_0__1 + { + pushFollow(FollowSets000.FOLLOW_140); + rule__LTLBinary__Group_1_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__0" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__0__Impl" + // InternalFiacre.g:27351:1: rule__LTLBinary__Group_1_0__0__Impl : ( () ) ; + public final void rule__LTLBinary__Group_1_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27355:1: ( ( () ) ) + // InternalFiacre.g:27356:1: ( () ) + { + // InternalFiacre.g:27356:1: ( () ) + // InternalFiacre.g:27357:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0()); + } + // InternalFiacre.g:27358:2: () + // InternalFiacre.g:27358:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__0__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__1" + // InternalFiacre.g:27366:1: rule__LTLBinary__Group_1_0__1 : rule__LTLBinary__Group_1_0__1__Impl rule__LTLBinary__Group_1_0__2 ; + public final void rule__LTLBinary__Group_1_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27370:1: ( rule__LTLBinary__Group_1_0__1__Impl rule__LTLBinary__Group_1_0__2 ) + // InternalFiacre.g:27371:2: rule__LTLBinary__Group_1_0__1__Impl rule__LTLBinary__Group_1_0__2 + { + pushFollow(FollowSets000.FOLLOW_132); + rule__LTLBinary__Group_1_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__1" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__1__Impl" + // InternalFiacre.g:27378:1: rule__LTLBinary__Group_1_0__1__Impl : ( 'until' ) ; + public final void rule__LTLBinary__Group_1_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27382:1: ( ( 'until' ) ) + // InternalFiacre.g:27383:1: ( 'until' ) + { + // InternalFiacre.g:27383:1: ( 'until' ) + // InternalFiacre.g:27384:2: 'until' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); + } + match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__1__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__2" + // InternalFiacre.g:27393:1: rule__LTLBinary__Group_1_0__2 : rule__LTLBinary__Group_1_0__2__Impl ; + public final void rule__LTLBinary__Group_1_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27397:1: ( rule__LTLBinary__Group_1_0__2__Impl ) + // InternalFiacre.g:27398:2: rule__LTLBinary__Group_1_0__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__2" + + + // $ANTLR start "rule__LTLBinary__Group_1_0__2__Impl" + // InternalFiacre.g:27404:1: rule__LTLBinary__Group_1_0__2__Impl : ( ( rule__LTLBinary__RightAssignment_1_0_2 ) ) ; + public final void rule__LTLBinary__Group_1_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27408:1: ( ( ( rule__LTLBinary__RightAssignment_1_0_2 ) ) ) + // InternalFiacre.g:27409:1: ( ( rule__LTLBinary__RightAssignment_1_0_2 ) ) + { + // InternalFiacre.g:27409:1: ( ( rule__LTLBinary__RightAssignment_1_0_2 ) ) + // InternalFiacre.g:27410:2: ( rule__LTLBinary__RightAssignment_1_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_0_2()); + } + // InternalFiacre.g:27411:2: ( rule__LTLBinary__RightAssignment_1_0_2 ) + // InternalFiacre.g:27411:3: rule__LTLBinary__RightAssignment_1_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__RightAssignment_1_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_0__2__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__0" + // InternalFiacre.g:27420:1: rule__LTLBinary__Group_1_1__0 : rule__LTLBinary__Group_1_1__0__Impl rule__LTLBinary__Group_1_1__1 ; + public final void rule__LTLBinary__Group_1_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27424:1: ( rule__LTLBinary__Group_1_1__0__Impl rule__LTLBinary__Group_1_1__1 ) + // InternalFiacre.g:27425:2: rule__LTLBinary__Group_1_1__0__Impl rule__LTLBinary__Group_1_1__1 + { + pushFollow(FollowSets000.FOLLOW_144); + rule__LTLBinary__Group_1_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__0" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__0__Impl" + // InternalFiacre.g:27432:1: rule__LTLBinary__Group_1_1__0__Impl : ( () ) ; + public final void rule__LTLBinary__Group_1_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27436:1: ( ( () ) ) + // InternalFiacre.g:27437:1: ( () ) + { + // InternalFiacre.g:27437:1: ( () ) + // InternalFiacre.g:27438:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0()); + } + // InternalFiacre.g:27439:2: () + // InternalFiacre.g:27439:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__0__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__1" + // InternalFiacre.g:27447:1: rule__LTLBinary__Group_1_1__1 : rule__LTLBinary__Group_1_1__1__Impl rule__LTLBinary__Group_1_1__2 ; + public final void rule__LTLBinary__Group_1_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27451:1: ( rule__LTLBinary__Group_1_1__1__Impl rule__LTLBinary__Group_1_1__2 ) + // InternalFiacre.g:27452:2: rule__LTLBinary__Group_1_1__1__Impl rule__LTLBinary__Group_1_1__2 + { + pushFollow(FollowSets000.FOLLOW_132); + rule__LTLBinary__Group_1_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__1" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__1__Impl" + // InternalFiacre.g:27459:1: rule__LTLBinary__Group_1_1__1__Impl : ( 'release' ) ; + public final void rule__LTLBinary__Group_1_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27463:1: ( ( 'release' ) ) + // InternalFiacre.g:27464:1: ( 'release' ) + { + // InternalFiacre.g:27464:1: ( 'release' ) + // InternalFiacre.g:27465:2: 'release' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); + } + match(input,129,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__1__Impl" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__2" + // InternalFiacre.g:27474:1: rule__LTLBinary__Group_1_1__2 : rule__LTLBinary__Group_1_1__2__Impl ; + public final void rule__LTLBinary__Group_1_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27478:1: ( rule__LTLBinary__Group_1_1__2__Impl ) + // InternalFiacre.g:27479:2: rule__LTLBinary__Group_1_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__Group_1_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__2" + + + // $ANTLR start "rule__LTLBinary__Group_1_1__2__Impl" + // InternalFiacre.g:27485:1: rule__LTLBinary__Group_1_1__2__Impl : ( ( rule__LTLBinary__RightAssignment_1_1_2 ) ) ; + public final void rule__LTLBinary__Group_1_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27489:1: ( ( ( rule__LTLBinary__RightAssignment_1_1_2 ) ) ) + // InternalFiacre.g:27490:1: ( ( rule__LTLBinary__RightAssignment_1_1_2 ) ) + { + // InternalFiacre.g:27490:1: ( ( rule__LTLBinary__RightAssignment_1_1_2 ) ) + // InternalFiacre.g:27491:2: ( rule__LTLBinary__RightAssignment_1_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_1_2()); + } + // InternalFiacre.g:27492:2: ( rule__LTLBinary__RightAssignment_1_1_2 ) + // InternalFiacre.g:27492:3: rule__LTLBinary__RightAssignment_1_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLBinary__RightAssignment_1_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getRightAssignment_1_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__Group_1_1__2__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0__0" + // InternalFiacre.g:27501:1: rule__LTLUnary__Group_0__0 : rule__LTLUnary__Group_0__0__Impl rule__LTLUnary__Group_0__1 ; + public final void rule__LTLUnary__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27505:1: ( rule__LTLUnary__Group_0__0__Impl rule__LTLUnary__Group_0__1 ) + // InternalFiacre.g:27506:2: rule__LTLUnary__Group_0__0__Impl rule__LTLUnary__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_132); + rule__LTLUnary__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0__0" + + + // $ANTLR start "rule__LTLUnary__Group_0__0__Impl" + // InternalFiacre.g:27513:1: rule__LTLUnary__Group_0__0__Impl : ( ( rule__LTLUnary__Alternatives_0_0 ) ) ; + public final void rule__LTLUnary__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27517:1: ( ( ( rule__LTLUnary__Alternatives_0_0 ) ) ) + // InternalFiacre.g:27518:1: ( ( rule__LTLUnary__Alternatives_0_0 ) ) + { + // InternalFiacre.g:27518:1: ( ( rule__LTLUnary__Alternatives_0_0 ) ) + // InternalFiacre.g:27519:2: ( rule__LTLUnary__Alternatives_0_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getAlternatives_0_0()); + } + // InternalFiacre.g:27520:2: ( rule__LTLUnary__Alternatives_0_0 ) + // InternalFiacre.g:27520:3: rule__LTLUnary__Alternatives_0_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Alternatives_0_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getAlternatives_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0__0__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0__1" + // InternalFiacre.g:27528:1: rule__LTLUnary__Group_0__1 : rule__LTLUnary__Group_0__1__Impl ; + public final void rule__LTLUnary__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27532:1: ( rule__LTLUnary__Group_0__1__Impl ) + // InternalFiacre.g:27533:2: rule__LTLUnary__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0__1" + + + // $ANTLR start "rule__LTLUnary__Group_0__1__Impl" + // InternalFiacre.g:27539:1: rule__LTLUnary__Group_0__1__Impl : ( ( rule__LTLUnary__OperandAssignment_0_1 ) ) ; + public final void rule__LTLUnary__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27543:1: ( ( ( rule__LTLUnary__OperandAssignment_0_1 ) ) ) + // InternalFiacre.g:27544:1: ( ( rule__LTLUnary__OperandAssignment_0_1 ) ) + { + // InternalFiacre.g:27544:1: ( ( rule__LTLUnary__OperandAssignment_0_1 ) ) + // InternalFiacre.g:27545:2: ( rule__LTLUnary__OperandAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getOperandAssignment_0_1()); + } + // InternalFiacre.g:27546:2: ( rule__LTLUnary__OperandAssignment_0_1 ) + // InternalFiacre.g:27546:3: rule__LTLUnary__OperandAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__OperandAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getOperandAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0__1__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_0__0" + // InternalFiacre.g:27555:1: rule__LTLUnary__Group_0_0_0__0 : rule__LTLUnary__Group_0_0_0__0__Impl rule__LTLUnary__Group_0_0_0__1 ; + public final void rule__LTLUnary__Group_0_0_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27559:1: ( rule__LTLUnary__Group_0_0_0__0__Impl rule__LTLUnary__Group_0_0_0__1 ) + // InternalFiacre.g:27560:2: rule__LTLUnary__Group_0_0_0__0__Impl rule__LTLUnary__Group_0_0_0__1 + { + pushFollow(FollowSets000.FOLLOW_113); + rule__LTLUnary__Group_0_0_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_0__0" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_0__0__Impl" + // InternalFiacre.g:27567:1: rule__LTLUnary__Group_0_0_0__0__Impl : ( () ) ; + public final void rule__LTLUnary__Group_0_0_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27571:1: ( ( () ) ) + // InternalFiacre.g:27572:1: ( () ) + { + // InternalFiacre.g:27572:1: ( () ) + // InternalFiacre.g:27573:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0()); + } + // InternalFiacre.g:27574:2: () + // InternalFiacre.g:27574:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_0__0__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_0__1" + // InternalFiacre.g:27582:1: rule__LTLUnary__Group_0_0_0__1 : rule__LTLUnary__Group_0_0_0__1__Impl ; + public final void rule__LTLUnary__Group_0_0_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27586:1: ( rule__LTLUnary__Group_0_0_0__1__Impl ) + // InternalFiacre.g:27587:2: rule__LTLUnary__Group_0_0_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_0__1" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_0__1__Impl" + // InternalFiacre.g:27593:1: rule__LTLUnary__Group_0_0_0__1__Impl : ( 'not' ) ; + public final void rule__LTLUnary__Group_0_0_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27597:1: ( ( 'not' ) ) + // InternalFiacre.g:27598:1: ( 'not' ) + { + // InternalFiacre.g:27598:1: ( 'not' ) + // InternalFiacre.g:27599:2: 'not' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); + } + match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_0__1__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_1__0" + // InternalFiacre.g:27609:1: rule__LTLUnary__Group_0_0_1__0 : rule__LTLUnary__Group_0_0_1__0__Impl rule__LTLUnary__Group_0_0_1__1 ; + public final void rule__LTLUnary__Group_0_0_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27613:1: ( rule__LTLUnary__Group_0_0_1__0__Impl rule__LTLUnary__Group_0_0_1__1 ) + // InternalFiacre.g:27614:2: rule__LTLUnary__Group_0_0_1__0__Impl rule__LTLUnary__Group_0_0_1__1 + { + pushFollow(FollowSets000.FOLLOW_145); + rule__LTLUnary__Group_0_0_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_1__0" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_1__0__Impl" + // InternalFiacre.g:27621:1: rule__LTLUnary__Group_0_0_1__0__Impl : ( () ) ; + public final void rule__LTLUnary__Group_0_0_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27625:1: ( ( () ) ) + // InternalFiacre.g:27626:1: ( () ) + { + // InternalFiacre.g:27626:1: ( () ) + // InternalFiacre.g:27627:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0()); + } + // InternalFiacre.g:27628:2: () + // InternalFiacre.g:27628:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_1__0__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_1__1" + // InternalFiacre.g:27636:1: rule__LTLUnary__Group_0_0_1__1 : rule__LTLUnary__Group_0_0_1__1__Impl ; + public final void rule__LTLUnary__Group_0_0_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27640:1: ( rule__LTLUnary__Group_0_0_1__1__Impl ) + // InternalFiacre.g:27641:2: rule__LTLUnary__Group_0_0_1__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_1__1" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_1__1__Impl" + // InternalFiacre.g:27647:1: rule__LTLUnary__Group_0_0_1__1__Impl : ( 'next' ) ; + public final void rule__LTLUnary__Group_0_0_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27651:1: ( ( 'next' ) ) + // InternalFiacre.g:27652:1: ( 'next' ) + { + // InternalFiacre.g:27652:1: ( 'next' ) + // InternalFiacre.g:27653:2: 'next' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); + } + match(input,130,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_1__1__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_2__0" + // InternalFiacre.g:27663:1: rule__LTLUnary__Group_0_0_2__0 : rule__LTLUnary__Group_0_0_2__0__Impl rule__LTLUnary__Group_0_0_2__1 ; + public final void rule__LTLUnary__Group_0_0_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27667:1: ( rule__LTLUnary__Group_0_0_2__0__Impl rule__LTLUnary__Group_0_0_2__1 ) + // InternalFiacre.g:27668:2: rule__LTLUnary__Group_0_0_2__0__Impl rule__LTLUnary__Group_0_0_2__1 + { + pushFollow(FollowSets000.FOLLOW_56); + rule__LTLUnary__Group_0_0_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_2__0" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_2__0__Impl" + // InternalFiacre.g:27675:1: rule__LTLUnary__Group_0_0_2__0__Impl : ( () ) ; + public final void rule__LTLUnary__Group_0_0_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27679:1: ( ( () ) ) + // InternalFiacre.g:27680:1: ( () ) + { + // InternalFiacre.g:27680:1: ( () ) + // InternalFiacre.g:27681:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0()); + } + // InternalFiacre.g:27682:2: () + // InternalFiacre.g:27682:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_2__0__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_2__1" + // InternalFiacre.g:27690:1: rule__LTLUnary__Group_0_0_2__1 : rule__LTLUnary__Group_0_0_2__1__Impl ; + public final void rule__LTLUnary__Group_0_0_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27694:1: ( rule__LTLUnary__Group_0_0_2__1__Impl ) + // InternalFiacre.g:27695:2: rule__LTLUnary__Group_0_0_2__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_2__1" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_2__1__Impl" + // InternalFiacre.g:27701:1: rule__LTLUnary__Group_0_0_2__1__Impl : ( '[]' ) ; + public final void rule__LTLUnary__Group_0_0_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27705:1: ( ( '[]' ) ) + // InternalFiacre.g:27706:1: ( '[]' ) + { + // InternalFiacre.g:27706:1: ( '[]' ) + // InternalFiacre.g:27707:2: '[]' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); + } + match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_2__1__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_3__0" + // InternalFiacre.g:27717:1: rule__LTLUnary__Group_0_0_3__0 : rule__LTLUnary__Group_0_0_3__0__Impl rule__LTLUnary__Group_0_0_3__1 ; + public final void rule__LTLUnary__Group_0_0_3__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27721:1: ( rule__LTLUnary__Group_0_0_3__0__Impl rule__LTLUnary__Group_0_0_3__1 ) + // InternalFiacre.g:27722:2: rule__LTLUnary__Group_0_0_3__0__Impl rule__LTLUnary__Group_0_0_3__1 + { + pushFollow(FollowSets000.FOLLOW_146); + rule__LTLUnary__Group_0_0_3__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_3__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_3__0" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_3__0__Impl" + // InternalFiacre.g:27729:1: rule__LTLUnary__Group_0_0_3__0__Impl : ( () ) ; + public final void rule__LTLUnary__Group_0_0_3__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27733:1: ( ( () ) ) + // InternalFiacre.g:27734:1: ( () ) + { + // InternalFiacre.g:27734:1: ( () ) + // InternalFiacre.g:27735:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0()); + } + // InternalFiacre.g:27736:2: () + // InternalFiacre.g:27736:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_3__0__Impl" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_3__1" + // InternalFiacre.g:27744:1: rule__LTLUnary__Group_0_0_3__1 : rule__LTLUnary__Group_0_0_3__1__Impl ; + public final void rule__LTLUnary__Group_0_0_3__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27748:1: ( rule__LTLUnary__Group_0_0_3__1__Impl ) + // InternalFiacre.g:27749:2: rule__LTLUnary__Group_0_0_3__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LTLUnary__Group_0_0_3__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_3__1" + + + // $ANTLR start "rule__LTLUnary__Group_0_0_3__1__Impl" + // InternalFiacre.g:27755:1: rule__LTLUnary__Group_0_0_3__1__Impl : ( '<>' ) ; + public final void rule__LTLUnary__Group_0_0_3__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27759:1: ( ( '<>' ) ) + // InternalFiacre.g:27760:1: ( '<>' ) + { + // InternalFiacre.g:27760:1: ( '<>' ) + // InternalFiacre.g:27761:2: '<>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); + } + match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__Group_0_0_3__1__Impl" + + + // $ANTLR start "rule__AtomicLTL__Group_0__0" + // InternalFiacre.g:27771:1: rule__AtomicLTL__Group_0__0 : rule__AtomicLTL__Group_0__0__Impl rule__AtomicLTL__Group_0__1 ; + public final void rule__AtomicLTL__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27775:1: ( rule__AtomicLTL__Group_0__0__Impl rule__AtomicLTL__Group_0__1 ) + // InternalFiacre.g:27776:2: rule__AtomicLTL__Group_0__0__Impl rule__AtomicLTL__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__AtomicLTL__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_0__0" + + + // $ANTLR start "rule__AtomicLTL__Group_0__0__Impl" + // InternalFiacre.g:27783:1: rule__AtomicLTL__Group_0__0__Impl : ( () ) ; + public final void rule__AtomicLTL__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27787:1: ( ( () ) ) + // InternalFiacre.g:27788:1: ( () ) + { + // InternalFiacre.g:27788:1: ( () ) + // InternalFiacre.g:27789:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0()); + } + // InternalFiacre.g:27790:2: () + // InternalFiacre.g:27790:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_0__0__Impl" + + + // $ANTLR start "rule__AtomicLTL__Group_0__1" + // InternalFiacre.g:27798:1: rule__AtomicLTL__Group_0__1 : rule__AtomicLTL__Group_0__1__Impl ; + public final void rule__AtomicLTL__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27802:1: ( rule__AtomicLTL__Group_0__1__Impl ) + // InternalFiacre.g:27803:2: rule__AtomicLTL__Group_0__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_0__1" + + + // $ANTLR start "rule__AtomicLTL__Group_0__1__Impl" + // InternalFiacre.g:27809:1: rule__AtomicLTL__Group_0__1__Impl : ( ( rule__AtomicLTL__DeclarationAssignment_0_1 ) ) ; + public final void rule__AtomicLTL__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27813:1: ( ( ( rule__AtomicLTL__DeclarationAssignment_0_1 ) ) ) + // InternalFiacre.g:27814:1: ( ( rule__AtomicLTL__DeclarationAssignment_0_1 ) ) + { + // InternalFiacre.g:27814:1: ( ( rule__AtomicLTL__DeclarationAssignment_0_1 ) ) + // InternalFiacre.g:27815:2: ( rule__AtomicLTL__DeclarationAssignment_0_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getDeclarationAssignment_0_1()); + } + // InternalFiacre.g:27816:2: ( rule__AtomicLTL__DeclarationAssignment_0_1 ) + // InternalFiacre.g:27816:3: rule__AtomicLTL__DeclarationAssignment_0_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__DeclarationAssignment_0_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getDeclarationAssignment_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_0__1__Impl" + + + // $ANTLR start "rule__AtomicLTL__Group_2__0" + // InternalFiacre.g:27825:1: rule__AtomicLTL__Group_2__0 : rule__AtomicLTL__Group_2__0__Impl rule__AtomicLTL__Group_2__1 ; + public final void rule__AtomicLTL__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27829:1: ( rule__AtomicLTL__Group_2__0__Impl rule__AtomicLTL__Group_2__1 ) + // InternalFiacre.g:27830:2: rule__AtomicLTL__Group_2__0__Impl rule__AtomicLTL__Group_2__1 + { + pushFollow(FollowSets000.FOLLOW_143); + rule__AtomicLTL__Group_2__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_2__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__0" + + + // $ANTLR start "rule__AtomicLTL__Group_2__0__Impl" + // InternalFiacre.g:27837:1: rule__AtomicLTL__Group_2__0__Impl : ( '(' ) ; + public final void rule__AtomicLTL__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27841:1: ( ( '(' ) ) + // InternalFiacre.g:27842:1: ( '(' ) + { + // InternalFiacre.g:27842:1: ( '(' ) + // InternalFiacre.g:27843:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__0__Impl" + + + // $ANTLR start "rule__AtomicLTL__Group_2__1" + // InternalFiacre.g:27852:1: rule__AtomicLTL__Group_2__1 : rule__AtomicLTL__Group_2__1__Impl rule__AtomicLTL__Group_2__2 ; + public final void rule__AtomicLTL__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27856:1: ( rule__AtomicLTL__Group_2__1__Impl rule__AtomicLTL__Group_2__2 ) + // InternalFiacre.g:27857:2: rule__AtomicLTL__Group_2__1__Impl rule__AtomicLTL__Group_2__2 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__AtomicLTL__Group_2__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_2__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__1" + + + // $ANTLR start "rule__AtomicLTL__Group_2__1__Impl" + // InternalFiacre.g:27864:1: rule__AtomicLTL__Group_2__1__Impl : ( ruleLTLProperty ) ; + public final void rule__AtomicLTL__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27868:1: ( ( ruleLTLProperty ) ) + // InternalFiacre.g:27869:1: ( ruleLTLProperty ) + { + // InternalFiacre.g:27869:1: ( ruleLTLProperty ) + // InternalFiacre.g:27870:2: ruleLTLProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__1__Impl" + + + // $ANTLR start "rule__AtomicLTL__Group_2__2" + // InternalFiacre.g:27879:1: rule__AtomicLTL__Group_2__2 : rule__AtomicLTL__Group_2__2__Impl ; + public final void rule__AtomicLTL__Group_2__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27883:1: ( rule__AtomicLTL__Group_2__2__Impl ) + // InternalFiacre.g:27884:2: rule__AtomicLTL__Group_2__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicLTL__Group_2__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__2" + + + // $ANTLR start "rule__AtomicLTL__Group_2__2__Impl" + // InternalFiacre.g:27890:1: rule__AtomicLTL__Group_2__2__Impl : ( ')' ) ; + public final void rule__AtomicLTL__Group_2__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27894:1: ( ( ')' ) ) + // InternalFiacre.g:27895:1: ( ')' ) + { + // InternalFiacre.g:27895:1: ( ')' ) + // InternalFiacre.g:27896:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__Group_2__2__Impl" + + + // $ANTLR start "rule__EnterStateEvent__Group__0" + // InternalFiacre.g:27906:1: rule__EnterStateEvent__Group__0 : rule__EnterStateEvent__Group__0__Impl rule__EnterStateEvent__Group__1 ; + public final void rule__EnterStateEvent__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27910:1: ( rule__EnterStateEvent__Group__0__Impl rule__EnterStateEvent__Group__1 ) + // InternalFiacre.g:27911:2: rule__EnterStateEvent__Group__0__Impl rule__EnterStateEvent__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__EnterStateEvent__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EnterStateEvent__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnterStateEvent__Group__0" + + + // $ANTLR start "rule__EnterStateEvent__Group__0__Impl" + // InternalFiacre.g:27918:1: rule__EnterStateEvent__Group__0__Impl : ( 'enter' ) ; + public final void rule__EnterStateEvent__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27922:1: ( ( 'enter' ) ) + // InternalFiacre.g:27923:1: ( 'enter' ) + { + // InternalFiacre.g:27923:1: ( 'enter' ) + // InternalFiacre.g:27924:2: 'enter' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); + } + match(input,131,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnterStateEvent__Group__0__Impl" + + + // $ANTLR start "rule__EnterStateEvent__Group__1" + // InternalFiacre.g:27933:1: rule__EnterStateEvent__Group__1 : rule__EnterStateEvent__Group__1__Impl ; + public final void rule__EnterStateEvent__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27937:1: ( rule__EnterStateEvent__Group__1__Impl ) + // InternalFiacre.g:27938:2: rule__EnterStateEvent__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnterStateEvent__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnterStateEvent__Group__1" + + + // $ANTLR start "rule__EnterStateEvent__Group__1__Impl" + // InternalFiacre.g:27944:1: rule__EnterStateEvent__Group__1__Impl : ( ( rule__EnterStateEvent__SubjectAssignment_1 ) ) ; + public final void rule__EnterStateEvent__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27948:1: ( ( ( rule__EnterStateEvent__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:27949:1: ( ( rule__EnterStateEvent__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:27949:1: ( ( rule__EnterStateEvent__SubjectAssignment_1 ) ) + // InternalFiacre.g:27950:2: ( rule__EnterStateEvent__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnterStateEventAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:27951:2: ( rule__EnterStateEvent__SubjectAssignment_1 ) + // InternalFiacre.g:27951:3: rule__EnterStateEvent__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EnterStateEvent__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEnterStateEventAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnterStateEvent__Group__1__Impl" + + + // $ANTLR start "rule__LeaveStateEvent__Group__0" + // InternalFiacre.g:27960:1: rule__LeaveStateEvent__Group__0 : rule__LeaveStateEvent__Group__0__Impl rule__LeaveStateEvent__Group__1 ; + public final void rule__LeaveStateEvent__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27964:1: ( rule__LeaveStateEvent__Group__0__Impl rule__LeaveStateEvent__Group__1 ) + // InternalFiacre.g:27965:2: rule__LeaveStateEvent__Group__0__Impl rule__LeaveStateEvent__Group__1 + { + pushFollow(FollowSets000.FOLLOW_134); + rule__LeaveStateEvent__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__LeaveStateEvent__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LeaveStateEvent__Group__0" + + + // $ANTLR start "rule__LeaveStateEvent__Group__0__Impl" + // InternalFiacre.g:27972:1: rule__LeaveStateEvent__Group__0__Impl : ( 'leave' ) ; + public final void rule__LeaveStateEvent__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27976:1: ( ( 'leave' ) ) + // InternalFiacre.g:27977:1: ( 'leave' ) + { + // InternalFiacre.g:27977:1: ( 'leave' ) + // InternalFiacre.g:27978:2: 'leave' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); + } + match(input,132,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LeaveStateEvent__Group__0__Impl" + + + // $ANTLR start "rule__LeaveStateEvent__Group__1" + // InternalFiacre.g:27987:1: rule__LeaveStateEvent__Group__1 : rule__LeaveStateEvent__Group__1__Impl ; + public final void rule__LeaveStateEvent__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:27991:1: ( rule__LeaveStateEvent__Group__1__Impl ) + // InternalFiacre.g:27992:2: rule__LeaveStateEvent__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LeaveStateEvent__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LeaveStateEvent__Group__1" + + + // $ANTLR start "rule__LeaveStateEvent__Group__1__Impl" + // InternalFiacre.g:27998:1: rule__LeaveStateEvent__Group__1__Impl : ( ( rule__LeaveStateEvent__SubjectAssignment_1 ) ) ; + public final void rule__LeaveStateEvent__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28002:1: ( ( ( rule__LeaveStateEvent__SubjectAssignment_1 ) ) ) + // InternalFiacre.g:28003:1: ( ( rule__LeaveStateEvent__SubjectAssignment_1 ) ) + { + // InternalFiacre.g:28003:1: ( ( rule__LeaveStateEvent__SubjectAssignment_1 ) ) + // InternalFiacre.g:28004:2: ( rule__LeaveStateEvent__SubjectAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLeaveStateEventAccess().getSubjectAssignment_1()); + } + // InternalFiacre.g:28005:2: ( rule__LeaveStateEvent__SubjectAssignment_1 ) + // InternalFiacre.g:28005:3: rule__LeaveStateEvent__SubjectAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__LeaveStateEvent__SubjectAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getLeaveStateEventAccess().getSubjectAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LeaveStateEvent__Group__1__Impl" + + + // $ANTLR start "rule__ObservableDisjunction__Group__0" + // InternalFiacre.g:28014:1: rule__ObservableDisjunction__Group__0 : rule__ObservableDisjunction__Group__0__Impl rule__ObservableDisjunction__Group__1 ; + public final void rule__ObservableDisjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28018:1: ( rule__ObservableDisjunction__Group__0__Impl rule__ObservableDisjunction__Group__1 ) + // InternalFiacre.g:28019:2: rule__ObservableDisjunction__Group__0__Impl rule__ObservableDisjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__ObservableDisjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group__0" + + + // $ANTLR start "rule__ObservableDisjunction__Group__0__Impl" + // InternalFiacre.g:28026:1: rule__ObservableDisjunction__Group__0__Impl : ( ruleObservableImplication ) ; + public final void rule__ObservableDisjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28030:1: ( ( ruleObservableImplication ) ) + // InternalFiacre.g:28031:1: ( ruleObservableImplication ) + { + // InternalFiacre.g:28031:1: ( ruleObservableImplication ) + // InternalFiacre.g:28032:2: ruleObservableImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group__0__Impl" + + + // $ANTLR start "rule__ObservableDisjunction__Group__1" + // InternalFiacre.g:28041:1: rule__ObservableDisjunction__Group__1 : rule__ObservableDisjunction__Group__1__Impl ; + public final void rule__ObservableDisjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28045:1: ( rule__ObservableDisjunction__Group__1__Impl ) + // InternalFiacre.g:28046:2: rule__ObservableDisjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group__1" + + + // $ANTLR start "rule__ObservableDisjunction__Group__1__Impl" + // InternalFiacre.g:28052:1: rule__ObservableDisjunction__Group__1__Impl : ( ( rule__ObservableDisjunction__Group_1__0 )* ) ; + public final void rule__ObservableDisjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28056:1: ( ( ( rule__ObservableDisjunction__Group_1__0 )* ) ) + // InternalFiacre.g:28057:1: ( ( rule__ObservableDisjunction__Group_1__0 )* ) + { + // InternalFiacre.g:28057:1: ( ( rule__ObservableDisjunction__Group_1__0 )* ) + // InternalFiacre.g:28058:2: ( rule__ObservableDisjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:28059:2: ( rule__ObservableDisjunction__Group_1__0 )* + loop197: + do { + int alt197=2; + int LA197_0 = input.LA(1); + + if ( (LA197_0==79) ) { + alt197=1; + } + + + switch (alt197) { + case 1 : + // InternalFiacre.g:28059:3: rule__ObservableDisjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_94); + rule__ObservableDisjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop197; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group__1__Impl" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__0" + // InternalFiacre.g:28068:1: rule__ObservableDisjunction__Group_1__0 : rule__ObservableDisjunction__Group_1__0__Impl rule__ObservableDisjunction__Group_1__1 ; + public final void rule__ObservableDisjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28072:1: ( rule__ObservableDisjunction__Group_1__0__Impl rule__ObservableDisjunction__Group_1__1 ) + // InternalFiacre.g:28073:2: rule__ObservableDisjunction__Group_1__0__Impl rule__ObservableDisjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_93); + rule__ObservableDisjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__0" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__0__Impl" + // InternalFiacre.g:28080:1: rule__ObservableDisjunction__Group_1__0__Impl : ( () ) ; + public final void rule__ObservableDisjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28084:1: ( ( () ) ) + // InternalFiacre.g:28085:1: ( () ) + { + // InternalFiacre.g:28085:1: ( () ) + // InternalFiacre.g:28086:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0()); + } + // InternalFiacre.g:28087:2: () + // InternalFiacre.g:28087:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__1" + // InternalFiacre.g:28095:1: rule__ObservableDisjunction__Group_1__1 : rule__ObservableDisjunction__Group_1__1__Impl rule__ObservableDisjunction__Group_1__2 ; + public final void rule__ObservableDisjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28099:1: ( rule__ObservableDisjunction__Group_1__1__Impl rule__ObservableDisjunction__Group_1__2 ) + // InternalFiacre.g:28100:2: rule__ObservableDisjunction__Group_1__1__Impl rule__ObservableDisjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_147); + rule__ObservableDisjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__1" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__1__Impl" + // InternalFiacre.g:28107:1: rule__ObservableDisjunction__Group_1__1__Impl : ( 'or' ) ; + public final void rule__ObservableDisjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28111:1: ( ( 'or' ) ) + // InternalFiacre.g:28112:1: ( 'or' ) + { + // InternalFiacre.g:28112:1: ( 'or' ) + // InternalFiacre.g:28113:2: 'or' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); + } + match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__2" + // InternalFiacre.g:28122:1: rule__ObservableDisjunction__Group_1__2 : rule__ObservableDisjunction__Group_1__2__Impl ; + public final void rule__ObservableDisjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28126:1: ( rule__ObservableDisjunction__Group_1__2__Impl ) + // InternalFiacre.g:28127:2: rule__ObservableDisjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__2" + + + // $ANTLR start "rule__ObservableDisjunction__Group_1__2__Impl" + // InternalFiacre.g:28133:1: rule__ObservableDisjunction__Group_1__2__Impl : ( ( rule__ObservableDisjunction__RightAssignment_1_2 ) ) ; + public final void rule__ObservableDisjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28137:1: ( ( ( rule__ObservableDisjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:28138:1: ( ( rule__ObservableDisjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:28138:1: ( ( rule__ObservableDisjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:28139:2: ( rule__ObservableDisjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:28140:2: ( rule__ObservableDisjunction__RightAssignment_1_2 ) + // InternalFiacre.g:28140:3: rule__ObservableDisjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableDisjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__ObservableImplication__Group__0" + // InternalFiacre.g:28149:1: rule__ObservableImplication__Group__0 : rule__ObservableImplication__Group__0__Impl rule__ObservableImplication__Group__1 ; + public final void rule__ObservableImplication__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28153:1: ( rule__ObservableImplication__Group__0__Impl rule__ObservableImplication__Group__1 ) + // InternalFiacre.g:28154:2: rule__ObservableImplication__Group__0__Impl rule__ObservableImplication__Group__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__ObservableImplication__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group__0" + + + // $ANTLR start "rule__ObservableImplication__Group__0__Impl" + // InternalFiacre.g:28161:1: rule__ObservableImplication__Group__0__Impl : ( ruleObservableConjunction ) ; + public final void rule__ObservableImplication__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28165:1: ( ( ruleObservableConjunction ) ) + // InternalFiacre.g:28166:1: ( ruleObservableConjunction ) + { + // InternalFiacre.g:28166:1: ( ruleObservableConjunction ) + // InternalFiacre.g:28167:2: ruleObservableConjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableConjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group__0__Impl" + + + // $ANTLR start "rule__ObservableImplication__Group__1" + // InternalFiacre.g:28176:1: rule__ObservableImplication__Group__1 : rule__ObservableImplication__Group__1__Impl ; + public final void rule__ObservableImplication__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28180:1: ( rule__ObservableImplication__Group__1__Impl ) + // InternalFiacre.g:28181:2: rule__ObservableImplication__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group__1" + + + // $ANTLR start "rule__ObservableImplication__Group__1__Impl" + // InternalFiacre.g:28187:1: rule__ObservableImplication__Group__1__Impl : ( ( rule__ObservableImplication__Group_1__0 )? ) ; + public final void rule__ObservableImplication__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28191:1: ( ( ( rule__ObservableImplication__Group_1__0 )? ) ) + // InternalFiacre.g:28192:1: ( ( rule__ObservableImplication__Group_1__0 )? ) + { + // InternalFiacre.g:28192:1: ( ( rule__ObservableImplication__Group_1__0 )? ) + // InternalFiacre.g:28193:2: ( rule__ObservableImplication__Group_1__0 )? + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getGroup_1()); + } + // InternalFiacre.g:28194:2: ( rule__ObservableImplication__Group_1__0 )? + int alt198=2; + int LA198_0 = input.LA(1); + + if ( (LA198_0==80) ) { + alt198=1; + } + switch (alt198) { + case 1 : + // InternalFiacre.g:28194:3: rule__ObservableImplication__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group__1__Impl" + + + // $ANTLR start "rule__ObservableImplication__Group_1__0" + // InternalFiacre.g:28203:1: rule__ObservableImplication__Group_1__0 : rule__ObservableImplication__Group_1__0__Impl rule__ObservableImplication__Group_1__1 ; + public final void rule__ObservableImplication__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28207:1: ( rule__ObservableImplication__Group_1__0__Impl rule__ObservableImplication__Group_1__1 ) + // InternalFiacre.g:28208:2: rule__ObservableImplication__Group_1__0__Impl rule__ObservableImplication__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_95); + rule__ObservableImplication__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__0" + + + // $ANTLR start "rule__ObservableImplication__Group_1__0__Impl" + // InternalFiacre.g:28215:1: rule__ObservableImplication__Group_1__0__Impl : ( () ) ; + public final void rule__ObservableImplication__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28219:1: ( ( () ) ) + // InternalFiacre.g:28220:1: ( () ) + { + // InternalFiacre.g:28220:1: ( () ) + // InternalFiacre.g:28221:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0()); + } + // InternalFiacre.g:28222:2: () + // InternalFiacre.g:28222:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__0__Impl" + + + // $ANTLR start "rule__ObservableImplication__Group_1__1" + // InternalFiacre.g:28230:1: rule__ObservableImplication__Group_1__1 : rule__ObservableImplication__Group_1__1__Impl rule__ObservableImplication__Group_1__2 ; + public final void rule__ObservableImplication__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28234:1: ( rule__ObservableImplication__Group_1__1__Impl rule__ObservableImplication__Group_1__2 ) + // InternalFiacre.g:28235:2: rule__ObservableImplication__Group_1__1__Impl rule__ObservableImplication__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_147); + rule__ObservableImplication__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__1" + + + // $ANTLR start "rule__ObservableImplication__Group_1__1__Impl" + // InternalFiacre.g:28242:1: rule__ObservableImplication__Group_1__1__Impl : ( '=>' ) ; + public final void rule__ObservableImplication__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28246:1: ( ( '=>' ) ) + // InternalFiacre.g:28247:1: ( '=>' ) + { + // InternalFiacre.g:28247:1: ( '=>' ) + // InternalFiacre.g:28248:2: '=>' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__1__Impl" + + + // $ANTLR start "rule__ObservableImplication__Group_1__2" + // InternalFiacre.g:28257:1: rule__ObservableImplication__Group_1__2 : rule__ObservableImplication__Group_1__2__Impl ; + public final void rule__ObservableImplication__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28261:1: ( rule__ObservableImplication__Group_1__2__Impl ) + // InternalFiacre.g:28262:2: rule__ObservableImplication__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__2" + + + // $ANTLR start "rule__ObservableImplication__Group_1__2__Impl" + // InternalFiacre.g:28268:1: rule__ObservableImplication__Group_1__2__Impl : ( ( rule__ObservableImplication__RightAssignment_1_2 ) ) ; + public final void rule__ObservableImplication__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28272:1: ( ( ( rule__ObservableImplication__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:28273:1: ( ( rule__ObservableImplication__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:28273:1: ( ( rule__ObservableImplication__RightAssignment_1_2 ) ) + // InternalFiacre.g:28274:2: ( rule__ObservableImplication__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:28275:2: ( rule__ObservableImplication__RightAssignment_1_2 ) + // InternalFiacre.g:28275:3: rule__ObservableImplication__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableImplication__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__Group_1__2__Impl" + + + // $ANTLR start "rule__ObservableConjunction__Group__0" + // InternalFiacre.g:28284:1: rule__ObservableConjunction__Group__0 : rule__ObservableConjunction__Group__0__Impl rule__ObservableConjunction__Group__1 ; + public final void rule__ObservableConjunction__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28288:1: ( rule__ObservableConjunction__Group__0__Impl rule__ObservableConjunction__Group__1 ) + // InternalFiacre.g:28289:2: rule__ObservableConjunction__Group__0__Impl rule__ObservableConjunction__Group__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__ObservableConjunction__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group__0" + + + // $ANTLR start "rule__ObservableConjunction__Group__0__Impl" + // InternalFiacre.g:28296:1: rule__ObservableConjunction__Group__0__Impl : ( ruleObservableNegation ) ; + public final void rule__ObservableConjunction__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28300:1: ( ( ruleObservableNegation ) ) + // InternalFiacre.g:28301:1: ( ruleObservableNegation ) + { + // InternalFiacre.g:28301:1: ( ruleObservableNegation ) + // InternalFiacre.g:28302:2: ruleObservableNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group__0__Impl" + + + // $ANTLR start "rule__ObservableConjunction__Group__1" + // InternalFiacre.g:28311:1: rule__ObservableConjunction__Group__1 : rule__ObservableConjunction__Group__1__Impl ; + public final void rule__ObservableConjunction__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28315:1: ( rule__ObservableConjunction__Group__1__Impl ) + // InternalFiacre.g:28316:2: rule__ObservableConjunction__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group__1" + + + // $ANTLR start "rule__ObservableConjunction__Group__1__Impl" + // InternalFiacre.g:28322:1: rule__ObservableConjunction__Group__1__Impl : ( ( rule__ObservableConjunction__Group_1__0 )* ) ; + public final void rule__ObservableConjunction__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28326:1: ( ( ( rule__ObservableConjunction__Group_1__0 )* ) ) + // InternalFiacre.g:28327:1: ( ( rule__ObservableConjunction__Group_1__0 )* ) + { + // InternalFiacre.g:28327:1: ( ( rule__ObservableConjunction__Group_1__0 )* ) + // InternalFiacre.g:28328:2: ( rule__ObservableConjunction__Group_1__0 )* + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getGroup_1()); + } + // InternalFiacre.g:28329:2: ( rule__ObservableConjunction__Group_1__0 )* + loop199: + do { + int alt199=2; + int LA199_0 = input.LA(1); + + if ( (LA199_0==81) ) { + alt199=1; + } + + + switch (alt199) { + case 1 : + // InternalFiacre.g:28329:3: rule__ObservableConjunction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_97); + rule__ObservableConjunction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + break; + + default : + break loop199; + } + } while (true); + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getGroup_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group__1__Impl" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__0" + // InternalFiacre.g:28338:1: rule__ObservableConjunction__Group_1__0 : rule__ObservableConjunction__Group_1__0__Impl rule__ObservableConjunction__Group_1__1 ; + public final void rule__ObservableConjunction__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28342:1: ( rule__ObservableConjunction__Group_1__0__Impl rule__ObservableConjunction__Group_1__1 ) + // InternalFiacre.g:28343:2: rule__ObservableConjunction__Group_1__0__Impl rule__ObservableConjunction__Group_1__1 + { + pushFollow(FollowSets000.FOLLOW_96); + rule__ObservableConjunction__Group_1__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group_1__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__0" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__0__Impl" + // InternalFiacre.g:28350:1: rule__ObservableConjunction__Group_1__0__Impl : ( () ) ; + public final void rule__ObservableConjunction__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28354:1: ( ( () ) ) + // InternalFiacre.g:28355:1: ( () ) + { + // InternalFiacre.g:28355:1: ( () ) + // InternalFiacre.g:28356:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0()); + } + // InternalFiacre.g:28357:2: () + // InternalFiacre.g:28357:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__0__Impl" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__1" + // InternalFiacre.g:28365:1: rule__ObservableConjunction__Group_1__1 : rule__ObservableConjunction__Group_1__1__Impl rule__ObservableConjunction__Group_1__2 ; + public final void rule__ObservableConjunction__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28369:1: ( rule__ObservableConjunction__Group_1__1__Impl rule__ObservableConjunction__Group_1__2 ) + // InternalFiacre.g:28370:2: rule__ObservableConjunction__Group_1__1__Impl rule__ObservableConjunction__Group_1__2 + { + pushFollow(FollowSets000.FOLLOW_147); + rule__ObservableConjunction__Group_1__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group_1__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__1" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__1__Impl" + // InternalFiacre.g:28377:1: rule__ObservableConjunction__Group_1__1__Impl : ( 'and' ) ; + public final void rule__ObservableConjunction__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28381:1: ( ( 'and' ) ) + // InternalFiacre.g:28382:1: ( 'and' ) + { + // InternalFiacre.g:28382:1: ( 'and' ) + // InternalFiacre.g:28383:2: 'and' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); + } + match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__1__Impl" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__2" + // InternalFiacre.g:28392:1: rule__ObservableConjunction__Group_1__2 : rule__ObservableConjunction__Group_1__2__Impl ; + public final void rule__ObservableConjunction__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28396:1: ( rule__ObservableConjunction__Group_1__2__Impl ) + // InternalFiacre.g:28397:2: rule__ObservableConjunction__Group_1__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__Group_1__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__2" + + + // $ANTLR start "rule__ObservableConjunction__Group_1__2__Impl" + // InternalFiacre.g:28403:1: rule__ObservableConjunction__Group_1__2__Impl : ( ( rule__ObservableConjunction__RightAssignment_1_2 ) ) ; + public final void rule__ObservableConjunction__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28407:1: ( ( ( rule__ObservableConjunction__RightAssignment_1_2 ) ) ) + // InternalFiacre.g:28408:1: ( ( rule__ObservableConjunction__RightAssignment_1_2 ) ) + { + // InternalFiacre.g:28408:1: ( ( rule__ObservableConjunction__RightAssignment_1_2 ) ) + // InternalFiacre.g:28409:2: ( rule__ObservableConjunction__RightAssignment_1_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getRightAssignment_1_2()); + } + // InternalFiacre.g:28410:2: ( rule__ObservableConjunction__RightAssignment_1_2 ) + // InternalFiacre.g:28410:3: rule__ObservableConjunction__RightAssignment_1_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableConjunction__RightAssignment_1_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getRightAssignment_1_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__Group_1__2__Impl" + + + // $ANTLR start "rule__ObservableNegation__Group_0__0" + // InternalFiacre.g:28419:1: rule__ObservableNegation__Group_0__0 : rule__ObservableNegation__Group_0__0__Impl rule__ObservableNegation__Group_0__1 ; + public final void rule__ObservableNegation__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28423:1: ( rule__ObservableNegation__Group_0__0__Impl rule__ObservableNegation__Group_0__1 ) + // InternalFiacre.g:28424:2: rule__ObservableNegation__Group_0__0__Impl rule__ObservableNegation__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_113); + rule__ObservableNegation__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__0" + + + // $ANTLR start "rule__ObservableNegation__Group_0__0__Impl" + // InternalFiacre.g:28431:1: rule__ObservableNegation__Group_0__0__Impl : ( () ) ; + public final void rule__ObservableNegation__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28435:1: ( ( () ) ) + // InternalFiacre.g:28436:1: ( () ) + { + // InternalFiacre.g:28436:1: ( () ) + // InternalFiacre.g:28437:2: () + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0()); + } + // InternalFiacre.g:28438:2: () + // InternalFiacre.g:28438:3: + { + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0()); + } + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__0__Impl" + + + // $ANTLR start "rule__ObservableNegation__Group_0__1" + // InternalFiacre.g:28446:1: rule__ObservableNegation__Group_0__1 : rule__ObservableNegation__Group_0__1__Impl rule__ObservableNegation__Group_0__2 ; + public final void rule__ObservableNegation__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28450:1: ( rule__ObservableNegation__Group_0__1__Impl rule__ObservableNegation__Group_0__2 ) + // InternalFiacre.g:28451:2: rule__ObservableNegation__Group_0__1__Impl rule__ObservableNegation__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_147); + rule__ObservableNegation__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__1" + + + // $ANTLR start "rule__ObservableNegation__Group_0__1__Impl" + // InternalFiacre.g:28458:1: rule__ObservableNegation__Group_0__1__Impl : ( 'not' ) ; + public final void rule__ObservableNegation__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28462:1: ( ( 'not' ) ) + // InternalFiacre.g:28463:1: ( 'not' ) + { + // InternalFiacre.g:28463:1: ( 'not' ) + // InternalFiacre.g:28464:2: 'not' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); + } + match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__1__Impl" + + + // $ANTLR start "rule__ObservableNegation__Group_0__2" + // InternalFiacre.g:28473:1: rule__ObservableNegation__Group_0__2 : rule__ObservableNegation__Group_0__2__Impl ; + public final void rule__ObservableNegation__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28477:1: ( rule__ObservableNegation__Group_0__2__Impl ) + // InternalFiacre.g:28478:2: rule__ObservableNegation__Group_0__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__2" + + + // $ANTLR start "rule__ObservableNegation__Group_0__2__Impl" + // InternalFiacre.g:28484:1: rule__ObservableNegation__Group_0__2__Impl : ( ( rule__ObservableNegation__ChildAssignment_0_2 ) ) ; + public final void rule__ObservableNegation__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28488:1: ( ( ( rule__ObservableNegation__ChildAssignment_0_2 ) ) ) + // InternalFiacre.g:28489:1: ( ( rule__ObservableNegation__ChildAssignment_0_2 ) ) + { + // InternalFiacre.g:28489:1: ( ( rule__ObservableNegation__ChildAssignment_0_2 ) ) + // InternalFiacre.g:28490:2: ( rule__ObservableNegation__ChildAssignment_0_2 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getChildAssignment_0_2()); + } + // InternalFiacre.g:28491:2: ( rule__ObservableNegation__ChildAssignment_0_2 ) + // InternalFiacre.g:28491:3: rule__ObservableNegation__ChildAssignment_0_2 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ObservableNegation__ChildAssignment_0_2(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getChildAssignment_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__Group_0__2__Impl" + + + // $ANTLR start "rule__AtomicObservable__Group_0__0" + // InternalFiacre.g:28500:1: rule__AtomicObservable__Group_0__0 : rule__AtomicObservable__Group_0__0__Impl rule__AtomicObservable__Group_0__1 ; + public final void rule__AtomicObservable__Group_0__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28504:1: ( rule__AtomicObservable__Group_0__0__Impl rule__AtomicObservable__Group_0__1 ) + // InternalFiacre.g:28505:2: rule__AtomicObservable__Group_0__0__Impl rule__AtomicObservable__Group_0__1 + { + pushFollow(FollowSets000.FOLLOW_147); + rule__AtomicObservable__Group_0__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicObservable__Group_0__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__0" + + + // $ANTLR start "rule__AtomicObservable__Group_0__0__Impl" + // InternalFiacre.g:28512:1: rule__AtomicObservable__Group_0__0__Impl : ( '(' ) ; + public final void rule__AtomicObservable__Group_0__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28516:1: ( ( '(' ) ) + // InternalFiacre.g:28517:1: ( '(' ) + { + // InternalFiacre.g:28517:1: ( '(' ) + // InternalFiacre.g:28518:2: '(' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + } + match(input,22,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__0__Impl" + + + // $ANTLR start "rule__AtomicObservable__Group_0__1" + // InternalFiacre.g:28527:1: rule__AtomicObservable__Group_0__1 : rule__AtomicObservable__Group_0__1__Impl rule__AtomicObservable__Group_0__2 ; + public final void rule__AtomicObservable__Group_0__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28531:1: ( rule__AtomicObservable__Group_0__1__Impl rule__AtomicObservable__Group_0__2 ) + // InternalFiacre.g:28532:2: rule__AtomicObservable__Group_0__1__Impl rule__AtomicObservable__Group_0__2 + { + pushFollow(FollowSets000.FOLLOW_68); + rule__AtomicObservable__Group_0__1__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicObservable__Group_0__2(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__1" + + + // $ANTLR start "rule__AtomicObservable__Group_0__1__Impl" + // InternalFiacre.g:28539:1: rule__AtomicObservable__Group_0__1__Impl : ( ruleObservable ) ; + public final void rule__AtomicObservable__Group_0__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28543:1: ( ( ruleObservable ) ) + // InternalFiacre.g:28544:1: ( ruleObservable ) + { + // InternalFiacre.g:28544:1: ( ruleObservable ) + // InternalFiacre.g:28545:2: ruleObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__1__Impl" + + + // $ANTLR start "rule__AtomicObservable__Group_0__2" + // InternalFiacre.g:28554:1: rule__AtomicObservable__Group_0__2 : rule__AtomicObservable__Group_0__2__Impl ; + public final void rule__AtomicObservable__Group_0__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28558:1: ( rule__AtomicObservable__Group_0__2__Impl ) + // InternalFiacre.g:28559:2: rule__AtomicObservable__Group_0__2__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__AtomicObservable__Group_0__2__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__2" + + + // $ANTLR start "rule__AtomicObservable__Group_0__2__Impl" + // InternalFiacre.g:28565:1: rule__AtomicObservable__Group_0__2__Impl : ( ')' ) ; + public final void rule__AtomicObservable__Group_0__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28569:1: ( ( ')' ) ) + // InternalFiacre.g:28570:1: ( ')' ) + { + // InternalFiacre.g:28570:1: ( ')' ) + // InternalFiacre.g:28571:2: ')' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); + } + match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicObservable__Group_0__2__Impl" + + + // $ANTLR start "rule__PathEvent__Group__0" + // InternalFiacre.g:28581:1: rule__PathEvent__Group__0 : rule__PathEvent__Group__0__Impl rule__PathEvent__Group__1 ; + public final void rule__PathEvent__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28585:1: ( rule__PathEvent__Group__0__Impl rule__PathEvent__Group__1 ) + // InternalFiacre.g:28586:2: rule__PathEvent__Group__0__Impl rule__PathEvent__Group__1 + { + pushFollow(FollowSets000.FOLLOW_148); + rule__PathEvent__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__PathEvent__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__Group__0" + + + // $ANTLR start "rule__PathEvent__Group__0__Impl" + // InternalFiacre.g:28593:1: rule__PathEvent__Group__0__Impl : ( ( rule__PathEvent__PathAssignment_0 ) ) ; + public final void rule__PathEvent__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28597:1: ( ( ( rule__PathEvent__PathAssignment_0 ) ) ) + // InternalFiacre.g:28598:1: ( ( rule__PathEvent__PathAssignment_0 ) ) + { + // InternalFiacre.g:28598:1: ( ( rule__PathEvent__PathAssignment_0 ) ) + // InternalFiacre.g:28599:2: ( rule__PathEvent__PathAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventAccess().getPathAssignment_0()); + } + // InternalFiacre.g:28600:2: ( rule__PathEvent__PathAssignment_0 ) + // InternalFiacre.g:28600:3: rule__PathEvent__PathAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PathEvent__PathAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventAccess().getPathAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__Group__0__Impl" + + + // $ANTLR start "rule__PathEvent__Group__1" + // InternalFiacre.g:28608:1: rule__PathEvent__Group__1 : rule__PathEvent__Group__1__Impl ; + public final void rule__PathEvent__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28612:1: ( rule__PathEvent__Group__1__Impl ) + // InternalFiacre.g:28613:2: rule__PathEvent__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PathEvent__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__Group__1" + + + // $ANTLR start "rule__PathEvent__Group__1__Impl" + // InternalFiacre.g:28619:1: rule__PathEvent__Group__1__Impl : ( ( rule__PathEvent__ItemAssignment_1 ) ) ; + public final void rule__PathEvent__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28623:1: ( ( ( rule__PathEvent__ItemAssignment_1 ) ) ) + // InternalFiacre.g:28624:1: ( ( rule__PathEvent__ItemAssignment_1 ) ) + { + // InternalFiacre.g:28624:1: ( ( rule__PathEvent__ItemAssignment_1 ) ) + // InternalFiacre.g:28625:2: ( rule__PathEvent__ItemAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventAccess().getItemAssignment_1()); + } + // InternalFiacre.g:28626:2: ( rule__PathEvent__ItemAssignment_1 ) + // InternalFiacre.g:28626:3: rule__PathEvent__ItemAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PathEvent__ItemAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventAccess().getItemAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__Group__1__Impl" + + + // $ANTLR start "rule__Path__Group__0" + // InternalFiacre.g:28635:1: rule__Path__Group__0 : rule__Path__Group__0__Impl rule__Path__Group__1 ; + public final void rule__Path__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28639:1: ( rule__Path__Group__0__Impl rule__Path__Group__1 ) + // InternalFiacre.g:28640:2: rule__Path__Group__0__Impl rule__Path__Group__1 + { + pushFollow(FollowSets000.FOLLOW_109); + rule__Path__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__Path__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Path__Group__0" + + + // $ANTLR start "rule__Path__Group__0__Impl" + // InternalFiacre.g:28647:1: rule__Path__Group__0__Impl : ( ( rule__Path__ItemsAssignment_0 ) ) ; + public final void rule__Path__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28651:1: ( ( ( rule__Path__ItemsAssignment_0 ) ) ) + // InternalFiacre.g:28652:1: ( ( rule__Path__ItemsAssignment_0 ) ) + { + // InternalFiacre.g:28652:1: ( ( rule__Path__ItemsAssignment_0 ) ) + // InternalFiacre.g:28653:2: ( rule__Path__ItemsAssignment_0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathAccess().getItemsAssignment_0()); + } + // InternalFiacre.g:28654:2: ( rule__Path__ItemsAssignment_0 ) + // InternalFiacre.g:28654:3: rule__Path__ItemsAssignment_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Path__ItemsAssignment_0(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPathAccess().getItemsAssignment_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Path__Group__0__Impl" + + + // $ANTLR start "rule__Path__Group__1" + // InternalFiacre.g:28662:1: rule__Path__Group__1 : rule__Path__Group__1__Impl ; + public final void rule__Path__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28666:1: ( rule__Path__Group__1__Impl ) + // InternalFiacre.g:28667:2: rule__Path__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Path__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Path__Group__1" + + + // $ANTLR start "rule__Path__Group__1__Impl" + // InternalFiacre.g:28673:1: rule__Path__Group__1__Impl : ( '/' ) ; + public final void rule__Path__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28677:1: ( ( '/' ) ) + // InternalFiacre.g:28678:1: ( '/' ) + { + // InternalFiacre.g:28678:1: ( '/' ) + // InternalFiacre.g:28679:2: '/' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathAccess().getSolidusKeyword_1()); + } + match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathAccess().getSolidusKeyword_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Path__Group__1__Impl" + + + // $ANTLR start "rule__StateSubject__Group__0" + // InternalFiacre.g:28689:1: rule__StateSubject__Group__0 : rule__StateSubject__Group__0__Impl rule__StateSubject__Group__1 ; + public final void rule__StateSubject__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28693:1: ( rule__StateSubject__Group__0__Impl rule__StateSubject__Group__1 ) + // InternalFiacre.g:28694:2: rule__StateSubject__Group__0__Impl rule__StateSubject__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__StateSubject__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__StateSubject__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateSubject__Group__0" + + + // $ANTLR start "rule__StateSubject__Group__0__Impl" + // InternalFiacre.g:28701:1: rule__StateSubject__Group__0__Impl : ( 'state' ) ; + public final void rule__StateSubject__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28705:1: ( ( 'state' ) ) + // InternalFiacre.g:28706:1: ( 'state' ) + { + // InternalFiacre.g:28706:1: ( 'state' ) + // InternalFiacre.g:28707:2: 'state' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectAccess().getStateKeyword_0()); + } + match(input,133,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectAccess().getStateKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateSubject__Group__0__Impl" + + + // $ANTLR start "rule__StateSubject__Group__1" + // InternalFiacre.g:28716:1: rule__StateSubject__Group__1 : rule__StateSubject__Group__1__Impl ; + public final void rule__StateSubject__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28720:1: ( rule__StateSubject__Group__1__Impl ) + // InternalFiacre.g:28721:2: rule__StateSubject__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StateSubject__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateSubject__Group__1" + + + // $ANTLR start "rule__StateSubject__Group__1__Impl" + // InternalFiacre.g:28727:1: rule__StateSubject__Group__1__Impl : ( ( rule__StateSubject__StateAssignment_1 ) ) ; + public final void rule__StateSubject__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28731:1: ( ( ( rule__StateSubject__StateAssignment_1 ) ) ) + // InternalFiacre.g:28732:1: ( ( rule__StateSubject__StateAssignment_1 ) ) + { + // InternalFiacre.g:28732:1: ( ( rule__StateSubject__StateAssignment_1 ) ) + // InternalFiacre.g:28733:2: ( rule__StateSubject__StateAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectAccess().getStateAssignment_1()); + } + // InternalFiacre.g:28734:2: ( rule__StateSubject__StateAssignment_1 ) + // InternalFiacre.g:28734:3: rule__StateSubject__StateAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__StateSubject__StateAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectAccess().getStateAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateSubject__Group__1__Impl" + + + // $ANTLR start "rule__ValueSubject__Group__0" + // InternalFiacre.g:28743:1: rule__ValueSubject__Group__0 : rule__ValueSubject__Group__0__Impl rule__ValueSubject__Group__1 ; + public final void rule__ValueSubject__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28747:1: ( rule__ValueSubject__Group__0__Impl rule__ValueSubject__Group__1 ) + // InternalFiacre.g:28748:2: rule__ValueSubject__Group__0__Impl rule__ValueSubject__Group__1 + { + pushFollow(FollowSets000.FOLLOW_23); + rule__ValueSubject__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__ValueSubject__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueSubject__Group__0" + + + // $ANTLR start "rule__ValueSubject__Group__0__Impl" + // InternalFiacre.g:28755:1: rule__ValueSubject__Group__0__Impl : ( 'value' ) ; + public final void rule__ValueSubject__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28759:1: ( ( 'value' ) ) + // InternalFiacre.g:28760:1: ( 'value' ) + { + // InternalFiacre.g:28760:1: ( 'value' ) + // InternalFiacre.g:28761:2: 'value' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getValueSubjectAccess().getValueKeyword_0()); + } + match(input,134,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValueSubjectAccess().getValueKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueSubject__Group__0__Impl" + + + // $ANTLR start "rule__ValueSubject__Group__1" + // InternalFiacre.g:28770:1: rule__ValueSubject__Group__1 : rule__ValueSubject__Group__1__Impl ; + public final void rule__ValueSubject__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28774:1: ( rule__ValueSubject__Group__1__Impl ) + // InternalFiacre.g:28775:2: rule__ValueSubject__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ValueSubject__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueSubject__Group__1" + + + // $ANTLR start "rule__ValueSubject__Group__1__Impl" + // InternalFiacre.g:28781:1: rule__ValueSubject__Group__1__Impl : ( ( rule__ValueSubject__ValueAssignment_1 ) ) ; + public final void rule__ValueSubject__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28785:1: ( ( ( rule__ValueSubject__ValueAssignment_1 ) ) ) + // InternalFiacre.g:28786:1: ( ( rule__ValueSubject__ValueAssignment_1 ) ) + { + // InternalFiacre.g:28786:1: ( ( rule__ValueSubject__ValueAssignment_1 ) ) + // InternalFiacre.g:28787:2: ( rule__ValueSubject__ValueAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getValueSubjectAccess().getValueAssignment_1()); + } + // InternalFiacre.g:28788:2: ( rule__ValueSubject__ValueAssignment_1 ) + // InternalFiacre.g:28788:3: rule__ValueSubject__ValueAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ValueSubject__ValueAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getValueSubjectAccess().getValueAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueSubject__Group__1__Impl" + + + // $ANTLR start "rule__TagSubject__Group__0" + // InternalFiacre.g:28797:1: rule__TagSubject__Group__0 : rule__TagSubject__Group__0__Impl rule__TagSubject__Group__1 ; + public final void rule__TagSubject__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28801:1: ( rule__TagSubject__Group__0__Impl rule__TagSubject__Group__1 ) + // InternalFiacre.g:28802:2: rule__TagSubject__Group__0__Impl rule__TagSubject__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__TagSubject__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__TagSubject__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TagSubject__Group__0" + + + // $ANTLR start "rule__TagSubject__Group__0__Impl" + // InternalFiacre.g:28809:1: rule__TagSubject__Group__0__Impl : ( 'tag' ) ; + public final void rule__TagSubject__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28813:1: ( ( 'tag' ) ) + // InternalFiacre.g:28814:1: ( 'tag' ) + { + // InternalFiacre.g:28814:1: ( 'tag' ) + // InternalFiacre.g:28815:2: 'tag' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectAccess().getTagKeyword_0()); + } + match(input,135,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectAccess().getTagKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TagSubject__Group__0__Impl" + + + // $ANTLR start "rule__TagSubject__Group__1" + // InternalFiacre.g:28824:1: rule__TagSubject__Group__1 : rule__TagSubject__Group__1__Impl ; + public final void rule__TagSubject__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28828:1: ( rule__TagSubject__Group__1__Impl ) + // InternalFiacre.g:28829:2: rule__TagSubject__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TagSubject__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TagSubject__Group__1" + + + // $ANTLR start "rule__TagSubject__Group__1__Impl" + // InternalFiacre.g:28835:1: rule__TagSubject__Group__1__Impl : ( ( rule__TagSubject__TagAssignment_1 ) ) ; + public final void rule__TagSubject__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28839:1: ( ( ( rule__TagSubject__TagAssignment_1 ) ) ) + // InternalFiacre.g:28840:1: ( ( rule__TagSubject__TagAssignment_1 ) ) + { + // InternalFiacre.g:28840:1: ( ( rule__TagSubject__TagAssignment_1 ) ) + // InternalFiacre.g:28841:2: ( rule__TagSubject__TagAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectAccess().getTagAssignment_1()); + } + // InternalFiacre.g:28842:2: ( rule__TagSubject__TagAssignment_1 ) + // InternalFiacre.g:28842:3: rule__TagSubject__TagAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__TagSubject__TagAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectAccess().getTagAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TagSubject__Group__1__Impl" + + + // $ANTLR start "rule__EventSubject__Group__0" + // InternalFiacre.g:28851:1: rule__EventSubject__Group__0 : rule__EventSubject__Group__0__Impl rule__EventSubject__Group__1 ; + public final void rule__EventSubject__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28855:1: ( rule__EventSubject__Group__0__Impl rule__EventSubject__Group__1 ) + // InternalFiacre.g:28856:2: rule__EventSubject__Group__0__Impl rule__EventSubject__Group__1 + { + pushFollow(FollowSets000.FOLLOW_9); + rule__EventSubject__Group__0__Impl(); + + state._fsp--; + if (state.failed) return ; + pushFollow(FollowSets000.FOLLOW_2); + rule__EventSubject__Group__1(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventSubject__Group__0" + + + // $ANTLR start "rule__EventSubject__Group__0__Impl" + // InternalFiacre.g:28863:1: rule__EventSubject__Group__0__Impl : ( 'event' ) ; + public final void rule__EventSubject__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28867:1: ( ( 'event' ) ) + // InternalFiacre.g:28868:1: ( 'event' ) + { + // InternalFiacre.g:28868:1: ( 'event' ) + // InternalFiacre.g:28869:2: 'event' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEventSubjectAccess().getEventKeyword_0()); + } + match(input,136,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEventSubjectAccess().getEventKeyword_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventSubject__Group__0__Impl" + + + // $ANTLR start "rule__EventSubject__Group__1" + // InternalFiacre.g:28878:1: rule__EventSubject__Group__1 : rule__EventSubject__Group__1__Impl ; + public final void rule__EventSubject__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28882:1: ( rule__EventSubject__Group__1__Impl ) + // InternalFiacre.g:28883:2: rule__EventSubject__Group__1__Impl + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EventSubject__Group__1__Impl(); + + state._fsp--; + if (state.failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventSubject__Group__1" + + + // $ANTLR start "rule__EventSubject__Group__1__Impl" + // InternalFiacre.g:28889:1: rule__EventSubject__Group__1__Impl : ( ( rule__EventSubject__EventAssignment_1 ) ) ; + public final void rule__EventSubject__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28893:1: ( ( ( rule__EventSubject__EventAssignment_1 ) ) ) + // InternalFiacre.g:28894:1: ( ( rule__EventSubject__EventAssignment_1 ) ) + { + // InternalFiacre.g:28894:1: ( ( rule__EventSubject__EventAssignment_1 ) ) + // InternalFiacre.g:28895:2: ( rule__EventSubject__EventAssignment_1 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEventSubjectAccess().getEventAssignment_1()); + } + // InternalFiacre.g:28896:2: ( rule__EventSubject__EventAssignment_1 ) + // InternalFiacre.g:28896:3: rule__EventSubject__EventAssignment_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__EventSubject__EventAssignment_1(); + + state._fsp--; + if (state.failed) return ; + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getEventSubjectAccess().getEventAssignment_1()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventSubject__Group__1__Impl" + + + // $ANTLR start "rule__Model__ImportsAssignment_1" + // InternalFiacre.g:28905:1: rule__Model__ImportsAssignment_1 : ( ruleImportDeclaration ) ; + public final void rule__Model__ImportsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28909:1: ( ( ruleImportDeclaration ) ) + // InternalFiacre.g:28910:2: ( ruleImportDeclaration ) + { + // InternalFiacre.g:28910:2: ( ruleImportDeclaration ) + // InternalFiacre.g:28911:3: ruleImportDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleImportDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__ImportsAssignment_1" + + + // $ANTLR start "rule__Model__DeclarationsAssignment_2_0" + // InternalFiacre.g:28920:1: rule__Model__DeclarationsAssignment_2_0 : ( ruleDeclaration ) ; + public final void rule__Model__DeclarationsAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28924:1: ( ( ruleDeclaration ) ) + // InternalFiacre.g:28925:2: ( ruleDeclaration ) + { + // InternalFiacre.g:28925:2: ( ruleDeclaration ) + // InternalFiacre.g:28926:3: ruleDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__DeclarationsAssignment_2_0" + + + // $ANTLR start "rule__Model__RequirementsAssignment_2_1" + // InternalFiacre.g:28935:1: rule__Model__RequirementsAssignment_2_1 : ( ruleRequirement ) ; + public final void rule__Model__RequirementsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28939:1: ( ( ruleRequirement ) ) + // InternalFiacre.g:28940:2: ( ruleRequirement ) + { + // InternalFiacre.g:28940:2: ( ruleRequirement ) + // InternalFiacre.g:28941:3: ruleRequirement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRequirement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__RequirementsAssignment_2_1" + + + // $ANTLR start "rule__Model__RootAssignment_2_2" + // InternalFiacre.g:28950:1: rule__Model__RootAssignment_2_2 : ( ruleRoot ) ; + public final void rule__Model__RootAssignment_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28954:1: ( ( ruleRoot ) ) + // InternalFiacre.g:28955:2: ( ruleRoot ) + { + // InternalFiacre.g:28955:2: ( ruleRoot ) + // InternalFiacre.g:28956:3: ruleRoot + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRoot(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Model__RootAssignment_2_2" + + + // $ANTLR start "rule__Root__DeclarationAssignment_1" + // InternalFiacre.g:28965:1: rule__Root__DeclarationAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__Root__DeclarationAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28969:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:28970:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:28970:2: ( ( RULE_ID ) ) + // InternalFiacre.g:28971:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); + } + // InternalFiacre.g:28972:3: ( RULE_ID ) + // InternalFiacre.g:28973:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getDeclarationRootDeclarationIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getDeclarationRootDeclarationIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__DeclarationAssignment_1" + + + // $ANTLR start "rule__Root__ObservedAssignment_2_1_0" + // InternalFiacre.g:28984:1: rule__Root__ObservedAssignment_2_1_0 : ( ( RULE_ID ) ) ; + public final void rule__Root__ObservedAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:28988:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:28989:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:28989:2: ( ( RULE_ID ) ) + // InternalFiacre.g:28990:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); + } + // InternalFiacre.g:28991:3: ( RULE_ID ) + // InternalFiacre.g:28992:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__ObservedAssignment_2_1_0" + + + // $ANTLR start "rule__Root__ObservedAssignment_2_1_1_1" + // InternalFiacre.g:29003:1: rule__Root__ObservedAssignment_2_1_1_1 : ( ( RULE_ID ) ) ; + public final void rule__Root__ObservedAssignment_2_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29007:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:29008:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:29008:2: ( ( RULE_ID ) ) + // InternalFiacre.g:29009:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); + } + // InternalFiacre.g:29010:3: ( RULE_ID ) + // InternalFiacre.g:29011:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Root__ObservedAssignment_2_1_1_1" + + + // $ANTLR start "rule__ImportDeclaration__ImportURIAssignment_1" + // InternalFiacre.g:29022:1: rule__ImportDeclaration__ImportURIAssignment_1 : ( RULE_STRING ) ; + public final void rule__ImportDeclaration__ImportURIAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29026:1: ( ( RULE_STRING ) ) + // InternalFiacre.g:29027:2: ( RULE_STRING ) + { + // InternalFiacre.g:29027:2: ( RULE_STRING ) + // InternalFiacre.g:29028:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); + } + match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ImportDeclaration__ImportURIAssignment_1" + + + // $ANTLR start "rule__FunctionDeclaration__NameAssignment_1" + // InternalFiacre.g:29037:1: rule__FunctionDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__FunctionDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29041:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29042:2: ( RULE_ID ) + { + // InternalFiacre.g:29042:2: ( RULE_ID ) + // InternalFiacre.g:29043:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__FunctionDeclaration__ParametersAssignment_2_1_0" + // InternalFiacre.g:29052:1: rule__FunctionDeclaration__ParametersAssignment_2_1_0 : ( ruleParametersDeclaration ) ; + public final void rule__FunctionDeclaration__ParametersAssignment_2_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29056:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29057:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29057:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29058:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__ParametersAssignment_2_1_0" + + + // $ANTLR start "rule__FunctionDeclaration__ParametersAssignment_2_1_1_1" + // InternalFiacre.g:29067:1: rule__FunctionDeclaration__ParametersAssignment_2_1_1_1 : ( ruleParametersDeclaration ) ; + public final void rule__FunctionDeclaration__ParametersAssignment_2_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29071:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29072:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29072:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29073:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__ParametersAssignment_2_1_1_1" + + + // $ANTLR start "rule__FunctionDeclaration__TypeAssignment_4" + // InternalFiacre.g:29082:1: rule__FunctionDeclaration__TypeAssignment_4 : ( ruleType ) ; + public final void rule__FunctionDeclaration__TypeAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29086:1: ( ( ruleType ) ) + // InternalFiacre.g:29087:2: ( ruleType ) + { + // InternalFiacre.g:29087:2: ( ruleType ) + // InternalFiacre.g:29088:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__TypeAssignment_4" + + + // $ANTLR start "rule__FunctionDeclaration__VariablesAssignment_6_1" + // InternalFiacre.g:29097:1: rule__FunctionDeclaration__VariablesAssignment_6_1 : ( ruleVariablesDeclaration ) ; + public final void rule__FunctionDeclaration__VariablesAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29101:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:29102:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:29102:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:29103:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__VariablesAssignment_6_1" + + + // $ANTLR start "rule__FunctionDeclaration__VariablesAssignment_6_2_1" + // InternalFiacre.g:29112:1: rule__FunctionDeclaration__VariablesAssignment_6_2_1 : ( ruleVariablesDeclaration ) ; + public final void rule__FunctionDeclaration__VariablesAssignment_6_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29116:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:29117:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:29117:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:29118:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__VariablesAssignment_6_2_1" + + + // $ANTLR start "rule__FunctionDeclaration__StatementAssignment_7" + // InternalFiacre.g:29127:1: rule__FunctionDeclaration__StatementAssignment_7 : ( ruleStatement ) ; + public final void rule__FunctionDeclaration__StatementAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29131:1: ( ( ruleStatement ) ) + // InternalFiacre.g:29132:2: ( ruleStatement ) + { + // InternalFiacre.g:29132:2: ( ruleStatement ) + // InternalFiacre.g:29133:3: ruleStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDeclaration__StatementAssignment_7" + + + // $ANTLR start "rule__TypeDeclaration__NameAssignment_1" + // InternalFiacre.g:29142:1: rule__TypeDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__TypeDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29146:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29147:2: ( RULE_ID ) + { + // InternalFiacre.g:29147:2: ( RULE_ID ) + // InternalFiacre.g:29148:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__TypeDeclaration__ValueAssignment_3" + // InternalFiacre.g:29157:1: rule__TypeDeclaration__ValueAssignment_3 : ( ruleType ) ; + public final void rule__TypeDeclaration__ValueAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29161:1: ( ( ruleType ) ) + // InternalFiacre.g:29162:2: ( ruleType ) + { + // InternalFiacre.g:29162:2: ( ruleType ) + // InternalFiacre.g:29163:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TypeDeclaration__ValueAssignment_3" + + + // $ANTLR start "rule__ChannelDeclaration__NameAssignment_1" + // InternalFiacre.g:29172:1: rule__ChannelDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ChannelDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29176:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29177:2: ( RULE_ID ) + { + // InternalFiacre.g:29177:2: ( RULE_ID ) + // InternalFiacre.g:29178:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__ChannelDeclaration__ValueAssignment_3" + // InternalFiacre.g:29187:1: rule__ChannelDeclaration__ValueAssignment_3 : ( ruleChannelType ) ; + public final void rule__ChannelDeclaration__ValueAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29191:1: ( ( ruleChannelType ) ) + // InternalFiacre.g:29192:2: ( ruleChannelType ) + { + // InternalFiacre.g:29192:2: ( ruleChannelType ) + // InternalFiacre.g:29193:3: ruleChannelType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleChannelType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelDeclaration__ValueAssignment_3" + + + // $ANTLR start "rule__ChannelType__SizeAssignment_1_1" + // InternalFiacre.g:29202:1: rule__ChannelType__SizeAssignment_1_1 : ( ruleExpression ) ; + public final void rule__ChannelType__SizeAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29206:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29207:2: ( ruleExpression ) + { + // InternalFiacre.g:29207:2: ( ruleExpression ) + // InternalFiacre.g:29208:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__SizeAssignment_1_1" + + + // $ANTLR start "rule__ChannelType__InAssignment_2_0_0_0_0" + // InternalFiacre.g:29217:1: rule__ChannelType__InAssignment_2_0_0_0_0 : ( ( 'in' ) ) ; + public final void rule__ChannelType__InAssignment_2_0_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29221:1: ( ( ( 'in' ) ) ) + // InternalFiacre.g:29222:2: ( ( 'in' ) ) + { + // InternalFiacre.g:29222:2: ( ( 'in' ) ) + // InternalFiacre.g:29223:3: ( 'in' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + } + // InternalFiacre.g:29224:3: ( 'in' ) + // InternalFiacre.g:29225:4: 'in' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + } + match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__InAssignment_2_0_0_0_0" + + + // $ANTLR start "rule__ChannelType__OutAssignment_2_0_0_0_1" + // InternalFiacre.g:29236:1: rule__ChannelType__OutAssignment_2_0_0_0_1 : ( ( 'out' ) ) ; + public final void rule__ChannelType__OutAssignment_2_0_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29240:1: ( ( ( 'out' ) ) ) + // InternalFiacre.g:29241:2: ( ( 'out' ) ) + { + // InternalFiacre.g:29241:2: ( ( 'out' ) ) + // InternalFiacre.g:29242:3: ( 'out' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + } + // InternalFiacre.g:29243:3: ( 'out' ) + // InternalFiacre.g:29244:4: 'out' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + } + match(input,137,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__OutAssignment_2_0_0_0_1" + + + // $ANTLR start "rule__ChannelType__OutAssignment_2_0_0_1" + // InternalFiacre.g:29255:1: rule__ChannelType__OutAssignment_2_0_0_1 : ( ( 'out' ) ) ; + public final void rule__ChannelType__OutAssignment_2_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29259:1: ( ( ( 'out' ) ) ) + // InternalFiacre.g:29260:2: ( ( 'out' ) ) + { + // InternalFiacre.g:29260:2: ( ( 'out' ) ) + // InternalFiacre.g:29261:3: ( 'out' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + } + // InternalFiacre.g:29262:3: ( 'out' ) + // InternalFiacre.g:29263:4: 'out' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + } + match(input,137,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__OutAssignment_2_0_0_1" + + + // $ANTLR start "rule__ChannelType__TypeAssignment_2_0_1_0" + // InternalFiacre.g:29274:1: rule__ChannelType__TypeAssignment_2_0_1_0 : ( ruleTupleType ) ; + public final void rule__ChannelType__TypeAssignment_2_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29278:1: ( ( ruleTupleType ) ) + // InternalFiacre.g:29279:2: ( ruleTupleType ) + { + // InternalFiacre.g:29279:2: ( ruleTupleType ) + // InternalFiacre.g:29280:3: ruleTupleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTupleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ChannelType__TypeAssignment_2_0_1_0" + + + // $ANTLR start "rule__TupleType__TypesAssignment_1_2" + // InternalFiacre.g:29289:1: rule__TupleType__TypesAssignment_1_2 : ( ruleType ) ; + public final void rule__TupleType__TypesAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29293:1: ( ( ruleType ) ) + // InternalFiacre.g:29294:2: ( ruleType ) + { + // InternalFiacre.g:29294:2: ( ruleType ) + // InternalFiacre.g:29295:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TupleType__TypesAssignment_1_2" + + + // $ANTLR start "rule__RangeType__MinimumAssignment_0" + // InternalFiacre.g:29304:1: rule__RangeType__MinimumAssignment_0 : ( ruleExpression ) ; + public final void rule__RangeType__MinimumAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29308:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29309:2: ( ruleExpression ) + { + // InternalFiacre.g:29309:2: ( ruleExpression ) + // InternalFiacre.g:29310:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__MinimumAssignment_0" + + + // $ANTLR start "rule__RangeType__MaximumAssignment_2" + // InternalFiacre.g:29319:1: rule__RangeType__MaximumAssignment_2 : ( ruleExpression ) ; + public final void rule__RangeType__MaximumAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29323:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29324:2: ( ruleExpression ) + { + // InternalFiacre.g:29324:2: ( ruleExpression ) + // InternalFiacre.g:29325:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeType__MaximumAssignment_2" + + + // $ANTLR start "rule__UnionType__TagsAssignment_1" + // InternalFiacre.g:29334:1: rule__UnionType__TagsAssignment_1 : ( ruleUnionTags ) ; + public final void rule__UnionType__TagsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29338:1: ( ( ruleUnionTags ) ) + // InternalFiacre.g:29339:2: ( ruleUnionTags ) + { + // InternalFiacre.g:29339:2: ( ruleUnionTags ) + // InternalFiacre.g:29340:3: ruleUnionTags + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnionTags(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__TagsAssignment_1" + + + // $ANTLR start "rule__UnionType__TagsAssignment_2_1" + // InternalFiacre.g:29349:1: rule__UnionType__TagsAssignment_2_1 : ( ruleUnionTags ) ; + public final void rule__UnionType__TagsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29353:1: ( ( ruleUnionTags ) ) + // InternalFiacre.g:29354:2: ( ruleUnionTags ) + { + // InternalFiacre.g:29354:2: ( ruleUnionTags ) + // InternalFiacre.g:29355:3: ruleUnionTags + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnionTags(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionType__TagsAssignment_2_1" + + + // $ANTLR start "rule__UnionTags__TagsAssignment_0" + // InternalFiacre.g:29364:1: rule__UnionTags__TagsAssignment_0 : ( ruleUnionTagDeclaration ) ; + public final void rule__UnionTags__TagsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29368:1: ( ( ruleUnionTagDeclaration ) ) + // InternalFiacre.g:29369:2: ( ruleUnionTagDeclaration ) + { + // InternalFiacre.g:29369:2: ( ruleUnionTagDeclaration ) + // InternalFiacre.g:29370:3: ruleUnionTagDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__TagsAssignment_0" + + + // $ANTLR start "rule__UnionTags__TagsAssignment_1_1" + // InternalFiacre.g:29379:1: rule__UnionTags__TagsAssignment_1_1 : ( ruleUnionTagDeclaration ) ; + public final void rule__UnionTags__TagsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29383:1: ( ( ruleUnionTagDeclaration ) ) + // InternalFiacre.g:29384:2: ( ruleUnionTagDeclaration ) + { + // InternalFiacre.g:29384:2: ( ruleUnionTagDeclaration ) + // InternalFiacre.g:29385:3: ruleUnionTagDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__TagsAssignment_1_1" + + + // $ANTLR start "rule__UnionTags__TypeAssignment_2_1" + // InternalFiacre.g:29394:1: rule__UnionTags__TypeAssignment_2_1 : ( ruleType ) ; + public final void rule__UnionTags__TypeAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29398:1: ( ( ruleType ) ) + // InternalFiacre.g:29399:2: ( ruleType ) + { + // InternalFiacre.g:29399:2: ( ruleType ) + // InternalFiacre.g:29400:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTags__TypeAssignment_2_1" + + + // $ANTLR start "rule__UnionTagDeclaration__NameAssignment" + // InternalFiacre.g:29409:1: rule__UnionTagDeclaration__NameAssignment : ( RULE_ID ) ; + public final void rule__UnionTagDeclaration__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29413:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29414:2: ( RULE_ID ) + { + // InternalFiacre.g:29414:2: ( RULE_ID ) + // InternalFiacre.g:29415:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnionTagDeclaration__NameAssignment" + + + // $ANTLR start "rule__RecordType__FieldsAssignment_1" + // InternalFiacre.g:29424:1: rule__RecordType__FieldsAssignment_1 : ( ruleRecordFields ) ; + public final void rule__RecordType__FieldsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29428:1: ( ( ruleRecordFields ) ) + // InternalFiacre.g:29429:2: ( ruleRecordFields ) + { + // InternalFiacre.g:29429:2: ( ruleRecordFields ) + // InternalFiacre.g:29430:3: ruleRecordFields + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordFields(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__FieldsAssignment_1" + + + // $ANTLR start "rule__RecordType__FieldsAssignment_2_1" + // InternalFiacre.g:29439:1: rule__RecordType__FieldsAssignment_2_1 : ( ruleRecordFields ) ; + public final void rule__RecordType__FieldsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29443:1: ( ( ruleRecordFields ) ) + // InternalFiacre.g:29444:2: ( ruleRecordFields ) + { + // InternalFiacre.g:29444:2: ( ruleRecordFields ) + // InternalFiacre.g:29445:3: ruleRecordFields + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordFields(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordType__FieldsAssignment_2_1" + + + // $ANTLR start "rule__RecordFields__FieldsAssignment_0" + // InternalFiacre.g:29454:1: rule__RecordFields__FieldsAssignment_0 : ( ruleRecordFieldDeclaration ) ; + public final void rule__RecordFields__FieldsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29458:1: ( ( ruleRecordFieldDeclaration ) ) + // InternalFiacre.g:29459:2: ( ruleRecordFieldDeclaration ) + { + // InternalFiacre.g:29459:2: ( ruleRecordFieldDeclaration ) + // InternalFiacre.g:29460:3: ruleRecordFieldDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__FieldsAssignment_0" + + + // $ANTLR start "rule__RecordFields__FieldsAssignment_1_1" + // InternalFiacre.g:29469:1: rule__RecordFields__FieldsAssignment_1_1 : ( ruleRecordFieldDeclaration ) ; + public final void rule__RecordFields__FieldsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29473:1: ( ( ruleRecordFieldDeclaration ) ) + // InternalFiacre.g:29474:2: ( ruleRecordFieldDeclaration ) + { + // InternalFiacre.g:29474:2: ( ruleRecordFieldDeclaration ) + // InternalFiacre.g:29475:3: ruleRecordFieldDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__FieldsAssignment_1_1" + + + // $ANTLR start "rule__RecordFields__TypeAssignment_3" + // InternalFiacre.g:29484:1: rule__RecordFields__TypeAssignment_3 : ( ruleType ) ; + public final void rule__RecordFields__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29488:1: ( ( ruleType ) ) + // InternalFiacre.g:29489:2: ( ruleType ) + { + // InternalFiacre.g:29489:2: ( ruleType ) + // InternalFiacre.g:29490:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFields__TypeAssignment_3" + + + // $ANTLR start "rule__RecordFieldDeclaration__NameAssignment" + // InternalFiacre.g:29499:1: rule__RecordFieldDeclaration__NameAssignment : ( RULE_ID ) ; + public final void rule__RecordFieldDeclaration__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29503:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29504:2: ( RULE_ID ) + { + // InternalFiacre.g:29504:2: ( RULE_ID ) + // InternalFiacre.g:29505:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordFieldDeclaration__NameAssignment" + + + // $ANTLR start "rule__QueueType__SizeAssignment_1" + // InternalFiacre.g:29514:1: rule__QueueType__SizeAssignment_1 : ( ruleExpression ) ; + public final void rule__QueueType__SizeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29518:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29519:2: ( ruleExpression ) + { + // InternalFiacre.g:29519:2: ( ruleExpression ) + // InternalFiacre.g:29520:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__SizeAssignment_1" + + + // $ANTLR start "rule__QueueType__TypeAssignment_3" + // InternalFiacre.g:29529:1: rule__QueueType__TypeAssignment_3 : ( ruleType ) ; + public final void rule__QueueType__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29533:1: ( ( ruleType ) ) + // InternalFiacre.g:29534:2: ( ruleType ) + { + // InternalFiacre.g:29534:2: ( ruleType ) + // InternalFiacre.g:29535:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueType__TypeAssignment_3" + + + // $ANTLR start "rule__ArrayType__SizeAssignment_1" + // InternalFiacre.g:29544:1: rule__ArrayType__SizeAssignment_1 : ( ruleExpression ) ; + public final void rule__ArrayType__SizeAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29548:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29549:2: ( ruleExpression ) + { + // InternalFiacre.g:29549:2: ( ruleExpression ) + // InternalFiacre.g:29550:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__SizeAssignment_1" + + + // $ANTLR start "rule__ArrayType__TypeAssignment_3" + // InternalFiacre.g:29559:1: rule__ArrayType__TypeAssignment_3 : ( ruleType ) ; + public final void rule__ArrayType__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29563:1: ( ( ruleType ) ) + // InternalFiacre.g:29564:2: ( ruleType ) + { + // InternalFiacre.g:29564:2: ( ruleType ) + // InternalFiacre.g:29565:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayType__TypeAssignment_3" + + + // $ANTLR start "rule__ReferencedType__TypeAssignment" + // InternalFiacre.g:29574:1: rule__ReferencedType__TypeAssignment : ( ( RULE_ID ) ) ; + public final void rule__ReferencedType__TypeAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29578:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:29579:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:29579:2: ( ( RULE_ID ) ) + // InternalFiacre.g:29580:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); + } + // InternalFiacre.g:29581:3: ( RULE_ID ) + // InternalFiacre.g:29582:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseIDTerminalRuleCall_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseIDTerminalRuleCall_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferencedType__TypeAssignment" + + + // $ANTLR start "rule__ConstantDeclaration__NameAssignment_1" + // InternalFiacre.g:29593:1: rule__ConstantDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ConstantDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29597:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29598:2: ( RULE_ID ) + { + // InternalFiacre.g:29598:2: ( RULE_ID ) + // InternalFiacre.g:29599:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__ConstantDeclaration__TypeAssignment_3" + // InternalFiacre.g:29608:1: rule__ConstantDeclaration__TypeAssignment_3 : ( ruleType ) ; + public final void rule__ConstantDeclaration__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29612:1: ( ( ruleType ) ) + // InternalFiacre.g:29613:2: ( ruleType ) + { + // InternalFiacre.g:29613:2: ( ruleType ) + // InternalFiacre.g:29614:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__TypeAssignment_3" + + + // $ANTLR start "rule__ConstantDeclaration__ValueAssignment_5" + // InternalFiacre.g:29623:1: rule__ConstantDeclaration__ValueAssignment_5 : ( ruleExpression ) ; + public final void rule__ConstantDeclaration__ValueAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29627:1: ( ( ruleExpression ) ) + // InternalFiacre.g:29628:2: ( ruleExpression ) + { + // InternalFiacre.g:29628:2: ( ruleExpression ) + // InternalFiacre.g:29629:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantDeclaration__ValueAssignment_5" + + + // $ANTLR start "rule__ProcessDeclaration__NameAssignment_1" + // InternalFiacre.g:29638:1: rule__ProcessDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ProcessDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29642:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29643:2: ( RULE_ID ) + { + // InternalFiacre.g:29643:2: ( RULE_ID ) + // InternalFiacre.g:29644:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__ProcessDeclaration__PortsAssignment_2_1" + // InternalFiacre.g:29653:1: rule__ProcessDeclaration__PortsAssignment_2_1 : ( rulePortsDeclaration ) ; + public final void rule__ProcessDeclaration__PortsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29657:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29658:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29658:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29659:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__PortsAssignment_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__PortsAssignment_2_2_1" + // InternalFiacre.g:29668:1: rule__ProcessDeclaration__PortsAssignment_2_2_1 : ( rulePortsDeclaration ) ; + public final void rule__ProcessDeclaration__PortsAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29672:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29673:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29673:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29674:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__PortsAssignment_2_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__ParametersAssignment_3_1" + // InternalFiacre.g:29683:1: rule__ProcessDeclaration__ParametersAssignment_3_1 : ( ruleParametersDeclaration ) ; + public final void rule__ProcessDeclaration__ParametersAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29687:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29688:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29688:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29689:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__ParametersAssignment_3_1" + + + // $ANTLR start "rule__ProcessDeclaration__ParametersAssignment_3_2_1" + // InternalFiacre.g:29698:1: rule__ProcessDeclaration__ParametersAssignment_3_2_1 : ( ruleParametersDeclaration ) ; + public final void rule__ProcessDeclaration__ParametersAssignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29702:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29703:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29703:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29704:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__ParametersAssignment_3_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__LocalPortsAssignment_5_1" + // InternalFiacre.g:29713:1: rule__ProcessDeclaration__LocalPortsAssignment_5_1 : ( rulePortsDeclaration ) ; + public final void rule__ProcessDeclaration__LocalPortsAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29717:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29718:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29718:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29719:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__LocalPortsAssignment_5_1" + + + // $ANTLR start "rule__ProcessDeclaration__LocalPortsAssignment_5_2_1" + // InternalFiacre.g:29728:1: rule__ProcessDeclaration__LocalPortsAssignment_5_2_1 : ( rulePortsDeclaration ) ; + public final void rule__ProcessDeclaration__LocalPortsAssignment_5_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29732:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29733:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29733:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29734:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__LocalPortsAssignment_5_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__PrioritiesAssignment_6_1" + // InternalFiacre.g:29743:1: rule__ProcessDeclaration__PrioritiesAssignment_6_1 : ( rulePriorityDeclaration ) ; + public final void rule__ProcessDeclaration__PrioritiesAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29747:1: ( ( rulePriorityDeclaration ) ) + // InternalFiacre.g:29748:2: ( rulePriorityDeclaration ) + { + // InternalFiacre.g:29748:2: ( rulePriorityDeclaration ) + // InternalFiacre.g:29749:3: rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__PrioritiesAssignment_6_1" + + + // $ANTLR start "rule__ProcessDeclaration__PrioritiesAssignment_6_2_1" + // InternalFiacre.g:29758:1: rule__ProcessDeclaration__PrioritiesAssignment_6_2_1 : ( rulePriorityDeclaration ) ; + public final void rule__ProcessDeclaration__PrioritiesAssignment_6_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29762:1: ( ( rulePriorityDeclaration ) ) + // InternalFiacre.g:29763:2: ( rulePriorityDeclaration ) + { + // InternalFiacre.g:29763:2: ( rulePriorityDeclaration ) + // InternalFiacre.g:29764:3: rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__PrioritiesAssignment_6_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__StatesAssignment_8" + // InternalFiacre.g:29773:1: rule__ProcessDeclaration__StatesAssignment_8 : ( ruleStateDeclaration ) ; + public final void rule__ProcessDeclaration__StatesAssignment_8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29777:1: ( ( ruleStateDeclaration ) ) + // InternalFiacre.g:29778:2: ( ruleStateDeclaration ) + { + // InternalFiacre.g:29778:2: ( ruleStateDeclaration ) + // InternalFiacre.g:29779:3: ruleStateDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__StatesAssignment_8" + + + // $ANTLR start "rule__ProcessDeclaration__StatesAssignment_9_1" + // InternalFiacre.g:29788:1: rule__ProcessDeclaration__StatesAssignment_9_1 : ( ruleStateDeclaration ) ; + public final void rule__ProcessDeclaration__StatesAssignment_9_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29792:1: ( ( ruleStateDeclaration ) ) + // InternalFiacre.g:29793:2: ( ruleStateDeclaration ) + { + // InternalFiacre.g:29793:2: ( ruleStateDeclaration ) + // InternalFiacre.g:29794:3: ruleStateDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__StatesAssignment_9_1" + + + // $ANTLR start "rule__ProcessDeclaration__VariablesAssignment_10_1" + // InternalFiacre.g:29803:1: rule__ProcessDeclaration__VariablesAssignment_10_1 : ( ruleVariablesDeclaration ) ; + public final void rule__ProcessDeclaration__VariablesAssignment_10_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29807:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:29808:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:29808:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:29809:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__VariablesAssignment_10_1" + + + // $ANTLR start "rule__ProcessDeclaration__VariablesAssignment_10_2_1" + // InternalFiacre.g:29818:1: rule__ProcessDeclaration__VariablesAssignment_10_2_1 : ( ruleVariablesDeclaration ) ; + public final void rule__ProcessDeclaration__VariablesAssignment_10_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29822:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:29823:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:29823:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:29824:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__VariablesAssignment_10_2_1" + + + // $ANTLR start "rule__ProcessDeclaration__PreludeAssignment_11_1" + // InternalFiacre.g:29833:1: rule__ProcessDeclaration__PreludeAssignment_11_1 : ( ruleStatementSequence ) ; + public final void rule__ProcessDeclaration__PreludeAssignment_11_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29837:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:29838:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:29838:2: ( ruleStatementSequence ) + // InternalFiacre.g:29839:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__PreludeAssignment_11_1" + + + // $ANTLR start "rule__ProcessDeclaration__TransitionsAssignment_12" + // InternalFiacre.g:29848:1: rule__ProcessDeclaration__TransitionsAssignment_12 : ( ruleTransition ) ; + public final void rule__ProcessDeclaration__TransitionsAssignment_12() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29852:1: ( ( ruleTransition ) ) + // InternalFiacre.g:29853:2: ( ruleTransition ) + { + // InternalFiacre.g:29853:2: ( ruleTransition ) + // InternalFiacre.g:29854:3: ruleTransition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTransition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ProcessDeclaration__TransitionsAssignment_12" + + + // $ANTLR start "rule__StateDeclaration__NameAssignment" + // InternalFiacre.g:29863:1: rule__StateDeclaration__NameAssignment : ( RULE_ID ) ; + public final void rule__StateDeclaration__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29867:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29868:2: ( RULE_ID ) + { + // InternalFiacre.g:29868:2: ( RULE_ID ) + // InternalFiacre.g:29869:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateDeclaration__NameAssignment" + + + // $ANTLR start "rule__TransitionSource__OriginAssignment_1" + // InternalFiacre.g:29878:1: rule__TransitionSource__OriginAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__TransitionSource__OriginAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29882:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:29883:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:29883:2: ( ( RULE_ID ) ) + // InternalFiacre.g:29884:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); + } + // InternalFiacre.g:29885:3: ( RULE_ID ) + // InternalFiacre.g:29886:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TransitionSource__OriginAssignment_1" + + + // $ANTLR start "rule__Transition__SourceAssignment_0" + // InternalFiacre.g:29897:1: rule__Transition__SourceAssignment_0 : ( ruleTransitionSource ) ; + public final void rule__Transition__SourceAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29901:1: ( ( ruleTransitionSource ) ) + // InternalFiacre.g:29902:2: ( ruleTransitionSource ) + { + // InternalFiacre.g:29902:2: ( ruleTransitionSource ) + // InternalFiacre.g:29903:3: ruleTransitionSource + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleTransitionSource(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__SourceAssignment_0" + + + // $ANTLR start "rule__Transition__ActionAssignment_1" + // InternalFiacre.g:29912:1: rule__Transition__ActionAssignment_1 : ( ruleStatementSequence ) ; + public final void rule__Transition__ActionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29916:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:29917:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:29917:2: ( ruleStatementSequence ) + // InternalFiacre.g:29918:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Transition__ActionAssignment_1" + + + // $ANTLR start "rule__ComponentDeclaration__NameAssignment_1" + // InternalFiacre.g:29927:1: rule__ComponentDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ComponentDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29931:1: ( ( RULE_ID ) ) + // InternalFiacre.g:29932:2: ( RULE_ID ) + { + // InternalFiacre.g:29932:2: ( RULE_ID ) + // InternalFiacre.g:29933:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__ComponentDeclaration__PortsAssignment_2_1" + // InternalFiacre.g:29942:1: rule__ComponentDeclaration__PortsAssignment_2_1 : ( rulePortsDeclaration ) ; + public final void rule__ComponentDeclaration__PortsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29946:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29947:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29947:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29948:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__PortsAssignment_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__PortsAssignment_2_2_1" + // InternalFiacre.g:29957:1: rule__ComponentDeclaration__PortsAssignment_2_2_1 : ( rulePortsDeclaration ) ; + public final void rule__ComponentDeclaration__PortsAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29961:1: ( ( rulePortsDeclaration ) ) + // InternalFiacre.g:29962:2: ( rulePortsDeclaration ) + { + // InternalFiacre.g:29962:2: ( rulePortsDeclaration ) + // InternalFiacre.g:29963:3: rulePortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__PortsAssignment_2_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__ParametersAssignment_3_1" + // InternalFiacre.g:29972:1: rule__ComponentDeclaration__ParametersAssignment_3_1 : ( ruleParametersDeclaration ) ; + public final void rule__ComponentDeclaration__ParametersAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29976:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29977:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29977:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29978:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__ParametersAssignment_3_1" + + + // $ANTLR start "rule__ComponentDeclaration__ParametersAssignment_3_2_1" + // InternalFiacre.g:29987:1: rule__ComponentDeclaration__ParametersAssignment_3_2_1 : ( ruleParametersDeclaration ) ; + public final void rule__ComponentDeclaration__ParametersAssignment_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:29991:1: ( ( ruleParametersDeclaration ) ) + // InternalFiacre.g:29992:2: ( ruleParametersDeclaration ) + { + // InternalFiacre.g:29992:2: ( ruleParametersDeclaration ) + // InternalFiacre.g:29993:3: ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__ParametersAssignment_3_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__VariablesAssignment_5_1" + // InternalFiacre.g:30002:1: rule__ComponentDeclaration__VariablesAssignment_5_1 : ( ruleVariablesDeclaration ) ; + public final void rule__ComponentDeclaration__VariablesAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30006:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:30007:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:30007:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:30008:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__VariablesAssignment_5_1" + + + // $ANTLR start "rule__ComponentDeclaration__VariablesAssignment_5_2_1" + // InternalFiacre.g:30017:1: rule__ComponentDeclaration__VariablesAssignment_5_2_1 : ( ruleVariablesDeclaration ) ; + public final void rule__ComponentDeclaration__VariablesAssignment_5_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30021:1: ( ( ruleVariablesDeclaration ) ) + // InternalFiacre.g:30022:2: ( ruleVariablesDeclaration ) + { + // InternalFiacre.g:30022:2: ( ruleVariablesDeclaration ) + // InternalFiacre.g:30023:3: ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__VariablesAssignment_5_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__LocalPortsAssignment_6_1" + // InternalFiacre.g:30032:1: rule__ComponentDeclaration__LocalPortsAssignment_6_1 : ( ruleLocalPortsDeclaration ) ; + public final void rule__ComponentDeclaration__LocalPortsAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30036:1: ( ( ruleLocalPortsDeclaration ) ) + // InternalFiacre.g:30037:2: ( ruleLocalPortsDeclaration ) + { + // InternalFiacre.g:30037:2: ( ruleLocalPortsDeclaration ) + // InternalFiacre.g:30038:3: ruleLocalPortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__LocalPortsAssignment_6_1" + + + // $ANTLR start "rule__ComponentDeclaration__LocalPortsAssignment_6_2_1" + // InternalFiacre.g:30047:1: rule__ComponentDeclaration__LocalPortsAssignment_6_2_1 : ( ruleLocalPortsDeclaration ) ; + public final void rule__ComponentDeclaration__LocalPortsAssignment_6_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30051:1: ( ( ruleLocalPortsDeclaration ) ) + // InternalFiacre.g:30052:2: ( ruleLocalPortsDeclaration ) + { + // InternalFiacre.g:30052:2: ( ruleLocalPortsDeclaration ) + // InternalFiacre.g:30053:3: ruleLocalPortsDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__LocalPortsAssignment_6_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__PrioritiesAssignment_7_1" + // InternalFiacre.g:30062:1: rule__ComponentDeclaration__PrioritiesAssignment_7_1 : ( rulePriorityDeclaration ) ; + public final void rule__ComponentDeclaration__PrioritiesAssignment_7_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30066:1: ( ( rulePriorityDeclaration ) ) + // InternalFiacre.g:30067:2: ( rulePriorityDeclaration ) + { + // InternalFiacre.g:30067:2: ( rulePriorityDeclaration ) + // InternalFiacre.g:30068:3: rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__PrioritiesAssignment_7_1" + + + // $ANTLR start "rule__ComponentDeclaration__PrioritiesAssignment_7_2_1" + // InternalFiacre.g:30077:1: rule__ComponentDeclaration__PrioritiesAssignment_7_2_1 : ( rulePriorityDeclaration ) ; + public final void rule__ComponentDeclaration__PrioritiesAssignment_7_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30081:1: ( ( rulePriorityDeclaration ) ) + // InternalFiacre.g:30082:2: ( rulePriorityDeclaration ) + { + // InternalFiacre.g:30082:2: ( rulePriorityDeclaration ) + // InternalFiacre.g:30083:3: rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__PrioritiesAssignment_7_2_1" + + + // $ANTLR start "rule__ComponentDeclaration__PreludeAssignment_8_1" + // InternalFiacre.g:30092:1: rule__ComponentDeclaration__PreludeAssignment_8_1 : ( ruleStatementSequence ) ; + public final void rule__ComponentDeclaration__PreludeAssignment_8_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30096:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:30097:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:30097:2: ( ruleStatementSequence ) + // InternalFiacre.g:30098:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__PreludeAssignment_8_1" + + + // $ANTLR start "rule__ComponentDeclaration__BodyAssignment_9" + // InternalFiacre.g:30107:1: rule__ComponentDeclaration__BodyAssignment_9 : ( ruleComposition ) ; + public final void rule__ComponentDeclaration__BodyAssignment_9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30111:1: ( ( ruleComposition ) ) + // InternalFiacre.g:30112:2: ( ruleComposition ) + { + // InternalFiacre.g:30112:2: ( ruleComposition ) + // InternalFiacre.g:30113:3: ruleComposition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComposition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentDeclaration__BodyAssignment_9" + + + // $ANTLR start "rule__PortsDeclaration__PortsAssignment_0" + // InternalFiacre.g:30122:1: rule__PortsDeclaration__PortsAssignment_0 : ( rulePortDeclaration ) ; + public final void rule__PortsDeclaration__PortsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30126:1: ( ( rulePortDeclaration ) ) + // InternalFiacre.g:30127:2: ( rulePortDeclaration ) + { + // InternalFiacre.g:30127:2: ( rulePortDeclaration ) + // InternalFiacre.g:30128:3: rulePortDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__PortsAssignment_0" + + + // $ANTLR start "rule__PortsDeclaration__PortsAssignment_1_1" + // InternalFiacre.g:30137:1: rule__PortsDeclaration__PortsAssignment_1_1 : ( rulePortDeclaration ) ; + public final void rule__PortsDeclaration__PortsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30141:1: ( ( rulePortDeclaration ) ) + // InternalFiacre.g:30142:2: ( rulePortDeclaration ) + { + // InternalFiacre.g:30142:2: ( rulePortDeclaration ) + // InternalFiacre.g:30143:3: rulePortDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__PortsAssignment_1_1" + + + // $ANTLR start "rule__PortsDeclaration__TypeAssignment_3" + // InternalFiacre.g:30152:1: rule__PortsDeclaration__TypeAssignment_3 : ( ruleChannelType ) ; + public final void rule__PortsDeclaration__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30156:1: ( ( ruleChannelType ) ) + // InternalFiacre.g:30157:2: ( ruleChannelType ) + { + // InternalFiacre.g:30157:2: ( ruleChannelType ) + // InternalFiacre.g:30158:3: ruleChannelType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleChannelType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortsDeclaration__TypeAssignment_3" + + + // $ANTLR start "rule__PortDeclaration__NameAssignment" + // InternalFiacre.g:30167:1: rule__PortDeclaration__NameAssignment : ( RULE_ID ) ; + public final void rule__PortDeclaration__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30171:1: ( ( RULE_ID ) ) + // InternalFiacre.g:30172:2: ( RULE_ID ) + { + // InternalFiacre.g:30172:2: ( RULE_ID ) + // InternalFiacre.g:30173:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortDeclaration__NameAssignment" + + + // $ANTLR start "rule__LocalPortsDeclaration__PortsAssignment_0" + // InternalFiacre.g:30182:1: rule__LocalPortsDeclaration__PortsAssignment_0 : ( rulePortDeclaration ) ; + public final void rule__LocalPortsDeclaration__PortsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30186:1: ( ( rulePortDeclaration ) ) + // InternalFiacre.g:30187:2: ( rulePortDeclaration ) + { + // InternalFiacre.g:30187:2: ( rulePortDeclaration ) + // InternalFiacre.g:30188:3: rulePortDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__PortsAssignment_0" + + + // $ANTLR start "rule__LocalPortsDeclaration__PortsAssignment_1_1" + // InternalFiacre.g:30197:1: rule__LocalPortsDeclaration__PortsAssignment_1_1 : ( rulePortDeclaration ) ; + public final void rule__LocalPortsDeclaration__PortsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30201:1: ( ( rulePortDeclaration ) ) + // InternalFiacre.g:30202:2: ( rulePortDeclaration ) + { + // InternalFiacre.g:30202:2: ( rulePortDeclaration ) + // InternalFiacre.g:30203:3: rulePortDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__PortsAssignment_1_1" + + + // $ANTLR start "rule__LocalPortsDeclaration__TypeAssignment_3" + // InternalFiacre.g:30212:1: rule__LocalPortsDeclaration__TypeAssignment_3 : ( ruleChannelType ) ; + public final void rule__LocalPortsDeclaration__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30216:1: ( ( ruleChannelType ) ) + // InternalFiacre.g:30217:2: ( ruleChannelType ) + { + // InternalFiacre.g:30217:2: ( ruleChannelType ) + // InternalFiacre.g:30218:3: ruleChannelType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleChannelType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__TypeAssignment_3" + + + // $ANTLR start "rule__LocalPortsDeclaration__LeftAssignment_4_1" + // InternalFiacre.g:30227:1: rule__LocalPortsDeclaration__LeftAssignment_4_1 : ( ruleLowerBound ) ; + public final void rule__LocalPortsDeclaration__LeftAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30231:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:30232:2: ( ruleLowerBound ) + { + // InternalFiacre.g:30232:2: ( ruleLowerBound ) + // InternalFiacre.g:30233:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__LeftAssignment_4_1" + + + // $ANTLR start "rule__LocalPortsDeclaration__RightAssignment_4_3" + // InternalFiacre.g:30242:1: rule__LocalPortsDeclaration__RightAssignment_4_3 : ( ruleUpperBound ) ; + public final void rule__LocalPortsDeclaration__RightAssignment_4_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30246:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:30247:2: ( ruleUpperBound ) + { + // InternalFiacre.g:30247:2: ( ruleUpperBound ) + // InternalFiacre.g:30248:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LocalPortsDeclaration__RightAssignment_4_3" + + + // $ANTLR start "rule__ParametersDeclaration__ParametersAssignment_0" + // InternalFiacre.g:30257:1: rule__ParametersDeclaration__ParametersAssignment_0 : ( ruleParameterDeclaration ) ; + public final void rule__ParametersDeclaration__ParametersAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30261:1: ( ( ruleParameterDeclaration ) ) + // InternalFiacre.g:30262:2: ( ruleParameterDeclaration ) + { + // InternalFiacre.g:30262:2: ( ruleParameterDeclaration ) + // InternalFiacre.g:30263:3: ruleParameterDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__ParametersAssignment_0" + + + // $ANTLR start "rule__ParametersDeclaration__ParametersAssignment_1_1" + // InternalFiacre.g:30272:1: rule__ParametersDeclaration__ParametersAssignment_1_1 : ( ruleParameterDeclaration ) ; + public final void rule__ParametersDeclaration__ParametersAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30276:1: ( ( ruleParameterDeclaration ) ) + // InternalFiacre.g:30277:2: ( ruleParameterDeclaration ) + { + // InternalFiacre.g:30277:2: ( ruleParameterDeclaration ) + // InternalFiacre.g:30278:3: ruleParameterDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__ParametersAssignment_1_1" + + + // $ANTLR start "rule__ParametersDeclaration__ReadAssignment_3" + // InternalFiacre.g:30287:1: rule__ParametersDeclaration__ReadAssignment_3 : ( ( 'read' ) ) ; + public final void rule__ParametersDeclaration__ReadAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30291:1: ( ( ( 'read' ) ) ) + // InternalFiacre.g:30292:2: ( ( 'read' ) ) + { + // InternalFiacre.g:30292:2: ( ( 'read' ) ) + // InternalFiacre.g:30293:3: ( 'read' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + } + // InternalFiacre.g:30294:3: ( 'read' ) + // InternalFiacre.g:30295:4: 'read' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + } + match(input,138,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__ReadAssignment_3" + + + // $ANTLR start "rule__ParametersDeclaration__WriteAssignment_4" + // InternalFiacre.g:30306:1: rule__ParametersDeclaration__WriteAssignment_4 : ( ( 'write' ) ) ; + public final void rule__ParametersDeclaration__WriteAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30310:1: ( ( ( 'write' ) ) ) + // InternalFiacre.g:30311:2: ( ( 'write' ) ) + { + // InternalFiacre.g:30311:2: ( ( 'write' ) ) + // InternalFiacre.g:30312:3: ( 'write' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + } + // InternalFiacre.g:30313:3: ( 'write' ) + // InternalFiacre.g:30314:4: 'write' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + } + match(input,139,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__WriteAssignment_4" + + + // $ANTLR start "rule__ParametersDeclaration__TypeAssignment_5" + // InternalFiacre.g:30325:1: rule__ParametersDeclaration__TypeAssignment_5 : ( ruleType ) ; + public final void rule__ParametersDeclaration__TypeAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30329:1: ( ( ruleType ) ) + // InternalFiacre.g:30330:2: ( ruleType ) + { + // InternalFiacre.g:30330:2: ( ruleType ) + // InternalFiacre.g:30331:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametersDeclaration__TypeAssignment_5" + + + // $ANTLR start "rule__ParameterDeclaration__ReferenceAssignment_0_0" + // InternalFiacre.g:30340:1: rule__ParameterDeclaration__ReferenceAssignment_0_0 : ( ( '&' ) ) ; + public final void rule__ParameterDeclaration__ReferenceAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30344:1: ( ( ( '&' ) ) ) + // InternalFiacre.g:30345:2: ( ( '&' ) ) + { + // InternalFiacre.g:30345:2: ( ( '&' ) ) + // InternalFiacre.g:30346:3: ( '&' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + } + // InternalFiacre.g:30347:3: ( '&' ) + // InternalFiacre.g:30348:4: '&' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + } + match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__ReferenceAssignment_0_0" + + + // $ANTLR start "rule__ParameterDeclaration__ArrayAssignment_0_1_0" + // InternalFiacre.g:30359:1: rule__ParameterDeclaration__ArrayAssignment_0_1_0 : ( ( '[' ) ) ; + public final void rule__ParameterDeclaration__ArrayAssignment_0_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30363:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:30364:2: ( ( '[' ) ) + { + // InternalFiacre.g:30364:2: ( ( '[' ) ) + // InternalFiacre.g:30365:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + } + // InternalFiacre.g:30366:3: ( '[' ) + // InternalFiacre.g:30367:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__ArrayAssignment_0_1_0" + + + // $ANTLR start "rule__ParameterDeclaration__SizeAssignment_0_1_1" + // InternalFiacre.g:30378:1: rule__ParameterDeclaration__SizeAssignment_0_1_1 : ( ruleExpression ) ; + public final void rule__ParameterDeclaration__SizeAssignment_0_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30382:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30383:2: ( ruleExpression ) + { + // InternalFiacre.g:30383:2: ( ruleExpression ) + // InternalFiacre.g:30384:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__SizeAssignment_0_1_1" + + + // $ANTLR start "rule__ParameterDeclaration__NameAssignment_1" + // InternalFiacre.g:30393:1: rule__ParameterDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ParameterDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30397:1: ( ( RULE_ID ) ) + // InternalFiacre.g:30398:2: ( RULE_ID ) + { + // InternalFiacre.g:30398:2: ( RULE_ID ) + // InternalFiacre.g:30399:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParameterDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__VariablesDeclaration__VariablesAssignment_0" + // InternalFiacre.g:30408:1: rule__VariablesDeclaration__VariablesAssignment_0 : ( ruleVariableDeclaration ) ; + public final void rule__VariablesDeclaration__VariablesAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30412:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:30413:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:30413:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:30414:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__VariablesAssignment_0" + + + // $ANTLR start "rule__VariablesDeclaration__VariablesAssignment_1_1" + // InternalFiacre.g:30423:1: rule__VariablesDeclaration__VariablesAssignment_1_1 : ( ruleVariableDeclaration ) ; + public final void rule__VariablesDeclaration__VariablesAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30427:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:30428:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:30428:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:30429:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__VariablesAssignment_1_1" + + + // $ANTLR start "rule__VariablesDeclaration__TypeAssignment_3" + // InternalFiacre.g:30438:1: rule__VariablesDeclaration__TypeAssignment_3 : ( ruleType ) ; + public final void rule__VariablesDeclaration__TypeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30442:1: ( ( ruleType ) ) + // InternalFiacre.g:30443:2: ( ruleType ) + { + // InternalFiacre.g:30443:2: ( ruleType ) + // InternalFiacre.g:30444:3: ruleType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__TypeAssignment_3" + + + // $ANTLR start "rule__VariablesDeclaration__ValueAssignment_4_1" + // InternalFiacre.g:30453:1: rule__VariablesDeclaration__ValueAssignment_4_1 : ( ruleExpression ) ; + public final void rule__VariablesDeclaration__ValueAssignment_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30457:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30458:2: ( ruleExpression ) + { + // InternalFiacre.g:30458:2: ( ruleExpression ) + // InternalFiacre.g:30459:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariablesDeclaration__ValueAssignment_4_1" + + + // $ANTLR start "rule__VariableDeclaration__NameAssignment" + // InternalFiacre.g:30468:1: rule__VariableDeclaration__NameAssignment : ( RULE_ID ) ; + public final void rule__VariableDeclaration__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30472:1: ( ( RULE_ID ) ) + // InternalFiacre.g:30473:2: ( RULE_ID ) + { + // InternalFiacre.g:30473:2: ( RULE_ID ) + // InternalFiacre.g:30474:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableDeclaration__NameAssignment" + + + // $ANTLR start "rule__PriorityDeclaration__GroupsAssignment_0" + // InternalFiacre.g:30483:1: rule__PriorityDeclaration__GroupsAssignment_0 : ( rulePriorityGroup ) ; + public final void rule__PriorityDeclaration__GroupsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30487:1: ( ( rulePriorityGroup ) ) + // InternalFiacre.g:30488:2: ( rulePriorityGroup ) + { + // InternalFiacre.g:30488:2: ( rulePriorityGroup ) + // InternalFiacre.g:30489:3: rulePriorityGroup + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityGroup(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__GroupsAssignment_0" + + + // $ANTLR start "rule__PriorityDeclaration__GroupsAssignment_1_1" + // InternalFiacre.g:30498:1: rule__PriorityDeclaration__GroupsAssignment_1_1 : ( rulePriorityGroup ) ; + public final void rule__PriorityDeclaration__GroupsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30502:1: ( ( rulePriorityGroup ) ) + // InternalFiacre.g:30503:2: ( rulePriorityGroup ) + { + // InternalFiacre.g:30503:2: ( rulePriorityGroup ) + // InternalFiacre.g:30504:3: rulePriorityGroup + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePriorityGroup(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityDeclaration__GroupsAssignment_1_1" + + + // $ANTLR start "rule__PriorityGroup__PortsAssignment_0" + // InternalFiacre.g:30513:1: rule__PriorityGroup__PortsAssignment_0 : ( ( RULE_ID ) ) ; + public final void rule__PriorityGroup__PortsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30517:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:30518:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:30518:2: ( ( RULE_ID ) ) + // InternalFiacre.g:30519:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); + } + // InternalFiacre.g:30520:3: ( RULE_ID ) + // InternalFiacre.g:30521:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__PortsAssignment_0" + + + // $ANTLR start "rule__PriorityGroup__PortsAssignment_1_1" + // InternalFiacre.g:30532:1: rule__PriorityGroup__PortsAssignment_1_1 : ( ( RULE_ID ) ) ; + public final void rule__PriorityGroup__PortsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30536:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:30537:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:30537:2: ( ( RULE_ID ) ) + // InternalFiacre.g:30538:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); + } + // InternalFiacre.g:30539:3: ( RULE_ID ) + // InternalFiacre.g:30540:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_1_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationIDTerminalRuleCall_1_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PriorityGroup__PortsAssignment_1_1" + + + // $ANTLR start "rule__UnlessStatement__FollowersAssignment_1_2" + // InternalFiacre.g:30551:1: rule__UnlessStatement__FollowersAssignment_1_2 : ( ruleStatementChoice ) ; + public final void rule__UnlessStatement__FollowersAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30555:1: ( ( ruleStatementChoice ) ) + // InternalFiacre.g:30556:2: ( ruleStatementChoice ) + { + // InternalFiacre.g:30556:2: ( ruleStatementChoice ) + // InternalFiacre.g:30557:3: ruleStatementChoice + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementChoice(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnlessStatement__FollowersAssignment_1_2" + + + // $ANTLR start "rule__StatementChoice__ChoicesAssignment_1_2" + // InternalFiacre.g:30566:1: rule__StatementChoice__ChoicesAssignment_1_2 : ( ruleStatementSequence ) ; + public final void rule__StatementChoice__ChoicesAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30570:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:30571:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:30571:2: ( ruleStatementSequence ) + // InternalFiacre.g:30572:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementChoice__ChoicesAssignment_1_2" + + + // $ANTLR start "rule__StatementSequence__StatementsAssignment_1_2" + // InternalFiacre.g:30581:1: rule__StatementSequence__StatementsAssignment_1_2 : ( ruleStatement ) ; + public final void rule__StatementSequence__StatementsAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30585:1: ( ( ruleStatement ) ) + // InternalFiacre.g:30586:2: ( ruleStatement ) + { + // InternalFiacre.g:30586:2: ( ruleStatement ) + // InternalFiacre.g:30587:3: ruleStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementSequence__StatementsAssignment_1_2" + + + // $ANTLR start "rule__BlockStatement__BodyAssignment_1" + // InternalFiacre.g:30596:1: rule__BlockStatement__BodyAssignment_1 : ( ruleStatementSequence ) ; + public final void rule__BlockStatement__BodyAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30600:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:30601:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:30601:2: ( ruleStatementSequence ) + // InternalFiacre.g:30602:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BlockStatement__BodyAssignment_1" + + + // $ANTLR start "rule__ReturnStatement__ExpressionAssignment_1" + // InternalFiacre.g:30611:1: rule__ReturnStatement__ExpressionAssignment_1 : ( ruleExpression ) ; + public final void rule__ReturnStatement__ExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30615:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30616:2: ( ruleExpression ) + { + // InternalFiacre.g:30616:2: ( ruleExpression ) + // InternalFiacre.g:30617:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReturnStatement__ExpressionAssignment_1" + + + // $ANTLR start "rule__TaggedStatement__NameAssignment_1" + // InternalFiacre.g:30626:1: rule__TaggedStatement__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__TaggedStatement__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30630:1: ( ( RULE_ID ) ) + // InternalFiacre.g:30631:2: ( RULE_ID ) + { + // InternalFiacre.g:30631:2: ( RULE_ID ) + // InternalFiacre.g:30632:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TaggedStatement__NameAssignment_1" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_0_2" + // InternalFiacre.g:30641:1: rule__PatternStatement__PatternsAssignment_1_0_2 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30645:1: ( ( rulePattern ) ) + // InternalFiacre.g:30646:2: ( rulePattern ) + { + // InternalFiacre.g:30646:2: ( rulePattern ) + // InternalFiacre.g:30647:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_0_2" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_0_3_1" + // InternalFiacre.g:30656:1: rule__PatternStatement__PatternsAssignment_1_0_3_1 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_0_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30660:1: ( ( rulePattern ) ) + // InternalFiacre.g:30661:2: ( rulePattern ) + { + // InternalFiacre.g:30661:2: ( rulePattern ) + // InternalFiacre.g:30662:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_0_3_1" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_0_5" + // InternalFiacre.g:30671:1: rule__PatternStatement__ValuesAssignment_1_0_5 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_0_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30675:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30676:2: ( ruleExpression ) + { + // InternalFiacre.g:30676:2: ( ruleExpression ) + // InternalFiacre.g:30677:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_0_5" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_0_6_1" + // InternalFiacre.g:30686:1: rule__PatternStatement__ValuesAssignment_1_0_6_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_0_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30690:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30691:2: ( ruleExpression ) + { + // InternalFiacre.g:30691:2: ( ruleExpression ) + // InternalFiacre.g:30692:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_0_6_1" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_1_2_0" + // InternalFiacre.g:30701:1: rule__PatternStatement__ValuesAssignment_1_1_2_0 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_1_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30705:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30706:2: ( ruleExpression ) + { + // InternalFiacre.g:30706:2: ( ruleExpression ) + // InternalFiacre.g:30707:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_1_2_0" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_1_2_1_1" + // InternalFiacre.g:30716:1: rule__PatternStatement__ValuesAssignment_1_1_2_1_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_1_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30720:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30721:2: ( ruleExpression ) + { + // InternalFiacre.g:30721:2: ( ruleExpression ) + // InternalFiacre.g:30722:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_1_2_1_1" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_2_2" + // InternalFiacre.g:30731:1: rule__PatternStatement__PatternsAssignment_1_2_2 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_2_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30735:1: ( ( rulePattern ) ) + // InternalFiacre.g:30736:2: ( rulePattern ) + { + // InternalFiacre.g:30736:2: ( rulePattern ) + // InternalFiacre.g:30737:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_2_2" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_2_3_1" + // InternalFiacre.g:30746:1: rule__PatternStatement__PatternsAssignment_1_2_3_1 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_2_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30750:1: ( ( rulePattern ) ) + // InternalFiacre.g:30751:2: ( rulePattern ) + { + // InternalFiacre.g:30751:2: ( rulePattern ) + // InternalFiacre.g:30752:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_2_3_1" + + + // $ANTLR start "rule__PatternStatement__ExpAssignment_1_2_6_1" + // InternalFiacre.g:30761:1: rule__PatternStatement__ExpAssignment_1_2_6_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ExpAssignment_1_2_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30765:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30766:2: ( ruleExpression ) + { + // InternalFiacre.g:30766:2: ( ruleExpression ) + // InternalFiacre.g:30767:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ExpAssignment_1_2_6_1" + + + // $ANTLR start "rule__PatternStatement__ExpAssignment_1_3_3_1" + // InternalFiacre.g:30776:1: rule__PatternStatement__ExpAssignment_1_3_3_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ExpAssignment_1_3_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30780:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30781:2: ( ruleExpression ) + { + // InternalFiacre.g:30781:2: ( ruleExpression ) + // InternalFiacre.g:30782:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ExpAssignment_1_3_3_1" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_4_2" + // InternalFiacre.g:30791:1: rule__PatternStatement__ValuesAssignment_1_4_2 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_4_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30795:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30796:2: ( ruleExpression ) + { + // InternalFiacre.g:30796:2: ( ruleExpression ) + // InternalFiacre.g:30797:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_4_2" + + + // $ANTLR start "rule__PatternStatement__ValuesAssignment_1_4_3_1" + // InternalFiacre.g:30806:1: rule__PatternStatement__ValuesAssignment_1_4_3_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ValuesAssignment_1_4_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30810:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30811:2: ( ruleExpression ) + { + // InternalFiacre.g:30811:2: ( ruleExpression ) + // InternalFiacre.g:30812:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ValuesAssignment_1_4_3_1" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_5_2" + // InternalFiacre.g:30821:1: rule__PatternStatement__PatternsAssignment_1_5_2 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_5_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30825:1: ( ( rulePattern ) ) + // InternalFiacre.g:30826:2: ( rulePattern ) + { + // InternalFiacre.g:30826:2: ( rulePattern ) + // InternalFiacre.g:30827:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_5_2" + + + // $ANTLR start "rule__PatternStatement__PatternsAssignment_1_5_3_1" + // InternalFiacre.g:30836:1: rule__PatternStatement__PatternsAssignment_1_5_3_1 : ( rulePattern ) ; + public final void rule__PatternStatement__PatternsAssignment_1_5_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30840:1: ( ( rulePattern ) ) + // InternalFiacre.g:30841:2: ( rulePattern ) + { + // InternalFiacre.g:30841:2: ( rulePattern ) + // InternalFiacre.g:30842:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__PatternsAssignment_1_5_3_1" + + + // $ANTLR start "rule__PatternStatement__ExpAssignment_1_5_4_1" + // InternalFiacre.g:30851:1: rule__PatternStatement__ExpAssignment_1_5_4_1 : ( ruleExpression ) ; + public final void rule__PatternStatement__ExpAssignment_1_5_4_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30855:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30856:2: ( ruleExpression ) + { + // InternalFiacre.g:30856:2: ( ruleExpression ) + // InternalFiacre.g:30857:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PatternStatement__ExpAssignment_1_5_4_1" + + + // $ANTLR start "rule__ConstantPattern__ValueAssignment" + // InternalFiacre.g:30866:1: rule__ConstantPattern__ValueAssignment : ( ruleLiteralExpression ) ; + public final void rule__ConstantPattern__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30870:1: ( ( ruleLiteralExpression ) ) + // InternalFiacre.g:30871:2: ( ruleLiteralExpression ) + { + // InternalFiacre.g:30871:2: ( ruleLiteralExpression ) + // InternalFiacre.g:30872:3: ruleLiteralExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConstantPattern__ValueAssignment" + + + // $ANTLR start "rule__IntegerPattern__NegativeAssignment_0_1" + // InternalFiacre.g:30881:1: rule__IntegerPattern__NegativeAssignment_0_1 : ( ( '-' ) ) ; + public final void rule__IntegerPattern__NegativeAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30885:1: ( ( ( '-' ) ) ) + // InternalFiacre.g:30886:2: ( ( '-' ) ) + { + // InternalFiacre.g:30886:2: ( ( '-' ) ) + // InternalFiacre.g:30887:3: ( '-' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + } + // InternalFiacre.g:30888:3: ( '-' ) + // InternalFiacre.g:30889:4: '-' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + } + match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__NegativeAssignment_0_1" + + + // $ANTLR start "rule__IntegerPattern__ValueAssignment_1" + // InternalFiacre.g:30900:1: rule__IntegerPattern__ValueAssignment_1 : ( RULE_INT ) ; + public final void rule__IntegerPattern__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30904:1: ( ( RULE_INT ) ) + // InternalFiacre.g:30905:2: ( RULE_INT ) + { + // InternalFiacre.g:30905:2: ( RULE_INT ) + // InternalFiacre.g:30906:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerPattern__ValueAssignment_1" + + + // $ANTLR start "rule__IdentifierPattern__DeclarationAssignment_0_1" + // InternalFiacre.g:30915:1: rule__IdentifierPattern__DeclarationAssignment_0_1 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierPattern__DeclarationAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30919:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:30920:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:30920:2: ( ( RULE_ID ) ) + // InternalFiacre.g:30921:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); + } + // InternalFiacre.g:30922:3: ( RULE_ID ) + // InternalFiacre.g:30923:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__DeclarationAssignment_0_1" + + + // $ANTLR start "rule__IdentifierPattern__ParametersAssignment_0_3_0" + // InternalFiacre.g:30934:1: rule__IdentifierPattern__ParametersAssignment_0_3_0 : ( rulePattern ) ; + public final void rule__IdentifierPattern__ParametersAssignment_0_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30938:1: ( ( rulePattern ) ) + // InternalFiacre.g:30939:2: ( rulePattern ) + { + // InternalFiacre.g:30939:2: ( rulePattern ) + // InternalFiacre.g:30940:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__ParametersAssignment_0_3_0" + + + // $ANTLR start "rule__IdentifierPattern__ParametersAssignment_0_3_1_1" + // InternalFiacre.g:30949:1: rule__IdentifierPattern__ParametersAssignment_0_3_1_1 : ( rulePattern ) ; + public final void rule__IdentifierPattern__ParametersAssignment_0_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30953:1: ( ( rulePattern ) ) + // InternalFiacre.g:30954:2: ( rulePattern ) + { + // InternalFiacre.g:30954:2: ( rulePattern ) + // InternalFiacre.g:30955:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__ParametersAssignment_0_3_1_1" + + + // $ANTLR start "rule__IdentifierPattern__DeclarationAssignment_1_0" + // InternalFiacre.g:30964:1: rule__IdentifierPattern__DeclarationAssignment_1_0 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierPattern__DeclarationAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30968:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:30969:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:30969:2: ( ( RULE_ID ) ) + // InternalFiacre.g:30970:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); + } + // InternalFiacre.g:30971:3: ( RULE_ID ) + // InternalFiacre.g:30972:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__DeclarationAssignment_1_0" + + + // $ANTLR start "rule__IdentifierPattern__IndexAssignment_1_1_0_2" + // InternalFiacre.g:30983:1: rule__IdentifierPattern__IndexAssignment_1_1_0_2 : ( ruleExpression ) ; + public final void rule__IdentifierPattern__IndexAssignment_1_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:30987:1: ( ( ruleExpression ) ) + // InternalFiacre.g:30988:2: ( ruleExpression ) + { + // InternalFiacre.g:30988:2: ( ruleExpression ) + // InternalFiacre.g:30989:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__IndexAssignment_1_1_0_2" + + + // $ANTLR start "rule__IdentifierPattern__FieldAssignment_1_1_1_2" + // InternalFiacre.g:30998:1: rule__IdentifierPattern__FieldAssignment_1_1_1_2 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierPattern__FieldAssignment_1_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31002:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31003:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31003:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31004:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + // InternalFiacre.g:31005:3: ( RULE_ID ) + // InternalFiacre.g:31006:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierPattern__FieldAssignment_1_1_1_2" + + + // $ANTLR start "rule__ConditionalStatement__ConditionAssignment_1" + // InternalFiacre.g:31017:1: rule__ConditionalStatement__ConditionAssignment_1 : ( ruleExpression ) ; + public final void rule__ConditionalStatement__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31021:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31022:2: ( ruleExpression ) + { + // InternalFiacre.g:31022:2: ( ruleExpression ) + // InternalFiacre.g:31023:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__ConditionAssignment_1" + + + // $ANTLR start "rule__ConditionalStatement__ThenAssignment_3" + // InternalFiacre.g:31032:1: rule__ConditionalStatement__ThenAssignment_3 : ( ruleStatementSequence ) ; + public final void rule__ConditionalStatement__ThenAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31036:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31037:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31037:2: ( ruleStatementSequence ) + // InternalFiacre.g:31038:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__ThenAssignment_3" + + + // $ANTLR start "rule__ConditionalStatement__ElseifAssignment_4" + // InternalFiacre.g:31047:1: rule__ConditionalStatement__ElseifAssignment_4 : ( ruleExtendedConditionalStatement ) ; + public final void rule__ConditionalStatement__ElseifAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31051:1: ( ( ruleExtendedConditionalStatement ) ) + // InternalFiacre.g:31052:2: ( ruleExtendedConditionalStatement ) + { + // InternalFiacre.g:31052:2: ( ruleExtendedConditionalStatement ) + // InternalFiacre.g:31053:3: ruleExtendedConditionalStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExtendedConditionalStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__ElseifAssignment_4" + + + // $ANTLR start "rule__ConditionalStatement__ElseAssignment_5_1" + // InternalFiacre.g:31062:1: rule__ConditionalStatement__ElseAssignment_5_1 : ( ruleStatementSequence ) ; + public final void rule__ConditionalStatement__ElseAssignment_5_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31066:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31067:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31067:2: ( ruleStatementSequence ) + // InternalFiacre.g:31068:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConditionalStatement__ElseAssignment_5_1" + + + // $ANTLR start "rule__ExtendedConditionalStatement__ConditionAssignment_1" + // InternalFiacre.g:31077:1: rule__ExtendedConditionalStatement__ConditionAssignment_1 : ( ruleExpression ) ; + public final void rule__ExtendedConditionalStatement__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31081:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31082:2: ( ruleExpression ) + { + // InternalFiacre.g:31082:2: ( ruleExpression ) + // InternalFiacre.g:31083:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__ConditionAssignment_1" + + + // $ANTLR start "rule__ExtendedConditionalStatement__ThenAssignment_3" + // InternalFiacre.g:31092:1: rule__ExtendedConditionalStatement__ThenAssignment_3 : ( ruleStatementSequence ) ; + public final void rule__ExtendedConditionalStatement__ThenAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31096:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31097:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31097:2: ( ruleStatementSequence ) + // InternalFiacre.g:31098:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ExtendedConditionalStatement__ThenAssignment_3" + + + // $ANTLR start "rule__SelectStatement__BodyAssignment_1" + // InternalFiacre.g:31107:1: rule__SelectStatement__BodyAssignment_1 : ( ruleUnlessStatement ) ; + public final void rule__SelectStatement__BodyAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31111:1: ( ( ruleUnlessStatement ) ) + // InternalFiacre.g:31112:2: ( ruleUnlessStatement ) + { + // InternalFiacre.g:31112:2: ( ruleUnlessStatement ) + // InternalFiacre.g:31113:3: ruleUnlessStatement + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnlessStatement(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__BodyAssignment_1" + + + // $ANTLR start "rule__SelectStatement__IndexAssignment_2_1" + // InternalFiacre.g:31122:1: rule__SelectStatement__IndexAssignment_2_1 : ( ruleVariableDeclaration ) ; + public final void rule__SelectStatement__IndexAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31126:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:31127:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:31127:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:31128:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__IndexAssignment_2_1" + + + // $ANTLR start "rule__SelectStatement__TypeAssignment_2_3" + // InternalFiacre.g:31137:1: rule__SelectStatement__TypeAssignment_2_3 : ( ruleRangeType ) ; + public final void rule__SelectStatement__TypeAssignment_2_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31141:1: ( ( ruleRangeType ) ) + // InternalFiacre.g:31142:2: ( ruleRangeType ) + { + // InternalFiacre.g:31142:2: ( ruleRangeType ) + // InternalFiacre.g:31143:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SelectStatement__TypeAssignment_2_3" + + + // $ANTLR start "rule__WhileStatement__ConditionAssignment_1" + // InternalFiacre.g:31152:1: rule__WhileStatement__ConditionAssignment_1 : ( ruleExpression ) ; + public final void rule__WhileStatement__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31156:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31157:2: ( ruleExpression ) + { + // InternalFiacre.g:31157:2: ( ruleExpression ) + // InternalFiacre.g:31158:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__ConditionAssignment_1" + + + // $ANTLR start "rule__WhileStatement__BodyAssignment_3" + // InternalFiacre.g:31167:1: rule__WhileStatement__BodyAssignment_3 : ( ruleStatementSequence ) ; + public final void rule__WhileStatement__BodyAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31171:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31172:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31172:2: ( ruleStatementSequence ) + // InternalFiacre.g:31173:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WhileStatement__BodyAssignment_3" + + + // $ANTLR start "rule__ForeachStatement__VariableAssignment_1" + // InternalFiacre.g:31182:1: rule__ForeachStatement__VariableAssignment_1 : ( ruleVariableDeclaration ) ; + public final void rule__ForeachStatement__VariableAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31186:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:31187:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:31187:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:31188:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__VariableAssignment_1" + + + // $ANTLR start "rule__ForeachStatement__BodyAssignment_3" + // InternalFiacre.g:31197:1: rule__ForeachStatement__BodyAssignment_3 : ( ruleStatementSequence ) ; + public final void rule__ForeachStatement__BodyAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31201:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31202:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31202:2: ( ruleStatementSequence ) + // InternalFiacre.g:31203:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForeachStatement__BodyAssignment_3" + + + // $ANTLR start "rule__ToStatement__StateAssignment_1" + // InternalFiacre.g:31212:1: rule__ToStatement__StateAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__ToStatement__StateAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31216:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31217:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31217:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31218:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); + } + // InternalFiacre.g:31219:3: ( RULE_ID ) + // InternalFiacre.g:31220:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getToStatementAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ToStatement__StateAssignment_1" + + + // $ANTLR start "rule__CaseStatement__ValueAssignment_1" + // InternalFiacre.g:31231:1: rule__CaseStatement__ValueAssignment_1 : ( ruleExpression ) ; + public final void rule__CaseStatement__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31235:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31236:2: ( ruleExpression ) + { + // InternalFiacre.g:31236:2: ( ruleExpression ) + // InternalFiacre.g:31237:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__ValueAssignment_1" + + + // $ANTLR start "rule__CaseStatement__PatternAssignment_3" + // InternalFiacre.g:31246:1: rule__CaseStatement__PatternAssignment_3 : ( rulePattern ) ; + public final void rule__CaseStatement__PatternAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31250:1: ( ( rulePattern ) ) + // InternalFiacre.g:31251:2: ( rulePattern ) + { + // InternalFiacre.g:31251:2: ( rulePattern ) + // InternalFiacre.g:31252:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__PatternAssignment_3" + + + // $ANTLR start "rule__CaseStatement__BodyAssignment_5" + // InternalFiacre.g:31261:1: rule__CaseStatement__BodyAssignment_5 : ( ruleStatementSequence ) ; + public final void rule__CaseStatement__BodyAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31265:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31266:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31266:2: ( ruleStatementSequence ) + // InternalFiacre.g:31267:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__BodyAssignment_5" + + + // $ANTLR start "rule__CaseStatement__PatternAssignment_6_1" + // InternalFiacre.g:31276:1: rule__CaseStatement__PatternAssignment_6_1 : ( rulePattern ) ; + public final void rule__CaseStatement__PatternAssignment_6_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31280:1: ( ( rulePattern ) ) + // InternalFiacre.g:31281:2: ( rulePattern ) + { + // InternalFiacre.g:31281:2: ( rulePattern ) + // InternalFiacre.g:31282:3: rulePattern + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePattern(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__PatternAssignment_6_1" + + + // $ANTLR start "rule__CaseStatement__BodyAssignment_6_3" + // InternalFiacre.g:31291:1: rule__CaseStatement__BodyAssignment_6_3 : ( ruleStatementSequence ) ; + public final void rule__CaseStatement__BodyAssignment_6_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31295:1: ( ( ruleStatementSequence ) ) + // InternalFiacre.g:31296:2: ( ruleStatementSequence ) + { + // InternalFiacre.g:31296:2: ( ruleStatementSequence ) + // InternalFiacre.g:31297:3: ruleStatementSequence + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleStatementSequence(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CaseStatement__BodyAssignment_6_3" + + + // $ANTLR start "rule__OnStatement__ConditionAssignment_1" + // InternalFiacre.g:31306:1: rule__OnStatement__ConditionAssignment_1 : ( ruleExpression ) ; + public final void rule__OnStatement__ConditionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31310:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31311:2: ( ruleExpression ) + { + // InternalFiacre.g:31311:2: ( ruleExpression ) + // InternalFiacre.g:31312:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OnStatement__ConditionAssignment_1" + + + // $ANTLR start "rule__WaitStatement__LeftAssignment_1" + // InternalFiacre.g:31321:1: rule__WaitStatement__LeftAssignment_1 : ( ruleLowerBound ) ; + public final void rule__WaitStatement__LeftAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31325:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:31326:2: ( ruleLowerBound ) + { + // InternalFiacre.g:31326:2: ( ruleLowerBound ) + // InternalFiacre.g:31327:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__LeftAssignment_1" + + + // $ANTLR start "rule__WaitStatement__RightAssignment_3" + // InternalFiacre.g:31336:1: rule__WaitStatement__RightAssignment_3 : ( ruleUpperBound ) ; + public final void rule__WaitStatement__RightAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31340:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:31341:2: ( ruleUpperBound ) + { + // InternalFiacre.g:31341:2: ( ruleUpperBound ) + // InternalFiacre.g:31342:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__WaitStatement__RightAssignment_3" + + + // $ANTLR start "rule__Composition__GlobalAssignment_1_0" + // InternalFiacre.g:31351:1: rule__Composition__GlobalAssignment_1_0 : ( rulePortSet ) ; + public final void rule__Composition__GlobalAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31355:1: ( ( rulePortSet ) ) + // InternalFiacre.g:31356:2: ( rulePortSet ) + { + // InternalFiacre.g:31356:2: ( rulePortSet ) + // InternalFiacre.g:31357:3: rulePortSet + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortSet(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__GlobalAssignment_1_0" + + + // $ANTLR start "rule__Composition__BlocksAssignment_2" + // InternalFiacre.g:31366:1: rule__Composition__BlocksAssignment_2 : ( ruleBlock ) ; + public final void rule__Composition__BlocksAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31370:1: ( ( ruleBlock ) ) + // InternalFiacre.g:31371:2: ( ruleBlock ) + { + // InternalFiacre.g:31371:2: ( ruleBlock ) + // InternalFiacre.g:31372:3: ruleBlock + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleBlock(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__BlocksAssignment_2" + + + // $ANTLR start "rule__Composition__BlocksAssignment_3_1" + // InternalFiacre.g:31381:1: rule__Composition__BlocksAssignment_3_1 : ( ruleBlock ) ; + public final void rule__Composition__BlocksAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31385:1: ( ( ruleBlock ) ) + // InternalFiacre.g:31386:2: ( ruleBlock ) + { + // InternalFiacre.g:31386:2: ( ruleBlock ) + // InternalFiacre.g:31387:3: ruleBlock + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleBlock(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Composition__BlocksAssignment_3_1" + + + // $ANTLR start "rule__CompositeBlock__LocalAssignment_0_0_0" + // InternalFiacre.g:31396:1: rule__CompositeBlock__LocalAssignment_0_0_0 : ( rulePortSet ) ; + public final void rule__CompositeBlock__LocalAssignment_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31400:1: ( ( rulePortSet ) ) + // InternalFiacre.g:31401:2: ( rulePortSet ) + { + // InternalFiacre.g:31401:2: ( rulePortSet ) + // InternalFiacre.g:31402:3: rulePortSet + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortSet(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__LocalAssignment_0_0_0" + + + // $ANTLR start "rule__CompositeBlock__CompositionAssignment_1" + // InternalFiacre.g:31411:1: rule__CompositeBlock__CompositionAssignment_1 : ( ruleComposition ) ; + public final void rule__CompositeBlock__CompositionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31415:1: ( ( ruleComposition ) ) + // InternalFiacre.g:31416:2: ( ruleComposition ) + { + // InternalFiacre.g:31416:2: ( ruleComposition ) + // InternalFiacre.g:31417:3: ruleComposition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComposition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CompositeBlock__CompositionAssignment_1" + + + // $ANTLR start "rule__InstanceDeclaration__LocalAssignment_0_0_0" + // InternalFiacre.g:31426:1: rule__InstanceDeclaration__LocalAssignment_0_0_0 : ( rulePortSet ) ; + public final void rule__InstanceDeclaration__LocalAssignment_0_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31430:1: ( ( rulePortSet ) ) + // InternalFiacre.g:31431:2: ( rulePortSet ) + { + // InternalFiacre.g:31431:2: ( rulePortSet ) + // InternalFiacre.g:31432:3: rulePortSet + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePortSet(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__LocalAssignment_0_0_0" + + + // $ANTLR start "rule__InstanceDeclaration__InstanceAssignment_1" + // InternalFiacre.g:31441:1: rule__InstanceDeclaration__InstanceAssignment_1 : ( ruleComponentInstance ) ; + public final void rule__InstanceDeclaration__InstanceAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31445:1: ( ( ruleComponentInstance ) ) + // InternalFiacre.g:31446:2: ( ruleComponentInstance ) + { + // InternalFiacre.g:31446:2: ( ruleComponentInstance ) + // InternalFiacre.g:31447:3: ruleComponentInstance + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComponentInstance(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceDeclaration__InstanceAssignment_1" + + + // $ANTLR start "rule__PortSet__AllPortsAssignment_0" + // InternalFiacre.g:31456:1: rule__PortSet__AllPortsAssignment_0 : ( ( '*' ) ) ; + public final void rule__PortSet__AllPortsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31460:1: ( ( ( '*' ) ) ) + // InternalFiacre.g:31461:2: ( ( '*' ) ) + { + // InternalFiacre.g:31461:2: ( ( '*' ) ) + // InternalFiacre.g:31462:3: ( '*' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + } + // InternalFiacre.g:31463:3: ( '*' ) + // InternalFiacre.g:31464:4: '*' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + } + match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__AllPortsAssignment_0" + + + // $ANTLR start "rule__PortSet__PortsAssignment_1_0" + // InternalFiacre.g:31475:1: rule__PortSet__PortsAssignment_1_0 : ( ruleExpression ) ; + public final void rule__PortSet__PortsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31479:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31480:2: ( ruleExpression ) + { + // InternalFiacre.g:31480:2: ( ruleExpression ) + // InternalFiacre.g:31481:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__PortsAssignment_1_0" + + + // $ANTLR start "rule__PortSet__PortsAssignment_1_1_1" + // InternalFiacre.g:31490:1: rule__PortSet__PortsAssignment_1_1_1 : ( ruleExpression ) ; + public final void rule__PortSet__PortsAssignment_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31494:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31495:2: ( ruleExpression ) + { + // InternalFiacre.g:31495:2: ( ruleExpression ) + // InternalFiacre.g:31496:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PortSet__PortsAssignment_1_1_1" + + + // $ANTLR start "rule__ComponentInstance__ComponentAssignment_0" + // InternalFiacre.g:31505:1: rule__ComponentInstance__ComponentAssignment_0 : ( ( RULE_ID ) ) ; + public final void rule__ComponentInstance__ComponentAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31509:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31510:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31510:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31511:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); + } + // InternalFiacre.g:31512:3: ( RULE_ID ) + // InternalFiacre.g:31513:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__ComponentAssignment_0" + + + // $ANTLR start "rule__ComponentInstance__PortsAssignment_1_1" + // InternalFiacre.g:31524:1: rule__ComponentInstance__PortsAssignment_1_1 : ( ruleExpression ) ; + public final void rule__ComponentInstance__PortsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31528:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31529:2: ( ruleExpression ) + { + // InternalFiacre.g:31529:2: ( ruleExpression ) + // InternalFiacre.g:31530:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__PortsAssignment_1_1" + + + // $ANTLR start "rule__ComponentInstance__PortsAssignment_1_2_1" + // InternalFiacre.g:31539:1: rule__ComponentInstance__PortsAssignment_1_2_1 : ( ruleExpression ) ; + public final void rule__ComponentInstance__PortsAssignment_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31543:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31544:2: ( ruleExpression ) + { + // InternalFiacre.g:31544:2: ( ruleExpression ) + // InternalFiacre.g:31545:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__PortsAssignment_1_2_1" + + + // $ANTLR start "rule__ComponentInstance__ParametersAssignment_2_1" + // InternalFiacre.g:31554:1: rule__ComponentInstance__ParametersAssignment_2_1 : ( ruleExpression ) ; + public final void rule__ComponentInstance__ParametersAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31558:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31559:2: ( ruleExpression ) + { + // InternalFiacre.g:31559:2: ( ruleExpression ) + // InternalFiacre.g:31560:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__ParametersAssignment_2_1" + + + // $ANTLR start "rule__ComponentInstance__ParametersAssignment_2_2_1" + // InternalFiacre.g:31569:1: rule__ComponentInstance__ParametersAssignment_2_2_1 : ( ruleExpression ) ; + public final void rule__ComponentInstance__ParametersAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31573:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31574:2: ( ruleExpression ) + { + // InternalFiacre.g:31574:2: ( ruleExpression ) + // InternalFiacre.g:31575:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComponentInstance__ParametersAssignment_2_2_1" + + + // $ANTLR start "rule__QuantifiedExpression__IndexAssignment_0_1" + // InternalFiacre.g:31584:1: rule__QuantifiedExpression__IndexAssignment_0_1 : ( ruleVariableDeclaration ) ; + public final void rule__QuantifiedExpression__IndexAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31588:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:31589:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:31589:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:31590:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__IndexAssignment_0_1" + + + // $ANTLR start "rule__QuantifiedExpression__TypeAssignment_0_2_1" + // InternalFiacre.g:31599:1: rule__QuantifiedExpression__TypeAssignment_0_2_1 : ( ruleRangeType ) ; + public final void rule__QuantifiedExpression__TypeAssignment_0_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31603:1: ( ( ruleRangeType ) ) + // InternalFiacre.g:31604:2: ( ruleRangeType ) + { + // InternalFiacre.g:31604:2: ( ruleRangeType ) + // InternalFiacre.g:31605:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__TypeAssignment_0_2_1" + + + // $ANTLR start "rule__QuantifiedExpression__ChildAssignment_0_4" + // InternalFiacre.g:31614:1: rule__QuantifiedExpression__ChildAssignment_0_4 : ( ruleQuantifiedExpression ) ; + public final void rule__QuantifiedExpression__ChildAssignment_0_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31618:1: ( ( ruleQuantifiedExpression ) ) + // InternalFiacre.g:31619:2: ( ruleQuantifiedExpression ) + { + // InternalFiacre.g:31619:2: ( ruleQuantifiedExpression ) + // InternalFiacre.g:31620:3: ruleQuantifiedExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedExpression__ChildAssignment_0_4" + + + // $ANTLR start "rule__Conditional__ThenAssignment_1_2" + // InternalFiacre.g:31629:1: rule__Conditional__ThenAssignment_1_2 : ( ruleDisjunction ) ; + public final void rule__Conditional__ThenAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31633:1: ( ( ruleDisjunction ) ) + // InternalFiacre.g:31634:2: ( ruleDisjunction ) + { + // InternalFiacre.g:31634:2: ( ruleDisjunction ) + // InternalFiacre.g:31635:3: ruleDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__ThenAssignment_1_2" + + + // $ANTLR start "rule__Conditional__ElseAssignment_1_4" + // InternalFiacre.g:31644:1: rule__Conditional__ElseAssignment_1_4 : ( ruleDisjunction ) ; + public final void rule__Conditional__ElseAssignment_1_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31648:1: ( ( ruleDisjunction ) ) + // InternalFiacre.g:31649:2: ( ruleDisjunction ) + { + // InternalFiacre.g:31649:2: ( ruleDisjunction ) + // InternalFiacre.g:31650:3: ruleDisjunction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDisjunction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conditional__ElseAssignment_1_4" + + + // $ANTLR start "rule__Disjunction__RightAssignment_1_2" + // InternalFiacre.g:31659:1: rule__Disjunction__RightAssignment_1_2 : ( ruleImplication ) ; + public final void rule__Disjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31663:1: ( ( ruleImplication ) ) + // InternalFiacre.g:31664:2: ( ruleImplication ) + { + // InternalFiacre.g:31664:2: ( ruleImplication ) + // InternalFiacre.g:31665:3: ruleImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Disjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__Implication__RightAssignment_1_2" + // InternalFiacre.g:31674:1: rule__Implication__RightAssignment_1_2 : ( ruleImplication ) ; + public final void rule__Implication__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31678:1: ( ( ruleImplication ) ) + // InternalFiacre.g:31679:2: ( ruleImplication ) + { + // InternalFiacre.g:31679:2: ( ruleImplication ) + // InternalFiacre.g:31680:3: ruleImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Implication__RightAssignment_1_2" + + + // $ANTLR start "rule__Conjunction__RightAssignment_1_2" + // InternalFiacre.g:31689:1: rule__Conjunction__RightAssignment_1_2 : ( ruleComparison ) ; + public final void rule__Conjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31693:1: ( ( ruleComparison ) ) + // InternalFiacre.g:31694:2: ( ruleComparison ) + { + // InternalFiacre.g:31694:2: ( ruleComparison ) + // InternalFiacre.g:31695:3: ruleComparison + { + if ( state.backtracking==0 ) { + before(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleComparison(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Conjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__Comparison__RightAssignment_1_1" + // InternalFiacre.g:31704:1: rule__Comparison__RightAssignment_1_1 : ( ruleAddition ) ; + public final void rule__Comparison__RightAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31708:1: ( ( ruleAddition ) ) + // InternalFiacre.g:31709:2: ( ruleAddition ) + { + // InternalFiacre.g:31709:2: ( ruleAddition ) + // InternalFiacre.g:31710:3: ruleAddition + { + if ( state.backtracking==0 ) { + before(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAddition(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Comparison__RightAssignment_1_1" + + + // $ANTLR start "rule__Addition__RightAssignment_1_2" + // InternalFiacre.g:31719:1: rule__Addition__RightAssignment_1_2 : ( ruleSubstraction ) ; + public final void rule__Addition__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31723:1: ( ( ruleSubstraction ) ) + // InternalFiacre.g:31724:2: ( ruleSubstraction ) + { + // InternalFiacre.g:31724:2: ( ruleSubstraction ) + // InternalFiacre.g:31725:3: ruleSubstraction + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleSubstraction(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Addition__RightAssignment_1_2" + + + // $ANTLR start "rule__Substraction__RightAssignment_1_2" + // InternalFiacre.g:31734:1: rule__Substraction__RightAssignment_1_2 : ( ruleMultiplication ) ; + public final void rule__Substraction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31738:1: ( ( ruleMultiplication ) ) + // InternalFiacre.g:31739:2: ( ruleMultiplication ) + { + // InternalFiacre.g:31739:2: ( ruleMultiplication ) + // InternalFiacre.g:31740:3: ruleMultiplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleMultiplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Substraction__RightAssignment_1_2" + + + // $ANTLR start "rule__Multiplication__RightAssignment_1_2" + // InternalFiacre.g:31749:1: rule__Multiplication__RightAssignment_1_2 : ( ruleDivision ) ; + public final void rule__Multiplication__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31753:1: ( ( ruleDivision ) ) + // InternalFiacre.g:31754:2: ( ruleDivision ) + { + // InternalFiacre.g:31754:2: ( ruleDivision ) + // InternalFiacre.g:31755:3: ruleDivision + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleDivision(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Multiplication__RightAssignment_1_2" + + + // $ANTLR start "rule__Division__RightAssignment_1_2" + // InternalFiacre.g:31764:1: rule__Division__RightAssignment_1_2 : ( ruleModulo ) ; + public final void rule__Division__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31768:1: ( ( ruleModulo ) ) + // InternalFiacre.g:31769:2: ( ruleModulo ) + { + // InternalFiacre.g:31769:2: ( ruleModulo ) + // InternalFiacre.g:31770:3: ruleModulo + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleModulo(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Division__RightAssignment_1_2" + + + // $ANTLR start "rule__Modulo__RightAssignment_1_2" + // InternalFiacre.g:31779:1: rule__Modulo__RightAssignment_1_2 : ( ruleUnaryExpression ) ; + public final void rule__Modulo__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31783:1: ( ( ruleUnaryExpression ) ) + // InternalFiacre.g:31784:2: ( ruleUnaryExpression ) + { + // InternalFiacre.g:31784:2: ( ruleUnaryExpression ) + // InternalFiacre.g:31785:3: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Modulo__RightAssignment_1_2" + + + // $ANTLR start "rule__UnaryExpression__ChildAssignment_0_1" + // InternalFiacre.g:31794:1: rule__UnaryExpression__ChildAssignment_0_1 : ( ruleUnaryExpression ) ; + public final void rule__UnaryExpression__ChildAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31798:1: ( ( ruleUnaryExpression ) ) + // InternalFiacre.g:31799:2: ( ruleUnaryExpression ) + { + // InternalFiacre.g:31799:2: ( ruleUnaryExpression ) + // InternalFiacre.g:31800:3: ruleUnaryExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryExpression__ChildAssignment_0_1" + + + // $ANTLR start "rule__Projection__FieldAssignment_1_2" + // InternalFiacre.g:31809:1: rule__Projection__FieldAssignment_1_2 : ( ruleAtomicExpression ) ; + public final void rule__Projection__FieldAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31813:1: ( ( ruleAtomicExpression ) ) + // InternalFiacre.g:31814:2: ( ruleAtomicExpression ) + { + // InternalFiacre.g:31814:2: ( ruleAtomicExpression ) + // InternalFiacre.g:31815:3: ruleAtomicExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Projection__FieldAssignment_1_2" + + + // $ANTLR start "rule__ReferenceExpression__DeclarationAssignment_1" + // InternalFiacre.g:31824:1: rule__ReferenceExpression__DeclarationAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__ReferenceExpression__DeclarationAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31828:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31829:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31829:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31830:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); + } + // InternalFiacre.g:31831:3: ( RULE_ID ) + // InternalFiacre.g:31832:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ReferenceExpression__DeclarationAssignment_1" + + + // $ANTLR start "rule__IdentifierExpression__DeclarationAssignment_0_1" + // InternalFiacre.g:31843:1: rule__IdentifierExpression__DeclarationAssignment_0_1 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierExpression__DeclarationAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31847:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31848:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31848:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31849:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); + } + // InternalFiacre.g:31850:3: ( RULE_ID ) + // InternalFiacre.g:31851:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__DeclarationAssignment_0_1" + + + // $ANTLR start "rule__IdentifierExpression__ParametersAssignment_0_3_0" + // InternalFiacre.g:31862:1: rule__IdentifierExpression__ParametersAssignment_0_3_0 : ( ruleExpression ) ; + public final void rule__IdentifierExpression__ParametersAssignment_0_3_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31866:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31867:2: ( ruleExpression ) + { + // InternalFiacre.g:31867:2: ( ruleExpression ) + // InternalFiacre.g:31868:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__ParametersAssignment_0_3_0" + + + // $ANTLR start "rule__IdentifierExpression__ParametersAssignment_0_3_1_1" + // InternalFiacre.g:31877:1: rule__IdentifierExpression__ParametersAssignment_0_3_1_1 : ( ruleExpression ) ; + public final void rule__IdentifierExpression__ParametersAssignment_0_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31881:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31882:2: ( ruleExpression ) + { + // InternalFiacre.g:31882:2: ( ruleExpression ) + // InternalFiacre.g:31883:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__ParametersAssignment_0_3_1_1" + + + // $ANTLR start "rule__IdentifierExpression__DeclarationAssignment_1_0" + // InternalFiacre.g:31892:1: rule__IdentifierExpression__DeclarationAssignment_1_0 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierExpression__DeclarationAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31896:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31897:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31897:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31898:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); + } + // InternalFiacre.g:31899:3: ( RULE_ID ) + // InternalFiacre.g:31900:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__DeclarationAssignment_1_0" + + + // $ANTLR start "rule__IdentifierExpression__IndexesAssignment_1_1_0_2" + // InternalFiacre.g:31911:1: rule__IdentifierExpression__IndexesAssignment_1_1_0_2 : ( ruleExpression ) ; + public final void rule__IdentifierExpression__IndexesAssignment_1_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31915:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31916:2: ( ruleExpression ) + { + // InternalFiacre.g:31916:2: ( ruleExpression ) + // InternalFiacre.g:31917:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__IndexesAssignment_1_1_0_2" + + + // $ANTLR start "rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1" + // InternalFiacre.g:31926:1: rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1 : ( ruleExpression ) ; + public final void rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31930:1: ( ( ruleExpression ) ) + // InternalFiacre.g:31931:2: ( ruleExpression ) + { + // InternalFiacre.g:31931:2: ( ruleExpression ) + // InternalFiacre.g:31932:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__IndexesAssignment_1_1_0_3_1" + + + // $ANTLR start "rule__IdentifierExpression__FieldAssignment_1_1_1_2" + // InternalFiacre.g:31941:1: rule__IdentifierExpression__FieldAssignment_1_1_1_2 : ( ( RULE_ID ) ) ; + public final void rule__IdentifierExpression__FieldAssignment_1_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31945:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31946:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31946:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31947:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + // InternalFiacre.g:31948:3: ( RULE_ID ) + // InternalFiacre.g:31949:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IdentifierExpression__FieldAssignment_1_1_1_2" + + + // $ANTLR start "rule__RecordExpression__FieldsAssignment_1" + // InternalFiacre.g:31960:1: rule__RecordExpression__FieldsAssignment_1 : ( ruleFieldExpression ) ; + public final void rule__RecordExpression__FieldsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31964:1: ( ( ruleFieldExpression ) ) + // InternalFiacre.g:31965:2: ( ruleFieldExpression ) + { + // InternalFiacre.g:31965:2: ( ruleFieldExpression ) + // InternalFiacre.g:31966:3: ruleFieldExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleFieldExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__FieldsAssignment_1" + + + // $ANTLR start "rule__RecordExpression__FieldsAssignment_2_1" + // InternalFiacre.g:31975:1: rule__RecordExpression__FieldsAssignment_2_1 : ( ruleFieldExpression ) ; + public final void rule__RecordExpression__FieldsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31979:1: ( ( ruleFieldExpression ) ) + // InternalFiacre.g:31980:2: ( ruleFieldExpression ) + { + // InternalFiacre.g:31980:2: ( ruleFieldExpression ) + // InternalFiacre.g:31981:3: ruleFieldExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleFieldExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RecordExpression__FieldsAssignment_2_1" + + + // $ANTLR start "rule__FieldExpression__FieldAssignment_0" + // InternalFiacre.g:31990:1: rule__FieldExpression__FieldAssignment_0 : ( ( RULE_ID ) ) ; + public final void rule__FieldExpression__FieldAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:31994:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:31995:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:31995:2: ( ( RULE_ID ) ) + // InternalFiacre.g:31996:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); + } + // InternalFiacre.g:31997:3: ( RULE_ID ) + // InternalFiacre.g:31998:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__FieldAssignment_0" + + + // $ANTLR start "rule__FieldExpression__ValueAssignment_2" + // InternalFiacre.g:32009:1: rule__FieldExpression__ValueAssignment_2 : ( ruleExpression ) ; + public final void rule__FieldExpression__ValueAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32013:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32014:2: ( ruleExpression ) + { + // InternalFiacre.g:32014:2: ( ruleExpression ) + // InternalFiacre.g:32015:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FieldExpression__ValueAssignment_2" + + + // $ANTLR start "rule__ArrayExpression__ValuesAssignment_2_0" + // InternalFiacre.g:32024:1: rule__ArrayExpression__ValuesAssignment_2_0 : ( ruleExpression ) ; + public final void rule__ArrayExpression__ValuesAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32028:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32029:2: ( ruleExpression ) + { + // InternalFiacre.g:32029:2: ( ruleExpression ) + // InternalFiacre.g:32030:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__ValuesAssignment_2_0" + + + // $ANTLR start "rule__ArrayExpression__ValuesAssignment_2_1_1" + // InternalFiacre.g:32039:1: rule__ArrayExpression__ValuesAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__ArrayExpression__ValuesAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32043:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32044:2: ( ruleExpression ) + { + // InternalFiacre.g:32044:2: ( ruleExpression ) + // InternalFiacre.g:32045:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayExpression__ValuesAssignment_2_1_1" + + + // $ANTLR start "rule__QueueExpression__ValuesAssignment_2_0" + // InternalFiacre.g:32054:1: rule__QueueExpression__ValuesAssignment_2_0 : ( ruleExpression ) ; + public final void rule__QueueExpression__ValuesAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32058:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32059:2: ( ruleExpression ) + { + // InternalFiacre.g:32059:2: ( ruleExpression ) + // InternalFiacre.g:32060:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__ValuesAssignment_2_0" + + + // $ANTLR start "rule__QueueExpression__ValuesAssignment_2_1_1" + // InternalFiacre.g:32069:1: rule__QueueExpression__ValuesAssignment_2_1_1 : ( ruleExpression ) ; + public final void rule__QueueExpression__ValuesAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32073:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32074:2: ( ruleExpression ) + { + // InternalFiacre.g:32074:2: ( ruleExpression ) + // InternalFiacre.g:32075:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QueueExpression__ValuesAssignment_2_1_1" + + + // $ANTLR start "rule__EnqueueExpression__ElementAssignment_2" + // InternalFiacre.g:32084:1: rule__EnqueueExpression__ElementAssignment_2 : ( ruleExpression ) ; + public final void rule__EnqueueExpression__ElementAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32088:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32089:2: ( ruleExpression ) + { + // InternalFiacre.g:32089:2: ( ruleExpression ) + // InternalFiacre.g:32090:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__ElementAssignment_2" + + + // $ANTLR start "rule__EnqueueExpression__QueueAssignment_4" + // InternalFiacre.g:32099:1: rule__EnqueueExpression__QueueAssignment_4 : ( ruleExpression ) ; + public final void rule__EnqueueExpression__QueueAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32103:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32104:2: ( ruleExpression ) + { + // InternalFiacre.g:32104:2: ( ruleExpression ) + // InternalFiacre.g:32105:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnqueueExpression__QueueAssignment_4" + + + // $ANTLR start "rule__AppendExpression__LeftAssignment_2" + // InternalFiacre.g:32114:1: rule__AppendExpression__LeftAssignment_2 : ( ruleExpression ) ; + public final void rule__AppendExpression__LeftAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32118:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32119:2: ( ruleExpression ) + { + // InternalFiacre.g:32119:2: ( ruleExpression ) + // InternalFiacre.g:32120:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__LeftAssignment_2" + + + // $ANTLR start "rule__AppendExpression__RightAssignment_4" + // InternalFiacre.g:32129:1: rule__AppendExpression__RightAssignment_4 : ( ruleExpression ) ; + public final void rule__AppendExpression__RightAssignment_4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32133:1: ( ( ruleExpression ) ) + // InternalFiacre.g:32134:2: ( ruleExpression ) + { + // InternalFiacre.g:32134:2: ( ruleExpression ) + // InternalFiacre.g:32135:3: ruleExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AppendExpression__RightAssignment_4" + + + // $ANTLR start "rule__NaturalLiteral__ValueAssignment" + // InternalFiacre.g:32144:1: rule__NaturalLiteral__ValueAssignment : ( RULE_INT ) ; + public final void rule__NaturalLiteral__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32148:1: ( ( RULE_INT ) ) + // InternalFiacre.g:32149:2: ( RULE_INT ) + { + // InternalFiacre.g:32149:2: ( RULE_INT ) + // InternalFiacre.g:32150:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLiteral__ValueAssignment" + + + // $ANTLR start "rule__NaturalLowerBound__LeftAssignment_0_0" + // InternalFiacre.g:32159:1: rule__NaturalLowerBound__LeftAssignment_0_0 : ( ( '[' ) ) ; + public final void rule__NaturalLowerBound__LeftAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32163:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32164:2: ( ( '[' ) ) + { + // InternalFiacre.g:32164:2: ( ( '[' ) ) + // InternalFiacre.g:32165:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + // InternalFiacre.g:32166:3: ( '[' ) + // InternalFiacre.g:32167:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__LeftAssignment_0_0" + + + // $ANTLR start "rule__NaturalLowerBound__RightAssignment_0_1" + // InternalFiacre.g:32178:1: rule__NaturalLowerBound__RightAssignment_0_1 : ( ( ']' ) ) ; + public final void rule__NaturalLowerBound__RightAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32182:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32183:2: ( ( ']' ) ) + { + // InternalFiacre.g:32183:2: ( ( ']' ) ) + // InternalFiacre.g:32184:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + // InternalFiacre.g:32185:3: ( ']' ) + // InternalFiacre.g:32186:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__RightAssignment_0_1" + + + // $ANTLR start "rule__NaturalLowerBound__ValueAssignment_1" + // InternalFiacre.g:32197:1: rule__NaturalLowerBound__ValueAssignment_1 : ( RULE_INT ) ; + public final void rule__NaturalLowerBound__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32201:1: ( ( RULE_INT ) ) + // InternalFiacre.g:32202:2: ( RULE_INT ) + { + // InternalFiacre.g:32202:2: ( RULE_INT ) + // InternalFiacre.g:32203:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalLowerBound__ValueAssignment_1" + + + // $ANTLR start "rule__NaturalUpperBound__ValueAssignment_0" + // InternalFiacre.g:32212:1: rule__NaturalUpperBound__ValueAssignment_0 : ( RULE_INT ) ; + public final void rule__NaturalUpperBound__ValueAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32216:1: ( ( RULE_INT ) ) + // InternalFiacre.g:32217:2: ( RULE_INT ) + { + // InternalFiacre.g:32217:2: ( RULE_INT ) + // InternalFiacre.g:32218:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__ValueAssignment_0" + + + // $ANTLR start "rule__NaturalUpperBound__LeftAssignment_1_0" + // InternalFiacre.g:32227:1: rule__NaturalUpperBound__LeftAssignment_1_0 : ( ( '[' ) ) ; + public final void rule__NaturalUpperBound__LeftAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32231:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32232:2: ( ( '[' ) ) + { + // InternalFiacre.g:32232:2: ( ( '[' ) ) + // InternalFiacre.g:32233:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + // InternalFiacre.g:32234:3: ( '[' ) + // InternalFiacre.g:32235:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__LeftAssignment_1_0" + + + // $ANTLR start "rule__NaturalUpperBound__RightAssignment_1_1" + // InternalFiacre.g:32246:1: rule__NaturalUpperBound__RightAssignment_1_1 : ( ( ']' ) ) ; + public final void rule__NaturalUpperBound__RightAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32250:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32251:2: ( ( ']' ) ) + { + // InternalFiacre.g:32251:2: ( ( ']' ) ) + // InternalFiacre.g:32252:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + // InternalFiacre.g:32253:3: ( ']' ) + // InternalFiacre.g:32254:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalUpperBound__RightAssignment_1_1" + + + // $ANTLR start "rule__DecimalLowerBound__LeftAssignment_0_0" + // InternalFiacre.g:32265:1: rule__DecimalLowerBound__LeftAssignment_0_0 : ( ( '[' ) ) ; + public final void rule__DecimalLowerBound__LeftAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32269:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32270:2: ( ( '[' ) ) + { + // InternalFiacre.g:32270:2: ( ( '[' ) ) + // InternalFiacre.g:32271:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + // InternalFiacre.g:32272:3: ( '[' ) + // InternalFiacre.g:32273:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__LeftAssignment_0_0" + + + // $ANTLR start "rule__DecimalLowerBound__RightAssignment_0_1" + // InternalFiacre.g:32284:1: rule__DecimalLowerBound__RightAssignment_0_1 : ( ( ']' ) ) ; + public final void rule__DecimalLowerBound__RightAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32288:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32289:2: ( ( ']' ) ) + { + // InternalFiacre.g:32289:2: ( ( ']' ) ) + // InternalFiacre.g:32290:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + // InternalFiacre.g:32291:3: ( ']' ) + // InternalFiacre.g:32292:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__RightAssignment_0_1" + + + // $ANTLR start "rule__DecimalLowerBound__ValueAssignment_1" + // InternalFiacre.g:32303:1: rule__DecimalLowerBound__ValueAssignment_1 : ( RULE_FLT ) ; + public final void rule__DecimalLowerBound__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32307:1: ( ( RULE_FLT ) ) + // InternalFiacre.g:32308:2: ( RULE_FLT ) + { + // InternalFiacre.g:32308:2: ( RULE_FLT ) + // InternalFiacre.g:32309:3: RULE_FLT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); + } + match(input,RULE_FLT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalLowerBound__ValueAssignment_1" + + + // $ANTLR start "rule__DecimalUpperBound__ValueAssignment_0" + // InternalFiacre.g:32318:1: rule__DecimalUpperBound__ValueAssignment_0 : ( RULE_FLT ) ; + public final void rule__DecimalUpperBound__ValueAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32322:1: ( ( RULE_FLT ) ) + // InternalFiacre.g:32323:2: ( RULE_FLT ) + { + // InternalFiacre.g:32323:2: ( RULE_FLT ) + // InternalFiacre.g:32324:3: RULE_FLT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); + } + match(input,RULE_FLT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__ValueAssignment_0" + + + // $ANTLR start "rule__DecimalUpperBound__LeftAssignment_1_0" + // InternalFiacre.g:32333:1: rule__DecimalUpperBound__LeftAssignment_1_0 : ( ( '[' ) ) ; + public final void rule__DecimalUpperBound__LeftAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32337:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32338:2: ( ( '[' ) ) + { + // InternalFiacre.g:32338:2: ( ( '[' ) ) + // InternalFiacre.g:32339:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + // InternalFiacre.g:32340:3: ( '[' ) + // InternalFiacre.g:32341:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__LeftAssignment_1_0" + + + // $ANTLR start "rule__DecimalUpperBound__RightAssignment_1_1" + // InternalFiacre.g:32352:1: rule__DecimalUpperBound__RightAssignment_1_1 : ( ( ']' ) ) ; + public final void rule__DecimalUpperBound__RightAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32356:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32357:2: ( ( ']' ) ) + { + // InternalFiacre.g:32357:2: ( ( ']' ) ) + // InternalFiacre.g:32358:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + // InternalFiacre.g:32359:3: ( ']' ) + // InternalFiacre.g:32360:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DecimalUpperBound__RightAssignment_1_1" + + + // $ANTLR start "rule__VariableLowerBound__LeftAssignment_0_0" + // InternalFiacre.g:32371:1: rule__VariableLowerBound__LeftAssignment_0_0 : ( ( '[' ) ) ; + public final void rule__VariableLowerBound__LeftAssignment_0_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32375:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32376:2: ( ( '[' ) ) + { + // InternalFiacre.g:32376:2: ( ( '[' ) ) + // InternalFiacre.g:32377:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + // InternalFiacre.g:32378:3: ( '[' ) + // InternalFiacre.g:32379:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__LeftAssignment_0_0" + + + // $ANTLR start "rule__VariableLowerBound__RightAssignment_0_1" + // InternalFiacre.g:32390:1: rule__VariableLowerBound__RightAssignment_0_1 : ( ( ']' ) ) ; + public final void rule__VariableLowerBound__RightAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32394:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32395:2: ( ( ']' ) ) + { + // InternalFiacre.g:32395:2: ( ( ']' ) ) + // InternalFiacre.g:32396:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + // InternalFiacre.g:32397:3: ( ']' ) + // InternalFiacre.g:32398:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__RightAssignment_0_1" + + + // $ANTLR start "rule__VariableLowerBound__VariableAssignment_1" + // InternalFiacre.g:32409:1: rule__VariableLowerBound__VariableAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__VariableLowerBound__VariableAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32413:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:32414:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:32414:2: ( ( RULE_ID ) ) + // InternalFiacre.g:32415:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); + } + // InternalFiacre.g:32416:3: ( RULE_ID ) + // InternalFiacre.g:32417:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableLowerBound__VariableAssignment_1" + + + // $ANTLR start "rule__VariableUpperBound__VariableAssignment_0" + // InternalFiacre.g:32428:1: rule__VariableUpperBound__VariableAssignment_0 : ( ( RULE_ID ) ) ; + public final void rule__VariableUpperBound__VariableAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32432:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:32433:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:32433:2: ( ( RULE_ID ) ) + // InternalFiacre.g:32434:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); + } + // InternalFiacre.g:32435:3: ( RULE_ID ) + // InternalFiacre.g:32436:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__VariableAssignment_0" + + + // $ANTLR start "rule__VariableUpperBound__LeftAssignment_1_0" + // InternalFiacre.g:32447:1: rule__VariableUpperBound__LeftAssignment_1_0 : ( ( '[' ) ) ; + public final void rule__VariableUpperBound__LeftAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32451:1: ( ( ( '[' ) ) ) + // InternalFiacre.g:32452:2: ( ( '[' ) ) + { + // InternalFiacre.g:32452:2: ( ( '[' ) ) + // InternalFiacre.g:32453:3: ( '[' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + // InternalFiacre.g:32454:3: ( '[' ) + // InternalFiacre.g:32455:4: '[' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__LeftAssignment_1_0" + + + // $ANTLR start "rule__VariableUpperBound__RightAssignment_1_1" + // InternalFiacre.g:32466:1: rule__VariableUpperBound__RightAssignment_1_1 : ( ( ']' ) ) ; + public final void rule__VariableUpperBound__RightAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32470:1: ( ( ( ']' ) ) ) + // InternalFiacre.g:32471:2: ( ( ']' ) ) + { + // InternalFiacre.g:32471:2: ( ( ']' ) ) + // InternalFiacre.g:32472:3: ( ']' ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + // InternalFiacre.g:32473:3: ( ']' ) + // InternalFiacre.g:32474:4: ']' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__VariableUpperBound__RightAssignment_1_1" + + + // $ANTLR start "rule__Requirement__PropertyAssignment_1" + // InternalFiacre.g:32485:1: rule__Requirement__PropertyAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__Requirement__PropertyAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32489:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:32490:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:32490:2: ( ( RULE_ID ) ) + // InternalFiacre.g:32491:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); + } + // InternalFiacre.g:32492:3: ( RULE_ID ) + // InternalFiacre.g:32493:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__PropertyAssignment_1" + + + // $ANTLR start "rule__Requirement__PositiveAssignment_2_1" + // InternalFiacre.g:32504:1: rule__Requirement__PositiveAssignment_2_1 : ( RULE_STRING ) ; + public final void rule__Requirement__PositiveAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32508:1: ( ( RULE_STRING ) ) + // InternalFiacre.g:32509:2: ( RULE_STRING ) + { + // InternalFiacre.g:32509:2: ( RULE_STRING ) + // InternalFiacre.g:32510:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); + } + match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__PositiveAssignment_2_1" + + + // $ANTLR start "rule__Requirement__NegativeAssignment_3_1" + // InternalFiacre.g:32519:1: rule__Requirement__NegativeAssignment_3_1 : ( RULE_STRING ) ; + public final void rule__Requirement__NegativeAssignment_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32523:1: ( ( RULE_STRING ) ) + // InternalFiacre.g:32524:2: ( RULE_STRING ) + { + // InternalFiacre.g:32524:2: ( RULE_STRING ) + // InternalFiacre.g:32525:3: RULE_STRING + { + if ( state.backtracking==0 ) { + before(grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); + } + match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Requirement__NegativeAssignment_3_1" + + + // $ANTLR start "rule__PropertyDeclaration__NameAssignment_1" + // InternalFiacre.g:32534:1: rule__PropertyDeclaration__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__PropertyDeclaration__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32538:1: ( ( RULE_ID ) ) + // InternalFiacre.g:32539:2: ( RULE_ID ) + { + // InternalFiacre.g:32539:2: ( RULE_ID ) + // InternalFiacre.g:32540:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__NameAssignment_1" + + + // $ANTLR start "rule__PropertyDeclaration__PropertyAssignment_3" + // InternalFiacre.g:32549:1: rule__PropertyDeclaration__PropertyAssignment_3 : ( ruleProperty ) ; + public final void rule__PropertyDeclaration__PropertyAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32553:1: ( ( ruleProperty ) ) + // InternalFiacre.g:32554:2: ( ruleProperty ) + { + // InternalFiacre.g:32554:2: ( ruleProperty ) + // InternalFiacre.g:32555:3: ruleProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDeclaration__PropertyAssignment_3" + + + // $ANTLR start "rule__QuantifiedProperty__VariableAssignment_0_1" + // InternalFiacre.g:32564:1: rule__QuantifiedProperty__VariableAssignment_0_1 : ( ruleVariableDeclaration ) ; + public final void rule__QuantifiedProperty__VariableAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32568:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:32569:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:32569:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:32570:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__VariableAssignment_0_1" + + + // $ANTLR start "rule__QuantifiedProperty__TypeAssignment_0_3" + // InternalFiacre.g:32579:1: rule__QuantifiedProperty__TypeAssignment_0_3 : ( ruleRangeType ) ; + public final void rule__QuantifiedProperty__TypeAssignment_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32583:1: ( ( ruleRangeType ) ) + // InternalFiacre.g:32584:2: ( ruleRangeType ) + { + // InternalFiacre.g:32584:2: ( ruleRangeType ) + // InternalFiacre.g:32585:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__TypeAssignment_0_3" + + + // $ANTLR start "rule__QuantifiedProperty__ChildAssignment_0_5" + // InternalFiacre.g:32594:1: rule__QuantifiedProperty__ChildAssignment_0_5 : ( ruleQuantifiedProperty ) ; + public final void rule__QuantifiedProperty__ChildAssignment_0_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32598:1: ( ( ruleQuantifiedProperty ) ) + // InternalFiacre.g:32599:2: ( ruleQuantifiedProperty ) + { + // InternalFiacre.g:32599:2: ( ruleQuantifiedProperty ) + // InternalFiacre.g:32600:3: ruleQuantifiedProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__QuantifiedProperty__ChildAssignment_0_5" + + + // $ANTLR start "rule__PropertyDisjunction__RightAssignment_1_2" + // InternalFiacre.g:32609:1: rule__PropertyDisjunction__RightAssignment_1_2 : ( rulePropertyImplication ) ; + public final void rule__PropertyDisjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32613:1: ( ( rulePropertyImplication ) ) + // InternalFiacre.g:32614:2: ( rulePropertyImplication ) + { + // InternalFiacre.g:32614:2: ( rulePropertyImplication ) + // InternalFiacre.g:32615:3: rulePropertyImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyDisjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__PropertyImplication__RightAssignment_1_2" + // InternalFiacre.g:32624:1: rule__PropertyImplication__RightAssignment_1_2 : ( rulePropertyImplication ) ; + public final void rule__PropertyImplication__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32628:1: ( ( rulePropertyImplication ) ) + // InternalFiacre.g:32629:2: ( rulePropertyImplication ) + { + // InternalFiacre.g:32629:2: ( rulePropertyImplication ) + // InternalFiacre.g:32630:3: rulePropertyImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyImplication__RightAssignment_1_2" + + + // $ANTLR start "rule__PropertyConjunction__RightAssignment_1_2" + // InternalFiacre.g:32639:1: rule__PropertyConjunction__RightAssignment_1_2 : ( rulePropertyNegation ) ; + public final void rule__PropertyConjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32643:1: ( ( rulePropertyNegation ) ) + // InternalFiacre.g:32644:2: ( rulePropertyNegation ) + { + // InternalFiacre.g:32644:2: ( rulePropertyNegation ) + // InternalFiacre.g:32645:3: rulePropertyNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyConjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__PropertyNegation__ChildAssignment_0_2" + // InternalFiacre.g:32654:1: rule__PropertyNegation__ChildAssignment_0_2 : ( rulePropertyNegation ) ; + public final void rule__PropertyNegation__ChildAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32658:1: ( ( rulePropertyNegation ) ) + // InternalFiacre.g:32659:2: ( rulePropertyNegation ) + { + // InternalFiacre.g:32659:2: ( rulePropertyNegation ) + // InternalFiacre.g:32660:3: rulePropertyNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePropertyNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PropertyNegation__ChildAssignment_0_2" + + + // $ANTLR start "rule__LTLPattern__PropertyAssignment_1" + // InternalFiacre.g:32669:1: rule__LTLPattern__PropertyAssignment_1 : ( ruleLTLUnary ) ; + public final void rule__LTLPattern__PropertyAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32673:1: ( ( ruleLTLUnary ) ) + // InternalFiacre.g:32674:2: ( ruleLTLUnary ) + { + // InternalFiacre.g:32674:2: ( ruleLTLUnary ) + // InternalFiacre.g:32675:3: ruleLTLUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLPattern__PropertyAssignment_1" + + + // $ANTLR start "rule__InfinitelyOftenPattern__SubjectAssignment_1" + // InternalFiacre.g:32684:1: rule__InfinitelyOftenPattern__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__InfinitelyOftenPattern__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32688:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32689:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32689:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32690:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InfinitelyOftenPattern__SubjectAssignment_1" + + + // $ANTLR start "rule__MortalPattern__SubjectAssignment_1" + // InternalFiacre.g:32699:1: rule__MortalPattern__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__MortalPattern__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32703:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32704:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32704:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32705:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MortalPattern__SubjectAssignment_1" + + + // $ANTLR start "rule__PresencePattern__SubjectAssignment_1" + // InternalFiacre.g:32714:1: rule__PresencePattern__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32718:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32719:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32719:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32720:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__SubjectAssignment_1" + + + // $ANTLR start "rule__PresencePattern__LastingAssignment_2_0_1" + // InternalFiacre.g:32729:1: rule__PresencePattern__LastingAssignment_2_0_1 : ( RULE_INT ) ; + public final void rule__PresencePattern__LastingAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32733:1: ( ( RULE_INT ) ) + // InternalFiacre.g:32734:2: ( RULE_INT ) + { + // InternalFiacre.g:32734:2: ( RULE_INT ) + // InternalFiacre.g:32735:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__LastingAssignment_2_0_1" + + + // $ANTLR start "rule__PresencePattern__AfterAssignment_2_1_0_1" + // InternalFiacre.g:32744:1: rule__PresencePattern__AfterAssignment_2_1_0_1 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__AfterAssignment_2_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32748:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32749:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32749:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32750:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__AfterAssignment_2_1_0_1" + + + // $ANTLR start "rule__PresencePattern__LowerAssignment_2_1_1_0_1" + // InternalFiacre.g:32759:1: rule__PresencePattern__LowerAssignment_2_1_1_0_1 : ( ruleLowerBound ) ; + public final void rule__PresencePattern__LowerAssignment_2_1_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32763:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:32764:2: ( ruleLowerBound ) + { + // InternalFiacre.g:32764:2: ( ruleLowerBound ) + // InternalFiacre.g:32765:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__LowerAssignment_2_1_1_0_1" + + + // $ANTLR start "rule__PresencePattern__UpperAssignment_2_1_1_0_3" + // InternalFiacre.g:32774:1: rule__PresencePattern__UpperAssignment_2_1_1_0_3 : ( ruleUpperBound ) ; + public final void rule__PresencePattern__UpperAssignment_2_1_1_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32778:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:32779:2: ( ruleUpperBound ) + { + // InternalFiacre.g:32779:2: ( ruleUpperBound ) + // InternalFiacre.g:32780:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__UpperAssignment_2_1_1_0_3" + + + // $ANTLR start "rule__PresencePattern__UntilAssignment_2_1_1_1_1" + // InternalFiacre.g:32789:1: rule__PresencePattern__UntilAssignment_2_1_1_1_1 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__UntilAssignment_2_1_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32793:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32794:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32794:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32795:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__UntilAssignment_2_1_1_1_1" + + + // $ANTLR start "rule__PresencePattern__BeforeAssignment_2_2_0_1" + // InternalFiacre.g:32804:1: rule__PresencePattern__BeforeAssignment_2_2_0_1 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__BeforeAssignment_2_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32808:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32809:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32809:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32810:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__BeforeAssignment_2_2_0_1" + + + // $ANTLR start "rule__PresencePattern__LowerAssignment_2_2_1_1" + // InternalFiacre.g:32819:1: rule__PresencePattern__LowerAssignment_2_2_1_1 : ( ruleLowerBound ) ; + public final void rule__PresencePattern__LowerAssignment_2_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32823:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:32824:2: ( ruleLowerBound ) + { + // InternalFiacre.g:32824:2: ( ruleLowerBound ) + // InternalFiacre.g:32825:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__LowerAssignment_2_2_1_1" + + + // $ANTLR start "rule__PresencePattern__UpperAssignment_2_2_1_3" + // InternalFiacre.g:32834:1: rule__PresencePattern__UpperAssignment_2_2_1_3 : ( ruleUpperBound ) ; + public final void rule__PresencePattern__UpperAssignment_2_2_1_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32838:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:32839:2: ( ruleUpperBound ) + { + // InternalFiacre.g:32839:2: ( ruleUpperBound ) + // InternalFiacre.g:32840:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__UpperAssignment_2_2_1_3" + + + // $ANTLR start "rule__PresencePattern__MinAssignment_2_3_1" + // InternalFiacre.g:32849:1: rule__PresencePattern__MinAssignment_2_3_1 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__MinAssignment_2_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32853:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32854:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32854:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32855:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__MinAssignment_2_3_1" + + + // $ANTLR start "rule__PresencePattern__MaxAssignment_2_3_3" + // InternalFiacre.g:32864:1: rule__PresencePattern__MaxAssignment_2_3_3 : ( ruleAtomicObservable ) ; + public final void rule__PresencePattern__MaxAssignment_2_3_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32868:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32869:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32869:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32870:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PresencePattern__MaxAssignment_2_3_3" + + + // $ANTLR start "rule__AbsencePattern__SubjectAssignment_1" + // InternalFiacre.g:32879:1: rule__AbsencePattern__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32883:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32884:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32884:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32885:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__SubjectAssignment_1" + + + // $ANTLR start "rule__AbsencePattern__AfterAssignment_2_0_0_1" + // InternalFiacre.g:32894:1: rule__AbsencePattern__AfterAssignment_2_0_0_1 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__AfterAssignment_2_0_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32898:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32899:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32899:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32900:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__AfterAssignment_2_0_0_1" + + + // $ANTLR start "rule__AbsencePattern__LowerAssignment_2_0_1_0_1" + // InternalFiacre.g:32909:1: rule__AbsencePattern__LowerAssignment_2_0_1_0_1 : ( ruleLowerBound ) ; + public final void rule__AbsencePattern__LowerAssignment_2_0_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32913:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:32914:2: ( ruleLowerBound ) + { + // InternalFiacre.g:32914:2: ( ruleLowerBound ) + // InternalFiacre.g:32915:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__LowerAssignment_2_0_1_0_1" + + + // $ANTLR start "rule__AbsencePattern__UpperAssignment_2_0_1_0_3" + // InternalFiacre.g:32924:1: rule__AbsencePattern__UpperAssignment_2_0_1_0_3 : ( ruleUpperBound ) ; + public final void rule__AbsencePattern__UpperAssignment_2_0_1_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32928:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:32929:2: ( ruleUpperBound ) + { + // InternalFiacre.g:32929:2: ( ruleUpperBound ) + // InternalFiacre.g:32930:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__UpperAssignment_2_0_1_0_3" + + + // $ANTLR start "rule__AbsencePattern__UntilAssignment_2_0_1_1_1" + // InternalFiacre.g:32939:1: rule__AbsencePattern__UntilAssignment_2_0_1_1_1 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__UntilAssignment_2_0_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32943:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32944:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32944:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32945:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__UntilAssignment_2_0_1_1_1" + + + // $ANTLR start "rule__AbsencePattern__BeforeAssignment_2_1_0_1" + // InternalFiacre.g:32954:1: rule__AbsencePattern__BeforeAssignment_2_1_0_1 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__BeforeAssignment_2_1_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32958:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:32959:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:32959:2: ( ruleAtomicObservable ) + // InternalFiacre.g:32960:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__BeforeAssignment_2_1_0_1" + + + // $ANTLR start "rule__AbsencePattern__LowerAssignment_2_1_1_1" + // InternalFiacre.g:32969:1: rule__AbsencePattern__LowerAssignment_2_1_1_1 : ( ruleLowerBound ) ; + public final void rule__AbsencePattern__LowerAssignment_2_1_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32973:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:32974:2: ( ruleLowerBound ) + { + // InternalFiacre.g:32974:2: ( ruleLowerBound ) + // InternalFiacre.g:32975:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__LowerAssignment_2_1_1_1" + + + // $ANTLR start "rule__AbsencePattern__UpperAssignment_2_1_1_3" + // InternalFiacre.g:32984:1: rule__AbsencePattern__UpperAssignment_2_1_1_3 : ( ruleUpperBound ) ; + public final void rule__AbsencePattern__UpperAssignment_2_1_1_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:32988:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:32989:2: ( ruleUpperBound ) + { + // InternalFiacre.g:32989:2: ( ruleUpperBound ) + // InternalFiacre.g:32990:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__UpperAssignment_2_1_1_3" + + + // $ANTLR start "rule__AbsencePattern__MinAssignment_2_2_1" + // InternalFiacre.g:32999:1: rule__AbsencePattern__MinAssignment_2_2_1 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__MinAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33003:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33004:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33004:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33005:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__MinAssignment_2_2_1" + + + // $ANTLR start "rule__AbsencePattern__MaxAssignment_2_2_3" + // InternalFiacre.g:33014:1: rule__AbsencePattern__MaxAssignment_2_2_3 : ( ruleAtomicObservable ) ; + public final void rule__AbsencePattern__MaxAssignment_2_2_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33018:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33019:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33019:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33020:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AbsencePattern__MaxAssignment_2_2_3" + + + // $ANTLR start "rule__AlwaysPattern__SubjectAssignment_1" + // InternalFiacre.g:33029:1: rule__AlwaysPattern__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33033:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33034:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33034:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33035:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__SubjectAssignment_1" + + + // $ANTLR start "rule__AlwaysPattern__BeforeAssignment_2_0_1" + // InternalFiacre.g:33044:1: rule__AlwaysPattern__BeforeAssignment_2_0_1 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__BeforeAssignment_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33048:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33049:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33049:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33050:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__BeforeAssignment_2_0_1" + + + // $ANTLR start "rule__AlwaysPattern__AfterAssignment_2_1_1" + // InternalFiacre.g:33059:1: rule__AlwaysPattern__AfterAssignment_2_1_1 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__AfterAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33063:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33064:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33064:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33065:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__AfterAssignment_2_1_1" + + + // $ANTLR start "rule__AlwaysPattern__UntilAssignment_2_1_2_1" + // InternalFiacre.g:33074:1: rule__AlwaysPattern__UntilAssignment_2_1_2_1 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__UntilAssignment_2_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33078:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33079:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33079:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33080:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__UntilAssignment_2_1_2_1" + + + // $ANTLR start "rule__AlwaysPattern__MinAssignment_2_2_1" + // InternalFiacre.g:33089:1: rule__AlwaysPattern__MinAssignment_2_2_1 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__MinAssignment_2_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33093:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33094:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33094:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33095:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__MinAssignment_2_2_1" + + + // $ANTLR start "rule__AlwaysPattern__MaxAssignment_2_2_3" + // InternalFiacre.g:33104:1: rule__AlwaysPattern__MaxAssignment_2_2_3 : ( ruleAtomicObservable ) ; + public final void rule__AlwaysPattern__MaxAssignment_2_2_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33108:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33109:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33109:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33110:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AlwaysPattern__MaxAssignment_2_2_3" + + + // $ANTLR start "rule__SequencePattern__FollowerAssignment_1_0_2" + // InternalFiacre.g:33119:1: rule__SequencePattern__FollowerAssignment_1_0_2 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__FollowerAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33123:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33124:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33124:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33125:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__FollowerAssignment_1_0_2" + + + // $ANTLR start "rule__SequencePattern__BeforeAssignment_1_0_3_0_1" + // InternalFiacre.g:33134:1: rule__SequencePattern__BeforeAssignment_1_0_3_0_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__BeforeAssignment_1_0_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33138:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33139:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33139:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33140:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__BeforeAssignment_1_0_3_0_1" + + + // $ANTLR start "rule__SequencePattern__LowerAssignment_1_0_3_0_2_1" + // InternalFiacre.g:33149:1: rule__SequencePattern__LowerAssignment_1_0_3_0_2_1 : ( ruleLowerBound ) ; + public final void rule__SequencePattern__LowerAssignment_1_0_3_0_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33153:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:33154:2: ( ruleLowerBound ) + { + // InternalFiacre.g:33154:2: ( ruleLowerBound ) + // InternalFiacre.g:33155:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__LowerAssignment_1_0_3_0_2_1" + + + // $ANTLR start "rule__SequencePattern__UpperAssignment_1_0_3_0_2_3" + // InternalFiacre.g:33164:1: rule__SequencePattern__UpperAssignment_1_0_3_0_2_3 : ( ruleUpperBound ) ; + public final void rule__SequencePattern__UpperAssignment_1_0_3_0_2_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33168:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:33169:2: ( ruleUpperBound ) + { + // InternalFiacre.g:33169:2: ( ruleUpperBound ) + // InternalFiacre.g:33170:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__UpperAssignment_1_0_3_0_2_3" + + + // $ANTLR start "rule__SequencePattern__LowerAssignment_1_0_3_1_1" + // InternalFiacre.g:33179:1: rule__SequencePattern__LowerAssignment_1_0_3_1_1 : ( ruleLowerBound ) ; + public final void rule__SequencePattern__LowerAssignment_1_0_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33183:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:33184:2: ( ruleLowerBound ) + { + // InternalFiacre.g:33184:2: ( ruleLowerBound ) + // InternalFiacre.g:33185:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__LowerAssignment_1_0_3_1_1" + + + // $ANTLR start "rule__SequencePattern__UpperAssignment_1_0_3_1_3" + // InternalFiacre.g:33194:1: rule__SequencePattern__UpperAssignment_1_0_3_1_3 : ( ruleUpperBound ) ; + public final void rule__SequencePattern__UpperAssignment_1_0_3_1_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33198:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:33199:2: ( ruleUpperBound ) + { + // InternalFiacre.g:33199:2: ( ruleUpperBound ) + // InternalFiacre.g:33200:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__UpperAssignment_1_0_3_1_3" + + + // $ANTLR start "rule__SequencePattern__AfterAssignment_1_0_3_2_1" + // InternalFiacre.g:33209:1: rule__SequencePattern__AfterAssignment_1_0_3_2_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__AfterAssignment_1_0_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33213:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33214:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33214:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33215:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__AfterAssignment_1_0_3_2_1" + + + // $ANTLR start "rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1" + // InternalFiacre.g:33224:1: rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1 : ( ruleLowerBound ) ; + public final void rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33228:1: ( ( ruleLowerBound ) ) + // InternalFiacre.g:33229:2: ( ruleLowerBound ) + { + // InternalFiacre.g:33229:2: ( ruleLowerBound ) + // InternalFiacre.g:33230:3: ruleLowerBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLowerBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__LowerAssignment_1_0_3_2_2_0_1" + + + // $ANTLR start "rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3" + // InternalFiacre.g:33239:1: rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3 : ( ruleUpperBound ) ; + public final void rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33243:1: ( ( ruleUpperBound ) ) + // InternalFiacre.g:33244:2: ( ruleUpperBound ) + { + // InternalFiacre.g:33244:2: ( ruleUpperBound ) + // InternalFiacre.g:33245:3: ruleUpperBound + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleUpperBound(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__UpperAssignment_1_0_3_2_2_0_3" + + + // $ANTLR start "rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1" + // InternalFiacre.g:33254:1: rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33258:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33259:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33259:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33260:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__UntilAssignment_1_0_3_2_2_1_1" + + + // $ANTLR start "rule__SequencePattern__MinAssignment_1_0_3_3_1" + // InternalFiacre.g:33269:1: rule__SequencePattern__MinAssignment_1_0_3_3_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__MinAssignment_1_0_3_3_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33273:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33274:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33274:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33275:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__MinAssignment_1_0_3_3_1" + + + // $ANTLR start "rule__SequencePattern__MaxAssignment_1_0_3_3_3" + // InternalFiacre.g:33284:1: rule__SequencePattern__MaxAssignment_1_0_3_3_3 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__MaxAssignment_1_0_3_3_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33288:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33289:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33289:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33290:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__MaxAssignment_1_0_3_3_3" + + + // $ANTLR start "rule__SequencePattern__FollowerAssignment_1_1_2" + // InternalFiacre.g:33299:1: rule__SequencePattern__FollowerAssignment_1_1_2 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__FollowerAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33303:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33304:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33304:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33305:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__FollowerAssignment_1_1_2" + + + // $ANTLR start "rule__SequencePattern__BeforeAssignment_1_1_3_0_1" + // InternalFiacre.g:33314:1: rule__SequencePattern__BeforeAssignment_1_1_3_0_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__BeforeAssignment_1_1_3_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33318:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33319:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33319:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33320:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__BeforeAssignment_1_1_3_0_1" + + + // $ANTLR start "rule__SequencePattern__AfterAssignment_1_1_3_1_1" + // InternalFiacre.g:33329:1: rule__SequencePattern__AfterAssignment_1_1_3_1_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__AfterAssignment_1_1_3_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33333:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33334:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33334:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33335:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__AfterAssignment_1_1_3_1_1" + + + // $ANTLR start "rule__SequencePattern__UntilAssignment_1_1_3_1_2_1" + // InternalFiacre.g:33344:1: rule__SequencePattern__UntilAssignment_1_1_3_1_2_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__UntilAssignment_1_1_3_1_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33348:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33349:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33349:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33350:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__UntilAssignment_1_1_3_1_2_1" + + + // $ANTLR start "rule__SequencePattern__MinAssignment_1_1_3_2_1" + // InternalFiacre.g:33359:1: rule__SequencePattern__MinAssignment_1_1_3_2_1 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__MinAssignment_1_1_3_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33363:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33364:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33364:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33365:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__MinAssignment_1_1_3_2_1" + + + // $ANTLR start "rule__SequencePattern__MaxAssignment_1_1_3_2_3" + // InternalFiacre.g:33374:1: rule__SequencePattern__MaxAssignment_1_1_3_2_3 : ( ruleAtomicObservable ) ; + public final void rule__SequencePattern__MaxAssignment_1_1_3_2_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33378:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33379:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33379:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33380:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__SequencePattern__MaxAssignment_1_1_3_2_3" + + + // $ANTLR start "rule__LTLQuantified__IndexAssignment_0_1" + // InternalFiacre.g:33389:1: rule__LTLQuantified__IndexAssignment_0_1 : ( ruleVariableDeclaration ) ; + public final void rule__LTLQuantified__IndexAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33393:1: ( ( ruleVariableDeclaration ) ) + // InternalFiacre.g:33394:2: ( ruleVariableDeclaration ) + { + // InternalFiacre.g:33394:2: ( ruleVariableDeclaration ) + // InternalFiacre.g:33395:3: ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__IndexAssignment_0_1" + + + // $ANTLR start "rule__LTLQuantified__TypeAssignment_0_3" + // InternalFiacre.g:33404:1: rule__LTLQuantified__TypeAssignment_0_3 : ( ruleRangeType ) ; + public final void rule__LTLQuantified__TypeAssignment_0_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33408:1: ( ( ruleRangeType ) ) + // InternalFiacre.g:33409:2: ( ruleRangeType ) + { + // InternalFiacre.g:33409:2: ( ruleRangeType ) + // InternalFiacre.g:33410:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__TypeAssignment_0_3" + + + // $ANTLR start "rule__LTLQuantified__ChildAssignment_0_5" + // InternalFiacre.g:33419:1: rule__LTLQuantified__ChildAssignment_0_5 : ( ruleLTLQuantified ) ; + public final void rule__LTLQuantified__ChildAssignment_0_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33423:1: ( ( ruleLTLQuantified ) ) + // InternalFiacre.g:33424:2: ( ruleLTLQuantified ) + { + // InternalFiacre.g:33424:2: ( ruleLTLQuantified ) + // InternalFiacre.g:33425:3: ruleLTLQuantified + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLQuantified__ChildAssignment_0_5" + + + // $ANTLR start "rule__LTLDisjunction__RightAssignment_1_2" + // InternalFiacre.g:33434:1: rule__LTLDisjunction__RightAssignment_1_2 : ( ruleLTLImplication ) ; + public final void rule__LTLDisjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33438:1: ( ( ruleLTLImplication ) ) + // InternalFiacre.g:33439:2: ( ruleLTLImplication ) + { + // InternalFiacre.g:33439:2: ( ruleLTLImplication ) + // InternalFiacre.g:33440:3: ruleLTLImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLDisjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__LTLImplication__RightAssignment_1_2" + // InternalFiacre.g:33449:1: rule__LTLImplication__RightAssignment_1_2 : ( ruleLTLImplication ) ; + public final void rule__LTLImplication__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33453:1: ( ( ruleLTLImplication ) ) + // InternalFiacre.g:33454:2: ( ruleLTLImplication ) + { + // InternalFiacre.g:33454:2: ( ruleLTLImplication ) + // InternalFiacre.g:33455:3: ruleLTLImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLImplication__RightAssignment_1_2" + + + // $ANTLR start "rule__LTLConjunction__RightAssignment_1_2" + // InternalFiacre.g:33464:1: rule__LTLConjunction__RightAssignment_1_2 : ( ruleLTLBinary ) ; + public final void rule__LTLConjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33468:1: ( ( ruleLTLBinary ) ) + // InternalFiacre.g:33469:2: ( ruleLTLBinary ) + { + // InternalFiacre.g:33469:2: ( ruleLTLBinary ) + // InternalFiacre.g:33470:3: ruleLTLBinary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLBinary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLConjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__LTLBinary__RightAssignment_1_0_2" + // InternalFiacre.g:33479:1: rule__LTLBinary__RightAssignment_1_0_2 : ( ruleLTLUnary ) ; + public final void rule__LTLBinary__RightAssignment_1_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33483:1: ( ( ruleLTLUnary ) ) + // InternalFiacre.g:33484:2: ( ruleLTLUnary ) + { + // InternalFiacre.g:33484:2: ( ruleLTLUnary ) + // InternalFiacre.g:33485:3: ruleLTLUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__RightAssignment_1_0_2" + + + // $ANTLR start "rule__LTLBinary__RightAssignment_1_1_2" + // InternalFiacre.g:33494:1: rule__LTLBinary__RightAssignment_1_1_2 : ( ruleLTLUnary ) ; + public final void rule__LTLBinary__RightAssignment_1_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33498:1: ( ( ruleLTLUnary ) ) + // InternalFiacre.g:33499:2: ( ruleLTLUnary ) + { + // InternalFiacre.g:33499:2: ( ruleLTLUnary ) + // InternalFiacre.g:33500:3: ruleLTLUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLBinary__RightAssignment_1_1_2" + + + // $ANTLR start "rule__LTLUnary__OperandAssignment_0_1" + // InternalFiacre.g:33509:1: rule__LTLUnary__OperandAssignment_0_1 : ( ruleLTLUnary ) ; + public final void rule__LTLUnary__OperandAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33513:1: ( ( ruleLTLUnary ) ) + // InternalFiacre.g:33514:2: ( ruleLTLUnary ) + { + // InternalFiacre.g:33514:2: ( ruleLTLUnary ) + // InternalFiacre.g:33515:3: ruleLTLUnary + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleLTLUnary(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LTLUnary__OperandAssignment_0_1" + + + // $ANTLR start "rule__AtomicLTL__DeclarationAssignment_0_1" + // InternalFiacre.g:33524:1: rule__AtomicLTL__DeclarationAssignment_0_1 : ( ( RULE_ID ) ) ; + public final void rule__AtomicLTL__DeclarationAssignment_0_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33528:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:33529:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:33529:2: ( ( RULE_ID ) ) + // InternalFiacre.g:33530:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); + } + // InternalFiacre.g:33531:3: ( RULE_ID ) + // InternalFiacre.g:33532:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AtomicLTL__DeclarationAssignment_0_1" + + + // $ANTLR start "rule__EnterStateEvent__SubjectAssignment_1" + // InternalFiacre.g:33543:1: rule__EnterStateEvent__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__EnterStateEvent__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33547:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33548:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33548:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33549:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EnterStateEvent__SubjectAssignment_1" + + + // $ANTLR start "rule__LeaveStateEvent__SubjectAssignment_1" + // InternalFiacre.g:33558:1: rule__LeaveStateEvent__SubjectAssignment_1 : ( ruleAtomicObservable ) ; + public final void rule__LeaveStateEvent__SubjectAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33562:1: ( ( ruleAtomicObservable ) ) + // InternalFiacre.g:33563:2: ( ruleAtomicObservable ) + { + // InternalFiacre.g:33563:2: ( ruleAtomicObservable ) + // InternalFiacre.g:33564:3: ruleAtomicObservable + { + if ( state.backtracking==0 ) { + before(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LeaveStateEvent__SubjectAssignment_1" + + + // $ANTLR start "rule__ObservableDisjunction__RightAssignment_1_2" + // InternalFiacre.g:33573:1: rule__ObservableDisjunction__RightAssignment_1_2 : ( ruleObservableImplication ) ; + public final void rule__ObservableDisjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33577:1: ( ( ruleObservableImplication ) ) + // InternalFiacre.g:33578:2: ( ruleObservableImplication ) + { + // InternalFiacre.g:33578:2: ( ruleObservableImplication ) + // InternalFiacre.g:33579:3: ruleObservableImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableDisjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__ObservableImplication__RightAssignment_1_2" + // InternalFiacre.g:33588:1: rule__ObservableImplication__RightAssignment_1_2 : ( ruleObservableImplication ) ; + public final void rule__ObservableImplication__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33592:1: ( ( ruleObservableImplication ) ) + // InternalFiacre.g:33593:2: ( ruleObservableImplication ) + { + // InternalFiacre.g:33593:2: ( ruleObservableImplication ) + // InternalFiacre.g:33594:3: ruleObservableImplication + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableImplication(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableImplication__RightAssignment_1_2" + + + // $ANTLR start "rule__ObservableConjunction__RightAssignment_1_2" + // InternalFiacre.g:33603:1: rule__ObservableConjunction__RightAssignment_1_2 : ( ruleObservableNegation ) ; + public final void rule__ObservableConjunction__RightAssignment_1_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33607:1: ( ( ruleObservableNegation ) ) + // InternalFiacre.g:33608:2: ( ruleObservableNegation ) + { + // InternalFiacre.g:33608:2: ( ruleObservableNegation ) + // InternalFiacre.g:33609:3: ruleObservableNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableConjunction__RightAssignment_1_2" + + + // $ANTLR start "rule__ObservableNegation__ChildAssignment_0_2" + // InternalFiacre.g:33618:1: rule__ObservableNegation__ChildAssignment_0_2 : ( ruleObservableNegation ) ; + public final void rule__ObservableNegation__ChildAssignment_0_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33622:1: ( ( ruleObservableNegation ) ) + // InternalFiacre.g:33623:2: ( ruleObservableNegation ) + { + // InternalFiacre.g:33623:2: ( ruleObservableNegation ) + // InternalFiacre.g:33624:3: ruleObservableNegation + { + if ( state.backtracking==0 ) { + before(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleObservableNegation(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ObservableNegation__ChildAssignment_0_2" + + + // $ANTLR start "rule__PathEvent__PathAssignment_0" + // InternalFiacre.g:33633:1: rule__PathEvent__PathAssignment_0 : ( rulePath ) ; + public final void rule__PathEvent__PathAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33637:1: ( ( rulePath ) ) + // InternalFiacre.g:33638:2: ( rulePath ) + { + // InternalFiacre.g:33638:2: ( rulePath ) + // InternalFiacre.g:33639:3: rulePath + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePath(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__PathAssignment_0" + + + // $ANTLR start "rule__PathEvent__ItemAssignment_1" + // InternalFiacre.g:33648:1: rule__PathEvent__ItemAssignment_1 : ( ruleSubject ) ; + public final void rule__PathEvent__ItemAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33652:1: ( ( ruleSubject ) ) + // InternalFiacre.g:33653:2: ( ruleSubject ) + { + // InternalFiacre.g:33653:2: ( ruleSubject ) + // InternalFiacre.g:33654:3: ruleSubject + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleSubject(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PathEvent__ItemAssignment_1" + + + // $ANTLR start "rule__Path__ItemsAssignment_0" + // InternalFiacre.g:33663:1: rule__Path__ItemsAssignment_0 : ( rulePathItem ) ; + public final void rule__Path__ItemsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33667:1: ( ( rulePathItem ) ) + // InternalFiacre.g:33668:2: ( rulePathItem ) + { + // InternalFiacre.g:33668:2: ( rulePathItem ) + // InternalFiacre.g:33669:3: rulePathItem + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePathItem(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__Path__ItemsAssignment_0" + + + // $ANTLR start "rule__NaturalItem__ValueAssignment" + // InternalFiacre.g:33678:1: rule__NaturalItem__ValueAssignment : ( RULE_INT ) ; + public final void rule__NaturalItem__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33682:1: ( ( RULE_INT ) ) + // InternalFiacre.g:33683:2: ( RULE_INT ) + { + // InternalFiacre.g:33683:2: ( RULE_INT ) + // InternalFiacre.g:33684:3: RULE_INT + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); + } + match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NaturalItem__ValueAssignment" + + + // $ANTLR start "rule__NamedItem__DeclarationAssignment" + // InternalFiacre.g:33693:1: rule__NamedItem__DeclarationAssignment : ( ( RULE_ID ) ) ; + public final void rule__NamedItem__DeclarationAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33697:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:33698:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:33698:2: ( ( RULE_ID ) ) + // InternalFiacre.g:33699:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); + } + // InternalFiacre.g:33700:3: ( RULE_ID ) + // InternalFiacre.g:33701:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NamedItem__DeclarationAssignment" + + + // $ANTLR start "rule__StateSubject__StateAssignment_1" + // InternalFiacre.g:33712:1: rule__StateSubject__StateAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__StateSubject__StateAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33716:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:33717:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:33717:2: ( ( RULE_ID ) ) + // InternalFiacre.g:33718:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); + } + // InternalFiacre.g:33719:3: ( RULE_ID ) + // InternalFiacre.g:33720:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getStateSubjectAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StateSubject__StateAssignment_1" + + + // $ANTLR start "rule__ValueSubject__ValueAssignment_1" + // InternalFiacre.g:33731:1: rule__ValueSubject__ValueAssignment_1 : ( ruleAtomicExpression ) ; + public final void rule__ValueSubject__ValueAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33735:1: ( ( ruleAtomicExpression ) ) + // InternalFiacre.g:33736:2: ( ruleAtomicExpression ) + { + // InternalFiacre.g:33736:2: ( ruleAtomicExpression ) + // InternalFiacre.g:33737:3: ruleAtomicExpression + { + if ( state.backtracking==0 ) { + before(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueSubject__ValueAssignment_1" + + + // $ANTLR start "rule__TagSubject__TagAssignment_1" + // InternalFiacre.g:33746:1: rule__TagSubject__TagAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__TagSubject__TagAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33750:1: ( ( ( RULE_ID ) ) ) + // InternalFiacre.g:33751:2: ( ( RULE_ID ) ) + { + // InternalFiacre.g:33751:2: ( ( RULE_ID ) ) + // InternalFiacre.g:33752:3: ( RULE_ID ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); + } + // InternalFiacre.g:33753:3: ( RULE_ID ) + // InternalFiacre.g:33754:4: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTagSubjectAccess().getTagTaggedStatementIDTerminalRuleCall_1_0_1()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectAccess().getTagTaggedStatementIDTerminalRuleCall_1_0_1()); + } + + } + + if ( state.backtracking==0 ) { + after(grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__TagSubject__TagAssignment_1" + + + // $ANTLR start "rule__EventSubject__EventAssignment_1" + // InternalFiacre.g:33765:1: rule__EventSubject__EventAssignment_1 : ( RULE_ID ) ; + public final void rule__EventSubject__EventAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalFiacre.g:33769:1: ( ( RULE_ID ) ) + // InternalFiacre.g:33770:2: ( RULE_ID ) + { + // InternalFiacre.g:33770:2: ( RULE_ID ) + // InternalFiacre.g:33771:3: RULE_ID + { + if ( state.backtracking==0 ) { + before(grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); + } + match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + if ( state.backtracking==0 ) { + after(grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); + } + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__EventSubject__EventAssignment_1" + + // $ANTLR start synpred10_InternalFiacre + public final void synpred10_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:3858:2: ( ( ( rule__ChannelType__Group_2_0__0 ) ) ) + // InternalFiacre.g:3858:2: ( ( rule__ChannelType__Group_2_0__0 ) ) + { + // InternalFiacre.g:3858:2: ( ( rule__ChannelType__Group_2_0__0 ) ) + // InternalFiacre.g:3859:3: ( rule__ChannelType__Group_2_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getGroup_2_0()); + } + // InternalFiacre.g:3860:3: ( rule__ChannelType__Group_2_0__0 ) + // InternalFiacre.g:3860:4: rule__ChannelType__Group_2_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_2_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred10_InternalFiacre + + // $ANTLR start synpred11_InternalFiacre + public final void synpred11_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:3864:2: ( ( 'none' ) ) + // InternalFiacre.g:3864:2: ( 'none' ) + { + // InternalFiacre.g:3864:2: ( 'none' ) + // InternalFiacre.g:3865:3: 'none' + { + if ( state.backtracking==0 ) { + before(grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); + } + match(input,12,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred11_InternalFiacre + + // $ANTLR start synpred15_InternalFiacre + public final void synpred15_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:3933:2: ( ( ruleRangeType ) ) + // InternalFiacre.g:3933:2: ( ruleRangeType ) + { + // InternalFiacre.g:3933:2: ( ruleRangeType ) + // InternalFiacre.g:3934:3: ruleRangeType + { + if ( state.backtracking==0 ) { + before(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred15_InternalFiacre + + // $ANTLR start synpred35_InternalFiacre + public final void synpred35_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4098:2: ( ( ( rule__PatternStatement__Group_1_0__0 ) ) ) + // InternalFiacre.g:4098:2: ( ( rule__PatternStatement__Group_1_0__0 ) ) + { + // InternalFiacre.g:4098:2: ( ( rule__PatternStatement__Group_1_0__0 ) ) + // InternalFiacre.g:4099:3: ( rule__PatternStatement__Group_1_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_0()); + } + // InternalFiacre.g:4100:3: ( rule__PatternStatement__Group_1_0__0 ) + // InternalFiacre.g:4100:4: rule__PatternStatement__Group_1_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred35_InternalFiacre + + // $ANTLR start synpred36_InternalFiacre + public final void synpred36_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4104:2: ( ( ( rule__PatternStatement__Group_1_1__0 ) ) ) + // InternalFiacre.g:4104:2: ( ( rule__PatternStatement__Group_1_1__0 ) ) + { + // InternalFiacre.g:4104:2: ( ( rule__PatternStatement__Group_1_1__0 ) ) + // InternalFiacre.g:4105:3: ( rule__PatternStatement__Group_1_1__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_1()); + } + // InternalFiacre.g:4106:3: ( rule__PatternStatement__Group_1_1__0 ) + // InternalFiacre.g:4106:4: rule__PatternStatement__Group_1_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred36_InternalFiacre + + // $ANTLR start synpred37_InternalFiacre + public final void synpred37_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4110:2: ( ( ( rule__PatternStatement__Group_1_2__0 ) ) ) + // InternalFiacre.g:4110:2: ( ( rule__PatternStatement__Group_1_2__0 ) ) + { + // InternalFiacre.g:4110:2: ( ( rule__PatternStatement__Group_1_2__0 ) ) + // InternalFiacre.g:4111:3: ( rule__PatternStatement__Group_1_2__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_2()); + } + // InternalFiacre.g:4112:3: ( rule__PatternStatement__Group_1_2__0 ) + // InternalFiacre.g:4112:4: rule__PatternStatement__Group_1_2__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_2__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred37_InternalFiacre + + // $ANTLR start synpred38_InternalFiacre + public final void synpred38_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4116:2: ( ( ( rule__PatternStatement__Group_1_3__0 ) ) ) + // InternalFiacre.g:4116:2: ( ( rule__PatternStatement__Group_1_3__0 ) ) + { + // InternalFiacre.g:4116:2: ( ( rule__PatternStatement__Group_1_3__0 ) ) + // InternalFiacre.g:4117:3: ( rule__PatternStatement__Group_1_3__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getPatternStatementAccess().getGroup_1_3()); + } + // InternalFiacre.g:4118:3: ( rule__PatternStatement__Group_1_3__0 ) + // InternalFiacre.g:4118:4: rule__PatternStatement__Group_1_3__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__PatternStatement__Group_1_3__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred38_InternalFiacre + + // $ANTLR start synpred47_InternalFiacre + public final void synpred47_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4245:2: ( ( ruleCompositeBlock ) ) + // InternalFiacre.g:4245:2: ( ruleCompositeBlock ) + { + // InternalFiacre.g:4245:2: ( ruleCompositeBlock ) + // InternalFiacre.g:4246:3: ruleCompositeBlock + { + if ( state.backtracking==0 ) { + before(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred47_InternalFiacre + + // $ANTLR start synpred75_InternalFiacre + public final void synpred75_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4563:2: ( ( ( rule__IdentifierExpression__Group_0__0 ) ) ) + // InternalFiacre.g:4563:2: ( ( rule__IdentifierExpression__Group_0__0 ) ) + { + // InternalFiacre.g:4563:2: ( ( rule__IdentifierExpression__Group_0__0 ) ) + // InternalFiacre.g:4564:3: ( rule__IdentifierExpression__Group_0__0 ) + { + if ( state.backtracking==0 ) { + before(grammarAccess.getIdentifierExpressionAccess().getGroup_0()); + } + // InternalFiacre.g:4565:3: ( rule__IdentifierExpression__Group_0__0 ) + // InternalFiacre.g:4565:4: rule__IdentifierExpression__Group_0__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Group_0__0(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred75_InternalFiacre + + // $ANTLR start synpred93_InternalFiacre + public final void synpred93_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:4896:2: ( ( rulePatternProperty ) ) + // InternalFiacre.g:4896:2: ( rulePatternProperty ) + { + // InternalFiacre.g:4896:2: ( rulePatternProperty ) + // InternalFiacre.g:4897:3: rulePatternProperty + { + if ( state.backtracking==0 ) { + before(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); + } + pushFollow(FollowSets000.FOLLOW_2); + rulePatternProperty(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred93_InternalFiacre + + // $ANTLR start synpred142_InternalFiacre + public final void synpred142_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:6662:3: ( rule__ChannelType__Group_1__0 ) + // InternalFiacre.g:6662:3: rule__ChannelType__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__ChannelType__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred142_InternalFiacre + + // $ANTLR start synpred214_InternalFiacre + public final void synpred214_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:16396:3: ( rule__Composition__Group_1__0 ) + // InternalFiacre.g:16396:3: rule__Composition__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Composition__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred214_InternalFiacre + + // $ANTLR start synpred218_InternalFiacre + public final void synpred218_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:16747:3: ( rule__InstanceDeclaration__Alternatives_0 ) + // InternalFiacre.g:16747:3: rule__InstanceDeclaration__Alternatives_0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__InstanceDeclaration__Alternatives_0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred218_InternalFiacre + + // $ANTLR start synpred230_InternalFiacre + public final void synpred230_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:18717:3: ( rule__Addition__Group_1__0 ) + // InternalFiacre.g:18717:3: rule__Addition__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Addition__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred230_InternalFiacre + + // $ANTLR start synpred231_InternalFiacre + public final void synpred231_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:18852:3: ( rule__Substraction__Group_1__0 ) + // InternalFiacre.g:18852:3: rule__Substraction__Group_1__0 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__Substraction__Group_1__0(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred231_InternalFiacre + + // $ANTLR start synpred238_InternalFiacre + public final void synpred238_InternalFiacre_fragment() throws RecognitionException { + // InternalFiacre.g:20445:3: ( rule__IdentifierExpression__Alternatives_1_1 ) + // InternalFiacre.g:20445:3: rule__IdentifierExpression__Alternatives_1_1 + { + pushFollow(FollowSets000.FOLLOW_2); + rule__IdentifierExpression__Alternatives_1_1(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred238_InternalFiacre + + // Delegated rules + + public final boolean synpred231_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred231_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred37_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred37_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred47_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred47_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred93_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred93_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred238_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred238_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred75_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred75_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred15_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred15_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred11_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred11_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred38_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred38_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred230_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred230_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred35_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred35_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred142_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred142_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred36_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred36_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred214_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred214_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred218_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred218_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred10_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred10_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA8 dfa8 = new DFA8(this); + protected DFA16 dfa16 = new DFA16(this); + protected DFA41 dfa41 = new DFA41(this); + protected DFA72 dfa72 = new DFA72(this); + protected DFA144 dfa144 = new DFA144(this); + protected DFA148 dfa148 = new DFA148(this); + static final String dfa_1s = "\37\uffff"; + static final String dfa_2s = "\1\4\16\uffff\1\0\17\uffff"; + static final String dfa_3s = "\1\153\16\uffff\1\0\17\uffff"; + static final String dfa_4s = "\1\uffff\1\1\2\uffff\1\2\25\uffff\1\3\1\4\1\5\1\6\1\7"; + static final String dfa_5s = "\17\uffff\1\0\17\uffff}>"; + static final String[] dfa_6s = { + "\1\17\1\uffff\1\4\7\uffff\1\4\7\uffff\1\4\5\uffff\1\35\2\uffff\3\1\1\uffff\1\32\1\uffff\1\33\1\34\3\uffff\1\4\42\uffff\2\4\10\uffff\1\4\3\uffff\7\4\1\uffff\2\4\1\uffff\1\4\1\uffff\4\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA8 extends DFA { + + public DFA8(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 8; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "3922:1: rule__Type__Alternatives : ( ( ruleBasicType ) | ( ruleRangeType ) | ( ruleUnionType ) | ( ruleRecordType ) | ( ruleQueueType ) | ( ruleArrayType ) | ( ruleReferencedType ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA8_15 = input.LA(1); + + + int index8_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred15_InternalFiacre()) ) {s = 4;} + + else if ( (true) ) {s = 30;} + + + input.seek(index8_15); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 8, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\33\uffff"; + static final String dfa_8s = "\1\4\30\0\2\uffff"; + static final String dfa_9s = "\1\153\30\0\2\uffff"; + static final String dfa_10s = "\31\uffff\1\1\1\2"; + static final String dfa_11s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\2\uffff}>"; + static final String[] dfa_12s = { + "\1\15\1\uffff\1\21\7\uffff\1\4\1\30\6\uffff\1\27\23\uffff\1\23\40\uffff\1\31\1\uffff\1\2\1\3\10\uffff\1\5\1\1\2\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\uffff\1\16\1\22\1\uffff\1\24\1\uffff\1\25\1\26\1\17\1\20", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA16 extends DFA { + + public DFA16(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 16; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "4240:1: rule__Block__Alternatives : ( ( ruleCompositeBlock ) | ( ruleInstanceDeclaration ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA16_1 = input.LA(1); + + + int index16_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA16_2 = input.LA(1); + + + int index16_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA16_3 = input.LA(1); + + + int index16_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA16_4 = input.LA(1); + + + int index16_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA16_5 = input.LA(1); + + + int index16_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA16_6 = input.LA(1); + + + int index16_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA16_7 = input.LA(1); + + + int index16_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA16_8 = input.LA(1); + + + int index16_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA16_9 = input.LA(1); + + + int index16_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA16_10 = input.LA(1); + + + int index16_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA16_11 = input.LA(1); + + + int index16_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA16_12 = input.LA(1); + + + int index16_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA16_13 = input.LA(1); + + + int index16_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA16_14 = input.LA(1); + + + int index16_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA16_15 = input.LA(1); + + + int index16_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA16_16 = input.LA(1); + + + int index16_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA16_17 = input.LA(1); + + + int index16_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA16_18 = input.LA(1); + + + int index16_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA16_19 = input.LA(1); + + + int index16_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA16_20 = input.LA(1); + + + int index16_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA16_21 = input.LA(1); + + + int index16_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA16_22 = input.LA(1); + + + int index16_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA16_23 = input.LA(1); + + + int index16_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA16_24 = input.LA(1); + + + int index16_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred47_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index16_24); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 16, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_13s = "\16\uffff"; + static final String dfa_14s = "\1\4\7\uffff\1\0\5\uffff"; + static final String dfa_15s = "\1\u0084\7\uffff\1\0\5\uffff"; + static final String dfa_16s = "\1\uffff\1\1\13\uffff\1\2"; + static final String dfa_17s = "\10\uffff\1\0\5\uffff}>"; + static final String[] dfa_18s = { + "\1\1\1\uffff\1\1\17\uffff\1\10\132\uffff\5\1\6\uffff\1\1\1\uffff\1\1\4\uffff\2\1", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s); + + class DFA41 extends DFA { + + public DFA41(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 41; + this.eot = dfa_13; + this.eof = dfa_13; + this.min = dfa_14; + this.max = dfa_15; + this.accept = dfa_16; + this.special = dfa_17; + this.transition = dfa_18; + } + public String getDescription() { + return "4891:1: rule__AtomicProperty__Alternatives : ( ( rulePatternProperty ) | ( ( rule__AtomicProperty__Group_1__0 ) ) );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA41_8 = input.LA(1); + + + int index41_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred93_InternalFiacre()) ) {s = 1;} + + else if ( (true) ) {s = 13;} + + + input.seek(index41_8); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 41, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_19s = "\43\uffff"; + static final String dfa_20s = "\1\4\1\0\41\uffff"; + static final String dfa_21s = "\1\u0089\1\0\41\uffff"; + static final String dfa_22s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_23s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_24s = { + "\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff\1\2\5\uffff\1\1\2\uffff\3\2\1\uffff\1\2\1\uffff\2\2\3\uffff\1\2\6\uffff\1\2\33\uffff\2\2\10\uffff\1\2\3\uffff\7\2\1\uffff\2\2\1\uffff\1\2\1\uffff\4\2\35\uffff\1\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); + static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s); + + class DFA72 extends DFA { + + public DFA72(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 72; + this.eot = dfa_19; + this.eof = dfa_19; + this.min = dfa_20; + this.max = dfa_21; + this.accept = dfa_22; + this.special = dfa_23; + this.transition = dfa_24; + } + public String getDescription() { + return "6662:2: ( rule__ChannelType__Group_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA72_1 = input.LA(1); + + + int index72_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred142_InternalFiacre()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index72_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 72, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_25s = "\1\4\27\0\3\uffff"; + static final String dfa_26s = "\1\153\27\0\3\uffff"; + static final String dfa_27s = "\30\uffff\1\2\1\uffff\1\1"; + static final String dfa_28s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\3\uffff}>"; + static final String[] dfa_29s = { + "\1\15\1\uffff\1\21\7\uffff\1\4\1\30\6\uffff\1\27\23\uffff\1\23\40\uffff\1\30\1\uffff\1\2\1\3\10\uffff\1\5\1\1\2\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\uffff\1\16\1\22\1\uffff\1\24\1\uffff\1\25\1\26\1\17\1\20", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "" + }; + static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); + static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s); + static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); + static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s); + static final short[][] dfa_29 = unpackEncodedStringArray(dfa_29s); + + class DFA144 extends DFA { + + public DFA144(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 144; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_25; + this.max = dfa_26; + this.accept = dfa_27; + this.special = dfa_28; + this.transition = dfa_29; + } + public String getDescription() { + return "16396:2: ( rule__Composition__Group_1__0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA144_1 = input.LA(1); + + + int index144_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA144_2 = input.LA(1); + + + int index144_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA144_3 = input.LA(1); + + + int index144_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA144_4 = input.LA(1); + + + int index144_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA144_5 = input.LA(1); + + + int index144_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA144_6 = input.LA(1); + + + int index144_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA144_7 = input.LA(1); + + + int index144_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA144_8 = input.LA(1); + + + int index144_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA144_9 = input.LA(1); + + + int index144_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA144_10 = input.LA(1); + + + int index144_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA144_11 = input.LA(1); + + + int index144_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA144_12 = input.LA(1); + + + int index144_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA144_13 = input.LA(1); + + + int index144_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA144_14 = input.LA(1); + + + int index144_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA144_15 = input.LA(1); + + + int index144_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA144_16 = input.LA(1); + + + int index144_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA144_17 = input.LA(1); + + + int index144_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA144_18 = input.LA(1); + + + int index144_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA144_19 = input.LA(1); + + + int index144_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA144_20 = input.LA(1); + + + int index144_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA144_21 = input.LA(1); + + + int index144_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA144_22 = input.LA(1); + + + int index144_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA144_23 = input.LA(1); + + + int index144_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred214_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index144_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 144, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_30s = "\32\uffff"; + static final String dfa_31s = "\1\4\14\uffff\1\0\14\uffff"; + static final String dfa_32s = "\1\153\14\uffff\1\0\14\uffff"; + static final String dfa_33s = "\1\uffff\1\1\27\uffff\1\2"; + static final String dfa_34s = "\15\uffff\1\0\14\uffff}>"; + static final String[] dfa_35s = { + "\1\15\1\uffff\1\1\7\uffff\2\1\6\uffff\1\1\23\uffff\1\1\42\uffff\2\1\10\uffff\2\1\2\uffff\7\1\1\uffff\2\1\1\uffff\1\1\1\uffff\4\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); + static final char[] dfa_31 = DFA.unpackEncodedStringToUnsignedChars(dfa_31s); + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[][] dfa_35 = unpackEncodedStringArray(dfa_35s); + + class DFA148 extends DFA { + + public DFA148(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 148; + this.eot = dfa_30; + this.eof = dfa_30; + this.min = dfa_31; + this.max = dfa_32; + this.accept = dfa_33; + this.special = dfa_34; + this.transition = dfa_35; + } + public String getDescription() { + return "16747:2: ( rule__InstanceDeclaration__Alternatives_0 )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA148_13 = input.LA(1); + + + int index148_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred218_InternalFiacre()) ) {s = 1;} + + else if ( (true) ) {s = 25;} + + + input.seek(index148_13); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 148, _s, input); + error(nvae); + throw nvae; + } + } + + + + private static class FollowSets000 { + 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[]{0x0000000000000052L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000101800C0C0010L,0x0001200000000000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000040002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000101800C080012L,0x0001200000000000L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x000101800C080010L,0x0001200000000000L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000020002L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000046B90404050L,0x00000F5BF8806000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x43C0000042404050L,0x00000C00008007ECL}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000800010L,0x0000000800000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000000000010L,0x0000000800000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0002046B90407050L,0x00000F5BF8806000L,0x0000000000000200L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000040000404050L,0x00000F5BF8806000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0002046B90405050L,0x00000F5BF8806000L,0x0000000000000200L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000040000002L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000380000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000001000020000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000021000000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000001001000000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000000001100000L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000040000600000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000320000000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000C00003000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000C00003000002L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000080001000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000001800000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000700002000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x00000C0000000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x00000000000000D0L,0x0000100000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000046B90404050L,0x00000F5BF8806000L,0x0000000000000C00L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0010000000000002L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0020000000000002L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x1804000001000000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0200000000404050L,0x00000C0000800000L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0004000001000000L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0200000000000000L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0400000000000000L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0400000001000000L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0200000000C04050L,0x00000C0000800000L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x2000040000000000L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x2000040000000002L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x8000000000000000L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000003L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x4000000000000000L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x000074000240C050L,0x00000F5BF9806800L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000001000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000040000400000L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x2002000000000000L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000000L,0x0000000000006000L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000010000L,0x00000000007C0000L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000004000L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000004002L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000002L,0x0000000001000000L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000002L,0x0000000002000000L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000000L,0x0000000008000000L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000000000L,0x0000000100000000L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000004000L,0x00000003F8800000L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000040000C04050L,0x00000F5BF8806000L}); + public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0000000001000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x00000C0000404050L,0x00000F5BF8806000L}); + public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x0000004000000000L}); + public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000040000404050L,0x00000FDBF8806000L}); + public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0000000000000000L,0x00000C0000000000L}); + public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000000000L,0x0000C00000000000L}); + public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000400050L,0x503E000008006000L,0x0000000000000018L}); + public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0010000000400050L,0x503E000008080000L,0x000000000000001CL}); + public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L}); + public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000000000400050L,0x503E000000000000L,0x0000000000000018L}); + public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000000L,0x0CC0000000000000L}); + public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0000000000000000L,0x0300000000000000L}); + public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000000000000L,0x0100000000000000L}); + public static final BitSet FOLLOW_138 = new BitSet(new long[]{0x0000000000000000L,0x0C80000000000000L}); + public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000000000000L,0x2000000000000000L}); + public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L}); + public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_142 = new BitSet(new long[]{0x0000000000000000L,0x0D80000000000000L}); + public static final BitSet FOLLOW_143 = new BitSet(new long[]{0x0010000000400050L,0x503E000008086000L,0x000000000000001CL}); + public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0000000000000000L,0x0200000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0010000000000000L,0x0000000008080000L,0x0000000000000004L}); + public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000400050L,0x503E000008000000L,0x0000000000000018L}); + public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000000000001E0L}); + } + + +} \ No newline at end of file diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/src/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ide/src/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ide/xtend-gen/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ide/xtend-gen/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/.classpath b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.classpath new file mode 100644 index 0000000..9081d4f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/.project b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.project new file mode 100644 index 0000000..6dc3916 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.project @@ -0,0 +1,34 @@ + + + fr.irit.fiacre.xtext.ui + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.core.resources.prefs b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.fiacre.xtext.ui/META-INF/MANIFEST.MF new file mode 100644 index 0000000..5439477 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: fr.irit.fiacre.xtext.ui +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: fr.irit.fiacre.xtext.ui; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: fr.irit.fiacre.xtext, + fr.irit.fiacre.xtext.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, + org.eclipse.xtend.lib;resolution:=optional, + org.eclipse.xtext.xbase.lib +Import-Package: org.apache.log4j +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: fr.irit.fiacre.xtext.ui.internal, + fr.irit.fiacre.xtext.ui.contentassist, + fr.irit.fiacre.xtext.ui.quickfix +Bundle-Activator: fr.irit.fiacre.xtext.ui.internal.XtextActivator diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/build.properties b/eclipse/plugins/fr.irit.fiacre.xtext.ui/build.properties new file mode 100644 index 0000000..8096926 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml b/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml new file mode 100644 index 0000000..f0357d6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml @@ -0,0 +1,421 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml_gen b/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml_gen new file mode 100644 index 0000000..222a715 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/plugin.xml_gen @@ -0,0 +1,410 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/AbstractFiacreUiModule.java b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/AbstractFiacreUiModule.java new file mode 100644 index 0000000..ff433f1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/AbstractFiacreUiModule.java @@ -0,0 +1,290 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import fr.irit.fiacre.xtext.ide.contentassist.antlr.FiacreParser; +import fr.irit.fiacre.xtext.ide.contentassist.antlr.PartialFiacreContentAssistParser; +import fr.irit.fiacre.xtext.ide.contentassist.antlr.internal.InternalFiacreLexer; +import fr.irit.fiacre.xtext.ui.contentassist.FiacreProposalProvider; +import fr.irit.fiacre.xtext.ui.labeling.FiacreDescriptionLabelProvider; +import fr.irit.fiacre.xtext.ui.labeling.FiacreLabelProvider; +import fr.irit.fiacre.xtext.ui.outline.FiacreOutlineTreeProvider; +import fr.irit.fiacre.xtext.ui.quickfix.FiacreQuickfixProvider; +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.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; + +/** + * Manual modifications go to {@link FiacreUiModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractFiacreUiModule extends DefaultUiModule { + + public AbstractFiacreUiModule(AbstractUIPlugin plugin) { + super(plugin); + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Provider provideIAllContainersState() { + return Access.getJavaProjectsState(); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class 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(InternalFiacreLexer.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(fr.irit.fiacre.xtext.parser.antlr.internal.InternalFiacreLexer.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 bindContentAssistContext$Factory() { + return DelegatingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIContentAssistParser() { + return FiacreParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexerProvider(Binder binder) { + binder.bind(InternalFiacreLexer.class).toProvider(LexerProvider.create(InternalFiacreLexer.class)); + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class 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 bindIXtextEditorCallback() { + return NatureAddingEditorCallback.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class 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 bindDocumentBasedDirtyResource() { + return PersistentDataAwareDirtyResource.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class 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 bindILabelProvider() { + return FiacreLabelProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public void configureResourceUIServiceLabelProvider(Binder binder) { + binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(FiacreDescriptionLabelProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class bindIOutlineTreeProvider() { + return FiacreOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class bindIOutlineTreeStructureProvider() { + return FiacreOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2 + public Class bindIssueResolutionProvider() { + return FiacreQuickfixProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 + public Class bindIContentProposalProvider() { + return FiacreProposalProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameStrategy() { + return DefaultRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIReferenceUpdater() { + return DefaultReferenceUpdater.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 bindIRenameRefactoringProvider() { + return DefaultRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class bindIRenameSupport$Factory() { + return DefaultRenameSupport.Factory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider provideTemplatesLanguageConfiguration() { + return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider provideLanguageRegistry() { + return AccessibleCodetemplatesActivator.getLanguageRegistry(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + @SingletonBinding(eager=true) + public Class bindLanguageRegistrar() { + return LanguageRegistrar.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindXtextTemplatePreferencePage() { + return AdvancedTemplatesPreferencePage.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindIPartialEditingContentAssistParser() { + return PartialFiacreContentAssistParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class bindIPartialEditingContentAssistContextFactory() { + return PartialEditingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public Class bindIViewerCreator() { + return DefaultViewerCreator.class; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/FiacreExecutableExtensionFactory.java b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/FiacreExecutableExtensionFactory.java new file mode 100644 index 0000000..ef625cd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/FiacreExecutableExtensionFactory.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui; + +import com.google.inject.Injector; +import fr.irit.fiacre.xtext.ui.internal.XtextActivator; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class FiacreExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return XtextActivator.getInstance().getBundle(); + } + + @Override + protected Injector getInjector() { + return XtextActivator.getInstance().getInjector(XtextActivator.FR_IRIT_FIACRE_XTEXT_FIACRE); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/contentassist/AbstractFiacreProposalProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/contentassist/AbstractFiacreProposalProvider.java new file mode 100644 index 0000000..f3d16df --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/contentassist/AbstractFiacreProposalProvider.java @@ -0,0 +1,1265 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.contentassist; + +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.common.ui.contentassist.TerminalsProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; + +/** + * Represents a generated, default implementation of superclass {@link TerminalsProposalProvider}. + * Methods are dynamically dispatched on the first parameter, i.e., you can override them + * with a more concrete subtype. + */ +public abstract class AbstractFiacreProposalProvider extends TerminalsProposalProvider { + + public void completeModel_Imports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeModel_Declarations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeModel_Requirements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeModel_Root(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRoot_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeRoot_Observed(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeImportDeclaration_ImportURI(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDeclaration_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDeclaration_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDeclaration_Statement(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTypeDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTypeDeclaration_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeChannelDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeChannelDeclaration_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeChannelType_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeChannelType_In(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeChannelType_Out(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeChannelType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTupleType_Types(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRangeType_Minimum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRangeType_Maximum(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUnionType_Tags(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUnionTags_Tags(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUnionTags_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUnionTagDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRecordType_Fields(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRecordFields_Fields(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRecordFields_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRecordFieldDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQueueType_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQueueType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeArrayType_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeArrayType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeReferencedType_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeConstantDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConstantDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConstantDeclaration_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_LocalPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Priorities(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_States(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Prelude(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProcessDeclaration_Transitions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStateDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransitionSource_Origin(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_Source(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransition_Action(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_LocalPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Priorities(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Prelude(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentDeclaration_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePortsDeclaration_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePortsDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePortDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLocalPortsDeclaration_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLocalPortsDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLocalPortsDeclaration_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLocalPortsDeclaration_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParametersDeclaration_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParametersDeclaration_Read(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeParametersDeclaration_Write(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeParametersDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParameterDeclaration_Reference(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeParameterDeclaration_Array(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeParameterDeclaration_Size(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParameterDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeVariablesDeclaration_Variables(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeVariablesDeclaration_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeVariablesDeclaration_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeVariableDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePriorityDeclaration_Groups(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePriorityGroup_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeUnlessStatement_Followers(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStatementChoice_Choices(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStatementSequence_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeBlockStatement_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeReturnStatement_Expression(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTaggedStatement_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePatternStatement_Patterns(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePatternStatement_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePatternStatement_Exp(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConstantPattern_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIntegerPattern_Negative(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeIntegerPattern_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierPattern_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierPattern_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierPattern_Index(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierPattern_Field(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeConditionalStatement_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConditionalStatement_Then(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConditionalStatement_Elseif(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConditionalStatement_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeExtendedConditionalStatement_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeExtendedConditionalStatement_Then(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSelectStatement_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSelectStatement_Index(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSelectStatement_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeWhileStatement_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeWhileStatement_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeForeachStatement_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeForeachStatement_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeToStatement_State(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeCaseStatement_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCaseStatement_Pattern(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCaseStatement_Body(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeOnStatement_Condition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeWaitStatement_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeWaitStatement_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComposition_Global(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComposition_Blocks(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCompositeBlock_Local(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCompositeBlock_Composition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInstanceDeclaration_Local(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInstanceDeclaration_Instance(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePortSet_AllPorts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completePortSet_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentInstance_Component(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeComponentInstance_Ports(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComponentInstance_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedExpression_Index(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedExpression_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedExpression_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConditional_Then(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConditional_Else(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeDisjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeImplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeComparison_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAddition_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSubstraction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMultiplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeDivision_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeModulo_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUnaryExpression_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeProjection_Field(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeReferenceExpression_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierExpression_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierExpression_Parameters(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierExpression_Indexes(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeIdentifierExpression_Field(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeRecordExpression_Fields(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFieldExpression_Field(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeFieldExpression_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeArrayExpression_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQueueExpression_Values(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeEnqueueExpression_Element(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeEnqueueExpression_Queue(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAppendExpression_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAppendExpression_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNaturalLiteral_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNaturalLowerBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeNaturalLowerBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeNaturalLowerBound_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNaturalUpperBound_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNaturalUpperBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeNaturalUpperBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeDecimalLowerBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeDecimalLowerBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeDecimalLowerBound_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeDecimalUpperBound_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeDecimalUpperBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeDecimalUpperBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeVariableLowerBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeVariableLowerBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeVariableLowerBound_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeVariableUpperBound_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeVariableUpperBound_Left(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeVariableUpperBound_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void completeRequirement_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeRequirement_Positive(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeRequirement_Negative(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyDeclaration_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyDeclaration_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedProperty_Variable(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedProperty_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeQuantifiedProperty_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyDisjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyImplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyConjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePropertyNegation_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLPattern_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInfinitelyOftenPattern_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeMortalPattern_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Lasting(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_After(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Before(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePresencePattern_Max(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_After(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Before(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAbsencePattern_Max(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_Before(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_After(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAlwaysPattern_Max(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Follower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Before(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Lower(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Upper(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_After(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Until(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Min(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSequencePattern_Max(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLQuantified_Index(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLQuantified_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLQuantified_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLDisjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLImplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLConjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLBinary_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLTLUnary_Operand(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeAtomicLTL_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeEnterStateEvent_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeLeaveStateEvent_Subject(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeObservableDisjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeObservableImplication_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeObservableConjunction_Right(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeObservableNegation_Child(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePathEvent_Path(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePathEvent_Item(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completePath_Items(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNaturalItem_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeNamedItem_Declaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeStateSubject_State(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeValueSubject_Value(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTagSubject_Tag(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeEventSubject_Event(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + + public void complete_Model(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RootDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Root(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NamedElement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TypeDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ConstantDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ExpressionDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ReferenceDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnionTagDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RecordFieldDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PatternDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BoundDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PathDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyDeclarationUse(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ImportDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Declaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ParameterizedDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TypeDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ChannelDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ChannelType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Type(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TupleType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BasicType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RangeType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnionType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnionTags(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnionTagDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RecordType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RecordFields(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RecordFieldDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QueueType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ArrayType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ReferencedType(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ConstantDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ProcessDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StateDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TransitionSource(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Transition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ComponentDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PortsDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PortDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LocalPortsDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ParametersDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ParameterDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_VariablesDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_VariableDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PriorityDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PriorityGroup(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnlessStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StatementChoice(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StatementSequence(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Statement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BlockStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ReturnStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NullStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TaggedStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PatternStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Pattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AnyPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ConstantPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_IntegerPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_IdentifierPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ConditionalStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ExtendedConditionalStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_SelectStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_WhileStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ForeachStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ToStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_CaseStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LoopStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_OnStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_WaitStatement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Composition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Block(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_CompositeBlock(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InstanceDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PortSet(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ComponentInstance(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Expression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QuantifiedExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Conditional(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Disjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Implication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Conjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Comparison(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Addition(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Substraction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Multiplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Division(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Modulo(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UnaryExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Projection(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ValueExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AtomicExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ReferenceExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_IdentifierExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RecordExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FieldExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ArrayExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QueueExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EnqueueExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AppendExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LiteralExpression(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_BooleanLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NaturalLiteral(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LowerBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UpperBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NaturalLowerBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NaturalUpperBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_DecimalLowerBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_DecimalUpperBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_VariableLowerBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_VariableUpperBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InfiniteUpperBound(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Requirement(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Property(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_QuantifiedProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyDisjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyImplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyConjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PropertyNegation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AtomicProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PatternProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_DeadlockFreePattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InfinitelyOftenPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_MortalPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PresencePattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AbsencePattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AlwaysPattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_SequencePattern(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLProperty(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLQuantified(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLDisjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLImplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLConjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLBinary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LTLUnary(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AtomicLTL(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StateEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EnterStateEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LeaveStateEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Observable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObservableDisjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObservableImplication(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObservableConjunction(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObservableNegation(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_AtomicObservable(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ObservableEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PathEvent(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Path(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_PathItem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NaturalItem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_NamedItem(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Subject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StateSubject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ValueSubject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TagSubject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_EventSubject(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_INT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ID(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FLT(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/internal/XtextActivator.java b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/internal/XtextActivator.java new file mode 100644 index 0000000..7276520 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src-gen/fr/irit/fiacre/xtext/ui/internal/XtextActivator.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.internal; + +import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Module; +import fr.irit.fiacre.xtext.FiacreRuntimeModule; +import fr.irit.fiacre.xtext.ui.FiacreUiModule; +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 XtextActivator extends AbstractUIPlugin { + + public static final String FR_IRIT_FIACRE_XTEXT_FIACRE = "fr.irit.fiacre.xtext.Fiacre"; + + private static final Logger logger = Logger.getLogger(XtextActivator.class); + + private static XtextActivator INSTANCE; + + private Map injectors = Collections.synchronizedMap(Maps. 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 XtextActivator 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 { + Module runtimeModule = getRuntimeModule(language); + Module sharedStateModule = getSharedStateModule(); + Module uiModule = getUiModule(language); + 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 Module getRuntimeModule(String grammar) { + if (FR_IRIT_FIACRE_XTEXT_FIACRE.equals(grammar)) { + return new FiacreRuntimeModule(); + } + throw new IllegalArgumentException(grammar); + } + + protected Module getUiModule(String grammar) { + if (FR_IRIT_FIACRE_XTEXT_FIACRE.equals(grammar)) { + return new FiacreUiModule(this); + } + throw new IllegalArgumentException(grammar); + } + + protected Module getSharedStateModule() { + return new SharedStateModule(); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/FiacreUiModule.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/FiacreUiModule.xtend new file mode 100644 index 0000000..5818e68 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/FiacreUiModule.xtend @@ -0,0 +1,13 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui + +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +@FinalFieldsConstructor +class FiacreUiModule extends AbstractFiacreUiModule { +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/contentassist/FiacreProposalProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/contentassist/FiacreProposalProvider.xtend new file mode 100644 index 0000000..bf1c4d0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/contentassist/FiacreProposalProvider.xtend @@ -0,0 +1,12 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.contentassist + + +/** + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist + * on how to customize the content assistant. + */ +class FiacreProposalProvider extends AbstractFiacreProposalProvider { +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreDescriptionLabelProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreDescriptionLabelProvider.xtend new file mode 100644 index 0000000..f9c909b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreDescriptionLabelProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.labeling + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +class FiacreDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + + // Labels and icons can be computed like this: + +// override text(IEObjectDescription ele) { +// ele.name.toString +// } +// +// override image(IEObjectDescription ele) { +// ele.EClass.name + '.gif' +// } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreLabelProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreLabelProvider.xtend new file mode 100644 index 0000000..9155283 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/labeling/FiacreLabelProvider.xtend @@ -0,0 +1,31 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.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/304_ide_concepts.html#label-provider + */ +class FiacreLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + new(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + + // Labels and icons can be computed like this: + +// def text(Greeting ele) { +// 'A greeting to ' + ele.name +// } +// +// def image(Greeting ele) { +// 'Greeting.gif' +// } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/outline/FiacreOutlineTreeProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/outline/FiacreOutlineTreeProvider.xtend new file mode 100644 index 0000000..788ad32 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/outline/FiacreOutlineTreeProvider.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.outline + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#outline + */ +class FiacreOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/quickfix/FiacreQuickfixProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/quickfix/FiacreQuickfixProvider.xtend new file mode 100644 index 0000000..d06b93a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/src/fr/irit/fiacre/xtext/ui/quickfix/FiacreQuickfixProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.ui.quickfix + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +class FiacreQuickfixProvider extends DefaultQuickfixProvider { + +// @Fix(FiacreValidator.INVALID_NAME) +// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [ +// context | +// val xtextDocument = context.xtextDocument +// val firstLetter = xtextDocument.get(issue.offset, 1) +// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase) +// ] +// } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/.gitignore new file mode 100644 index 0000000..3e9a4d8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/.gitignore @@ -0,0 +1,3 @@ +/.FiacreUiModule.java._trace +/.FiacreUiModule.xtendbin +/FiacreUiModule.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/contentassist/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/contentassist/.gitignore new file mode 100644 index 0000000..43590e0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/contentassist/.gitignore @@ -0,0 +1,3 @@ +/.FiacreProposalProvider.java._trace +/.FiacreProposalProvider.xtendbin +/FiacreProposalProvider.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/labeling/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/labeling/.gitignore new file mode 100644 index 0000000..a184592 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/labeling/.gitignore @@ -0,0 +1,6 @@ +/.FiacreDescriptionLabelProvider.java._trace +/.FiacreDescriptionLabelProvider.xtendbin +/.FiacreLabelProvider.java._trace +/.FiacreLabelProvider.xtendbin +/FiacreDescriptionLabelProvider.java +/FiacreLabelProvider.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/outline/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/outline/.gitignore new file mode 100644 index 0000000..d582475 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/outline/.gitignore @@ -0,0 +1,3 @@ +/.FiacreOutlineTreeProvider.java._trace +/.FiacreOutlineTreeProvider.xtendbin +/FiacreOutlineTreeProvider.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/quickfix/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/quickfix/.gitignore new file mode 100644 index 0000000..04b96eb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext.ui/xtend-gen/fr/irit/fiacre/xtext/ui/quickfix/.gitignore @@ -0,0 +1,3 @@ +/.FiacreQuickfixProvider.java._trace +/.FiacreQuickfixProvider.xtendbin +/FiacreQuickfixProvider.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.antlr-generator-3.2.0-patch.jar b/eclipse/plugins/fr.irit.fiacre.xtext/.antlr-generator-3.2.0-patch.jar new file mode 100644 index 0000000..90516fd Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext/.antlr-generator-3.2.0-patch.jar differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.classpath b/eclipse/plugins/fr.irit.fiacre.xtext/.classpath new file mode 100644 index 0000000..9081d4f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.launch/Generate Language Infrastructure (fr.irit.fiacre.xtext).launch b/eclipse/plugins/fr.irit.fiacre.xtext/.launch/Generate Language Infrastructure (fr.irit.fiacre.xtext).launch new file mode 100644 index 0000000..657d23e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.launch/Generate Language Infrastructure (fr.irit.fiacre.xtext).launch @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.project b/eclipse/plugins/fr.irit.fiacre.xtext/.project new file mode 100644 index 0000000..c1fd245 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.project @@ -0,0 +1,34 @@ + + + fr.irit.fiacre.xtext + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.core.resources.prefs b/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..0c68a61 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.fiacre.xtext/META-INF/MANIFEST.MF new file mode 100644 index 0000000..af5b1db --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/META-INF/MANIFEST.MF @@ -0,0 +1,29 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: fr.irit.fiacre.xtext +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: fr.irit.fiacre.xtext; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.equinox.common;bundle-version="3.5.0", + org.eclipse.emf.ecore, + org.eclipse.xtext.xbase.lib, + org.antlr.runtime, + org.eclipse.xtext.util, + org.eclipse.xtend.lib, + org.eclipse.emf.common +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: fr.irit.fiacre.xtext, + fr.irit.fiacre.xtext.services, + fr.irit.fiacre.xtext.generator, + fr.irit.fiacre.xtext.validation, + fr.irit.fiacre.xtext.scoping, + fr.irit.fiacre.xtext.fiacre.impl, + fr.irit.fiacre.xtext.parser.antlr.internal, + fr.irit.fiacre.xtext.fiacre, + fr.irit.fiacre.xtext.parser.antlr, + fr.irit.fiacre.xtext.fiacre.util, + fr.irit.fiacre.xtext.serializer +Import-Package: org.apache.log4j diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/build.properties b/eclipse/plugins/fr.irit.fiacre.xtext/build.properties new file mode 100644 index 0000000..6876fd3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/build.properties @@ -0,0 +1,28 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = model/generated/,\ + .,\ + META-INF/,\ + plugin.xml +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,\ + com.ibm.icu diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.ecore b/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.ecore new file mode 100644 index 0000000..fbbd71a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.ecore @@ -0,0 +1,881 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.genmodel b/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.genmodel new file mode 100644 index 0000000..d68a579 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/model/generated/Fiacre.genmodel @@ -0,0 +1,649 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/plugin.properties b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.properties new file mode 100644 index 0000000..66b334e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.properties @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +# generated by Xtext 2.10.0 + +pluginName = Fiacre Model +providerName = www.example.org diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml new file mode 100644 index 0000000..8d13690 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml_gen b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml_gen new file mode 100644 index 0000000..e0c6e50 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/plugin.xml_gen @@ -0,0 +1,10 @@ + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/AbstractFiacreRuntimeModule.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/AbstractFiacreRuntimeModule.java new file mode 100644 index 0000000..dcc43fe --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/AbstractFiacreRuntimeModule.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import fr.irit.fiacre.xtext.generator.FiacreGenerator; +import fr.irit.fiacre.xtext.parser.antlr.FiacreAntlrTokenFileProvider; +import fr.irit.fiacre.xtext.parser.antlr.FiacreParser; +import fr.irit.fiacre.xtext.parser.antlr.internal.InternalFiacreLexer; +import fr.irit.fiacre.xtext.scoping.FiacreScopeProvider; +import fr.irit.fiacre.xtext.serializer.FiacreSemanticSequencer; +import fr.irit.fiacre.xtext.serializer.FiacreSyntacticSequencer; +import fr.irit.fiacre.xtext.services.FiacreGrammarAccess; +import fr.irit.fiacre.xtext.validation.FiacreValidator; +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; + +/** + * Manual modifications go to {@link FiacreRuntimeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractFiacreRuntimeModule extends DefaultRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(Binder binder) { + properties = tryBindProperties(binder, "fr/irit/fiacre/xtext/Fiacre.properties"); + super.configure(binder); + } + + public void configureLanguageName(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("fr.irit.fiacre.xtext.Fiacre"); + } + + 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("fcr"); + } + + // 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 bindIGrammarAccess() { + return FiacreGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISemanticSequencer() { + return FiacreSemanticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISyntacticSequencer() { + return FiacreSyntacticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class bindISerializer() { + return Serializer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIParser() { + return FiacreParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindITokenToStringConverter() { + return AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindIAntlrTokenFileProvider() { + return FiacreAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindLexer() { + return InternalFiacreLexer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class bindITokenDefProvider() { + return AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Provider provideInternalFiacreLexer() { + return LexerProvider.create(InternalFiacreLexer.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(InternalFiacreLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + @SingletonBinding(eager=true) + public Class bindFiacreValidator() { + return FiacreValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class bindIScopeProvider() { + return FiacreScopeProvider.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 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 bindIQualifiedNameProvider() { + return DefaultDeclarativeQualifiedNameProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class bindIContainer$Manager() { + return StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class 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 bindIGenerator2() { + return FiacreGenerator.class; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/Fiacre.xtextbin b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/Fiacre.xtextbin new file mode 100644 index 0000000..c4956bb Binary files /dev/null and b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/Fiacre.xtextbin differ diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/FiacreStandaloneSetupGenerated.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/FiacreStandaloneSetupGenerated.java new file mode 100644 index 0000000..000d007 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/FiacreStandaloneSetupGenerated.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.ISetup; +import org.eclipse.xtext.common.TerminalsStandaloneSetup; +import org.eclipse.xtext.resource.IResourceFactory; +import org.eclipse.xtext.resource.IResourceServiceProvider; + +@SuppressWarnings("all") +public class FiacreStandaloneSetupGenerated implements ISetup { + + @Override + public Injector createInjectorAndDoEMFRegistration() { + TerminalsStandaloneSetup.doSetup(); + + Injector injector = createInjector(); + register(injector); + return injector; + } + + public Injector createInjector() { + return Guice.createInjector(new FiacreRuntimeModule()); + } + + public void register(Injector injector) { + if (!EPackage.Registry.INSTANCE.containsKey("http://www.irit.fr/fiacre/xtext/Fiacre")) { + EPackage.Registry.INSTANCE.put("http://www.irit.fr/fiacre/xtext/Fiacre", FiacrePackage.eINSTANCE); + } + IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); + IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); + + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("fcr", resourceFactory); + IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("fcr", serviceProvider); + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AbsencePattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AbsencePattern.java new file mode 100644 index 0000000..290453c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AbsencePattern.java @@ -0,0 +1,250 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Absence Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMax Max}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern() + * @model + * @generated + */ +public interface AbsencePattern extends PatternProperty +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + + /** + * Returns the value of the 'After' containment reference. + * + *

+ * If the meaning of the 'After' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'After' containment reference. + * @see #setAfter(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_After() + * @model containment="true" + * @generated + */ + Observable getAfter(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getAfter After}' containment reference. + * + * + * @param value the new value of the 'After' containment reference. + * @see #getAfter() + * @generated + */ + void setAfter(Observable value); + + /** + * Returns the value of the 'Lower' containment reference. + * + *

+ * If the meaning of the 'Lower' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Lower' containment reference. + * @see #setLower(LowerBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Lower() + * @model containment="true" + * @generated + */ + LowerBound getLower(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getLower Lower}' containment reference. + * + * + * @param value the new value of the 'Lower' containment reference. + * @see #getLower() + * @generated + */ + void setLower(LowerBound value); + + /** + * Returns the value of the 'Upper' containment reference. + * + *

+ * If the meaning of the 'Upper' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Upper' containment reference. + * @see #setUpper(UpperBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Upper() + * @model containment="true" + * @generated + */ + UpperBound getUpper(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUpper Upper}' containment reference. + * + * + * @param value the new value of the 'Upper' containment reference. + * @see #getUpper() + * @generated + */ + void setUpper(UpperBound value); + + /** + * Returns the value of the 'Until' containment reference. + * + *

+ * If the meaning of the 'Until' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Until' containment reference. + * @see #setUntil(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Until() + * @model containment="true" + * @generated + */ + Observable getUntil(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUntil Until}' containment reference. + * + * + * @param value the new value of the 'Until' containment reference. + * @see #getUntil() + * @generated + */ + void setUntil(Observable value); + + /** + * Returns the value of the 'Before' containment reference. + * + *

+ * If the meaning of the 'Before' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Before' containment reference. + * @see #setBefore(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Before() + * @model containment="true" + * @generated + */ + Observable getBefore(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getBefore Before}' containment reference. + * + * + * @param value the new value of the 'Before' containment reference. + * @see #getBefore() + * @generated + */ + void setBefore(Observable value); + + /** + * Returns the value of the 'Min' containment reference. + * + *

+ * If the meaning of the 'Min' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min' containment reference. + * @see #setMin(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Min() + * @model containment="true" + * @generated + */ + Observable getMin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMin Min}' containment reference. + * + * + * @param value the new value of the 'Min' containment reference. + * @see #getMin() + * @generated + */ + void setMin(Observable value); + + /** + * Returns the value of the 'Max' containment reference. + * + *

+ * If the meaning of the 'Max' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max' containment reference. + * @see #setMax(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAbsencePattern_Max() + * @model containment="true" + * @generated + */ + Observable getMax(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMax Max}' containment reference. + * + * + * @param value the new value of the 'Max' containment reference. + * @see #getMax() + * @generated + */ + void setMax(Observable value); + +} // AbsencePattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Addition.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Addition.java new file mode 100644 index 0000000..a2f2798 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Addition.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Addition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Addition#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Addition#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAddition() + * @model + * @generated + */ +public interface Addition extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAddition_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Addition#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAddition_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Addition#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Addition diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllExpression.java new file mode 100644 index 0000000..7d0a465 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllExpression.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'All Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllExpression#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllExpression#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllExpression() + * @model + * @generated + */ +public interface AllExpression extends Expression +{ + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllExpression_Index() + * @model containment="true" + * @generated + */ + VariableDeclaration getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllExpression_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // AllExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllProperty.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllProperty.java new file mode 100644 index 0000000..9dbf19d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AllProperty.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'All Property'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllProperty#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllProperty#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AllProperty#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllProperty() + * @model + * @generated + */ +public interface AllProperty extends Property +{ + /** + * Returns the value of the 'Variable' containment reference. + * + *

+ * If the meaning of the 'Variable' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllProperty_Variable() + * @model containment="true" + * @generated + */ + VariableDeclaration getVariable(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getVariable Variable}' containment reference. + * + * + * @param value the new value of the 'Variable' containment reference. + * @see #getVariable() + * @generated + */ + void setVariable(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllProperty_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAllProperty_Child() + * @model containment="true" + * @generated + */ + Property getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Property value); + +} // AllProperty diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AlwaysPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AlwaysPattern.java new file mode 100644 index 0000000..d1d164c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AlwaysPattern.java @@ -0,0 +1,196 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Always Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMax Max}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern() + * @model + * @generated + */ +public interface AlwaysPattern extends PatternProperty +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + + /** + * Returns the value of the 'Before' containment reference. + * + *

+ * If the meaning of the 'Before' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Before' containment reference. + * @see #setBefore(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_Before() + * @model containment="true" + * @generated + */ + Observable getBefore(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getBefore Before}' containment reference. + * + * + * @param value the new value of the 'Before' containment reference. + * @see #getBefore() + * @generated + */ + void setBefore(Observable value); + + /** + * Returns the value of the 'After' containment reference. + * + *

+ * If the meaning of the 'After' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'After' containment reference. + * @see #setAfter(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_After() + * @model containment="true" + * @generated + */ + Observable getAfter(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getAfter After}' containment reference. + * + * + * @param value the new value of the 'After' containment reference. + * @see #getAfter() + * @generated + */ + void setAfter(Observable value); + + /** + * Returns the value of the 'Until' containment reference. + * + *

+ * If the meaning of the 'Until' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Until' containment reference. + * @see #setUntil(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_Until() + * @model containment="true" + * @generated + */ + Observable getUntil(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getUntil Until}' containment reference. + * + * + * @param value the new value of the 'Until' containment reference. + * @see #getUntil() + * @generated + */ + void setUntil(Observable value); + + /** + * Returns the value of the 'Min' containment reference. + * + *

+ * If the meaning of the 'Min' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min' containment reference. + * @see #setMin(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_Min() + * @model containment="true" + * @generated + */ + Observable getMin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMin Min}' containment reference. + * + * + * @param value the new value of the 'Min' containment reference. + * @see #getMin() + * @generated + */ + void setMin(Observable value); + + /** + * Returns the value of the 'Max' containment reference. + * + *

+ * If the meaning of the 'Max' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max' containment reference. + * @see #setMax(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAlwaysPattern_Max() + * @model containment="true" + * @generated + */ + Observable getMax(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMax Max}' containment reference. + * + * + * @param value the new value of the 'Max' containment reference. + * @see #getMax() + * @generated + */ + void setMax(Observable value); + +} // AlwaysPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AnyPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AnyPattern.java new file mode 100644 index 0000000..135af7c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AnyPattern.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Any Pattern'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAnyPattern() + * @model + * @generated + */ +public interface AnyPattern extends Pattern +{ +} // AnyPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AppendExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AppendExpression.java new file mode 100644 index 0000000..7d187d6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AppendExpression.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Append Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAppendExpression() + * @model + * @generated + */ +public interface AppendExpression extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAppendExpression_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAppendExpression_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // AppendExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessExpression.java new file mode 100644 index 0000000..0967199 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessExpression.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Array Access Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getChild Child}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getIndexes Indexes}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessExpression() + * @model + * @generated + */ +public interface ArrayAccessExpression extends IdentifierExpression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(IdentifierExpression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessExpression_Child() + * @model containment="true" + * @generated + */ + IdentifierExpression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(IdentifierExpression value); + + /** + * Returns the value of the 'Indexes' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Indexes' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Indexes' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessExpression_Indexes() + * @model containment="true" + * @generated + */ + EList getIndexes(); + +} // ArrayAccessExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessPattern.java new file mode 100644 index 0000000..0fb08ec --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayAccessPattern.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Array Access Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getIndex Index}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessPattern() + * @model + * @generated + */ +public interface ArrayAccessPattern extends IdentifierPattern +{ + /** + * Returns the value of the 'Source' containment reference. + * + *

+ * If the meaning of the 'Source' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Source' containment reference. + * @see #setSource(IdentifierPattern) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessPattern_Source() + * @model containment="true" + * @generated + */ + IdentifierPattern getSource(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getSource Source}' containment reference. + * + * + * @param value the new value of the 'Source' containment reference. + * @see #getSource() + * @generated + */ + void setSource(IdentifierPattern value); + + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayAccessPattern_Index() + * @model containment="true" + * @generated + */ + Expression getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(Expression value); + +} // ArrayAccessPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayExpression.java new file mode 100644 index 0000000..832db31 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayExpression.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Array Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayExpression#getValues Values}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayExpression() + * @model + * @generated + */ +public interface ArrayExpression extends ValueExpression, Expression +{ + /** + * Returns the value of the 'Values' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Values' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Values' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayExpression_Values() + * @model containment="true" + * @generated + */ + EList getValues(); + +} // ArrayExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayType.java new file mode 100644 index 0000000..9987a06 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ArrayType.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Array Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayType#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ArrayType#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayType() + * @model + * @generated + */ +public interface ArrayType extends Type +{ + /** + * Returns the value of the 'Size' containment reference. + * + *

+ * If the meaning of the 'Size' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Size' containment reference. + * @see #setSize(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayType_Size() + * @model containment="true" + * @generated + */ + Expression getSize(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ArrayType#getSize Size}' containment reference. + * + * + * @param value the new value of the 'Size' containment reference. + * @see #getSize() + * @generated + */ + void setSize(Expression value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getArrayType_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ArrayType#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // ArrayType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignAnyStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignAnyStatement.java new file mode 100644 index 0000000..76dc580 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignAnyStatement.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Assign Any Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getExp Exp}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignAnyStatement() + * @model + * @generated + */ +public interface AssignAnyStatement extends PatternStatement +{ + /** + * Returns the value of the 'Patterns' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + *

+ * If the meaning of the 'Patterns' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Patterns' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignAnyStatement_Patterns() + * @model containment="true" + * @generated + */ + EList getPatterns(); + + /** + * Returns the value of the 'Exp' containment reference. + * + *

+ * If the meaning of the 'Exp' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Exp' containment reference. + * @see #setExp(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignAnyStatement_Exp() + * @model containment="true" + * @generated + */ + Expression getExp(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getExp Exp}' containment reference. + * + * + * @param value the new value of the 'Exp' containment reference. + * @see #getExp() + * @generated + */ + void setExp(Expression value); + +} // AssignAnyStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignStatement.java new file mode 100644 index 0000000..4efae00 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/AssignStatement.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Assign Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.AssignStatement#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.AssignStatement#getValues Values}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignStatement() + * @model + * @generated + */ +public interface AssignStatement extends PatternStatement +{ + /** + * Returns the value of the 'Patterns' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + *

+ * If the meaning of the 'Patterns' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Patterns' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignStatement_Patterns() + * @model containment="true" + * @generated + */ + EList getPatterns(); + + /** + * Returns the value of the 'Values' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Values' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Values' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getAssignStatement_Values() + * @model containment="true" + * @generated + */ + EList getValues(); + +} // AssignStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BasicType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BasicType.java new file mode 100644 index 0000000..331eeda --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BasicType.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Basic Type'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBasicType() + * @model + * @generated + */ +public interface BasicType extends Type +{ +} // BasicType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Block.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Block.java new file mode 100644 index 0000000..ac3aa83 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Block.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Block'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Block#getLocal Local}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBlock() + * @model + * @generated + */ +public interface Block extends EObject +{ + /** + * Returns the value of the 'Local' containment reference. + * + *

+ * If the meaning of the 'Local' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Local' containment reference. + * @see #setLocal(PortSet) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBlock_Local() + * @model containment="true" + * @generated + */ + PortSet getLocal(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Block#getLocal Local}' containment reference. + * + * + * @param value the new value of the 'Local' containment reference. + * @see #getLocal() + * @generated + */ + void setLocal(PortSet value); + +} // Block diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BlockStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BlockStatement.java new file mode 100644 index 0000000..ebb9d4c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BlockStatement.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Block Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.BlockStatement#getBody Body}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBlockStatement() + * @model + * @generated + */ +public interface BlockStatement extends Statement +{ + /** + * Returns the value of the 'Body' containment reference. + * + *

+ * If the meaning of the 'Body' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference. + * @see #setBody(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBlockStatement_Body() + * @model containment="true" + * @generated + */ + Statement getBody(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.BlockStatement#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Statement value); + +} // BlockStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanLiteral.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanLiteral.java new file mode 100644 index 0000000..1ce5f97 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanLiteral.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Boolean Literal'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBooleanLiteral() + * @model + * @generated + */ +public interface BooleanLiteral extends LiteralExpression +{ +} // BooleanLiteral diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanType.java new file mode 100644 index 0000000..ebdd9b2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BooleanType.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Boolean Type'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBooleanType() + * @model + * @generated + */ +public interface BooleanType extends BasicType +{ +} // BooleanType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BoundDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BoundDeclarationUse.java new file mode 100644 index 0000000..70dfb0c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/BoundDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Bound Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getBoundDeclarationUse() + * @model + * @generated + */ +public interface BoundDeclarationUse extends EObject +{ +} // BoundDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CaseStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CaseStatement.java new file mode 100644 index 0000000..7587d32 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CaseStatement.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Case Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getPattern Pattern}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getBody Body}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCaseStatement() + * @model + * @generated + */ +public interface CaseStatement extends Statement +{ + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCaseStatement_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + + /** + * Returns the value of the 'Pattern' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + *

+ * If the meaning of the 'Pattern' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Pattern' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCaseStatement_Pattern() + * @model containment="true" + * @generated + */ + EList getPattern(); + + /** + * Returns the value of the 'Body' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + *

+ * If the meaning of the 'Body' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCaseStatement_Body() + * @model containment="true" + * @generated + */ + EList getBody(); + +} // CaseStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelDeclaration.java new file mode 100644 index 0000000..8183785 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelDeclaration.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Channel Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelDeclaration() + * @model + * @generated + */ +public interface ChannelDeclaration extends TypeDeclarationUse, Declaration +{ + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(ChannelType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelDeclaration_Value() + * @model containment="true" + * @generated + */ + ChannelType getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(ChannelType value); + +} // ChannelDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelType.java new file mode 100644 index 0000000..6e8a08d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ChannelType.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Channel Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ChannelType#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ChannelType#isIn In}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ChannelType#isOut Out}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ChannelType#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelType() + * @model + * @generated + */ +public interface ChannelType extends EObject +{ + /** + * Returns the value of the 'Size' containment reference. + * + *

+ * If the meaning of the 'Size' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Size' containment reference. + * @see #setSize(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelType_Size() + * @model containment="true" + * @generated + */ + Expression getSize(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#getSize Size}' containment reference. + * + * + * @param value the new value of the 'Size' containment reference. + * @see #getSize() + * @generated + */ + void setSize(Expression value); + + /** + * Returns the value of the 'In' attribute. + * + *

+ * If the meaning of the 'In' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'In' attribute. + * @see #setIn(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelType_In() + * @model + * @generated + */ + boolean isIn(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#isIn In}' attribute. + * + * + * @param value the new value of the 'In' attribute. + * @see #isIn() + * @generated + */ + void setIn(boolean value); + + /** + * Returns the value of the 'Out' attribute. + * + *

+ * If the meaning of the 'Out' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Out' attribute. + * @see #setOut(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelType_Out() + * @model + * @generated + */ + boolean isOut(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#isOut Out}' attribute. + * + * + * @param value the new value of the 'Out' attribute. + * @see #isOut() + * @generated + */ + void setOut(boolean value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getChannelType_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // ChannelType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonEqual.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonEqual.java new file mode 100644 index 0000000..67ae2b0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonEqual.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Equal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonEqual() + * @model + * @generated + */ +public interface ComparisonEqual extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonEqual_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonEqual_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonEqual diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreater.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreater.java new file mode 100644 index 0000000..203981a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreater.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Greater'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreater() + * @model + * @generated + */ +public interface ComparisonGreater extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreater_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreater_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonGreater diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreaterEqual.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreaterEqual.java new file mode 100644 index 0000000..e902188 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonGreaterEqual.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Greater Equal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreaterEqual() + * @model + * @generated + */ +public interface ComparisonGreaterEqual extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreaterEqual_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonGreaterEqual_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonGreaterEqual diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesser.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesser.java new file mode 100644 index 0000000..b596f00 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesser.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Lesser'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesser() + * @model + * @generated + */ +public interface ComparisonLesser extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesser_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesser_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonLesser diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesserEqual.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesserEqual.java new file mode 100644 index 0000000..a360af8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonLesserEqual.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Lesser Equal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesserEqual() + * @model + * @generated + */ +public interface ComparisonLesserEqual extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesserEqual_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonLesserEqual_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonLesserEqual diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonNotEqual.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonNotEqual.java new file mode 100644 index 0000000..a67a97c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComparisonNotEqual.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Comparison Not Equal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonNotEqual() + * @model + * @generated + */ +public interface ComparisonNotEqual extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonNotEqual_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComparisonNotEqual_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // ComparisonNotEqual diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentDeclaration.java new file mode 100644 index 0000000..6ea3f08 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentDeclaration.java @@ -0,0 +1,140 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Component Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getLocalPorts Local Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPriorities Priorities}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPrelude Prelude}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getBody Body}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration() + * @model + * @generated + */ +public interface ComponentDeclaration extends RootDeclaration, PathDeclarationUse, ParameterizedDeclaration +{ + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + + /** + * Returns the value of the 'Local Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration}. + * + *

+ * If the meaning of the 'Local Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Local Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration_LocalPorts() + * @model containment="true" + * @generated + */ + EList getLocalPorts(); + + /** + * Returns the value of the 'Priorities' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration}. + * + *

+ * If the meaning of the 'Priorities' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Priorities' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration_Priorities() + * @model containment="true" + * @generated + */ + EList getPriorities(); + + /** + * Returns the value of the 'Prelude' containment reference. + * + *

+ * If the meaning of the 'Prelude' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Prelude' containment reference. + * @see #setPrelude(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration_Prelude() + * @model containment="true" + * @generated + */ + Statement getPrelude(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPrelude Prelude}' containment reference. + * + * + * @param value the new value of the 'Prelude' containment reference. + * @see #getPrelude() + * @generated + */ + void setPrelude(Statement value); + + /** + * Returns the value of the 'Body' containment reference. + * + *

+ * If the meaning of the 'Body' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference. + * @see #setBody(Composition) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentDeclaration_Body() + * @model containment="true" + * @generated + */ + Composition getBody(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Composition value); + +} // ComponentDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentInstance.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentInstance.java new file mode 100644 index 0000000..3e9ca7e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ComponentInstance.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Component Instance'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getComponent Component}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getParameters Parameters}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentInstance() + * @model + * @generated + */ +public interface ComponentInstance extends EObject +{ + /** + * Returns the value of the 'Component' reference. + * + *

+ * If the meaning of the 'Component' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Component' reference. + * @see #setComponent(ParameterizedDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentInstance_Component() + * @model + * @generated + */ + ParameterizedDeclaration getComponent(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getComponent Component}' reference. + * + * + * @param value the new value of the 'Component' reference. + * @see #getComponent() + * @generated + */ + void setComponent(ParameterizedDeclaration value); + + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentInstance_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComponentInstance_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + +} // ComponentInstance diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CompositeBlock.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CompositeBlock.java new file mode 100644 index 0000000..2b7c7bf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/CompositeBlock.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Composite Block'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.CompositeBlock#getComposition Composition}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCompositeBlock() + * @model + * @generated + */ +public interface CompositeBlock extends Block +{ + /** + * Returns the value of the 'Composition' containment reference. + * + *

+ * If the meaning of the 'Composition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Composition' containment reference. + * @see #setComposition(Composition) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getCompositeBlock_Composition() + * @model containment="true" + * @generated + */ + Composition getComposition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.CompositeBlock#getComposition Composition}' containment reference. + * + * + * @param value the new value of the 'Composition' containment reference. + * @see #getComposition() + * @generated + */ + void setComposition(Composition value); + +} // CompositeBlock diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Composition.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Composition.java new file mode 100644 index 0000000..78eab59 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Composition.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Composition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Composition#getGlobal Global}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Composition#getBlocks Blocks}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComposition() + * @model + * @generated + */ +public interface Composition extends EObject +{ + /** + * Returns the value of the 'Global' containment reference. + * + *

+ * If the meaning of the 'Global' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Global' containment reference. + * @see #setGlobal(PortSet) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComposition_Global() + * @model containment="true" + * @generated + */ + PortSet getGlobal(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Composition#getGlobal Global}' containment reference. + * + * + * @param value the new value of the 'Global' containment reference. + * @see #getGlobal() + * @generated + */ + void setGlobal(PortSet value); + + /** + * Returns the value of the 'Blocks' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Block}. + * + *

+ * If the meaning of the 'Blocks' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Blocks' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getComposition_Blocks() + * @model containment="true" + * @generated + */ + EList getBlocks(); + +} // Composition diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conditional.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conditional.java new file mode 100644 index 0000000..1757efc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conditional.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Conditional'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Conditional#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Conditional#getThen Then}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Conditional#getElse Else}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditional() + * @model + * @generated + */ +public interface Conditional extends Expression +{ + /** + * Returns the value of the 'Condition' containment reference. + * + *

+ * If the meaning of the 'Condition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditional_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Then' containment reference. + * + *

+ * If the meaning of the 'Then' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Then' containment reference. + * @see #setThen(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditional_Then() + * @model containment="true" + * @generated + */ + Expression getThen(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getThen Then}' containment reference. + * + * + * @param value the new value of the 'Then' containment reference. + * @see #getThen() + * @generated + */ + void setThen(Expression value); + + /** + * Returns the value of the 'Else' containment reference. + * + *

+ * If the meaning of the 'Else' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Else' containment reference. + * @see #setElse(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditional_Else() + * @model containment="true" + * @generated + */ + Expression getElse(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getElse Else}' containment reference. + * + * + * @param value the new value of the 'Else' containment reference. + * @see #getElse() + * @generated + */ + void setElse(Expression value); + +} // Conditional diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConditionalStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConditionalStatement.java new file mode 100644 index 0000000..199373d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConditionalStatement.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Conditional Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getThen Then}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElseif Elseif}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElse Else}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditionalStatement() + * @model + * @generated + */ +public interface ConditionalStatement extends Statement +{ + /** + * Returns the value of the 'Condition' containment reference. + * + *

+ * If the meaning of the 'Condition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditionalStatement_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Then' containment reference. + * + *

+ * If the meaning of the 'Then' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Then' containment reference. + * @see #setThen(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditionalStatement_Then() + * @model containment="true" + * @generated + */ + Statement getThen(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getThen Then}' containment reference. + * + * + * @param value the new value of the 'Then' containment reference. + * @see #getThen() + * @generated + */ + void setThen(Statement value); + + /** + * Returns the value of the 'Elseif' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement}. + * + *

+ * If the meaning of the 'Elseif' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Elseif' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditionalStatement_Elseif() + * @model containment="true" + * @generated + */ + EList getElseif(); + + /** + * Returns the value of the 'Else' containment reference. + * + *

+ * If the meaning of the 'Else' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Else' containment reference. + * @see #setElse(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConditionalStatement_Else() + * @model containment="true" + * @generated + */ + Statement getElse(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElse Else}' containment reference. + * + * + * @param value the new value of the 'Else' containment reference. + * @see #getElse() + * @generated + */ + void setElse(Statement value); + +} // ConditionalStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conjunction.java new file mode 100644 index 0000000..7ae733c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Conjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Conjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Conjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConjunction() + * @model + * @generated + */ +public interface Conjunction extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConjunction_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Conjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConjunction_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Conjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Conjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclaration.java new file mode 100644 index 0000000..b1a80a2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclaration.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Constant Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantDeclaration() + * @model + * @generated + */ +public interface ConstantDeclaration extends ConstantDeclarationUse, ExpressionDeclarationUse, BoundDeclarationUse, Declaration +{ + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantDeclaration_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantDeclaration_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // ConstantDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclarationUse.java new file mode 100644 index 0000000..377c11c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Constant Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantDeclarationUse() + * @model + * @generated + */ +public interface ConstantDeclarationUse extends EObject +{ +} // ConstantDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantPattern.java new file mode 100644 index 0000000..c5cf6ab --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstantPattern.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Constant Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConstantPattern#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantPattern() + * @model + * @generated + */ +public interface ConstantPattern extends Pattern +{ + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(LiteralExpression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstantPattern_Value() + * @model containment="true" + * @generated + */ + LiteralExpression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ConstantPattern#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(LiteralExpression value); + +} // ConstantPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructionExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructionExpression.java new file mode 100644 index 0000000..685a45f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructionExpression.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Construction Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression#getParameters Parameters}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstructionExpression() + * @model + * @generated + */ +public interface ConstructionExpression extends IdentifierExpression +{ + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstructionExpression_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + +} // ConstructionExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructorPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructorPattern.java new file mode 100644 index 0000000..ac2e210 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ConstructorPattern.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Constructor Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern#getParameters Parameters}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstructorPattern() + * @model + * @generated + */ +public interface ConstructorPattern extends IdentifierPattern +{ + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getConstructorPattern_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + +} // ConstructorPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DeadlockFreePattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DeadlockFreePattern.java new file mode 100644 index 0000000..2f91c53 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DeadlockFreePattern.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Deadlock Free Pattern'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDeadlockFreePattern() + * @model + * @generated + */ +public interface DeadlockFreePattern extends PatternProperty +{ +} // DeadlockFreePattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalLowerBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalLowerBound.java new file mode 100644 index 0000000..9b4f364 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalLowerBound.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Decimal Lower Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalLowerBound() + * @model + * @generated + */ +public interface DecimalLowerBound extends LowerBound +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(float) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalLowerBound_Value() + * @model + * @generated + */ + float getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(float value); + +} // DecimalLowerBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalUpperBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalUpperBound.java new file mode 100644 index 0000000..aa5f5ad --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/DecimalUpperBound.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Decimal Upper Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalUpperBound() + * @model + * @generated + */ +public interface DecimalUpperBound extends UpperBound +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(float) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalUpperBound_Value() + * @model + * @generated + */ + float getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(float value); + + /** + * Returns the value of the 'Left' attribute. + * + *

+ * If the meaning of the 'Left' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' attribute. + * @see #setLeft(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalUpperBound_Left() + * @model + * @generated + */ + boolean isLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isLeft Left}' attribute. + * + * + * @param value the new value of the 'Left' attribute. + * @see #isLeft() + * @generated + */ + void setLeft(boolean value); + + /** + * Returns the value of the 'Right' attribute. + * + *

+ * If the meaning of the 'Right' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' attribute. + * @see #setRight(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDecimalUpperBound_Right() + * @model + * @generated + */ + boolean isRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isRight Right}' attribute. + * + * + * @param value the new value of the 'Right' attribute. + * @see #isRight() + * @generated + */ + void setRight(boolean value); + +} // DecimalUpperBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Declaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Declaration.java new file mode 100644 index 0000000..0c215d2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Declaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDeclaration() + * @model + * @generated + */ +public interface Declaration extends NamedElement +{ +} // Declaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Disjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Disjunction.java new file mode 100644 index 0000000..b825dc6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Disjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Disjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Disjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDisjunction() + * @model + * @generated + */ +public interface Disjunction extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDisjunction_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Disjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDisjunction_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Disjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Disjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Division.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Division.java new file mode 100644 index 0000000..ef36241 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Division.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Division'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Division#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Division#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDivision() + * @model + * @generated + */ +public interface Division extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDivision_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Division#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getDivision_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Division#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Division diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnqueueExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnqueueExpression.java new file mode 100644 index 0000000..0f87a41 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnqueueExpression.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Enqueue Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getElement Element}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getQueue Queue}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEnqueueExpression() + * @model + * @generated + */ +public interface EnqueueExpression extends Expression +{ + /** + * Returns the value of the 'Element' containment reference. + * + *

+ * If the meaning of the 'Element' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Element' containment reference. + * @see #setElement(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEnqueueExpression_Element() + * @model containment="true" + * @generated + */ + Expression getElement(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getElement Element}' containment reference. + * + * + * @param value the new value of the 'Element' containment reference. + * @see #getElement() + * @generated + */ + void setElement(Expression value); + + /** + * Returns the value of the 'Queue' containment reference. + * + *

+ * If the meaning of the 'Queue' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Queue' containment reference. + * @see #setQueue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEnqueueExpression_Queue() + * @model containment="true" + * @generated + */ + Expression getQueue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getQueue Queue}' containment reference. + * + * + * @param value the new value of the 'Queue' containment reference. + * @see #getQueue() + * @generated + */ + void setQueue(Expression value); + +} // EnqueueExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnterStateEvent.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnterStateEvent.java new file mode 100644 index 0000000..bd48390 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EnterStateEvent.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Enter State Event'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEnterStateEvent() + * @model + * @generated + */ +public interface EnterStateEvent extends StateEvent +{ +} // EnterStateEvent diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EventSubject.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EventSubject.java new file mode 100644 index 0000000..c95b411 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/EventSubject.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Event Subject'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.EventSubject#getEvent Event}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEventSubject() + * @model + * @generated + */ +public interface EventSubject extends Subject +{ + /** + * Returns the value of the 'Event' attribute. + * + *

+ * If the meaning of the 'Event' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Event' attribute. + * @see #setEvent(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getEventSubject_Event() + * @model + * @generated + */ + String getEvent(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.EventSubject#getEvent Event}' attribute. + * + * + * @param value the new value of the 'Event' attribute. + * @see #getEvent() + * @generated + */ + void setEvent(String value); + +} // EventSubject diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsExpression.java new file mode 100644 index 0000000..55e549a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsExpression.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Exists Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsExpression() + * @model + * @generated + */ +public interface ExistsExpression extends Expression +{ + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsExpression_Index() + * @model containment="true" + * @generated + */ + VariableDeclaration getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsExpression_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // ExistsExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsProperty.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsProperty.java new file mode 100644 index 0000000..68f2cce --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExistsProperty.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Exists Property'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsProperty() + * @model + * @generated + */ +public interface ExistsProperty extends Property +{ + /** + * Returns the value of the 'Variable' containment reference. + * + *

+ * If the meaning of the 'Variable' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsProperty_Variable() + * @model containment="true" + * @generated + */ + VariableDeclaration getVariable(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getVariable Variable}' containment reference. + * + * + * @param value the new value of the 'Variable' containment reference. + * @see #getVariable() + * @generated + */ + void setVariable(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsProperty_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExistsProperty_Child() + * @model containment="true" + * @generated + */ + Property getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Property value); + +} // ExistsProperty diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Expression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Expression.java new file mode 100644 index 0000000..4500e7b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Expression.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Expression'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExpression() + * @model + * @generated + */ +public interface Expression extends EObject +{ +} // Expression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExpressionDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExpressionDeclarationUse.java new file mode 100644 index 0000000..dfc206a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExpressionDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Expression Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExpressionDeclarationUse() + * @model + * @generated + */ +public interface ExpressionDeclarationUse extends EObject +{ +} // ExpressionDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExtendedConditionalStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExtendedConditionalStatement.java new file mode 100644 index 0000000..7b4a399 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ExtendedConditionalStatement.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Extended Conditional Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getThen Then}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExtendedConditionalStatement() + * @model + * @generated + */ +public interface ExtendedConditionalStatement extends EObject +{ + /** + * Returns the value of the 'Condition' containment reference. + * + *

+ * If the meaning of the 'Condition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExtendedConditionalStatement_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Then' containment reference. + * + *

+ * If the meaning of the 'Then' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Then' containment reference. + * @see #setThen(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getExtendedConditionalStatement_Then() + * @model containment="true" + * @generated + */ + Statement getThen(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getThen Then}' containment reference. + * + * + * @param value the new value of the 'Then' containment reference. + * @see #getThen() + * @generated + */ + void setThen(Statement value); + +} // ExtendedConditionalStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FalseLiteral.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FalseLiteral.java new file mode 100644 index 0000000..226166a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FalseLiteral.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'False Literal'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFalseLiteral() + * @model + * @generated + */ +public interface FalseLiteral extends BooleanLiteral +{ +} // FalseLiteral diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacreFactory.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacreFactory.java new file mode 100644 index 0000000..89d1d02 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacreFactory.java @@ -0,0 +1,1800 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage + * @generated + */ +public interface FiacreFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * + * + * @generated + */ + FiacreFactory eINSTANCE = fr.irit.fiacre.xtext.fiacre.impl.FiacreFactoryImpl.init(); + + /** + * Returns a new object of class 'Model'. + * + * + * @return a new object of class 'Model'. + * @generated + */ + Model createModel(); + + /** + * Returns a new object of class 'Root Declaration'. + * + * + * @return a new object of class 'Root Declaration'. + * @generated + */ + RootDeclaration createRootDeclaration(); + + /** + * Returns a new object of class 'Root'. + * + * + * @return a new object of class 'Root'. + * @generated + */ + Root createRoot(); + + /** + * Returns a new object of class 'Named Element'. + * + * + * @return a new object of class 'Named Element'. + * @generated + */ + NamedElement createNamedElement(); + + /** + * Returns a new object of class 'Type Declaration Use'. + * + * + * @return a new object of class 'Type Declaration Use'. + * @generated + */ + TypeDeclarationUse createTypeDeclarationUse(); + + /** + * Returns a new object of class 'Constant Declaration Use'. + * + * + * @return a new object of class 'Constant Declaration Use'. + * @generated + */ + ConstantDeclarationUse createConstantDeclarationUse(); + + /** + * Returns a new object of class 'Expression Declaration Use'. + * + * + * @return a new object of class 'Expression Declaration Use'. + * @generated + */ + ExpressionDeclarationUse createExpressionDeclarationUse(); + + /** + * Returns a new object of class 'Reference Declaration Use'. + * + * + * @return a new object of class 'Reference Declaration Use'. + * @generated + */ + ReferenceDeclarationUse createReferenceDeclarationUse(); + + /** + * Returns a new object of class 'Union Tag Declaration Use'. + * + * + * @return a new object of class 'Union Tag Declaration Use'. + * @generated + */ + UnionTagDeclarationUse createUnionTagDeclarationUse(); + + /** + * Returns a new object of class 'Record Field Declaration Use'. + * + * + * @return a new object of class 'Record Field Declaration Use'. + * @generated + */ + RecordFieldDeclarationUse createRecordFieldDeclarationUse(); + + /** + * Returns a new object of class 'Pattern Declaration Use'. + * + * + * @return a new object of class 'Pattern Declaration Use'. + * @generated + */ + PatternDeclarationUse createPatternDeclarationUse(); + + /** + * Returns a new object of class 'Bound Declaration Use'. + * + * + * @return a new object of class 'Bound Declaration Use'. + * @generated + */ + BoundDeclarationUse createBoundDeclarationUse(); + + /** + * Returns a new object of class 'Path Declaration Use'. + * + * + * @return a new object of class 'Path Declaration Use'. + * @generated + */ + PathDeclarationUse createPathDeclarationUse(); + + /** + * Returns a new object of class 'Property Declaration Use'. + * + * + * @return a new object of class 'Property Declaration Use'. + * @generated + */ + PropertyDeclarationUse createPropertyDeclarationUse(); + + /** + * Returns a new object of class 'Import Declaration'. + * + * + * @return a new object of class 'Import Declaration'. + * @generated + */ + ImportDeclaration createImportDeclaration(); + + /** + * Returns a new object of class 'Declaration'. + * + * + * @return a new object of class 'Declaration'. + * @generated + */ + Declaration createDeclaration(); + + /** + * Returns a new object of class 'Parameterized Declaration'. + * + * + * @return a new object of class 'Parameterized Declaration'. + * @generated + */ + ParameterizedDeclaration createParameterizedDeclaration(); + + /** + * Returns a new object of class 'Function Declaration'. + * + * + * @return a new object of class 'Function Declaration'. + * @generated + */ + FunctionDeclaration createFunctionDeclaration(); + + /** + * Returns a new object of class 'Type Declaration'. + * + * + * @return a new object of class 'Type Declaration'. + * @generated + */ + TypeDeclaration createTypeDeclaration(); + + /** + * Returns a new object of class 'Channel Declaration'. + * + * + * @return a new object of class 'Channel Declaration'. + * @generated + */ + ChannelDeclaration createChannelDeclaration(); + + /** + * Returns a new object of class 'Channel Type'. + * + * + * @return a new object of class 'Channel Type'. + * @generated + */ + ChannelType createChannelType(); + + /** + * Returns a new object of class 'Type'. + * + * + * @return a new object of class 'Type'. + * @generated + */ + Type createType(); + + /** + * Returns a new object of class 'Basic Type'. + * + * + * @return a new object of class 'Basic Type'. + * @generated + */ + BasicType createBasicType(); + + /** + * Returns a new object of class 'Range Type'. + * + * + * @return a new object of class 'Range Type'. + * @generated + */ + RangeType createRangeType(); + + /** + * Returns a new object of class 'Union Type'. + * + * + * @return a new object of class 'Union Type'. + * @generated + */ + UnionType createUnionType(); + + /** + * Returns a new object of class 'Union Tags'. + * + * + * @return a new object of class 'Union Tags'. + * @generated + */ + UnionTags createUnionTags(); + + /** + * Returns a new object of class 'Union Tag Declaration'. + * + * + * @return a new object of class 'Union Tag Declaration'. + * @generated + */ + UnionTagDeclaration createUnionTagDeclaration(); + + /** + * Returns a new object of class 'Record Type'. + * + * + * @return a new object of class 'Record Type'. + * @generated + */ + RecordType createRecordType(); + + /** + * Returns a new object of class 'Record Fields'. + * + * + * @return a new object of class 'Record Fields'. + * @generated + */ + RecordFields createRecordFields(); + + /** + * Returns a new object of class 'Record Field Declaration'. + * + * + * @return a new object of class 'Record Field Declaration'. + * @generated + */ + RecordFieldDeclaration createRecordFieldDeclaration(); + + /** + * Returns a new object of class 'Queue Type'. + * + * + * @return a new object of class 'Queue Type'. + * @generated + */ + QueueType createQueueType(); + + /** + * Returns a new object of class 'Array Type'. + * + * + * @return a new object of class 'Array Type'. + * @generated + */ + ArrayType createArrayType(); + + /** + * Returns a new object of class 'Referenced Type'. + * + * + * @return a new object of class 'Referenced Type'. + * @generated + */ + ReferencedType createReferencedType(); + + /** + * Returns a new object of class 'Constant Declaration'. + * + * + * @return a new object of class 'Constant Declaration'. + * @generated + */ + ConstantDeclaration createConstantDeclaration(); + + /** + * Returns a new object of class 'Process Declaration'. + * + * + * @return a new object of class 'Process Declaration'. + * @generated + */ + ProcessDeclaration createProcessDeclaration(); + + /** + * Returns a new object of class 'State Declaration'. + * + * + * @return a new object of class 'State Declaration'. + * @generated + */ + StateDeclaration createStateDeclaration(); + + /** + * Returns a new object of class 'Transition Source'. + * + * + * @return a new object of class 'Transition Source'. + * @generated + */ + TransitionSource createTransitionSource(); + + /** + * Returns a new object of class 'Transition'. + * + * + * @return a new object of class 'Transition'. + * @generated + */ + Transition createTransition(); + + /** + * Returns a new object of class 'Component Declaration'. + * + * + * @return a new object of class 'Component Declaration'. + * @generated + */ + ComponentDeclaration createComponentDeclaration(); + + /** + * Returns a new object of class 'Ports Declaration'. + * + * + * @return a new object of class 'Ports Declaration'. + * @generated + */ + PortsDeclaration createPortsDeclaration(); + + /** + * Returns a new object of class 'Port Declaration'. + * + * + * @return a new object of class 'Port Declaration'. + * @generated + */ + PortDeclaration createPortDeclaration(); + + /** + * Returns a new object of class 'Local Ports Declaration'. + * + * + * @return a new object of class 'Local Ports Declaration'. + * @generated + */ + LocalPortsDeclaration createLocalPortsDeclaration(); + + /** + * Returns a new object of class 'Parameters Declaration'. + * + * + * @return a new object of class 'Parameters Declaration'. + * @generated + */ + ParametersDeclaration createParametersDeclaration(); + + /** + * Returns a new object of class 'Parameter Declaration'. + * + * + * @return a new object of class 'Parameter Declaration'. + * @generated + */ + ParameterDeclaration createParameterDeclaration(); + + /** + * Returns a new object of class 'Variables Declaration'. + * + * + * @return a new object of class 'Variables Declaration'. + * @generated + */ + VariablesDeclaration createVariablesDeclaration(); + + /** + * Returns a new object of class 'Variable Declaration'. + * + * + * @return a new object of class 'Variable Declaration'. + * @generated + */ + VariableDeclaration createVariableDeclaration(); + + /** + * Returns a new object of class 'Priority Declaration'. + * + * + * @return a new object of class 'Priority Declaration'. + * @generated + */ + PriorityDeclaration createPriorityDeclaration(); + + /** + * Returns a new object of class 'Priority Group'. + * + * + * @return a new object of class 'Priority Group'. + * @generated + */ + PriorityGroup createPriorityGroup(); + + /** + * Returns a new object of class 'Statement'. + * + * + * @return a new object of class 'Statement'. + * @generated + */ + Statement createStatement(); + + /** + * Returns a new object of class 'Block Statement'. + * + * + * @return a new object of class 'Block Statement'. + * @generated + */ + BlockStatement createBlockStatement(); + + /** + * Returns a new object of class 'Return Statement'. + * + * + * @return a new object of class 'Return Statement'. + * @generated + */ + ReturnStatement createReturnStatement(); + + /** + * Returns a new object of class 'Null Statement'. + * + * + * @return a new object of class 'Null Statement'. + * @generated + */ + NullStatement createNullStatement(); + + /** + * Returns a new object of class 'Tagged Statement'. + * + * + * @return a new object of class 'Tagged Statement'. + * @generated + */ + TaggedStatement createTaggedStatement(); + + /** + * Returns a new object of class 'Pattern Statement'. + * + * + * @return a new object of class 'Pattern Statement'. + * @generated + */ + PatternStatement createPatternStatement(); + + /** + * Returns a new object of class 'Pattern'. + * + * + * @return a new object of class 'Pattern'. + * @generated + */ + Pattern createPattern(); + + /** + * Returns a new object of class 'Any Pattern'. + * + * + * @return a new object of class 'Any Pattern'. + * @generated + */ + AnyPattern createAnyPattern(); + + /** + * Returns a new object of class 'Constant Pattern'. + * + * + * @return a new object of class 'Constant Pattern'. + * @generated + */ + ConstantPattern createConstantPattern(); + + /** + * Returns a new object of class 'Integer Pattern'. + * + * + * @return a new object of class 'Integer Pattern'. + * @generated + */ + IntegerPattern createIntegerPattern(); + + /** + * Returns a new object of class 'Identifier Pattern'. + * + * + * @return a new object of class 'Identifier Pattern'. + * @generated + */ + IdentifierPattern createIdentifierPattern(); + + /** + * Returns a new object of class 'Conditional Statement'. + * + * + * @return a new object of class 'Conditional Statement'. + * @generated + */ + ConditionalStatement createConditionalStatement(); + + /** + * Returns a new object of class 'Extended Conditional Statement'. + * + * + * @return a new object of class 'Extended Conditional Statement'. + * @generated + */ + ExtendedConditionalStatement createExtendedConditionalStatement(); + + /** + * Returns a new object of class 'Select Statement'. + * + * + * @return a new object of class 'Select Statement'. + * @generated + */ + SelectStatement createSelectStatement(); + + /** + * Returns a new object of class 'While Statement'. + * + * + * @return a new object of class 'While Statement'. + * @generated + */ + WhileStatement createWhileStatement(); + + /** + * Returns a new object of class 'Foreach Statement'. + * + * + * @return a new object of class 'Foreach Statement'. + * @generated + */ + ForeachStatement createForeachStatement(); + + /** + * Returns a new object of class 'To Statement'. + * + * + * @return a new object of class 'To Statement'. + * @generated + */ + ToStatement createToStatement(); + + /** + * Returns a new object of class 'Case Statement'. + * + * + * @return a new object of class 'Case Statement'. + * @generated + */ + CaseStatement createCaseStatement(); + + /** + * Returns a new object of class 'Loop Statement'. + * + * + * @return a new object of class 'Loop Statement'. + * @generated + */ + LoopStatement createLoopStatement(); + + /** + * Returns a new object of class 'On Statement'. + * + * + * @return a new object of class 'On Statement'. + * @generated + */ + OnStatement createOnStatement(); + + /** + * Returns a new object of class 'Wait Statement'. + * + * + * @return a new object of class 'Wait Statement'. + * @generated + */ + WaitStatement createWaitStatement(); + + /** + * Returns a new object of class 'Composition'. + * + * + * @return a new object of class 'Composition'. + * @generated + */ + Composition createComposition(); + + /** + * Returns a new object of class 'Block'. + * + * + * @return a new object of class 'Block'. + * @generated + */ + Block createBlock(); + + /** + * Returns a new object of class 'Composite Block'. + * + * + * @return a new object of class 'Composite Block'. + * @generated + */ + CompositeBlock createCompositeBlock(); + + /** + * Returns a new object of class 'Instance Declaration'. + * + * + * @return a new object of class 'Instance Declaration'. + * @generated + */ + InstanceDeclaration createInstanceDeclaration(); + + /** + * Returns a new object of class 'Port Set'. + * + * + * @return a new object of class 'Port Set'. + * @generated + */ + PortSet createPortSet(); + + /** + * Returns a new object of class 'Component Instance'. + * + * + * @return a new object of class 'Component Instance'. + * @generated + */ + ComponentInstance createComponentInstance(); + + /** + * Returns a new object of class 'Expression'. + * + * + * @return a new object of class 'Expression'. + * @generated + */ + Expression createExpression(); + + /** + * Returns a new object of class 'Value Expression'. + * + * + * @return a new object of class 'Value Expression'. + * @generated + */ + ValueExpression createValueExpression(); + + /** + * Returns a new object of class 'Reference Expression'. + * + * + * @return a new object of class 'Reference Expression'. + * @generated + */ + ReferenceExpression createReferenceExpression(); + + /** + * Returns a new object of class 'Identifier Expression'. + * + * + * @return a new object of class 'Identifier Expression'. + * @generated + */ + IdentifierExpression createIdentifierExpression(); + + /** + * Returns a new object of class 'Record Expression'. + * + * + * @return a new object of class 'Record Expression'. + * @generated + */ + RecordExpression createRecordExpression(); + + /** + * Returns a new object of class 'Field Expression'. + * + * + * @return a new object of class 'Field Expression'. + * @generated + */ + FieldExpression createFieldExpression(); + + /** + * Returns a new object of class 'Array Expression'. + * + * + * @return a new object of class 'Array Expression'. + * @generated + */ + ArrayExpression createArrayExpression(); + + /** + * Returns a new object of class 'Queue Expression'. + * + * + * @return a new object of class 'Queue Expression'. + * @generated + */ + QueueExpression createQueueExpression(); + + /** + * Returns a new object of class 'Enqueue Expression'. + * + * + * @return a new object of class 'Enqueue Expression'. + * @generated + */ + EnqueueExpression createEnqueueExpression(); + + /** + * Returns a new object of class 'Append Expression'. + * + * + * @return a new object of class 'Append Expression'. + * @generated + */ + AppendExpression createAppendExpression(); + + /** + * Returns a new object of class 'Literal Expression'. + * + * + * @return a new object of class 'Literal Expression'. + * @generated + */ + LiteralExpression createLiteralExpression(); + + /** + * Returns a new object of class 'Boolean Literal'. + * + * + * @return a new object of class 'Boolean Literal'. + * @generated + */ + BooleanLiteral createBooleanLiteral(); + + /** + * Returns a new object of class 'Natural Literal'. + * + * + * @return a new object of class 'Natural Literal'. + * @generated + */ + NaturalLiteral createNaturalLiteral(); + + /** + * Returns a new object of class 'Lower Bound'. + * + * + * @return a new object of class 'Lower Bound'. + * @generated + */ + LowerBound createLowerBound(); + + /** + * Returns a new object of class 'Upper Bound'. + * + * + * @return a new object of class 'Upper Bound'. + * @generated + */ + UpperBound createUpperBound(); + + /** + * Returns a new object of class 'Natural Lower Bound'. + * + * + * @return a new object of class 'Natural Lower Bound'. + * @generated + */ + NaturalLowerBound createNaturalLowerBound(); + + /** + * Returns a new object of class 'Natural Upper Bound'. + * + * + * @return a new object of class 'Natural Upper Bound'. + * @generated + */ + NaturalUpperBound createNaturalUpperBound(); + + /** + * Returns a new object of class 'Decimal Lower Bound'. + * + * + * @return a new object of class 'Decimal Lower Bound'. + * @generated + */ + DecimalLowerBound createDecimalLowerBound(); + + /** + * Returns a new object of class 'Decimal Upper Bound'. + * + * + * @return a new object of class 'Decimal Upper Bound'. + * @generated + */ + DecimalUpperBound createDecimalUpperBound(); + + /** + * Returns a new object of class 'Variable Lower Bound'. + * + * + * @return a new object of class 'Variable Lower Bound'. + * @generated + */ + VariableLowerBound createVariableLowerBound(); + + /** + * Returns a new object of class 'Variable Upper Bound'. + * + * + * @return a new object of class 'Variable Upper Bound'. + * @generated + */ + VariableUpperBound createVariableUpperBound(); + + /** + * Returns a new object of class 'Infinite Upper Bound'. + * + * + * @return a new object of class 'Infinite Upper Bound'. + * @generated + */ + InfiniteUpperBound createInfiniteUpperBound(); + + /** + * Returns a new object of class 'Requirement'. + * + * + * @return a new object of class 'Requirement'. + * @generated + */ + Requirement createRequirement(); + + /** + * Returns a new object of class 'Property Declaration'. + * + * + * @return a new object of class 'Property Declaration'. + * @generated + */ + PropertyDeclaration createPropertyDeclaration(); + + /** + * Returns a new object of class 'Property'. + * + * + * @return a new object of class 'Property'. + * @generated + */ + Property createProperty(); + + /** + * Returns a new object of class 'Pattern Property'. + * + * + * @return a new object of class 'Pattern Property'. + * @generated + */ + PatternProperty createPatternProperty(); + + /** + * Returns a new object of class 'LTL Pattern'. + * + * + * @return a new object of class 'LTL Pattern'. + * @generated + */ + LTLPattern createLTLPattern(); + + /** + * Returns a new object of class 'Deadlock Free Pattern'. + * + * + * @return a new object of class 'Deadlock Free Pattern'. + * @generated + */ + DeadlockFreePattern createDeadlockFreePattern(); + + /** + * Returns a new object of class 'Infinitely Often Pattern'. + * + * + * @return a new object of class 'Infinitely Often Pattern'. + * @generated + */ + InfinitelyOftenPattern createInfinitelyOftenPattern(); + + /** + * Returns a new object of class 'Mortal Pattern'. + * + * + * @return a new object of class 'Mortal Pattern'. + * @generated + */ + MortalPattern createMortalPattern(); + + /** + * Returns a new object of class 'Presence Pattern'. + * + * + * @return a new object of class 'Presence Pattern'. + * @generated + */ + PresencePattern createPresencePattern(); + + /** + * Returns a new object of class 'Absence Pattern'. + * + * + * @return a new object of class 'Absence Pattern'. + * @generated + */ + AbsencePattern createAbsencePattern(); + + /** + * Returns a new object of class 'Always Pattern'. + * + * + * @return a new object of class 'Always Pattern'. + * @generated + */ + AlwaysPattern createAlwaysPattern(); + + /** + * Returns a new object of class 'Sequence Pattern'. + * + * + * @return a new object of class 'Sequence Pattern'. + * @generated + */ + SequencePattern createSequencePattern(); + + /** + * Returns a new object of class 'LTL Property'. + * + * + * @return a new object of class 'LTL Property'. + * @generated + */ + LTLProperty createLTLProperty(); + + /** + * Returns a new object of class 'State Event'. + * + * + * @return a new object of class 'State Event'. + * @generated + */ + StateEvent createStateEvent(); + + /** + * Returns a new object of class 'Enter State Event'. + * + * + * @return a new object of class 'Enter State Event'. + * @generated + */ + EnterStateEvent createEnterStateEvent(); + + /** + * Returns a new object of class 'Leave State Event'. + * + * + * @return a new object of class 'Leave State Event'. + * @generated + */ + LeaveStateEvent createLeaveStateEvent(); + + /** + * Returns a new object of class 'Observable'. + * + * + * @return a new object of class 'Observable'. + * @generated + */ + Observable createObservable(); + + /** + * Returns a new object of class 'Observable Event'. + * + * + * @return a new object of class 'Observable Event'. + * @generated + */ + ObservableEvent createObservableEvent(); + + /** + * Returns a new object of class 'Path Event'. + * + * + * @return a new object of class 'Path Event'. + * @generated + */ + PathEvent createPathEvent(); + + /** + * Returns a new object of class 'Path'. + * + * + * @return a new object of class 'Path'. + * @generated + */ + Path createPath(); + + /** + * Returns a new object of class 'Path Item'. + * + * + * @return a new object of class 'Path Item'. + * @generated + */ + PathItem createPathItem(); + + /** + * Returns a new object of class 'Natural Item'. + * + * + * @return a new object of class 'Natural Item'. + * @generated + */ + NaturalItem createNaturalItem(); + + /** + * Returns a new object of class 'Named Item'. + * + * + * @return a new object of class 'Named Item'. + * @generated + */ + NamedItem createNamedItem(); + + /** + * Returns a new object of class 'Subject'. + * + * + * @return a new object of class 'Subject'. + * @generated + */ + Subject createSubject(); + + /** + * Returns a new object of class 'State Subject'. + * + * + * @return a new object of class 'State Subject'. + * @generated + */ + StateSubject createStateSubject(); + + /** + * Returns a new object of class 'Value Subject'. + * + * + * @return a new object of class 'Value Subject'. + * @generated + */ + ValueSubject createValueSubject(); + + /** + * Returns a new object of class 'Tag Subject'. + * + * + * @return a new object of class 'Tag Subject'. + * @generated + */ + TagSubject createTagSubject(); + + /** + * Returns a new object of class 'Event Subject'. + * + * + * @return a new object of class 'Event Subject'. + * @generated + */ + EventSubject createEventSubject(); + + /** + * Returns a new object of class 'Tuple Type'. + * + * + * @return a new object of class 'Tuple Type'. + * @generated + */ + TupleType createTupleType(); + + /** + * Returns a new object of class 'Natural Type'. + * + * + * @return a new object of class 'Natural Type'. + * @generated + */ + NaturalType createNaturalType(); + + /** + * Returns a new object of class 'Integer Type'. + * + * + * @return a new object of class 'Integer Type'. + * @generated + */ + IntegerType createIntegerType(); + + /** + * Returns a new object of class 'Boolean Type'. + * + * + * @return a new object of class 'Boolean Type'. + * @generated + */ + BooleanType createBooleanType(); + + /** + * Returns a new object of class 'Unless Statement'. + * + * + * @return a new object of class 'Unless Statement'. + * @generated + */ + UnlessStatement createUnlessStatement(); + + /** + * Returns a new object of class 'Statement Choice'. + * + * + * @return a new object of class 'Statement Choice'. + * @generated + */ + StatementChoice createStatementChoice(); + + /** + * Returns a new object of class 'Statement Sequence'. + * + * + * @return a new object of class 'Statement Sequence'. + * @generated + */ + StatementSequence createStatementSequence(); + + /** + * Returns a new object of class 'Assign Statement'. + * + * + * @return a new object of class 'Assign Statement'. + * @generated + */ + AssignStatement createAssignStatement(); + + /** + * Returns a new object of class 'Assign Any Statement'. + * + * + * @return a new object of class 'Assign Any Statement'. + * @generated + */ + AssignAnyStatement createAssignAnyStatement(); + + /** + * Returns a new object of class 'Send Statement'. + * + * + * @return a new object of class 'Send Statement'. + * @generated + */ + SendStatement createSendStatement(); + + /** + * Returns a new object of class 'Receive Statement'. + * + * + * @return a new object of class 'Receive Statement'. + * @generated + */ + ReceiveStatement createReceiveStatement(); + + /** + * Returns a new object of class 'Constructor Pattern'. + * + * + * @return a new object of class 'Constructor Pattern'. + * @generated + */ + ConstructorPattern createConstructorPattern(); + + /** + * Returns a new object of class 'Array Access Pattern'. + * + * + * @return a new object of class 'Array Access Pattern'. + * @generated + */ + ArrayAccessPattern createArrayAccessPattern(); + + /** + * Returns a new object of class 'Record Access Pattern'. + * + * + * @return a new object of class 'Record Access Pattern'. + * @generated + */ + RecordAccessPattern createRecordAccessPattern(); + + /** + * Returns a new object of class 'All Expression'. + * + * + * @return a new object of class 'All Expression'. + * @generated + */ + AllExpression createAllExpression(); + + /** + * Returns a new object of class 'Exists Expression'. + * + * + * @return a new object of class 'Exists Expression'. + * @generated + */ + ExistsExpression createExistsExpression(); + + /** + * Returns a new object of class 'Conditional'. + * + * + * @return a new object of class 'Conditional'. + * @generated + */ + Conditional createConditional(); + + /** + * Returns a new object of class 'Disjunction'. + * + * + * @return a new object of class 'Disjunction'. + * @generated + */ + Disjunction createDisjunction(); + + /** + * Returns a new object of class 'Implication'. + * + * + * @return a new object of class 'Implication'. + * @generated + */ + Implication createImplication(); + + /** + * Returns a new object of class 'Conjunction'. + * + * + * @return a new object of class 'Conjunction'. + * @generated + */ + Conjunction createConjunction(); + + /** + * Returns a new object of class 'Comparison Equal'. + * + * + * @return a new object of class 'Comparison Equal'. + * @generated + */ + ComparisonEqual createComparisonEqual(); + + /** + * Returns a new object of class 'Comparison Not Equal'. + * + * + * @return a new object of class 'Comparison Not Equal'. + * @generated + */ + ComparisonNotEqual createComparisonNotEqual(); + + /** + * Returns a new object of class 'Comparison Lesser'. + * + * + * @return a new object of class 'Comparison Lesser'. + * @generated + */ + ComparisonLesser createComparisonLesser(); + + /** + * Returns a new object of class 'Comparison Lesser Equal'. + * + * + * @return a new object of class 'Comparison Lesser Equal'. + * @generated + */ + ComparisonLesserEqual createComparisonLesserEqual(); + + /** + * Returns a new object of class 'Comparison Greater'. + * + * + * @return a new object of class 'Comparison Greater'. + * @generated + */ + ComparisonGreater createComparisonGreater(); + + /** + * Returns a new object of class 'Comparison Greater Equal'. + * + * + * @return a new object of class 'Comparison Greater Equal'. + * @generated + */ + ComparisonGreaterEqual createComparisonGreaterEqual(); + + /** + * Returns a new object of class 'Addition'. + * + * + * @return a new object of class 'Addition'. + * @generated + */ + Addition createAddition(); + + /** + * Returns a new object of class 'Substraction'. + * + * + * @return a new object of class 'Substraction'. + * @generated + */ + Substraction createSubstraction(); + + /** + * Returns a new object of class 'Multiplication'. + * + * + * @return a new object of class 'Multiplication'. + * @generated + */ + Multiplication createMultiplication(); + + /** + * Returns a new object of class 'Division'. + * + * + * @return a new object of class 'Division'. + * @generated + */ + Division createDivision(); + + /** + * Returns a new object of class 'Modulo'. + * + * + * @return a new object of class 'Modulo'. + * @generated + */ + Modulo createModulo(); + + /** + * Returns a new object of class 'Unary Plus Expression'. + * + * + * @return a new object of class 'Unary Plus Expression'. + * @generated + */ + UnaryPlusExpression createUnaryPlusExpression(); + + /** + * Returns a new object of class 'Unary Minus Expression'. + * + * + * @return a new object of class 'Unary Minus Expression'. + * @generated + */ + UnaryMinusExpression createUnaryMinusExpression(); + + /** + * Returns a new object of class 'Unary Negation Expression'. + * + * + * @return a new object of class 'Unary Negation Expression'. + * @generated + */ + UnaryNegationExpression createUnaryNegationExpression(); + + /** + * Returns a new object of class 'Unary First Expression'. + * + * + * @return a new object of class 'Unary First Expression'. + * @generated + */ + UnaryFirstExpression createUnaryFirstExpression(); + + /** + * Returns a new object of class 'Unary Length Expression'. + * + * + * @return a new object of class 'Unary Length Expression'. + * @generated + */ + UnaryLengthExpression createUnaryLengthExpression(); + + /** + * Returns a new object of class 'Unary Coerce Expression'. + * + * + * @return a new object of class 'Unary Coerce Expression'. + * @generated + */ + UnaryCoerceExpression createUnaryCoerceExpression(); + + /** + * Returns a new object of class 'Unary Full Expression'. + * + * + * @return a new object of class 'Unary Full Expression'. + * @generated + */ + UnaryFullExpression createUnaryFullExpression(); + + /** + * Returns a new object of class 'Unary De Queue Expression'. + * + * + * @return a new object of class 'Unary De Queue Expression'. + * @generated + */ + UnaryDeQueueExpression createUnaryDeQueueExpression(); + + /** + * Returns a new object of class 'Unary Empty Expression'. + * + * + * @return a new object of class 'Unary Empty Expression'. + * @generated + */ + UnaryEmptyExpression createUnaryEmptyExpression(); + + /** + * Returns a new object of class 'Projection'. + * + * + * @return a new object of class 'Projection'. + * @generated + */ + Projection createProjection(); + + /** + * Returns a new object of class 'Construction Expression'. + * + * + * @return a new object of class 'Construction Expression'. + * @generated + */ + ConstructionExpression createConstructionExpression(); + + /** + * Returns a new object of class 'Array Access Expression'. + * + * + * @return a new object of class 'Array Access Expression'. + * @generated + */ + ArrayAccessExpression createArrayAccessExpression(); + + /** + * Returns a new object of class 'Record Access Expression'. + * + * + * @return a new object of class 'Record Access Expression'. + * @generated + */ + RecordAccessExpression createRecordAccessExpression(); + + /** + * Returns a new object of class 'True Literal'. + * + * + * @return a new object of class 'True Literal'. + * @generated + */ + TrueLiteral createTrueLiteral(); + + /** + * Returns a new object of class 'False Literal'. + * + * + * @return a new object of class 'False Literal'. + * @generated + */ + FalseLiteral createFalseLiteral(); + + /** + * Returns a new object of class 'All Property'. + * + * + * @return a new object of class 'All Property'. + * @generated + */ + AllProperty createAllProperty(); + + /** + * Returns a new object of class 'Exists Property'. + * + * + * @return a new object of class 'Exists Property'. + * @generated + */ + ExistsProperty createExistsProperty(); + + /** + * Returns a new object of class 'Property Disjunction'. + * + * + * @return a new object of class 'Property Disjunction'. + * @generated + */ + PropertyDisjunction createPropertyDisjunction(); + + /** + * Returns a new object of class 'Property Implication'. + * + * + * @return a new object of class 'Property Implication'. + * @generated + */ + PropertyImplication createPropertyImplication(); + + /** + * Returns a new object of class 'Property Conjunction'. + * + * + * @return a new object of class 'Property Conjunction'. + * @generated + */ + PropertyConjunction createPropertyConjunction(); + + /** + * Returns a new object of class 'Property Negation'. + * + * + * @return a new object of class 'Property Negation'. + * @generated + */ + PropertyNegation createPropertyNegation(); + + /** + * Returns a new object of class 'Leads To Pattern'. + * + * + * @return a new object of class 'Leads To Pattern'. + * @generated + */ + LeadsToPattern createLeadsToPattern(); + + /** + * Returns a new object of class 'Precedes Pattern'. + * + * + * @return a new object of class 'Precedes Pattern'. + * @generated + */ + PrecedesPattern createPrecedesPattern(); + + /** + * Returns a new object of class 'LTL All'. + * + * + * @return a new object of class 'LTL All'. + * @generated + */ + LTLAll createLTLAll(); + + /** + * Returns a new object of class 'LTL Exists'. + * + * + * @return a new object of class 'LTL Exists'. + * @generated + */ + LTLExists createLTLExists(); + + /** + * Returns a new object of class 'LTL Disjunction'. + * + * + * @return a new object of class 'LTL Disjunction'. + * @generated + */ + LTLDisjunction createLTLDisjunction(); + + /** + * Returns a new object of class 'LTL Implication'. + * + * + * @return a new object of class 'LTL Implication'. + * @generated + */ + LTLImplication createLTLImplication(); + + /** + * Returns a new object of class 'LTL Conjunction'. + * + * + * @return a new object of class 'LTL Conjunction'. + * @generated + */ + LTLConjunction createLTLConjunction(); + + /** + * Returns a new object of class 'LTL Until'. + * + * + * @return a new object of class 'LTL Until'. + * @generated + */ + LTLUntil createLTLUntil(); + + /** + * Returns a new object of class 'LTL Release'. + * + * + * @return a new object of class 'LTL Release'. + * @generated + */ + LTLRelease createLTLRelease(); + + /** + * Returns a new object of class 'LTL Unary Negation'. + * + * + * @return a new object of class 'LTL Unary Negation'. + * @generated + */ + LTLUnaryNegation createLTLUnaryNegation(); + + /** + * Returns a new object of class 'LTL Unary Next'. + * + * + * @return a new object of class 'LTL Unary Next'. + * @generated + */ + LTLUnaryNext createLTLUnaryNext(); + + /** + * Returns a new object of class 'LTL Unary Always'. + * + * + * @return a new object of class 'LTL Unary Always'. + * @generated + */ + LTLUnaryAlways createLTLUnaryAlways(); + + /** + * Returns a new object of class 'LTL Unary Eventually'. + * + * + * @return a new object of class 'LTL Unary Eventually'. + * @generated + */ + LTLUnaryEventually createLTLUnaryEventually(); + + /** + * Returns a new object of class 'LTL Variable'. + * + * + * @return a new object of class 'LTL Variable'. + * @generated + */ + LTLVariable createLTLVariable(); + + /** + * Returns a new object of class 'Observable Disjunction'. + * + * + * @return a new object of class 'Observable Disjunction'. + * @generated + */ + ObservableDisjunction createObservableDisjunction(); + + /** + * Returns a new object of class 'Observable Implication'. + * + * + * @return a new object of class 'Observable Implication'. + * @generated + */ + ObservableImplication createObservableImplication(); + + /** + * Returns a new object of class 'Observable Conjunction'. + * + * + * @return a new object of class 'Observable Conjunction'. + * @generated + */ + ObservableConjunction createObservableConjunction(); + + /** + * Returns a new object of class 'Observable Negation'. + * + * + * @return a new object of class 'Observable Negation'. + * @generated + */ + ObservableNegation createObservableNegation(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + FiacrePackage getFiacrePackage(); + +} //FiacreFactory diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacrePackage.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacrePackage.java new file mode 100644 index 0000000..711a809 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FiacrePackage.java @@ -0,0 +1,11988 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacreFactory + * @model kind="package" + * @generated + */ +public interface FiacrePackage extends EPackage +{ + /** + * The package name. + * + * + * @generated + */ + String eNAME = "fiacre"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.irit.fr/fiacre/xtext/Fiacre"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "fiacre"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + FiacrePackage eINSTANCE = fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl.init(); + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ModelImpl Model}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ModelImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getModel() + * @generated + */ + int MODEL = 0; + + /** + * The feature id for the 'Imports' containment reference list. + * + * + * @generated + * @ordered + */ + int MODEL__IMPORTS = 0; + + /** + * The feature id for the 'Declarations' containment reference list. + * + * + * @generated + * @ordered + */ + int MODEL__DECLARATIONS = 1; + + /** + * The feature id for the 'Requirements' containment reference list. + * + * + * @generated + * @ordered + */ + int MODEL__REQUIREMENTS = 2; + + /** + * The feature id for the 'Root' containment reference list. + * + * + * @generated + * @ordered + */ + int MODEL__ROOT = 3; + + /** + * The number of structural features of the 'Model' class. + * + * + * @generated + * @ordered + */ + int MODEL_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RootDeclarationImpl Root Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RootDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRootDeclaration() + * @generated + */ + int ROOT_DECLARATION = 1; + + /** + * The number of structural features of the 'Root Declaration' class. + * + * + * @generated + * @ordered + */ + int ROOT_DECLARATION_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RootImpl Root}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RootImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRoot() + * @generated + */ + int ROOT = 2; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int ROOT__DECLARATION = 0; + + /** + * The feature id for the 'Observed' reference list. + * + * + * @generated + * @ordered + */ + int ROOT__OBSERVED = 1; + + /** + * The number of structural features of the 'Root' class. + * + * + * @generated + * @ordered + */ + int ROOT_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NamedElementImpl Named Element}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NamedElementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNamedElement() + * @generated + */ + int NAMED_ELEMENT = 3; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT__NAME = 0; + + /** + * The number of structural features of the 'Named Element' class. + * + * + * @generated + * @ordered + */ + int NAMED_ELEMENT_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationUseImpl Type Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTypeDeclarationUse() + * @generated + */ + int TYPE_DECLARATION_USE = 4; + + /** + * The number of structural features of the 'Type Declaration Use' class. + * + * + * @generated + * @ordered + */ + int TYPE_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationUseImpl Constant Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConstantDeclarationUse() + * @generated + */ + int CONSTANT_DECLARATION_USE = 5; + + /** + * The number of structural features of the 'Constant Declaration Use' class. + * + * + * @generated + * @ordered + */ + int CONSTANT_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ExpressionDeclarationUseImpl Expression Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ExpressionDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getExpressionDeclarationUse() + * @generated + */ + int EXPRESSION_DECLARATION_USE = 6; + + /** + * The number of structural features of the 'Expression Declaration Use' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ReferenceDeclarationUseImpl Reference Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ReferenceDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getReferenceDeclarationUse() + * @generated + */ + int REFERENCE_DECLARATION_USE = 7; + + /** + * The number of structural features of the 'Reference Declaration Use' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnionTagDeclarationUseImpl Union Tag Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnionTagDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnionTagDeclarationUse() + * @generated + */ + int UNION_TAG_DECLARATION_USE = 8; + + /** + * The number of structural features of the 'Union Tag Declaration Use' class. + * + * + * @generated + * @ordered + */ + int UNION_TAG_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordFieldDeclarationUseImpl Record Field Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordFieldDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordFieldDeclarationUse() + * @generated + */ + int RECORD_FIELD_DECLARATION_USE = 9; + + /** + * The number of structural features of the 'Record Field Declaration Use' class. + * + * + * @generated + * @ordered + */ + int RECORD_FIELD_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PatternDeclarationUseImpl Pattern Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PatternDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPatternDeclarationUse() + * @generated + */ + int PATTERN_DECLARATION_USE = 10; + + /** + * The number of structural features of the 'Pattern Declaration Use' class. + * + * + * @generated + * @ordered + */ + int PATTERN_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BoundDeclarationUseImpl Bound Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BoundDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBoundDeclarationUse() + * @generated + */ + int BOUND_DECLARATION_USE = 11; + + /** + * The number of structural features of the 'Bound Declaration Use' class. + * + * + * @generated + * @ordered + */ + int BOUND_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PathDeclarationUseImpl Path Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PathDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPathDeclarationUse() + * @generated + */ + int PATH_DECLARATION_USE = 12; + + /** + * The number of structural features of the 'Path Declaration Use' class. + * + * + * @generated + * @ordered + */ + int PATH_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationUseImpl Property Declaration Use}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationUseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyDeclarationUse() + * @generated + */ + int PROPERTY_DECLARATION_USE = 13; + + /** + * The number of structural features of the 'Property Declaration Use' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_DECLARATION_USE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ImportDeclarationImpl Import Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ImportDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getImportDeclaration() + * @generated + */ + int IMPORT_DECLARATION = 14; + + /** + * The feature id for the 'Import URI' attribute. + * + * + * @generated + * @ordered + */ + int IMPORT_DECLARATION__IMPORT_URI = 0; + + /** + * The number of structural features of the 'Import Declaration' class. + * + * + * @generated + * @ordered + */ + int IMPORT_DECLARATION_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DeclarationImpl Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDeclaration() + * @generated + */ + int DECLARATION = 15; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'Declaration' class. + * + * + * @generated + * @ordered + */ + int DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ParameterizedDeclarationImpl Parameterized Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ParameterizedDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getParameterizedDeclaration() + * @generated + */ + int PARAMETERIZED_DECLARATION = 16; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETERIZED_DECLARATION__NAME = DECLARATION__NAME; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int PARAMETERIZED_DECLARATION__PARAMETERS = DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int PARAMETERIZED_DECLARATION__VARIABLES = DECLARATION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Parameterized Declaration' class. + * + * + * @generated + * @ordered + */ + int PARAMETERIZED_DECLARATION_FEATURE_COUNT = DECLARATION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl Function Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getFunctionDeclaration() + * @generated + */ + int FUNCTION_DECLARATION = 17; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION__NAME = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION__PARAMETERS = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION__VARIABLES = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION__TYPE = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Statement' containment reference. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION__STATEMENT = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 4; + + /** + * The number of structural features of the 'Function Declaration' class. + * + * + * @generated + * @ordered + */ + int FUNCTION_DECLARATION_FEATURE_COUNT = EXPRESSION_DECLARATION_USE_FEATURE_COUNT + 5; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationImpl Type Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTypeDeclaration() + * @generated + */ + int TYPE_DECLARATION = 18; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int TYPE_DECLARATION__NAME = TYPE_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int TYPE_DECLARATION__VALUE = TYPE_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Type Declaration' class. + * + * + * @generated + * @ordered + */ + int TYPE_DECLARATION_FEATURE_COUNT = TYPE_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ChannelDeclarationImpl Channel Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ChannelDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getChannelDeclaration() + * @generated + */ + int CHANNEL_DECLARATION = 19; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CHANNEL_DECLARATION__NAME = TYPE_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int CHANNEL_DECLARATION__VALUE = TYPE_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Channel Declaration' class. + * + * + * @generated + * @ordered + */ + int CHANNEL_DECLARATION_FEATURE_COUNT = TYPE_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl Channel Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getChannelType() + * @generated + */ + int CHANNEL_TYPE = 20; + + /** + * The feature id for the 'Size' containment reference. + * + * + * @generated + * @ordered + */ + int CHANNEL_TYPE__SIZE = 0; + + /** + * The feature id for the 'In' attribute. + * + * + * @generated + * @ordered + */ + int CHANNEL_TYPE__IN = 1; + + /** + * The feature id for the 'Out' attribute. + * + * + * @generated + * @ordered + */ + int CHANNEL_TYPE__OUT = 2; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int CHANNEL_TYPE__TYPE = 3; + + /** + * The number of structural features of the 'Channel Type' class. + * + * + * @generated + * @ordered + */ + int CHANNEL_TYPE_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TypeImpl Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getType() + * @generated + */ + int TYPE = 21; + + /** + * The number of structural features of the 'Type' class. + * + * + * @generated + * @ordered + */ + int TYPE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BasicTypeImpl Basic Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BasicTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBasicType() + * @generated + */ + int BASIC_TYPE = 22; + + /** + * The number of structural features of the 'Basic Type' class. + * + * + * @generated + * @ordered + */ + int BASIC_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RangeTypeImpl Range Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RangeTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRangeType() + * @generated + */ + int RANGE_TYPE = 23; + + /** + * The feature id for the 'Minimum' containment reference. + * + * + * @generated + * @ordered + */ + int RANGE_TYPE__MINIMUM = TYPE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Maximum' containment reference. + * + * + * @generated + * @ordered + */ + int RANGE_TYPE__MAXIMUM = TYPE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Range Type' class. + * + * + * @generated + * @ordered + */ + int RANGE_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnionTypeImpl Union Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnionTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnionType() + * @generated + */ + int UNION_TYPE = 24; + + /** + * The feature id for the 'Tags' containment reference list. + * + * + * @generated + * @ordered + */ + int UNION_TYPE__TAGS = TYPE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Union Type' class. + * + * + * @generated + * @ordered + */ + int UNION_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnionTagsImpl Union Tags}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnionTagsImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnionTags() + * @generated + */ + int UNION_TAGS = 25; + + /** + * The feature id for the 'Tags' containment reference list. + * + * + * @generated + * @ordered + */ + int UNION_TAGS__TAGS = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int UNION_TAGS__TYPE = 1; + + /** + * The number of structural features of the 'Union Tags' class. + * + * + * @generated + * @ordered + */ + int UNION_TAGS_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnionTagDeclarationImpl Union Tag Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnionTagDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnionTagDeclaration() + * @generated + */ + int UNION_TAG_DECLARATION = 26; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int UNION_TAG_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'Union Tag Declaration' class. + * + * + * @generated + * @ordered + */ + int UNION_TAG_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordTypeImpl Record Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordType() + * @generated + */ + int RECORD_TYPE = 27; + + /** + * The feature id for the 'Fields' containment reference list. + * + * + * @generated + * @ordered + */ + int RECORD_TYPE__FIELDS = TYPE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Record Type' class. + * + * + * @generated + * @ordered + */ + int RECORD_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordFieldsImpl Record Fields}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordFieldsImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordFields() + * @generated + */ + int RECORD_FIELDS = 28; + + /** + * The feature id for the 'Fields' containment reference list. + * + * + * @generated + * @ordered + */ + int RECORD_FIELDS__FIELDS = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int RECORD_FIELDS__TYPE = 1; + + /** + * The number of structural features of the 'Record Fields' class. + * + * + * @generated + * @ordered + */ + int RECORD_FIELDS_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordFieldDeclarationImpl Record Field Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordFieldDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordFieldDeclaration() + * @generated + */ + int RECORD_FIELD_DECLARATION = 29; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int RECORD_FIELD_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'Record Field Declaration' class. + * + * + * @generated + * @ordered + */ + int RECORD_FIELD_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.QueueTypeImpl Queue Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.QueueTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getQueueType() + * @generated + */ + int QUEUE_TYPE = 30; + + /** + * The feature id for the 'Size' containment reference. + * + * + * @generated + * @ordered + */ + int QUEUE_TYPE__SIZE = TYPE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int QUEUE_TYPE__TYPE = TYPE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Queue Type' class. + * + * + * @generated + * @ordered + */ + int QUEUE_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ArrayTypeImpl Array Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ArrayTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getArrayType() + * @generated + */ + int ARRAY_TYPE = 31; + + /** + * The feature id for the 'Size' containment reference. + * + * + * @generated + * @ordered + */ + int ARRAY_TYPE__SIZE = TYPE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int ARRAY_TYPE__TYPE = TYPE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Array Type' class. + * + * + * @generated + * @ordered + */ + int ARRAY_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ReferencedTypeImpl Referenced Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ReferencedTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getReferencedType() + * @generated + */ + int REFERENCED_TYPE = 32; + + /** + * The feature id for the 'Type' reference. + * + * + * @generated + * @ordered + */ + int REFERENCED_TYPE__TYPE = TYPE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Referenced Type' class. + * + * + * @generated + * @ordered + */ + int REFERENCED_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationImpl Constant Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConstantDeclaration() + * @generated + */ + int CONSTANT_DECLARATION = 33; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int CONSTANT_DECLARATION__NAME = CONSTANT_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int CONSTANT_DECLARATION__TYPE = CONSTANT_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int CONSTANT_DECLARATION__VALUE = CONSTANT_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Constant Declaration' class. + * + * + * @generated + * @ordered + */ + int CONSTANT_DECLARATION_FEATURE_COUNT = CONSTANT_DECLARATION_USE_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl Process Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getProcessDeclaration() + * @generated + */ + int PROCESS_DECLARATION = 34; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__NAME = ROOT_DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__PARAMETERS = ROOT_DECLARATION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__VARIABLES = ROOT_DECLARATION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__PORTS = ROOT_DECLARATION_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Local Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__LOCAL_PORTS = ROOT_DECLARATION_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Priorities' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__PRIORITIES = ROOT_DECLARATION_FEATURE_COUNT + 5; + + /** + * The feature id for the 'States' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__STATES = ROOT_DECLARATION_FEATURE_COUNT + 6; + + /** + * The feature id for the 'Prelude' containment reference. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__PRELUDE = ROOT_DECLARATION_FEATURE_COUNT + 7; + + /** + * The feature id for the 'Transitions' containment reference list. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION__TRANSITIONS = ROOT_DECLARATION_FEATURE_COUNT + 8; + + /** + * The number of structural features of the 'Process Declaration' class. + * + * + * @generated + * @ordered + */ + int PROCESS_DECLARATION_FEATURE_COUNT = ROOT_DECLARATION_FEATURE_COUNT + 9; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StateDeclarationImpl State Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StateDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStateDeclaration() + * @generated + */ + int STATE_DECLARATION = 35; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int STATE_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'State Declaration' class. + * + * + * @generated + * @ordered + */ + int STATE_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TransitionSourceImpl Transition Source}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TransitionSourceImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTransitionSource() + * @generated + */ + int TRANSITION_SOURCE = 36; + + /** + * The feature id for the 'Origin' reference. + * + * + * @generated + * @ordered + */ + int TRANSITION_SOURCE__ORIGIN = 0; + + /** + * The number of structural features of the 'Transition Source' class. + * + * + * @generated + * @ordered + */ + int TRANSITION_SOURCE_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TransitionImpl Transition}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TransitionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTransition() + * @generated + */ + int TRANSITION = 37; + + /** + * The feature id for the 'Source' containment reference. + * + * + * @generated + * @ordered + */ + int TRANSITION__SOURCE = 0; + + /** + * The feature id for the 'Action' containment reference. + * + * + * @generated + * @ordered + */ + int TRANSITION__ACTION = 1; + + /** + * The number of structural features of the 'Transition' class. + * + * + * @generated + * @ordered + */ + int TRANSITION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl Component Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComponentDeclaration() + * @generated + */ + int COMPONENT_DECLARATION = 38; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__NAME = ROOT_DECLARATION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__PARAMETERS = ROOT_DECLARATION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__VARIABLES = ROOT_DECLARATION_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__PORTS = ROOT_DECLARATION_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Local Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__LOCAL_PORTS = ROOT_DECLARATION_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Priorities' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__PRIORITIES = ROOT_DECLARATION_FEATURE_COUNT + 5; + + /** + * The feature id for the 'Prelude' containment reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__PRELUDE = ROOT_DECLARATION_FEATURE_COUNT + 6; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION__BODY = ROOT_DECLARATION_FEATURE_COUNT + 7; + + /** + * The number of structural features of the 'Component Declaration' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_DECLARATION_FEATURE_COUNT = ROOT_DECLARATION_FEATURE_COUNT + 8; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PortsDeclarationImpl Ports Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PortsDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPortsDeclaration() + * @generated + */ + int PORTS_DECLARATION = 39; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int PORTS_DECLARATION__PORTS = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int PORTS_DECLARATION__TYPE = 1; + + /** + * The number of structural features of the 'Ports Declaration' class. + * + * + * @generated + * @ordered + */ + int PORTS_DECLARATION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PortDeclarationImpl Port Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PortDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPortDeclaration() + * @generated + */ + int PORT_DECLARATION = 40; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PORT_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'Port Declaration' class. + * + * + * @generated + * @ordered + */ + int PORT_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl Local Ports Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLocalPortsDeclaration() + * @generated + */ + int LOCAL_PORTS_DECLARATION = 41; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int LOCAL_PORTS_DECLARATION__PORTS = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int LOCAL_PORTS_DECLARATION__TYPE = 1; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LOCAL_PORTS_DECLARATION__LEFT = 2; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LOCAL_PORTS_DECLARATION__RIGHT = 3; + + /** + * The number of structural features of the 'Local Ports Declaration' class. + * + * + * @generated + * @ordered + */ + int LOCAL_PORTS_DECLARATION_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl Parameters Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getParametersDeclaration() + * @generated + */ + int PARAMETERS_DECLARATION = 42; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int PARAMETERS_DECLARATION__PARAMETERS = 0; + + /** + * The feature id for the 'Read' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETERS_DECLARATION__READ = 1; + + /** + * The feature id for the 'Write' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETERS_DECLARATION__WRITE = 2; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int PARAMETERS_DECLARATION__TYPE = 3; + + /** + * The number of structural features of the 'Parameters Declaration' class. + * + * + * @generated + * @ordered + */ + int PARAMETERS_DECLARATION_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ParameterDeclarationImpl Parameter Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ParameterDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getParameterDeclaration() + * @generated + */ + int PARAMETER_DECLARATION = 43; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The feature id for the 'Reference' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_DECLARATION__REFERENCE = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Array' attribute. + * + * + * @generated + * @ordered + */ + int PARAMETER_DECLARATION__ARRAY = NAMED_ELEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Size' containment reference. + * + * + * @generated + * @ordered + */ + int PARAMETER_DECLARATION__SIZE = NAMED_ELEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Parameter Declaration' class. + * + * + * @generated + * @ordered + */ + int PARAMETER_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.VariablesDeclarationImpl Variables Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.VariablesDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getVariablesDeclaration() + * @generated + */ + int VARIABLES_DECLARATION = 44; + + /** + * The feature id for the 'Variables' containment reference list. + * + * + * @generated + * @ordered + */ + int VARIABLES_DECLARATION__VARIABLES = 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int VARIABLES_DECLARATION__TYPE = 1; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int VARIABLES_DECLARATION__VALUE = 2; + + /** + * The number of structural features of the 'Variables Declaration' class. + * + * + * @generated + * @ordered + */ + int VARIABLES_DECLARATION_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.VariableDeclarationImpl Variable Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.VariableDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getVariableDeclaration() + * @generated + */ + int VARIABLE_DECLARATION = 45; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION__NAME = NAMED_ELEMENT__NAME; + + /** + * The number of structural features of the 'Variable Declaration' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_DECLARATION_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PriorityDeclarationImpl Priority Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PriorityDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPriorityDeclaration() + * @generated + */ + int PRIORITY_DECLARATION = 46; + + /** + * The feature id for the 'Groups' containment reference list. + * + * + * @generated + * @ordered + */ + int PRIORITY_DECLARATION__GROUPS = 0; + + /** + * The number of structural features of the 'Priority Declaration' class. + * + * + * @generated + * @ordered + */ + int PRIORITY_DECLARATION_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PriorityGroupImpl Priority Group}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PriorityGroupImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPriorityGroup() + * @generated + */ + int PRIORITY_GROUP = 47; + + /** + * The feature id for the 'Ports' reference list. + * + * + * @generated + * @ordered + */ + int PRIORITY_GROUP__PORTS = 0; + + /** + * The number of structural features of the 'Priority Group' class. + * + * + * @generated + * @ordered + */ + int PRIORITY_GROUP_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StatementImpl Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStatement() + * @generated + */ + int STATEMENT = 48; + + /** + * The number of structural features of the 'Statement' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BlockStatementImpl Block Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BlockStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBlockStatement() + * @generated + */ + int BLOCK_STATEMENT = 49; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int BLOCK_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Block Statement' class. + * + * + * @generated + * @ordered + */ + int BLOCK_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ReturnStatementImpl Return Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ReturnStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getReturnStatement() + * @generated + */ + int RETURN_STATEMENT = 50; + + /** + * The feature id for the 'Expression' containment reference. + * + * + * @generated + * @ordered + */ + int RETURN_STATEMENT__EXPRESSION = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Return Statement' class. + * + * + * @generated + * @ordered + */ + int RETURN_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NullStatementImpl Null Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NullStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNullStatement() + * @generated + */ + int NULL_STATEMENT = 51; + + /** + * The number of structural features of the 'Null Statement' class. + * + * + * @generated + * @ordered + */ + int NULL_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TaggedStatementImpl Tagged Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TaggedStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTaggedStatement() + * @generated + */ + int TAGGED_STATEMENT = 52; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int TAGGED_STATEMENT__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Tagged Statement' class. + * + * + * @generated + * @ordered + */ + int TAGGED_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PatternStatementImpl Pattern Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PatternStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPatternStatement() + * @generated + */ + int PATTERN_STATEMENT = 53; + + /** + * The number of structural features of the 'Pattern Statement' class. + * + * + * @generated + * @ordered + */ + int PATTERN_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PatternImpl Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPattern() + * @generated + */ + int PATTERN = 54; + + /** + * The number of structural features of the 'Pattern' class. + * + * + * @generated + * @ordered + */ + int PATTERN_FEATURE_COUNT = PATTERN_STATEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AnyPatternImpl Any Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AnyPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAnyPattern() + * @generated + */ + int ANY_PATTERN = 55; + + /** + * The number of structural features of the 'Any Pattern' class. + * + * + * @generated + * @ordered + */ + int ANY_PATTERN_FEATURE_COUNT = PATTERN_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConstantPatternImpl Constant Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConstantPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConstantPattern() + * @generated + */ + int CONSTANT_PATTERN = 56; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int CONSTANT_PATTERN__VALUE = PATTERN_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Constant Pattern' class. + * + * + * @generated + * @ordered + */ + int CONSTANT_PATTERN_FEATURE_COUNT = PATTERN_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.IntegerPatternImpl Integer Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.IntegerPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getIntegerPattern() + * @generated + */ + int INTEGER_PATTERN = 57; + + /** + * The feature id for the 'Negative' attribute. + * + * + * @generated + * @ordered + */ + int INTEGER_PATTERN__NEGATIVE = PATTERN_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int INTEGER_PATTERN__VALUE = PATTERN_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Integer Pattern' class. + * + * + * @generated + * @ordered + */ + int INTEGER_PATTERN_FEATURE_COUNT = PATTERN_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.IdentifierPatternImpl Identifier Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.IdentifierPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getIdentifierPattern() + * @generated + */ + int IDENTIFIER_PATTERN = 58; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_PATTERN__DECLARATION = PATTERN_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Identifier Pattern' class. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_PATTERN_FEATURE_COUNT = PATTERN_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl Conditional Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConditionalStatement() + * @generated + */ + int CONDITIONAL_STATEMENT = 59; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_STATEMENT__CONDITION = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_STATEMENT__THEN = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Elseif' containment reference list. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_STATEMENT__ELSEIF = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Else' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_STATEMENT__ELSE = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the 'Conditional Statement' class. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ExtendedConditionalStatementImpl Extended Conditional Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ExtendedConditionalStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getExtendedConditionalStatement() + * @generated + */ + int EXTENDED_CONDITIONAL_STATEMENT = 60; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int EXTENDED_CONDITIONAL_STATEMENT__CONDITION = 0; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int EXTENDED_CONDITIONAL_STATEMENT__THEN = 1; + + /** + * The number of structural features of the 'Extended Conditional Statement' class. + * + * + * @generated + * @ordered + */ + int EXTENDED_CONDITIONAL_STATEMENT_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.SelectStatementImpl Select Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.SelectStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getSelectStatement() + * @generated + */ + int SELECT_STATEMENT = 61; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int SELECT_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int SELECT_STATEMENT__INDEX = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int SELECT_STATEMENT__TYPE = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Select Statement' class. + * + * + * @generated + * @ordered + */ + int SELECT_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.WhileStatementImpl While Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.WhileStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getWhileStatement() + * @generated + */ + int WHILE_STATEMENT = 62; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int WHILE_STATEMENT__CONDITION = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int WHILE_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'While Statement' class. + * + * + * @generated + * @ordered + */ + int WHILE_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ForeachStatementImpl Foreach Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ForeachStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getForeachStatement() + * @generated + */ + int FOREACH_STATEMENT = 63; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT__VARIABLE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Body' containment reference. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Foreach Statement' class. + * + * + * @generated + * @ordered + */ + int FOREACH_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ToStatementImpl To Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ToStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getToStatement() + * @generated + */ + int TO_STATEMENT = 64; + + /** + * The feature id for the 'State' reference. + * + * + * @generated + * @ordered + */ + int TO_STATEMENT__STATE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'To Statement' class. + * + * + * @generated + * @ordered + */ + int TO_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.CaseStatementImpl Case Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.CaseStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getCaseStatement() + * @generated + */ + int CASE_STATEMENT = 65; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int CASE_STATEMENT__VALUE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Pattern' containment reference list. + * + * + * @generated + * @ordered + */ + int CASE_STATEMENT__PATTERN = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Body' containment reference list. + * + * + * @generated + * @ordered + */ + int CASE_STATEMENT__BODY = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Case Statement' class. + * + * + * @generated + * @ordered + */ + int CASE_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LoopStatementImpl Loop Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LoopStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLoopStatement() + * @generated + */ + int LOOP_STATEMENT = 66; + + /** + * The number of structural features of the 'Loop Statement' class. + * + * + * @generated + * @ordered + */ + int LOOP_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.OnStatementImpl On Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.OnStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getOnStatement() + * @generated + */ + int ON_STATEMENT = 67; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int ON_STATEMENT__CONDITION = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'On Statement' class. + * + * + * @generated + * @ordered + */ + int ON_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.WaitStatementImpl Wait Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.WaitStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getWaitStatement() + * @generated + */ + int WAIT_STATEMENT = 68; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int WAIT_STATEMENT__LEFT = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int WAIT_STATEMENT__RIGHT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Wait Statement' class. + * + * + * @generated + * @ordered + */ + int WAIT_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.CompositionImpl Composition}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.CompositionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComposition() + * @generated + */ + int COMPOSITION = 69; + + /** + * The feature id for the 'Global' containment reference. + * + * + * @generated + * @ordered + */ + int COMPOSITION__GLOBAL = 0; + + /** + * The feature id for the 'Blocks' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPOSITION__BLOCKS = 1; + + /** + * The number of structural features of the 'Composition' class. + * + * + * @generated + * @ordered + */ + int COMPOSITION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BlockImpl Block}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BlockImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBlock() + * @generated + */ + int BLOCK = 70; + + /** + * The feature id for the 'Local' containment reference. + * + * + * @generated + * @ordered + */ + int BLOCK__LOCAL = 0; + + /** + * The number of structural features of the 'Block' class. + * + * + * @generated + * @ordered + */ + int BLOCK_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.CompositeBlockImpl Composite Block}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.CompositeBlockImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getCompositeBlock() + * @generated + */ + int COMPOSITE_BLOCK = 71; + + /** + * The feature id for the 'Local' containment reference. + * + * + * @generated + * @ordered + */ + int COMPOSITE_BLOCK__LOCAL = BLOCK__LOCAL; + + /** + * The feature id for the 'Composition' containment reference. + * + * + * @generated + * @ordered + */ + int COMPOSITE_BLOCK__COMPOSITION = BLOCK_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Composite Block' class. + * + * + * @generated + * @ordered + */ + int COMPOSITE_BLOCK_FEATURE_COUNT = BLOCK_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.InstanceDeclarationImpl Instance Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.InstanceDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getInstanceDeclaration() + * @generated + */ + int INSTANCE_DECLARATION = 72; + + /** + * The feature id for the 'Local' containment reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_DECLARATION__LOCAL = PATH_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Instance' containment reference. + * + * + * @generated + * @ordered + */ + int INSTANCE_DECLARATION__INSTANCE = PATH_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Instance Declaration' class. + * + * + * @generated + * @ordered + */ + int INSTANCE_DECLARATION_FEATURE_COUNT = PATH_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PortSetImpl Port Set}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PortSetImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPortSet() + * @generated + */ + int PORT_SET = 73; + + /** + * The feature id for the 'All Ports' attribute. + * + * + * @generated + * @ordered + */ + int PORT_SET__ALL_PORTS = 0; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int PORT_SET__PORTS = 1; + + /** + * The number of structural features of the 'Port Set' class. + * + * + * @generated + * @ordered + */ + int PORT_SET_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComponentInstanceImpl Component Instance}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComponentInstanceImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComponentInstance() + * @generated + */ + int COMPONENT_INSTANCE = 74; + + /** + * The feature id for the 'Component' reference. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE__COMPONENT = 0; + + /** + * The feature id for the 'Ports' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE__PORTS = 1; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE__PARAMETERS = 2; + + /** + * The number of structural features of the 'Component Instance' class. + * + * + * @generated + * @ordered + */ + int COMPONENT_INSTANCE_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ExpressionImpl Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getExpression() + * @generated + */ + int EXPRESSION = 75; + + /** + * The number of structural features of the 'Expression' class. + * + * + * @generated + * @ordered + */ + int EXPRESSION_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ValueExpressionImpl Value Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ValueExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getValueExpression() + * @generated + */ + int VALUE_EXPRESSION = 76; + + /** + * The number of structural features of the 'Value Expression' class. + * + * + * @generated + * @ordered + */ + int VALUE_EXPRESSION_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ReferenceExpressionImpl Reference Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ReferenceExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getReferenceExpression() + * @generated + */ + int REFERENCE_EXPRESSION = 77; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int REFERENCE_EXPRESSION__DECLARATION = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Reference Expression' class. + * + * + * @generated + * @ordered + */ + int REFERENCE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.IdentifierExpressionImpl Identifier Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.IdentifierExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getIdentifierExpression() + * @generated + */ + int IDENTIFIER_EXPRESSION = 78; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_EXPRESSION__DECLARATION = VALUE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Identifier Expression' class. + * + * + * @generated + * @ordered + */ + int IDENTIFIER_EXPRESSION_FEATURE_COUNT = VALUE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordExpressionImpl Record Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordExpression() + * @generated + */ + int RECORD_EXPRESSION = 79; + + /** + * The feature id for the 'Fields' containment reference list. + * + * + * @generated + * @ordered + */ + int RECORD_EXPRESSION__FIELDS = VALUE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Record Expression' class. + * + * + * @generated + * @ordered + */ + int RECORD_EXPRESSION_FEATURE_COUNT = VALUE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.FieldExpressionImpl Field Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.FieldExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getFieldExpression() + * @generated + */ + int FIELD_EXPRESSION = 80; + + /** + * The feature id for the 'Field' reference. + * + * + * @generated + * @ordered + */ + int FIELD_EXPRESSION__FIELD = 0; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int FIELD_EXPRESSION__VALUE = 1; + + /** + * The number of structural features of the 'Field Expression' class. + * + * + * @generated + * @ordered + */ + int FIELD_EXPRESSION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ArrayExpressionImpl Array Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ArrayExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getArrayExpression() + * @generated + */ + int ARRAY_EXPRESSION = 81; + + /** + * The feature id for the 'Values' containment reference list. + * + * + * @generated + * @ordered + */ + int ARRAY_EXPRESSION__VALUES = VALUE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Array Expression' class. + * + * + * @generated + * @ordered + */ + int ARRAY_EXPRESSION_FEATURE_COUNT = VALUE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.QueueExpressionImpl Queue Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.QueueExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getQueueExpression() + * @generated + */ + int QUEUE_EXPRESSION = 82; + + /** + * The feature id for the 'Values' containment reference list. + * + * + * @generated + * @ordered + */ + int QUEUE_EXPRESSION__VALUES = VALUE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Queue Expression' class. + * + * + * @generated + * @ordered + */ + int QUEUE_EXPRESSION_FEATURE_COUNT = VALUE_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.EnqueueExpressionImpl Enqueue Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.EnqueueExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getEnqueueExpression() + * @generated + */ + int ENQUEUE_EXPRESSION = 83; + + /** + * The feature id for the 'Element' containment reference. + * + * + * @generated + * @ordered + */ + int ENQUEUE_EXPRESSION__ELEMENT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Queue' containment reference. + * + * + * @generated + * @ordered + */ + int ENQUEUE_EXPRESSION__QUEUE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Enqueue Expression' class. + * + * + * @generated + * @ordered + */ + int ENQUEUE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AppendExpressionImpl Append Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AppendExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAppendExpression() + * @generated + */ + int APPEND_EXPRESSION = 84; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int APPEND_EXPRESSION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int APPEND_EXPRESSION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Append Expression' class. + * + * + * @generated + * @ordered + */ + int APPEND_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LiteralExpressionImpl Literal Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LiteralExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLiteralExpression() + * @generated + */ + int LITERAL_EXPRESSION = 85; + + /** + * The number of structural features of the 'Literal Expression' class. + * + * + * @generated + * @ordered + */ + int LITERAL_EXPRESSION_FEATURE_COUNT = VALUE_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BooleanLiteralImpl Boolean Literal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BooleanLiteralImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBooleanLiteral() + * @generated + */ + int BOOLEAN_LITERAL = 86; + + /** + * The number of structural features of the 'Boolean Literal' class. + * + * + * @generated + * @ordered + */ + int BOOLEAN_LITERAL_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NaturalLiteralImpl Natural Literal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NaturalLiteralImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNaturalLiteral() + * @generated + */ + int NATURAL_LITERAL = 87; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_LITERAL__VALUE = LITERAL_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Natural Literal' class. + * + * + * @generated + * @ordered + */ + int NATURAL_LITERAL_FEATURE_COUNT = LITERAL_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LowerBoundImpl Lower Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LowerBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLowerBound() + * @generated + */ + int LOWER_BOUND = 88; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int LOWER_BOUND__LEFT = 0; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int LOWER_BOUND__RIGHT = 1; + + /** + * The number of structural features of the 'Lower Bound' class. + * + * + * @generated + * @ordered + */ + int LOWER_BOUND_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UpperBoundImpl Upper Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UpperBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUpperBound() + * @generated + */ + int UPPER_BOUND = 89; + + /** + * The number of structural features of the 'Upper Bound' class. + * + * + * @generated + * @ordered + */ + int UPPER_BOUND_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NaturalLowerBoundImpl Natural Lower Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NaturalLowerBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNaturalLowerBound() + * @generated + */ + int NATURAL_LOWER_BOUND = 90; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_LOWER_BOUND__LEFT = LOWER_BOUND__LEFT; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_LOWER_BOUND__RIGHT = LOWER_BOUND__RIGHT; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_LOWER_BOUND__VALUE = LOWER_BOUND_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Natural Lower Bound' class. + * + * + * @generated + * @ordered + */ + int NATURAL_LOWER_BOUND_FEATURE_COUNT = LOWER_BOUND_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NaturalUpperBoundImpl Natural Upper Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NaturalUpperBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNaturalUpperBound() + * @generated + */ + int NATURAL_UPPER_BOUND = 91; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_UPPER_BOUND__VALUE = UPPER_BOUND_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_UPPER_BOUND__LEFT = UPPER_BOUND_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_UPPER_BOUND__RIGHT = UPPER_BOUND_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Natural Upper Bound' class. + * + * + * @generated + * @ordered + */ + int NATURAL_UPPER_BOUND_FEATURE_COUNT = UPPER_BOUND_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DecimalLowerBoundImpl Decimal Lower Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DecimalLowerBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDecimalLowerBound() + * @generated + */ + int DECIMAL_LOWER_BOUND = 92; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_LOWER_BOUND__LEFT = LOWER_BOUND__LEFT; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_LOWER_BOUND__RIGHT = LOWER_BOUND__RIGHT; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_LOWER_BOUND__VALUE = LOWER_BOUND_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Decimal Lower Bound' class. + * + * + * @generated + * @ordered + */ + int DECIMAL_LOWER_BOUND_FEATURE_COUNT = LOWER_BOUND_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DecimalUpperBoundImpl Decimal Upper Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DecimalUpperBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDecimalUpperBound() + * @generated + */ + int DECIMAL_UPPER_BOUND = 93; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_UPPER_BOUND__VALUE = UPPER_BOUND_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_UPPER_BOUND__LEFT = UPPER_BOUND_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int DECIMAL_UPPER_BOUND__RIGHT = UPPER_BOUND_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Decimal Upper Bound' class. + * + * + * @generated + * @ordered + */ + int DECIMAL_UPPER_BOUND_FEATURE_COUNT = UPPER_BOUND_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.VariableLowerBoundImpl Variable Lower Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.VariableLowerBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getVariableLowerBound() + * @generated + */ + int VARIABLE_LOWER_BOUND = 94; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_LOWER_BOUND__LEFT = LOWER_BOUND__LEFT; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_LOWER_BOUND__RIGHT = LOWER_BOUND__RIGHT; + + /** + * The feature id for the 'Variable' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE_LOWER_BOUND__VARIABLE = LOWER_BOUND_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Variable Lower Bound' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_LOWER_BOUND_FEATURE_COUNT = LOWER_BOUND_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.VariableUpperBoundImpl Variable Upper Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.VariableUpperBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getVariableUpperBound() + * @generated + */ + int VARIABLE_UPPER_BOUND = 95; + + /** + * The feature id for the 'Variable' reference. + * + * + * @generated + * @ordered + */ + int VARIABLE_UPPER_BOUND__VARIABLE = UPPER_BOUND_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Left' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_UPPER_BOUND__LEFT = UPPER_BOUND_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Right' attribute. + * + * + * @generated + * @ordered + */ + int VARIABLE_UPPER_BOUND__RIGHT = UPPER_BOUND_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Variable Upper Bound' class. + * + * + * @generated + * @ordered + */ + int VARIABLE_UPPER_BOUND_FEATURE_COUNT = UPPER_BOUND_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.InfiniteUpperBoundImpl Infinite Upper Bound}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.InfiniteUpperBoundImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getInfiniteUpperBound() + * @generated + */ + int INFINITE_UPPER_BOUND = 96; + + /** + * The number of structural features of the 'Infinite Upper Bound' class. + * + * + * @generated + * @ordered + */ + int INFINITE_UPPER_BOUND_FEATURE_COUNT = UPPER_BOUND_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RequirementImpl Requirement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RequirementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRequirement() + * @generated + */ + int REQUIREMENT = 97; + + /** + * The feature id for the 'Property' reference. + * + * + * @generated + * @ordered + */ + int REQUIREMENT__PROPERTY = 0; + + /** + * The feature id for the 'Positive' attribute. + * + * + * @generated + * @ordered + */ + int REQUIREMENT__POSITIVE = 1; + + /** + * The feature id for the 'Negative' attribute. + * + * + * @generated + * @ordered + */ + int REQUIREMENT__NEGATIVE = 2; + + /** + * The number of structural features of the 'Requirement' class. + * + * + * @generated + * @ordered + */ + int REQUIREMENT_FEATURE_COUNT = 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationImpl Property Declaration}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyDeclaration() + * @generated + */ + int PROPERTY_DECLARATION = 98; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PROPERTY_DECLARATION__NAME = PROPERTY_DECLARATION_USE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Property' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_DECLARATION__PROPERTY = PROPERTY_DECLARATION_USE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Property Declaration' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_DECLARATION_FEATURE_COUNT = PROPERTY_DECLARATION_USE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyImpl Property}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getProperty() + * @generated + */ + int PROPERTY = 99; + + /** + * The number of structural features of the 'Property' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PatternPropertyImpl Pattern Property}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PatternPropertyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPatternProperty() + * @generated + */ + int PATTERN_PROPERTY = 100; + + /** + * The number of structural features of the 'Pattern Property' class. + * + * + * @generated + * @ordered + */ + int PATTERN_PROPERTY_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLPatternImpl LTL Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLPattern() + * @generated + */ + int LTL_PATTERN = 101; + + /** + * The feature id for the 'Property' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_PATTERN__PROPERTY = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Pattern' class. + * + * + * @generated + * @ordered + */ + int LTL_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DeadlockFreePatternImpl Deadlock Free Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DeadlockFreePatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDeadlockFreePattern() + * @generated + */ + int DEADLOCK_FREE_PATTERN = 102; + + /** + * The number of structural features of the 'Deadlock Free Pattern' class. + * + * + * @generated + * @ordered + */ + int DEADLOCK_FREE_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.InfinitelyOftenPatternImpl Infinitely Often Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.InfinitelyOftenPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getInfinitelyOftenPattern() + * @generated + */ + int INFINITELY_OFTEN_PATTERN = 103; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int INFINITELY_OFTEN_PATTERN__SUBJECT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Infinitely Often Pattern' class. + * + * + * @generated + * @ordered + */ + int INFINITELY_OFTEN_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.MortalPatternImpl Mortal Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.MortalPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getMortalPattern() + * @generated + */ + int MORTAL_PATTERN = 104; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int MORTAL_PATTERN__SUBJECT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Mortal Pattern' class. + * + * + * @generated + * @ordered + */ + int MORTAL_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl Presence Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPresencePattern() + * @generated + */ + int PRESENCE_PATTERN = 105; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__SUBJECT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Lasting' attribute. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__LASTING = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'After' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__AFTER = PATTERN_PROPERTY_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Lower' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__LOWER = PATTERN_PROPERTY_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Upper' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__UPPER = PATTERN_PROPERTY_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Until' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__UNTIL = PATTERN_PROPERTY_FEATURE_COUNT + 5; + + /** + * The feature id for the 'Before' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__BEFORE = PATTERN_PROPERTY_FEATURE_COUNT + 6; + + /** + * The feature id for the 'Min' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__MIN = PATTERN_PROPERTY_FEATURE_COUNT + 7; + + /** + * The feature id for the 'Max' containment reference. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN__MAX = PATTERN_PROPERTY_FEATURE_COUNT + 8; + + /** + * The number of structural features of the 'Presence Pattern' class. + * + * + * @generated + * @ordered + */ + int PRESENCE_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 9; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl Absence Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAbsencePattern() + * @generated + */ + int ABSENCE_PATTERN = 106; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__SUBJECT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'After' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__AFTER = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Lower' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__LOWER = PATTERN_PROPERTY_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Upper' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__UPPER = PATTERN_PROPERTY_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Until' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__UNTIL = PATTERN_PROPERTY_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Before' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__BEFORE = PATTERN_PROPERTY_FEATURE_COUNT + 5; + + /** + * The feature id for the 'Min' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__MIN = PATTERN_PROPERTY_FEATURE_COUNT + 6; + + /** + * The feature id for the 'Max' containment reference. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN__MAX = PATTERN_PROPERTY_FEATURE_COUNT + 7; + + /** + * The number of structural features of the 'Absence Pattern' class. + * + * + * @generated + * @ordered + */ + int ABSENCE_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 8; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl Always Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAlwaysPattern() + * @generated + */ + int ALWAYS_PATTERN = 107; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__SUBJECT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Before' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__BEFORE = PATTERN_PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'After' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__AFTER = PATTERN_PROPERTY_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Until' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__UNTIL = PATTERN_PROPERTY_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Min' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__MIN = PATTERN_PROPERTY_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Max' containment reference. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN__MAX = PATTERN_PROPERTY_FEATURE_COUNT + 5; + + /** + * The number of structural features of the 'Always Pattern' class. + * + * + * @generated + * @ordered + */ + int ALWAYS_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 6; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.SequencePatternImpl Sequence Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.SequencePatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getSequencePattern() + * @generated + */ + int SEQUENCE_PATTERN = 108; + + /** + * The number of structural features of the 'Sequence Pattern' class. + * + * + * @generated + * @ordered + */ + int SEQUENCE_PATTERN_FEATURE_COUNT = PATTERN_PROPERTY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLPropertyImpl LTL Property}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLPropertyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLProperty() + * @generated + */ + int LTL_PROPERTY = 109; + + /** + * The number of structural features of the 'LTL Property' class. + * + * + * @generated + * @ordered + */ + int LTL_PROPERTY_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableEventImpl Observable Event}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableEventImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservableEvent() + * @generated + */ + int OBSERVABLE_EVENT = 114; + + /** + * The number of structural features of the 'Observable Event' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_EVENT_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StateEventImpl State Event}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StateEventImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStateEvent() + * @generated + */ + int STATE_EVENT = 110; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int STATE_EVENT__SUBJECT = OBSERVABLE_EVENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'State Event' class. + * + * + * @generated + * @ordered + */ + int STATE_EVENT_FEATURE_COUNT = OBSERVABLE_EVENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.EnterStateEventImpl Enter State Event}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.EnterStateEventImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getEnterStateEvent() + * @generated + */ + int ENTER_STATE_EVENT = 111; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_EVENT__SUBJECT = STATE_EVENT__SUBJECT; + + /** + * The number of structural features of the 'Enter State Event' class. + * + * + * @generated + * @ordered + */ + int ENTER_STATE_EVENT_FEATURE_COUNT = STATE_EVENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LeaveStateEventImpl Leave State Event}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LeaveStateEventImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLeaveStateEvent() + * @generated + */ + int LEAVE_STATE_EVENT = 112; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int LEAVE_STATE_EVENT__SUBJECT = STATE_EVENT__SUBJECT; + + /** + * The number of structural features of the 'Leave State Event' class. + * + * + * @generated + * @ordered + */ + int LEAVE_STATE_EVENT_FEATURE_COUNT = STATE_EVENT_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableImpl Observable}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservable() + * @generated + */ + int OBSERVABLE = 113; + + /** + * The number of structural features of the 'Observable' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_FEATURE_COUNT = SEQUENCE_PATTERN_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PathEventImpl Path Event}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PathEventImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPathEvent() + * @generated + */ + int PATH_EVENT = 115; + + /** + * The feature id for the 'Path' containment reference. + * + * + * @generated + * @ordered + */ + int PATH_EVENT__PATH = OBSERVABLE_EVENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Item' containment reference. + * + * + * @generated + * @ordered + */ + int PATH_EVENT__ITEM = OBSERVABLE_EVENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Path Event' class. + * + * + * @generated + * @ordered + */ + int PATH_EVENT_FEATURE_COUNT = OBSERVABLE_EVENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PathImpl Path}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PathImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPath() + * @generated + */ + int PATH = 116; + + /** + * The feature id for the 'Items' containment reference list. + * + * + * @generated + * @ordered + */ + int PATH__ITEMS = 0; + + /** + * The number of structural features of the 'Path' class. + * + * + * @generated + * @ordered + */ + int PATH_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PathItemImpl Path Item}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PathItemImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPathItem() + * @generated + */ + int PATH_ITEM = 117; + + /** + * The number of structural features of the 'Path Item' class. + * + * + * @generated + * @ordered + */ + int PATH_ITEM_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NaturalItemImpl Natural Item}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NaturalItemImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNaturalItem() + * @generated + */ + int NATURAL_ITEM = 118; + + /** + * The feature id for the 'Value' attribute. + * + * + * @generated + * @ordered + */ + int NATURAL_ITEM__VALUE = PATH_ITEM_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Natural Item' class. + * + * + * @generated + * @ordered + */ + int NATURAL_ITEM_FEATURE_COUNT = PATH_ITEM_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NamedItemImpl Named Item}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NamedItemImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNamedItem() + * @generated + */ + int NAMED_ITEM = 119; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int NAMED_ITEM__DECLARATION = PATH_ITEM_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Named Item' class. + * + * + * @generated + * @ordered + */ + int NAMED_ITEM_FEATURE_COUNT = PATH_ITEM_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.SubjectImpl Subject}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.SubjectImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getSubject() + * @generated + */ + int SUBJECT = 120; + + /** + * The number of structural features of the 'Subject' class. + * + * + * @generated + * @ordered + */ + int SUBJECT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StateSubjectImpl State Subject}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StateSubjectImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStateSubject() + * @generated + */ + int STATE_SUBJECT = 121; + + /** + * The feature id for the 'State' reference. + * + * + * @generated + * @ordered + */ + int STATE_SUBJECT__STATE = SUBJECT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'State Subject' class. + * + * + * @generated + * @ordered + */ + int STATE_SUBJECT_FEATURE_COUNT = SUBJECT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ValueSubjectImpl Value Subject}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ValueSubjectImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getValueSubject() + * @generated + */ + int VALUE_SUBJECT = 122; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int VALUE_SUBJECT__VALUE = SUBJECT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Value Subject' class. + * + * + * @generated + * @ordered + */ + int VALUE_SUBJECT_FEATURE_COUNT = SUBJECT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TagSubjectImpl Tag Subject}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TagSubjectImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTagSubject() + * @generated + */ + int TAG_SUBJECT = 123; + + /** + * The feature id for the 'Tag' reference. + * + * + * @generated + * @ordered + */ + int TAG_SUBJECT__TAG = SUBJECT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Tag Subject' class. + * + * + * @generated + * @ordered + */ + int TAG_SUBJECT_FEATURE_COUNT = SUBJECT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.EventSubjectImpl Event Subject}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.EventSubjectImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getEventSubject() + * @generated + */ + int EVENT_SUBJECT = 124; + + /** + * The feature id for the 'Event' attribute. + * + * + * @generated + * @ordered + */ + int EVENT_SUBJECT__EVENT = SUBJECT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Event Subject' class. + * + * + * @generated + * @ordered + */ + int EVENT_SUBJECT_FEATURE_COUNT = SUBJECT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TupleTypeImpl Tuple Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TupleTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTupleType() + * @generated + */ + int TUPLE_TYPE = 125; + + /** + * The feature id for the 'Types' containment reference list. + * + * + * @generated + * @ordered + */ + int TUPLE_TYPE__TYPES = TYPE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Tuple Type' class. + * + * + * @generated + * @ordered + */ + int TUPLE_TYPE_FEATURE_COUNT = TYPE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.NaturalTypeImpl Natural Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.NaturalTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getNaturalType() + * @generated + */ + int NATURAL_TYPE = 126; + + /** + * The number of structural features of the 'Natural Type' class. + * + * + * @generated + * @ordered + */ + int NATURAL_TYPE_FEATURE_COUNT = BASIC_TYPE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.IntegerTypeImpl Integer Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.IntegerTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getIntegerType() + * @generated + */ + int INTEGER_TYPE = 127; + + /** + * The number of structural features of the 'Integer Type' class. + * + * + * @generated + * @ordered + */ + int INTEGER_TYPE_FEATURE_COUNT = BASIC_TYPE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.BooleanTypeImpl Boolean Type}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.BooleanTypeImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getBooleanType() + * @generated + */ + int BOOLEAN_TYPE = 128; + + /** + * The number of structural features of the 'Boolean Type' class. + * + * + * @generated + * @ordered + */ + int BOOLEAN_TYPE_FEATURE_COUNT = BASIC_TYPE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnlessStatementImpl Unless Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnlessStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnlessStatement() + * @generated + */ + int UNLESS_STATEMENT = 129; + + /** + * The feature id for the 'Followers' containment reference list. + * + * + * @generated + * @ordered + */ + int UNLESS_STATEMENT__FOLLOWERS = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unless Statement' class. + * + * + * @generated + * @ordered + */ + int UNLESS_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StatementChoiceImpl Statement Choice}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StatementChoiceImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStatementChoice() + * @generated + */ + int STATEMENT_CHOICE = 130; + + /** + * The feature id for the 'Choices' containment reference list. + * + * + * @generated + * @ordered + */ + int STATEMENT_CHOICE__CHOICES = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Statement Choice' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_CHOICE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.StatementSequenceImpl Statement Sequence}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.StatementSequenceImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getStatementSequence() + * @generated + */ + int STATEMENT_SEQUENCE = 131; + + /** + * The feature id for the 'Statements' containment reference list. + * + * + * @generated + * @ordered + */ + int STATEMENT_SEQUENCE__STATEMENTS = STATEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Statement Sequence' class. + * + * + * @generated + * @ordered + */ + int STATEMENT_SEQUENCE_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AssignStatementImpl Assign Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AssignStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAssignStatement() + * @generated + */ + int ASSIGN_STATEMENT = 132; + + /** + * The feature id for the 'Patterns' containment reference list. + * + * + * @generated + * @ordered + */ + int ASSIGN_STATEMENT__PATTERNS = PATTERN_STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Values' containment reference list. + * + * + * @generated + * @ordered + */ + int ASSIGN_STATEMENT__VALUES = PATTERN_STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Assign Statement' class. + * + * + * @generated + * @ordered + */ + int ASSIGN_STATEMENT_FEATURE_COUNT = PATTERN_STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AssignAnyStatementImpl Assign Any Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AssignAnyStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAssignAnyStatement() + * @generated + */ + int ASSIGN_ANY_STATEMENT = 133; + + /** + * The feature id for the 'Patterns' containment reference list. + * + * + * @generated + * @ordered + */ + int ASSIGN_ANY_STATEMENT__PATTERNS = PATTERN_STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Exp' containment reference. + * + * + * @generated + * @ordered + */ + int ASSIGN_ANY_STATEMENT__EXP = PATTERN_STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Assign Any Statement' class. + * + * + * @generated + * @ordered + */ + int ASSIGN_ANY_STATEMENT_FEATURE_COUNT = PATTERN_STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.SendStatementImpl Send Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.SendStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getSendStatement() + * @generated + */ + int SEND_STATEMENT = 134; + + /** + * The feature id for the 'Port' containment reference. + * + * + * @generated + * @ordered + */ + int SEND_STATEMENT__PORT = PATTERN_STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Values' containment reference list. + * + * + * @generated + * @ordered + */ + int SEND_STATEMENT__VALUES = PATTERN_STATEMENT_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Send Statement' class. + * + * + * @generated + * @ordered + */ + int SEND_STATEMENT_FEATURE_COUNT = PATTERN_STATEMENT_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ReceiveStatementImpl Receive Statement}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ReceiveStatementImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getReceiveStatement() + * @generated + */ + int RECEIVE_STATEMENT = 135; + + /** + * The feature id for the 'Port' containment reference. + * + * + * @generated + * @ordered + */ + int RECEIVE_STATEMENT__PORT = PATTERN_STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Patterns' containment reference list. + * + * + * @generated + * @ordered + */ + int RECEIVE_STATEMENT__PATTERNS = PATTERN_STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Exp' containment reference. + * + * + * @generated + * @ordered + */ + int RECEIVE_STATEMENT__EXP = PATTERN_STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Receive Statement' class. + * + * + * @generated + * @ordered + */ + int RECEIVE_STATEMENT_FEATURE_COUNT = PATTERN_STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConstructorPatternImpl Constructor Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConstructorPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConstructorPattern() + * @generated + */ + int CONSTRUCTOR_PATTERN = 136; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_PATTERN__DECLARATION = IDENTIFIER_PATTERN__DECLARATION; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_PATTERN__PARAMETERS = IDENTIFIER_PATTERN_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Constructor Pattern' class. + * + * + * @generated + * @ordered + */ + int CONSTRUCTOR_PATTERN_FEATURE_COUNT = IDENTIFIER_PATTERN_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessPatternImpl Array Access Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getArrayAccessPattern() + * @generated + */ + int ARRAY_ACCESS_PATTERN = 137; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_PATTERN__DECLARATION = IDENTIFIER_PATTERN__DECLARATION; + + /** + * The feature id for the 'Source' containment reference. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_PATTERN__SOURCE = IDENTIFIER_PATTERN_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_PATTERN__INDEX = IDENTIFIER_PATTERN_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Array Access Pattern' class. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_PATTERN_FEATURE_COUNT = IDENTIFIER_PATTERN_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessPatternImpl Record Access Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordAccessPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordAccessPattern() + * @generated + */ + int RECORD_ACCESS_PATTERN = 138; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_PATTERN__DECLARATION = IDENTIFIER_PATTERN__DECLARATION; + + /** + * The feature id for the 'Source' containment reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_PATTERN__SOURCE = IDENTIFIER_PATTERN_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Field' reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_PATTERN__FIELD = IDENTIFIER_PATTERN_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Record Access Pattern' class. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_PATTERN_FEATURE_COUNT = IDENTIFIER_PATTERN_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AllExpressionImpl All Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AllExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAllExpression() + * @generated + */ + int ALL_EXPRESSION = 139; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_EXPRESSION__INDEX = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_EXPRESSION__TYPE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'All Expression' class. + * + * + * @generated + * @ordered + */ + int ALL_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ExistsExpressionImpl Exists Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ExistsExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getExistsExpression() + * @generated + */ + int EXISTS_EXPRESSION = 140; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_EXPRESSION__INDEX = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_EXPRESSION__TYPE = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Exists Expression' class. + * + * + * @generated + * @ordered + */ + int EXISTS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalImpl Conditional}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConditionalImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConditional() + * @generated + */ + int CONDITIONAL = 141; + + /** + * The feature id for the 'Condition' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL__CONDITION = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Then' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL__THEN = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Else' containment reference. + * + * + * @generated + * @ordered + */ + int CONDITIONAL__ELSE = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Conditional' class. + * + * + * @generated + * @ordered + */ + int CONDITIONAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DisjunctionImpl Disjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DisjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDisjunction() + * @generated + */ + int DISJUNCTION = 142; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int DISJUNCTION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Disjunction' class. + * + * + * @generated + * @ordered + */ + int DISJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ImplicationImpl Implication}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ImplicationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getImplication() + * @generated + */ + int IMPLICATION = 143; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int IMPLICATION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int IMPLICATION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Implication' class. + * + * + * @generated + * @ordered + */ + int IMPLICATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConjunctionImpl Conjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConjunction() + * @generated + */ + int CONJUNCTION = 144; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int CONJUNCTION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Conjunction' class. + * + * + * @generated + * @ordered + */ + int CONJUNCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonEqualImpl Comparison Equal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonEqualImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonEqual() + * @generated + */ + int COMPARISON_EQUAL = 145; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_EQUAL__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_EQUAL__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Equal' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_EQUAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonNotEqualImpl Comparison Not Equal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonNotEqualImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonNotEqual() + * @generated + */ + int COMPARISON_NOT_EQUAL = 146; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_NOT_EQUAL__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_NOT_EQUAL__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Not Equal' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_NOT_EQUAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserImpl Comparison Lesser}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonLesser() + * @generated + */ + int COMPARISON_LESSER = 147; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Lesser' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserEqualImpl Comparison Lesser Equal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserEqualImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonLesserEqual() + * @generated + */ + int COMPARISON_LESSER_EQUAL = 148; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER_EQUAL__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER_EQUAL__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Lesser Equal' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_LESSER_EQUAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterImpl Comparison Greater}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonGreater() + * @generated + */ + int COMPARISON_GREATER = 149; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Greater' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterEqualImpl Comparison Greater Equal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterEqualImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getComparisonGreaterEqual() + * @generated + */ + int COMPARISON_GREATER_EQUAL = 150; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER_EQUAL__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER_EQUAL__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Comparison Greater Equal' class. + * + * + * @generated + * @ordered + */ + int COMPARISON_GREATER_EQUAL_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AdditionImpl Addition}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AdditionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAddition() + * @generated + */ + int ADDITION = 151; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int ADDITION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int ADDITION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Addition' class. + * + * + * @generated + * @ordered + */ + int ADDITION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.SubstractionImpl Substraction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.SubstractionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getSubstraction() + * @generated + */ + int SUBSTRACTION = 152; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int SUBSTRACTION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int SUBSTRACTION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Substraction' class. + * + * + * @generated + * @ordered + */ + int SUBSTRACTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.MultiplicationImpl Multiplication}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.MultiplicationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getMultiplication() + * @generated + */ + int MULTIPLICATION = 153; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int MULTIPLICATION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int MULTIPLICATION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Multiplication' class. + * + * + * @generated + * @ordered + */ + int MULTIPLICATION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.DivisionImpl Division}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.DivisionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getDivision() + * @generated + */ + int DIVISION = 154; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int DIVISION__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int DIVISION__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Division' class. + * + * + * @generated + * @ordered + */ + int DIVISION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ModuloImpl Modulo}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ModuloImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getModulo() + * @generated + */ + int MODULO = 155; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int MODULO__LEFT = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int MODULO__RIGHT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Modulo' class. + * + * + * @generated + * @ordered + */ + int MODULO_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryPlusExpressionImpl Unary Plus Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryPlusExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryPlusExpression() + * @generated + */ + int UNARY_PLUS_EXPRESSION = 156; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_PLUS_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Plus Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_PLUS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryMinusExpressionImpl Unary Minus Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryMinusExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryMinusExpression() + * @generated + */ + int UNARY_MINUS_EXPRESSION = 157; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_MINUS_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Minus Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_MINUS_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryNegationExpressionImpl Unary Negation Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryNegationExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryNegationExpression() + * @generated + */ + int UNARY_NEGATION_EXPRESSION = 158; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_NEGATION_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Negation Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_NEGATION_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryFirstExpressionImpl Unary First Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryFirstExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryFirstExpression() + * @generated + */ + int UNARY_FIRST_EXPRESSION = 159; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_FIRST_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary First Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_FIRST_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryLengthExpressionImpl Unary Length Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryLengthExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryLengthExpression() + * @generated + */ + int UNARY_LENGTH_EXPRESSION = 160; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_LENGTH_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Length Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_LENGTH_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryCoerceExpressionImpl Unary Coerce Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryCoerceExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryCoerceExpression() + * @generated + */ + int UNARY_COERCE_EXPRESSION = 161; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_COERCE_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Coerce Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_COERCE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryFullExpressionImpl Unary Full Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryFullExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryFullExpression() + * @generated + */ + int UNARY_FULL_EXPRESSION = 162; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_FULL_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Full Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_FULL_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryDeQueueExpressionImpl Unary De Queue Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryDeQueueExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryDeQueueExpression() + * @generated + */ + int UNARY_DE_QUEUE_EXPRESSION = 163; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_DE_QUEUE_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary De Queue Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_DE_QUEUE_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.UnaryEmptyExpressionImpl Unary Empty Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.UnaryEmptyExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getUnaryEmptyExpression() + * @generated + */ + int UNARY_EMPTY_EXPRESSION = 164; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int UNARY_EMPTY_EXPRESSION__CHILD = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Unary Empty Expression' class. + * + * + * @generated + * @ordered + */ + int UNARY_EMPTY_EXPRESSION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ProjectionImpl Projection}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ProjectionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getProjection() + * @generated + */ + int PROJECTION = 165; + + /** + * The feature id for the 'Channel' containment reference. + * + * + * @generated + * @ordered + */ + int PROJECTION__CHANNEL = EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Field' containment reference. + * + * + * @generated + * @ordered + */ + int PROJECTION__FIELD = EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Projection' class. + * + * + * @generated + * @ordered + */ + int PROJECTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ConstructionExpressionImpl Construction Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ConstructionExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getConstructionExpression() + * @generated + */ + int CONSTRUCTION_EXPRESSION = 166; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int CONSTRUCTION_EXPRESSION__DECLARATION = IDENTIFIER_EXPRESSION__DECLARATION; + + /** + * The feature id for the 'Parameters' containment reference list. + * + * + * @generated + * @ordered + */ + int CONSTRUCTION_EXPRESSION__PARAMETERS = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Construction Expression' class. + * + * + * @generated + * @ordered + */ + int CONSTRUCTION_EXPRESSION_FEATURE_COUNT = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessExpressionImpl Array Access Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getArrayAccessExpression() + * @generated + */ + int ARRAY_ACCESS_EXPRESSION = 167; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_EXPRESSION__DECLARATION = IDENTIFIER_EXPRESSION__DECLARATION; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_EXPRESSION__CHILD = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Indexes' containment reference list. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_EXPRESSION__INDEXES = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Array Access Expression' class. + * + * + * @generated + * @ordered + */ + int ARRAY_ACCESS_EXPRESSION_FEATURE_COUNT = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessExpressionImpl Record Access Expression}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.RecordAccessExpressionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getRecordAccessExpression() + * @generated + */ + int RECORD_ACCESS_EXPRESSION = 168; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_EXPRESSION__DECLARATION = IDENTIFIER_EXPRESSION__DECLARATION; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_EXPRESSION__CHILD = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Field' reference. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_EXPRESSION__FIELD = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Record Access Expression' class. + * + * + * @generated + * @ordered + */ + int RECORD_ACCESS_EXPRESSION_FEATURE_COUNT = IDENTIFIER_EXPRESSION_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.TrueLiteralImpl True Literal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.TrueLiteralImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getTrueLiteral() + * @generated + */ + int TRUE_LITERAL = 169; + + /** + * The number of structural features of the 'True Literal' class. + * + * + * @generated + * @ordered + */ + int TRUE_LITERAL_FEATURE_COUNT = BOOLEAN_LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.FalseLiteralImpl False Literal}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.FalseLiteralImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getFalseLiteral() + * @generated + */ + int FALSE_LITERAL = 170; + + /** + * The number of structural features of the 'False Literal' class. + * + * + * @generated + * @ordered + */ + int FALSE_LITERAL_FEATURE_COUNT = BOOLEAN_LITERAL_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.AllPropertyImpl All Property}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.AllPropertyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getAllProperty() + * @generated + */ + int ALL_PROPERTY = 171; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_PROPERTY__VARIABLE = PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_PROPERTY__TYPE = PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int ALL_PROPERTY__CHILD = PROPERTY_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'All Property' class. + * + * + * @generated + * @ordered + */ + int ALL_PROPERTY_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ExistsPropertyImpl Exists Property}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ExistsPropertyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getExistsProperty() + * @generated + */ + int EXISTS_PROPERTY = 172; + + /** + * The feature id for the 'Variable' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_PROPERTY__VARIABLE = PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_PROPERTY__TYPE = PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int EXISTS_PROPERTY__CHILD = PROPERTY_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'Exists Property' class. + * + * + * @generated + * @ordered + */ + int EXISTS_PROPERTY_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDisjunctionImpl Property Disjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyDisjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyDisjunction() + * @generated + */ + int PROPERTY_DISJUNCTION = 173; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_DISJUNCTION__LEFT = PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_DISJUNCTION__RIGHT = PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Property Disjunction' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_DISJUNCTION_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyImplicationImpl Property Implication}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyImplicationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyImplication() + * @generated + */ + int PROPERTY_IMPLICATION = 174; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_IMPLICATION__LEFT = PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_IMPLICATION__RIGHT = PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Property Implication' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_IMPLICATION_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyConjunctionImpl Property Conjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyConjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyConjunction() + * @generated + */ + int PROPERTY_CONJUNCTION = 175; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_CONJUNCTION__LEFT = PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_CONJUNCTION__RIGHT = PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Property Conjunction' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_CONJUNCTION_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PropertyNegationImpl Property Negation}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PropertyNegationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPropertyNegation() + * @generated + */ + int PROPERTY_NEGATION = 176; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int PROPERTY_NEGATION__CHILD = PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Property Negation' class. + * + * + * @generated + * @ordered + */ + int PROPERTY_NEGATION_FEATURE_COUNT = PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl Leads To Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLeadsToPattern() + * @generated + */ + int LEADS_TO_PATTERN = 177; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__SUBJECT = SEQUENCE_PATTERN_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Follower' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__FOLLOWER = SEQUENCE_PATTERN_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Before' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__BEFORE = SEQUENCE_PATTERN_FEATURE_COUNT + 2; + + /** + * The feature id for the 'Lower' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__LOWER = SEQUENCE_PATTERN_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Upper' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__UPPER = SEQUENCE_PATTERN_FEATURE_COUNT + 4; + + /** + * The feature id for the 'After' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__AFTER = SEQUENCE_PATTERN_FEATURE_COUNT + 5; + + /** + * The feature id for the 'Until' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__UNTIL = SEQUENCE_PATTERN_FEATURE_COUNT + 6; + + /** + * The feature id for the 'Min' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__MIN = SEQUENCE_PATTERN_FEATURE_COUNT + 7; + + /** + * The feature id for the 'Max' containment reference. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN__MAX = SEQUENCE_PATTERN_FEATURE_COUNT + 8; + + /** + * The number of structural features of the 'Leads To Pattern' class. + * + * + * @generated + * @ordered + */ + int LEADS_TO_PATTERN_FEATURE_COUNT = SEQUENCE_PATTERN_FEATURE_COUNT + 9; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl Precedes Pattern}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getPrecedesPattern() + * @generated + */ + int PRECEDES_PATTERN = 178; + + /** + * The feature id for the 'Subject' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__SUBJECT = SEQUENCE_PATTERN_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Follower' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__FOLLOWER = SEQUENCE_PATTERN_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Before' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__BEFORE = SEQUENCE_PATTERN_FEATURE_COUNT + 2; + + /** + * The feature id for the 'After' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__AFTER = SEQUENCE_PATTERN_FEATURE_COUNT + 3; + + /** + * The feature id for the 'Until' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__UNTIL = SEQUENCE_PATTERN_FEATURE_COUNT + 4; + + /** + * The feature id for the 'Min' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__MIN = SEQUENCE_PATTERN_FEATURE_COUNT + 5; + + /** + * The feature id for the 'Max' containment reference. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN__MAX = SEQUENCE_PATTERN_FEATURE_COUNT + 6; + + /** + * The number of structural features of the 'Precedes Pattern' class. + * + * + * @generated + * @ordered + */ + int PRECEDES_PATTERN_FEATURE_COUNT = SEQUENCE_PATTERN_FEATURE_COUNT + 7; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLAllImpl LTL All}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLAllImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLAll() + * @generated + */ + int LTL_ALL = 179; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_ALL__INDEX = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_ALL__TYPE = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_ALL__CHILD = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'LTL All' class. + * + * + * @generated + * @ordered + */ + int LTL_ALL_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLExistsImpl LTL Exists}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLExistsImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLExists() + * @generated + */ + int LTL_EXISTS = 180; + + /** + * The feature id for the 'Index' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_EXISTS__INDEX = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Type' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_EXISTS__TYPE = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_EXISTS__CHILD = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The number of structural features of the 'LTL Exists' class. + * + * + * @generated + * @ordered + */ + int LTL_EXISTS_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLDisjunctionImpl LTL Disjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLDisjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLDisjunction() + * @generated + */ + int LTL_DISJUNCTION = 181; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_DISJUNCTION__LEFT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_DISJUNCTION__RIGHT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'LTL Disjunction' class. + * + * + * @generated + * @ordered + */ + int LTL_DISJUNCTION_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLImplicationImpl LTL Implication}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLImplicationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLImplication() + * @generated + */ + int LTL_IMPLICATION = 182; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_IMPLICATION__LEFT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_IMPLICATION__RIGHT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'LTL Implication' class. + * + * + * @generated + * @ordered + */ + int LTL_IMPLICATION_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLConjunctionImpl LTL Conjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLConjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLConjunction() + * @generated + */ + int LTL_CONJUNCTION = 183; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_CONJUNCTION__LEFT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_CONJUNCTION__RIGHT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'LTL Conjunction' class. + * + * + * @generated + * @ordered + */ + int LTL_CONJUNCTION_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLUntilImpl LTL Until}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLUntilImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLUntil() + * @generated + */ + int LTL_UNTIL = 184; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNTIL__LEFT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNTIL__RIGHT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'LTL Until' class. + * + * + * @generated + * @ordered + */ + int LTL_UNTIL_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLReleaseImpl LTL Release}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLReleaseImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLRelease() + * @generated + */ + int LTL_RELEASE = 185; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_RELEASE__LEFT = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_RELEASE__RIGHT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'LTL Release' class. + * + * + * @generated + * @ordered + */ + int LTL_RELEASE_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNegationImpl LTL Unary Negation}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNegationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLUnaryNegation() + * @generated + */ + int LTL_UNARY_NEGATION = 186; + + /** + * The feature id for the 'Operand' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_NEGATION__OPERAND = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Unary Negation' class. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_NEGATION_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNextImpl LTL Unary Next}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNextImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLUnaryNext() + * @generated + */ + int LTL_UNARY_NEXT = 187; + + /** + * The feature id for the 'Operand' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_NEXT__OPERAND = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Unary Next' class. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_NEXT_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryAlwaysImpl LTL Unary Always}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryAlwaysImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLUnaryAlways() + * @generated + */ + int LTL_UNARY_ALWAYS = 188; + + /** + * The feature id for the 'Operand' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_ALWAYS__OPERAND = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Unary Always' class. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_ALWAYS_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryEventuallyImpl LTL Unary Eventually}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryEventuallyImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLUnaryEventually() + * @generated + */ + int LTL_UNARY_EVENTUALLY = 189; + + /** + * The feature id for the 'Operand' containment reference. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_EVENTUALLY__OPERAND = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Unary Eventually' class. + * + * + * @generated + * @ordered + */ + int LTL_UNARY_EVENTUALLY_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.LTLVariableImpl LTL Variable}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.LTLVariableImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getLTLVariable() + * @generated + */ + int LTL_VARIABLE = 190; + + /** + * The feature id for the 'Declaration' reference. + * + * + * @generated + * @ordered + */ + int LTL_VARIABLE__DECLARATION = LTL_PROPERTY_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'LTL Variable' class. + * + * + * @generated + * @ordered + */ + int LTL_VARIABLE_FEATURE_COUNT = LTL_PROPERTY_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableDisjunctionImpl Observable Disjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableDisjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservableDisjunction() + * @generated + */ + int OBSERVABLE_DISJUNCTION = 191; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_DISJUNCTION__LEFT = OBSERVABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_DISJUNCTION__RIGHT = OBSERVABLE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Observable Disjunction' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_DISJUNCTION_FEATURE_COUNT = OBSERVABLE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableImplicationImpl Observable Implication}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableImplicationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservableImplication() + * @generated + */ + int OBSERVABLE_IMPLICATION = 192; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_IMPLICATION__LEFT = OBSERVABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_IMPLICATION__RIGHT = OBSERVABLE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Observable Implication' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_IMPLICATION_FEATURE_COUNT = OBSERVABLE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableConjunctionImpl Observable Conjunction}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableConjunctionImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservableConjunction() + * @generated + */ + int OBSERVABLE_CONJUNCTION = 193; + + /** + * The feature id for the 'Left' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_CONJUNCTION__LEFT = OBSERVABLE_FEATURE_COUNT + 0; + + /** + * The feature id for the 'Right' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_CONJUNCTION__RIGHT = OBSERVABLE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the 'Observable Conjunction' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_CONJUNCTION_FEATURE_COUNT = OBSERVABLE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link fr.irit.fiacre.xtext.fiacre.impl.ObservableNegationImpl Observable Negation}' class. + * + * + * @see fr.irit.fiacre.xtext.fiacre.impl.ObservableNegationImpl + * @see fr.irit.fiacre.xtext.fiacre.impl.FiacrePackageImpl#getObservableNegation() + * @generated + */ + int OBSERVABLE_NEGATION = 194; + + /** + * The feature id for the 'Child' containment reference. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_NEGATION__CHILD = OBSERVABLE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Observable Negation' class. + * + * + * @generated + * @ordered + */ + int OBSERVABLE_NEGATION_FEATURE_COUNT = OBSERVABLE_FEATURE_COUNT + 1; + + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Model Model}'. + * + * + * @return the meta object for class 'Model'. + * @see fr.irit.fiacre.xtext.fiacre.Model + * @generated + */ + EClass getModel(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Model#getImports Imports}'. + * + * + * @return the meta object for the containment reference list 'Imports'. + * @see fr.irit.fiacre.xtext.fiacre.Model#getImports() + * @see #getModel() + * @generated + */ + EReference getModel_Imports(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Model#getDeclarations Declarations}'. + * + * + * @return the meta object for the containment reference list 'Declarations'. + * @see fr.irit.fiacre.xtext.fiacre.Model#getDeclarations() + * @see #getModel() + * @generated + */ + EReference getModel_Declarations(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Model#getRequirements Requirements}'. + * + * + * @return the meta object for the containment reference list 'Requirements'. + * @see fr.irit.fiacre.xtext.fiacre.Model#getRequirements() + * @see #getModel() + * @generated + */ + EReference getModel_Requirements(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Model#getRoot Root}'. + * + * + * @return the meta object for the containment reference list 'Root'. + * @see fr.irit.fiacre.xtext.fiacre.Model#getRoot() + * @see #getModel() + * @generated + */ + EReference getModel_Root(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RootDeclaration Root Declaration}'. + * + * + * @return the meta object for class 'Root Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.RootDeclaration + * @generated + */ + EClass getRootDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Root Root}'. + * + * + * @return the meta object for class 'Root'. + * @see fr.irit.fiacre.xtext.fiacre.Root + * @generated + */ + EClass getRoot(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.Root#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.Root#getDeclaration() + * @see #getRoot() + * @generated + */ + EReference getRoot_Declaration(); + + /** + * Returns the meta object for the reference list '{@link fr.irit.fiacre.xtext.fiacre.Root#getObserved Observed}'. + * + * + * @return the meta object for the reference list 'Observed'. + * @see fr.irit.fiacre.xtext.fiacre.Root#getObserved() + * @see #getRoot() + * @generated + */ + EReference getRoot_Observed(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NamedElement Named Element}'. + * + * + * @return the meta object for class 'Named Element'. + * @see fr.irit.fiacre.xtext.fiacre.NamedElement + * @generated + */ + EClass getNamedElement(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NamedElement#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see fr.irit.fiacre.xtext.fiacre.NamedElement#getName() + * @see #getNamedElement() + * @generated + */ + EAttribute getNamedElement_Name(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse Type Declaration Use}'. + * + * + * @return the meta object for class 'Type Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse + * @generated + */ + EClass getTypeDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse Constant Declaration Use}'. + * + * + * @return the meta object for class 'Constant Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse + * @generated + */ + EClass getConstantDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse Expression Declaration Use}'. + * + * + * @return the meta object for class 'Expression Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse + * @generated + */ + EClass getExpressionDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse Reference Declaration Use}'. + * + * + * @return the meta object for class 'Reference Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse + * @generated + */ + EClass getReferenceDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse Union Tag Declaration Use}'. + * + * + * @return the meta object for class 'Union Tag Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse + * @generated + */ + EClass getUnionTagDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse Record Field Declaration Use}'. + * + * + * @return the meta object for class 'Record Field Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse + * @generated + */ + EClass getRecordFieldDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse Pattern Declaration Use}'. + * + * + * @return the meta object for class 'Pattern Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse + * @generated + */ + EClass getPatternDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse Bound Declaration Use}'. + * + * + * @return the meta object for class 'Bound Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse + * @generated + */ + EClass getBoundDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PathDeclarationUse Path Declaration Use}'. + * + * + * @return the meta object for class 'Path Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.PathDeclarationUse + * @generated + */ + EClass getPathDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse Property Declaration Use}'. + * + * + * @return the meta object for class 'Property Declaration Use'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse + * @generated + */ + EClass getPropertyDeclarationUse(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration Import Declaration}'. + * + * + * @return the meta object for class 'Import Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ImportDeclaration + * @generated + */ + EClass getImportDeclaration(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration#getImportURI Import URI}'. + * + * + * @return the meta object for the attribute 'Import URI'. + * @see fr.irit.fiacre.xtext.fiacre.ImportDeclaration#getImportURI() + * @see #getImportDeclaration() + * @generated + */ + EAttribute getImportDeclaration_ImportURI(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Declaration Declaration}'. + * + * + * @return the meta object for class 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.Declaration + * @generated + */ + EClass getDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration Parameterized Declaration}'. + * + * + * @return the meta object for class 'Parameterized Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration + * @generated + */ + EClass getParameterizedDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getParameters() + * @see #getParameterizedDeclaration() + * @generated + */ + EReference getParameterizedDeclaration_Parameters(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getVariables Variables}'. + * + * + * @return the meta object for the containment reference list 'Variables'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getVariables() + * @see #getParameterizedDeclaration() + * @generated + */ + EReference getParameterizedDeclaration_Variables(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration Function Declaration}'. + * + * + * @return the meta object for class 'Function Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.FunctionDeclaration + * @generated + */ + EClass getFunctionDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getType() + * @see #getFunctionDeclaration() + * @generated + */ + EReference getFunctionDeclaration_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getStatement Statement}'. + * + * + * @return the meta object for the containment reference 'Statement'. + * @see fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getStatement() + * @see #getFunctionDeclaration() + * @generated + */ + EReference getFunctionDeclaration_Statement(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration Type Declaration}'. + * + * + * @return the meta object for class 'Type Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.TypeDeclaration + * @generated + */ + EClass getTypeDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.TypeDeclaration#getValue() + * @see #getTypeDeclaration() + * @generated + */ + EReference getTypeDeclaration_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration Channel Declaration}'. + * + * + * @return the meta object for class 'Channel Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelDeclaration + * @generated + */ + EClass getChannelDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelDeclaration#getValue() + * @see #getChannelDeclaration() + * @generated + */ + EReference getChannelDeclaration_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ChannelType Channel Type}'. + * + * + * @return the meta object for class 'Channel Type'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType + * @generated + */ + EClass getChannelType(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#getSize Size}'. + * + * + * @return the meta object for the containment reference 'Size'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType#getSize() + * @see #getChannelType() + * @generated + */ + EReference getChannelType_Size(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#isIn In}'. + * + * + * @return the meta object for the attribute 'In'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType#isIn() + * @see #getChannelType() + * @generated + */ + EAttribute getChannelType_In(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#isOut Out}'. + * + * + * @return the meta object for the attribute 'Out'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType#isOut() + * @see #getChannelType() + * @generated + */ + EAttribute getChannelType_Out(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ChannelType#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType#getType() + * @see #getChannelType() + * @generated + */ + EReference getChannelType_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Type Type}'. + * + * + * @return the meta object for class 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.Type + * @generated + */ + EClass getType(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.BasicType Basic Type}'. + * + * + * @return the meta object for class 'Basic Type'. + * @see fr.irit.fiacre.xtext.fiacre.BasicType + * @generated + */ + EClass getBasicType(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RangeType Range Type}'. + * + * + * @return the meta object for class 'Range Type'. + * @see fr.irit.fiacre.xtext.fiacre.RangeType + * @generated + */ + EClass getRangeType(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.RangeType#getMinimum Minimum}'. + * + * + * @return the meta object for the containment reference 'Minimum'. + * @see fr.irit.fiacre.xtext.fiacre.RangeType#getMinimum() + * @see #getRangeType() + * @generated + */ + EReference getRangeType_Minimum(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.RangeType#getMaximum Maximum}'. + * + * + * @return the meta object for the containment reference 'Maximum'. + * @see fr.irit.fiacre.xtext.fiacre.RangeType#getMaximum() + * @see #getRangeType() + * @generated + */ + EReference getRangeType_Maximum(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnionType Union Type}'. + * + * + * @return the meta object for class 'Union Type'. + * @see fr.irit.fiacre.xtext.fiacre.UnionType + * @generated + */ + EClass getUnionType(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.UnionType#getTags Tags}'. + * + * + * @return the meta object for the containment reference list 'Tags'. + * @see fr.irit.fiacre.xtext.fiacre.UnionType#getTags() + * @see #getUnionType() + * @generated + */ + EReference getUnionType_Tags(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnionTags Union Tags}'. + * + * + * @return the meta object for class 'Union Tags'. + * @see fr.irit.fiacre.xtext.fiacre.UnionTags + * @generated + */ + EClass getUnionTags(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.UnionTags#getTags Tags}'. + * + * + * @return the meta object for the containment reference list 'Tags'. + * @see fr.irit.fiacre.xtext.fiacre.UnionTags#getTags() + * @see #getUnionTags() + * @generated + */ + EReference getUnionTags_Tags(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnionTags#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.UnionTags#getType() + * @see #getUnionTags() + * @generated + */ + EReference getUnionTags_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration Union Tag Declaration}'. + * + * + * @return the meta object for class 'Union Tag Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration + * @generated + */ + EClass getUnionTagDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordType Record Type}'. + * + * + * @return the meta object for class 'Record Type'. + * @see fr.irit.fiacre.xtext.fiacre.RecordType + * @generated + */ + EClass getRecordType(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.RecordType#getFields Fields}'. + * + * + * @return the meta object for the containment reference list 'Fields'. + * @see fr.irit.fiacre.xtext.fiacre.RecordType#getFields() + * @see #getRecordType() + * @generated + */ + EReference getRecordType_Fields(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordFields Record Fields}'. + * + * + * @return the meta object for class 'Record Fields'. + * @see fr.irit.fiacre.xtext.fiacre.RecordFields + * @generated + */ + EClass getRecordFields(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.RecordFields#getFields Fields}'. + * + * + * @return the meta object for the containment reference list 'Fields'. + * @see fr.irit.fiacre.xtext.fiacre.RecordFields#getFields() + * @see #getRecordFields() + * @generated + */ + EReference getRecordFields_Fields(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.RecordFields#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.RecordFields#getType() + * @see #getRecordFields() + * @generated + */ + EReference getRecordFields_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration Record Field Declaration}'. + * + * + * @return the meta object for class 'Record Field Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration + * @generated + */ + EClass getRecordFieldDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.QueueType Queue Type}'. + * + * + * @return the meta object for class 'Queue Type'. + * @see fr.irit.fiacre.xtext.fiacre.QueueType + * @generated + */ + EClass getQueueType(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.QueueType#getSize Size}'. + * + * + * @return the meta object for the containment reference 'Size'. + * @see fr.irit.fiacre.xtext.fiacre.QueueType#getSize() + * @see #getQueueType() + * @generated + */ + EReference getQueueType_Size(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.QueueType#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.QueueType#getType() + * @see #getQueueType() + * @generated + */ + EReference getQueueType_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ArrayType Array Type}'. + * + * + * @return the meta object for class 'Array Type'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayType + * @generated + */ + EClass getArrayType(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ArrayType#getSize Size}'. + * + * + * @return the meta object for the containment reference 'Size'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayType#getSize() + * @see #getArrayType() + * @generated + */ + EReference getArrayType_Size(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ArrayType#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayType#getType() + * @see #getArrayType() + * @generated + */ + EReference getArrayType_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ReferencedType Referenced Type}'. + * + * + * @return the meta object for class 'Referenced Type'. + * @see fr.irit.fiacre.xtext.fiacre.ReferencedType + * @generated + */ + EClass getReferencedType(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.ReferencedType#getType Type}'. + * + * + * @return the meta object for the reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ReferencedType#getType() + * @see #getReferencedType() + * @generated + */ + EReference getReferencedType_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration Constant Declaration}'. + * + * + * @return the meta object for class 'Constant Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclaration + * @generated + */ + EClass getConstantDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getType() + * @see #getConstantDeclaration() + * @generated + */ + EReference getConstantDeclaration_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclaration#getValue() + * @see #getConstantDeclaration() + * @generated + */ + EReference getConstantDeclaration_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration Process Declaration}'. + * + * + * @return the meta object for class 'Process Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration + * @generated + */ + EClass getProcessDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPorts() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_Ports(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getLocalPorts Local Ports}'. + * + * + * @return the meta object for the containment reference list 'Local Ports'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getLocalPorts() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_LocalPorts(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPriorities Priorities}'. + * + * + * @return the meta object for the containment reference list 'Priorities'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPriorities() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_Priorities(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getStates States}'. + * + * + * @return the meta object for the containment reference list 'States'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getStates() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_States(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPrelude Prelude}'. + * + * + * @return the meta object for the containment reference 'Prelude'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPrelude() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_Prelude(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getTransitions Transitions}'. + * + * + * @return the meta object for the containment reference list 'Transitions'. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getTransitions() + * @see #getProcessDeclaration() + * @generated + */ + EReference getProcessDeclaration_Transitions(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.StateDeclaration State Declaration}'. + * + * + * @return the meta object for class 'State Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.StateDeclaration + * @generated + */ + EClass getStateDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TransitionSource Transition Source}'. + * + * + * @return the meta object for class 'Transition Source'. + * @see fr.irit.fiacre.xtext.fiacre.TransitionSource + * @generated + */ + EClass getTransitionSource(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.TransitionSource#getOrigin Origin}'. + * + * + * @return the meta object for the reference 'Origin'. + * @see fr.irit.fiacre.xtext.fiacre.TransitionSource#getOrigin() + * @see #getTransitionSource() + * @generated + */ + EReference getTransitionSource_Origin(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Transition Transition}'. + * + * + * @return the meta object for class 'Transition'. + * @see fr.irit.fiacre.xtext.fiacre.Transition + * @generated + */ + EClass getTransition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Transition#getSource Source}'. + * + * + * @return the meta object for the containment reference 'Source'. + * @see fr.irit.fiacre.xtext.fiacre.Transition#getSource() + * @see #getTransition() + * @generated + */ + EReference getTransition_Source(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Transition#getAction Action}'. + * + * + * @return the meta object for the containment reference 'Action'. + * @see fr.irit.fiacre.xtext.fiacre.Transition#getAction() + * @see #getTransition() + * @generated + */ + EReference getTransition_Action(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration Component Declaration}'. + * + * + * @return the meta object for class 'Component Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration + * @generated + */ + EClass getComponentDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPorts() + * @see #getComponentDeclaration() + * @generated + */ + EReference getComponentDeclaration_Ports(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getLocalPorts Local Ports}'. + * + * + * @return the meta object for the containment reference list 'Local Ports'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getLocalPorts() + * @see #getComponentDeclaration() + * @generated + */ + EReference getComponentDeclaration_LocalPorts(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPriorities Priorities}'. + * + * + * @return the meta object for the containment reference list 'Priorities'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPriorities() + * @see #getComponentDeclaration() + * @generated + */ + EReference getComponentDeclaration_Priorities(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPrelude Prelude}'. + * + * + * @return the meta object for the containment reference 'Prelude'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getPrelude() + * @see #getComponentDeclaration() + * @generated + */ + EReference getComponentDeclaration_Prelude(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration#getBody() + * @see #getComponentDeclaration() + * @generated + */ + EReference getComponentDeclaration_Body(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration Ports Declaration}'. + * + * + * @return the meta object for class 'Ports Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.PortsDeclaration + * @generated + */ + EClass getPortsDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getPorts() + * @see #getPortsDeclaration() + * @generated + */ + EReference getPortsDeclaration_Ports(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getType() + * @see #getPortsDeclaration() + * @generated + */ + EReference getPortsDeclaration_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PortDeclaration Port Declaration}'. + * + * + * @return the meta object for class 'Port Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.PortDeclaration + * @generated + */ + EClass getPortDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration Local Ports Declaration}'. + * + * + * @return the meta object for class 'Local Ports Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration + * @generated + */ + EClass getLocalPortsDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getPorts() + * @see #getLocalPortsDeclaration() + * @generated + */ + EReference getLocalPortsDeclaration_Ports(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getType() + * @see #getLocalPortsDeclaration() + * @generated + */ + EReference getLocalPortsDeclaration_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getLeft() + * @see #getLocalPortsDeclaration() + * @generated + */ + EReference getLocalPortsDeclaration_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getRight() + * @see #getLocalPortsDeclaration() + * @generated + */ + EReference getLocalPortsDeclaration_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration Parameters Declaration}'. + * + * + * @return the meta object for class 'Parameters Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration + * @generated + */ + EClass getParametersDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getParameters() + * @see #getParametersDeclaration() + * @generated + */ + EReference getParametersDeclaration_Parameters(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isRead Read}'. + * + * + * @return the meta object for the attribute 'Read'. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isRead() + * @see #getParametersDeclaration() + * @generated + */ + EAttribute getParametersDeclaration_Read(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isWrite Write}'. + * + * + * @return the meta object for the attribute 'Write'. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isWrite() + * @see #getParametersDeclaration() + * @generated + */ + EAttribute getParametersDeclaration_Write(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getType() + * @see #getParametersDeclaration() + * @generated + */ + EReference getParametersDeclaration_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration Parameter Declaration}'. + * + * + * @return the meta object for class 'Parameter Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterDeclaration + * @generated + */ + EClass getParameterDeclaration(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isReference Reference}'. + * + * + * @return the meta object for the attribute 'Reference'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isReference() + * @see #getParameterDeclaration() + * @generated + */ + EAttribute getParameterDeclaration_Reference(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isArray Array}'. + * + * + * @return the meta object for the attribute 'Array'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isArray() + * @see #getParameterDeclaration() + * @generated + */ + EAttribute getParameterDeclaration_Array(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#getSize Size}'. + * + * + * @return the meta object for the containment reference 'Size'. + * @see fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#getSize() + * @see #getParameterDeclaration() + * @generated + */ + EReference getParameterDeclaration_Size(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration Variables Declaration}'. + * + * + * @return the meta object for class 'Variables Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.VariablesDeclaration + * @generated + */ + EClass getVariablesDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getVariables Variables}'. + * + * + * @return the meta object for the containment reference list 'Variables'. + * @see fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getVariables() + * @see #getVariablesDeclaration() + * @generated + */ + EReference getVariablesDeclaration_Variables(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getType() + * @see #getVariablesDeclaration() + * @generated + */ + EReference getVariablesDeclaration_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getValue() + * @see #getVariablesDeclaration() + * @generated + */ + EReference getVariablesDeclaration_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration Variable Declaration}'. + * + * + * @return the meta object for class 'Variable Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.VariableDeclaration + * @generated + */ + EClass getVariableDeclaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration Priority Declaration}'. + * + * + * @return the meta object for class 'Priority Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.PriorityDeclaration + * @generated + */ + EClass getPriorityDeclaration(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration#getGroups Groups}'. + * + * + * @return the meta object for the containment reference list 'Groups'. + * @see fr.irit.fiacre.xtext.fiacre.PriorityDeclaration#getGroups() + * @see #getPriorityDeclaration() + * @generated + */ + EReference getPriorityDeclaration_Groups(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PriorityGroup Priority Group}'. + * + * + * @return the meta object for class 'Priority Group'. + * @see fr.irit.fiacre.xtext.fiacre.PriorityGroup + * @generated + */ + EClass getPriorityGroup(); + + /** + * Returns the meta object for the reference list '{@link fr.irit.fiacre.xtext.fiacre.PriorityGroup#getPorts Ports}'. + * + * + * @return the meta object for the reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.PriorityGroup#getPorts() + * @see #getPriorityGroup() + * @generated + */ + EReference getPriorityGroup_Ports(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Statement Statement}'. + * + * + * @return the meta object for class 'Statement'. + * @see fr.irit.fiacre.xtext.fiacre.Statement + * @generated + */ + EClass getStatement(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.BlockStatement Block Statement}'. + * + * + * @return the meta object for class 'Block Statement'. + * @see fr.irit.fiacre.xtext.fiacre.BlockStatement + * @generated + */ + EClass getBlockStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.BlockStatement#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.BlockStatement#getBody() + * @see #getBlockStatement() + * @generated + */ + EReference getBlockStatement_Body(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ReturnStatement Return Statement}'. + * + * + * @return the meta object for class 'Return Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ReturnStatement + * @generated + */ + EClass getReturnStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ReturnStatement#getExpression Expression}'. + * + * + * @return the meta object for the containment reference 'Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ReturnStatement#getExpression() + * @see #getReturnStatement() + * @generated + */ + EReference getReturnStatement_Expression(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NullStatement Null Statement}'. + * + * + * @return the meta object for class 'Null Statement'. + * @see fr.irit.fiacre.xtext.fiacre.NullStatement + * @generated + */ + EClass getNullStatement(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TaggedStatement Tagged Statement}'. + * + * + * @return the meta object for class 'Tagged Statement'. + * @see fr.irit.fiacre.xtext.fiacre.TaggedStatement + * @generated + */ + EClass getTaggedStatement(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.TaggedStatement#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see fr.irit.fiacre.xtext.fiacre.TaggedStatement#getName() + * @see #getTaggedStatement() + * @generated + */ + EAttribute getTaggedStatement_Name(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PatternStatement Pattern Statement}'. + * + * + * @return the meta object for class 'Pattern Statement'. + * @see fr.irit.fiacre.xtext.fiacre.PatternStatement + * @generated + */ + EClass getPatternStatement(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Pattern Pattern}'. + * + * + * @return the meta object for class 'Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.Pattern + * @generated + */ + EClass getPattern(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AnyPattern Any Pattern}'. + * + * + * @return the meta object for class 'Any Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.AnyPattern + * @generated + */ + EClass getAnyPattern(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConstantPattern Constant Pattern}'. + * + * + * @return the meta object for class 'Constant Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantPattern + * @generated + */ + EClass getConstantPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConstantPattern#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.ConstantPattern#getValue() + * @see #getConstantPattern() + * @generated + */ + EReference getConstantPattern_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern Integer Pattern}'. + * + * + * @return the meta object for class 'Integer Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.IntegerPattern + * @generated + */ + EClass getIntegerPattern(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#isNegative Negative}'. + * + * + * @return the meta object for the attribute 'Negative'. + * @see fr.irit.fiacre.xtext.fiacre.IntegerPattern#isNegative() + * @see #getIntegerPattern() + * @generated + */ + EAttribute getIntegerPattern_Negative(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.IntegerPattern#getValue() + * @see #getIntegerPattern() + * @generated + */ + EAttribute getIntegerPattern_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern Identifier Pattern}'. + * + * + * @return the meta object for class 'Identifier Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierPattern + * @generated + */ + EClass getIdentifierPattern(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierPattern#getDeclaration() + * @see #getIdentifierPattern() + * @generated + */ + EReference getIdentifierPattern_Declaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement Conditional Statement}'. + * + * + * @return the meta object for class 'Conditional Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement + * @generated + */ + EClass getConditionalStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getCondition() + * @see #getConditionalStatement() + * @generated + */ + EReference getConditionalStatement_Condition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getThen() + * @see #getConditionalStatement() + * @generated + */ + EReference getConditionalStatement_Then(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElseif Elseif}'. + * + * + * @return the meta object for the containment reference list 'Elseif'. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElseif() + * @see #getConditionalStatement() + * @generated + */ + EReference getConditionalStatement_Elseif(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElse Else}'. + * + * + * @return the meta object for the containment reference 'Else'. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement#getElse() + * @see #getConditionalStatement() + * @generated + */ + EReference getConditionalStatement_Else(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement Extended Conditional Statement}'. + * + * + * @return the meta object for class 'Extended Conditional Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement + * @generated + */ + EClass getExtendedConditionalStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getCondition() + * @see #getExtendedConditionalStatement() + * @generated + */ + EReference getExtendedConditionalStatement_Condition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement#getThen() + * @see #getExtendedConditionalStatement() + * @generated + */ + EReference getExtendedConditionalStatement_Then(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement Select Statement}'. + * + * + * @return the meta object for class 'Select Statement'. + * @see fr.irit.fiacre.xtext.fiacre.SelectStatement + * @generated + */ + EClass getSelectStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.SelectStatement#getBody() + * @see #getSelectStatement() + * @generated + */ + EReference getSelectStatement_Body(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.SelectStatement#getIndex() + * @see #getSelectStatement() + * @generated + */ + EReference getSelectStatement_Index(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.SelectStatement#getType() + * @see #getSelectStatement() + * @generated + */ + EReference getSelectStatement_Type(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement While Statement}'. + * + * + * @return the meta object for class 'While Statement'. + * @see fr.irit.fiacre.xtext.fiacre.WhileStatement + * @generated + */ + EClass getWhileStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see fr.irit.fiacre.xtext.fiacre.WhileStatement#getCondition() + * @see #getWhileStatement() + * @generated + */ + EReference getWhileStatement_Condition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.WhileStatement#getBody() + * @see #getWhileStatement() + * @generated + */ + EReference getWhileStatement_Body(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement Foreach Statement}'. + * + * + * @return the meta object for class 'Foreach Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ForeachStatement + * @generated + */ + EClass getForeachStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getVariable Variable}'. + * + * + * @return the meta object for the containment reference 'Variable'. + * @see fr.irit.fiacre.xtext.fiacre.ForeachStatement#getVariable() + * @see #getForeachStatement() + * @generated + */ + EReference getForeachStatement_Variable(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getBody Body}'. + * + * + * @return the meta object for the containment reference 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.ForeachStatement#getBody() + * @see #getForeachStatement() + * @generated + */ + EReference getForeachStatement_Body(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ToStatement To Statement}'. + * + * + * @return the meta object for class 'To Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ToStatement + * @generated + */ + EClass getToStatement(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.ToStatement#getState State}'. + * + * + * @return the meta object for the reference 'State'. + * @see fr.irit.fiacre.xtext.fiacre.ToStatement#getState() + * @see #getToStatement() + * @generated + */ + EReference getToStatement_State(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement Case Statement}'. + * + * + * @return the meta object for class 'Case Statement'. + * @see fr.irit.fiacre.xtext.fiacre.CaseStatement + * @generated + */ + EClass getCaseStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.CaseStatement#getValue() + * @see #getCaseStatement() + * @generated + */ + EReference getCaseStatement_Value(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getPattern Pattern}'. + * + * + * @return the meta object for the containment reference list 'Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.CaseStatement#getPattern() + * @see #getCaseStatement() + * @generated + */ + EReference getCaseStatement_Pattern(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement#getBody Body}'. + * + * + * @return the meta object for the containment reference list 'Body'. + * @see fr.irit.fiacre.xtext.fiacre.CaseStatement#getBody() + * @see #getCaseStatement() + * @generated + */ + EReference getCaseStatement_Body(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LoopStatement Loop Statement}'. + * + * + * @return the meta object for class 'Loop Statement'. + * @see fr.irit.fiacre.xtext.fiacre.LoopStatement + * @generated + */ + EClass getLoopStatement(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.OnStatement On Statement}'. + * + * + * @return the meta object for class 'On Statement'. + * @see fr.irit.fiacre.xtext.fiacre.OnStatement + * @generated + */ + EClass getOnStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.OnStatement#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see fr.irit.fiacre.xtext.fiacre.OnStatement#getCondition() + * @see #getOnStatement() + * @generated + */ + EReference getOnStatement_Condition(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement Wait Statement}'. + * + * + * @return the meta object for class 'Wait Statement'. + * @see fr.irit.fiacre.xtext.fiacre.WaitStatement + * @generated + */ + EClass getWaitStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.WaitStatement#getLeft() + * @see #getWaitStatement() + * @generated + */ + EReference getWaitStatement_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.WaitStatement#getRight() + * @see #getWaitStatement() + * @generated + */ + EReference getWaitStatement_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Composition Composition}'. + * + * + * @return the meta object for class 'Composition'. + * @see fr.irit.fiacre.xtext.fiacre.Composition + * @generated + */ + EClass getComposition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Composition#getGlobal Global}'. + * + * + * @return the meta object for the containment reference 'Global'. + * @see fr.irit.fiacre.xtext.fiacre.Composition#getGlobal() + * @see #getComposition() + * @generated + */ + EReference getComposition_Global(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Composition#getBlocks Blocks}'. + * + * + * @return the meta object for the containment reference list 'Blocks'. + * @see fr.irit.fiacre.xtext.fiacre.Composition#getBlocks() + * @see #getComposition() + * @generated + */ + EReference getComposition_Blocks(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Block Block}'. + * + * + * @return the meta object for class 'Block'. + * @see fr.irit.fiacre.xtext.fiacre.Block + * @generated + */ + EClass getBlock(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Block#getLocal Local}'. + * + * + * @return the meta object for the containment reference 'Local'. + * @see fr.irit.fiacre.xtext.fiacre.Block#getLocal() + * @see #getBlock() + * @generated + */ + EReference getBlock_Local(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.CompositeBlock Composite Block}'. + * + * + * @return the meta object for class 'Composite Block'. + * @see fr.irit.fiacre.xtext.fiacre.CompositeBlock + * @generated + */ + EClass getCompositeBlock(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.CompositeBlock#getComposition Composition}'. + * + * + * @return the meta object for the containment reference 'Composition'. + * @see fr.irit.fiacre.xtext.fiacre.CompositeBlock#getComposition() + * @see #getCompositeBlock() + * @generated + */ + EReference getCompositeBlock_Composition(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration Instance Declaration}'. + * + * + * @return the meta object for class 'Instance Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.InstanceDeclaration + * @generated + */ + EClass getInstanceDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration#getInstance Instance}'. + * + * + * @return the meta object for the containment reference 'Instance'. + * @see fr.irit.fiacre.xtext.fiacre.InstanceDeclaration#getInstance() + * @see #getInstanceDeclaration() + * @generated + */ + EReference getInstanceDeclaration_Instance(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PortSet Port Set}'. + * + * + * @return the meta object for class 'Port Set'. + * @see fr.irit.fiacre.xtext.fiacre.PortSet + * @generated + */ + EClass getPortSet(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.PortSet#isAllPorts All Ports}'. + * + * + * @return the meta object for the attribute 'All Ports'. + * @see fr.irit.fiacre.xtext.fiacre.PortSet#isAllPorts() + * @see #getPortSet() + * @generated + */ + EAttribute getPortSet_AllPorts(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.PortSet#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.PortSet#getPorts() + * @see #getPortSet() + * @generated + */ + EReference getPortSet_Ports(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance Component Instance}'. + * + * + * @return the meta object for class 'Component Instance'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentInstance + * @generated + */ + EClass getComponentInstance(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getComponent Component}'. + * + * + * @return the meta object for the reference 'Component'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentInstance#getComponent() + * @see #getComponentInstance() + * @generated + */ + EReference getComponentInstance_Component(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getPorts Ports}'. + * + * + * @return the meta object for the containment reference list 'Ports'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentInstance#getPorts() + * @see #getComponentInstance() + * @generated + */ + EReference getComponentInstance_Ports(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see fr.irit.fiacre.xtext.fiacre.ComponentInstance#getParameters() + * @see #getComponentInstance() + * @generated + */ + EReference getComponentInstance_Parameters(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Expression Expression}'. + * + * + * @return the meta object for class 'Expression'. + * @see fr.irit.fiacre.xtext.fiacre.Expression + * @generated + */ + EClass getExpression(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ValueExpression Value Expression}'. + * + * + * @return the meta object for class 'Value Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ValueExpression + * @generated + */ + EClass getValueExpression(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression Reference Expression}'. + * + * + * @return the meta object for class 'Reference Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ReferenceExpression + * @generated + */ + EClass getReferenceExpression(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.ReferenceExpression#getDeclaration() + * @see #getReferenceExpression() + * @generated + */ + EReference getReferenceExpression_Declaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression Identifier Expression}'. + * + * + * @return the meta object for class 'Identifier Expression'. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierExpression + * @generated + */ + EClass getIdentifierExpression(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierExpression#getDeclaration() + * @see #getIdentifierExpression() + * @generated + */ + EReference getIdentifierExpression_Declaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordExpression Record Expression}'. + * + * + * @return the meta object for class 'Record Expression'. + * @see fr.irit.fiacre.xtext.fiacre.RecordExpression + * @generated + */ + EClass getRecordExpression(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.RecordExpression#getFields Fields}'. + * + * + * @return the meta object for the containment reference list 'Fields'. + * @see fr.irit.fiacre.xtext.fiacre.RecordExpression#getFields() + * @see #getRecordExpression() + * @generated + */ + EReference getRecordExpression_Fields(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression Field Expression}'. + * + * + * @return the meta object for class 'Field Expression'. + * @see fr.irit.fiacre.xtext.fiacre.FieldExpression + * @generated + */ + EClass getFieldExpression(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getField Field}'. + * + * + * @return the meta object for the reference 'Field'. + * @see fr.irit.fiacre.xtext.fiacre.FieldExpression#getField() + * @see #getFieldExpression() + * @generated + */ + EReference getFieldExpression_Field(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.FieldExpression#getValue() + * @see #getFieldExpression() + * @generated + */ + EReference getFieldExpression_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ArrayExpression Array Expression}'. + * + * + * @return the meta object for class 'Array Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayExpression + * @generated + */ + EClass getArrayExpression(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ArrayExpression#getValues Values}'. + * + * + * @return the meta object for the containment reference list 'Values'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayExpression#getValues() + * @see #getArrayExpression() + * @generated + */ + EReference getArrayExpression_Values(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.QueueExpression Queue Expression}'. + * + * + * @return the meta object for class 'Queue Expression'. + * @see fr.irit.fiacre.xtext.fiacre.QueueExpression + * @generated + */ + EClass getQueueExpression(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.QueueExpression#getValues Values}'. + * + * + * @return the meta object for the containment reference list 'Values'. + * @see fr.irit.fiacre.xtext.fiacre.QueueExpression#getValues() + * @see #getQueueExpression() + * @generated + */ + EReference getQueueExpression_Values(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression Enqueue Expression}'. + * + * + * @return the meta object for class 'Enqueue Expression'. + * @see fr.irit.fiacre.xtext.fiacre.EnqueueExpression + * @generated + */ + EClass getEnqueueExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getElement Element}'. + * + * + * @return the meta object for the containment reference 'Element'. + * @see fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getElement() + * @see #getEnqueueExpression() + * @generated + */ + EReference getEnqueueExpression_Element(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getQueue Queue}'. + * + * + * @return the meta object for the containment reference 'Queue'. + * @see fr.irit.fiacre.xtext.fiacre.EnqueueExpression#getQueue() + * @see #getEnqueueExpression() + * @generated + */ + EReference getEnqueueExpression_Queue(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression Append Expression}'. + * + * + * @return the meta object for class 'Append Expression'. + * @see fr.irit.fiacre.xtext.fiacre.AppendExpression + * @generated + */ + EClass getAppendExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.AppendExpression#getLeft() + * @see #getAppendExpression() + * @generated + */ + EReference getAppendExpression_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.AppendExpression#getRight() + * @see #getAppendExpression() + * @generated + */ + EReference getAppendExpression_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LiteralExpression Literal Expression}'. + * + * + * @return the meta object for class 'Literal Expression'. + * @see fr.irit.fiacre.xtext.fiacre.LiteralExpression + * @generated + */ + EClass getLiteralExpression(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.BooleanLiteral Boolean Literal}'. + * + * + * @return the meta object for class 'Boolean Literal'. + * @see fr.irit.fiacre.xtext.fiacre.BooleanLiteral + * @generated + */ + EClass getBooleanLiteral(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral Natural Literal}'. + * + * + * @return the meta object for class 'Natural Literal'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLiteral + * @generated + */ + EClass getNaturalLiteral(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLiteral#getValue() + * @see #getNaturalLiteral() + * @generated + */ + EAttribute getNaturalLiteral_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LowerBound Lower Bound}'. + * + * + * @return the meta object for class 'Lower Bound'. + * @see fr.irit.fiacre.xtext.fiacre.LowerBound + * @generated + */ + EClass getLowerBound(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.LowerBound#isLeft Left}'. + * + * + * @return the meta object for the attribute 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LowerBound#isLeft() + * @see #getLowerBound() + * @generated + */ + EAttribute getLowerBound_Left(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.LowerBound#isRight Right}'. + * + * + * @return the meta object for the attribute 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LowerBound#isRight() + * @see #getLowerBound() + * @generated + */ + EAttribute getLowerBound_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UpperBound Upper Bound}'. + * + * + * @return the meta object for class 'Upper Bound'. + * @see fr.irit.fiacre.xtext.fiacre.UpperBound + * @generated + */ + EClass getUpperBound(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound Natural Lower Bound}'. + * + * + * @return the meta object for class 'Natural Lower Bound'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLowerBound + * @generated + */ + EClass getNaturalLowerBound(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLowerBound#getValue() + * @see #getNaturalLowerBound() + * @generated + */ + EAttribute getNaturalLowerBound_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound Natural Upper Bound}'. + * + * + * @return the meta object for class 'Natural Upper Bound'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalUpperBound + * @generated + */ + EClass getNaturalUpperBound(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#getValue() + * @see #getNaturalUpperBound() + * @generated + */ + EAttribute getNaturalUpperBound_Value(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isLeft Left}'. + * + * + * @return the meta object for the attribute 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isLeft() + * @see #getNaturalUpperBound() + * @generated + */ + EAttribute getNaturalUpperBound_Left(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isRight Right}'. + * + * + * @return the meta object for the attribute 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isRight() + * @see #getNaturalUpperBound() + * @generated + */ + EAttribute getNaturalUpperBound_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound Decimal Lower Bound}'. + * + * + * @return the meta object for class 'Decimal Lower Bound'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalLowerBound + * @generated + */ + EClass getDecimalLowerBound(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalLowerBound#getValue() + * @see #getDecimalLowerBound() + * @generated + */ + EAttribute getDecimalLowerBound_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound Decimal Upper Bound}'. + * + * + * @return the meta object for class 'Decimal Upper Bound'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalUpperBound + * @generated + */ + EClass getDecimalUpperBound(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#getValue() + * @see #getDecimalUpperBound() + * @generated + */ + EAttribute getDecimalUpperBound_Value(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isLeft Left}'. + * + * + * @return the meta object for the attribute 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isLeft() + * @see #getDecimalUpperBound() + * @generated + */ + EAttribute getDecimalUpperBound_Left(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isRight Right}'. + * + * + * @return the meta object for the attribute 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.DecimalUpperBound#isRight() + * @see #getDecimalUpperBound() + * @generated + */ + EAttribute getDecimalUpperBound_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound Variable Lower Bound}'. + * + * + * @return the meta object for class 'Variable Lower Bound'. + * @see fr.irit.fiacre.xtext.fiacre.VariableLowerBound + * @generated + */ + EClass getVariableLowerBound(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound#getVariable Variable}'. + * + * + * @return the meta object for the reference 'Variable'. + * @see fr.irit.fiacre.xtext.fiacre.VariableLowerBound#getVariable() + * @see #getVariableLowerBound() + * @generated + */ + EReference getVariableLowerBound_Variable(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound Variable Upper Bound}'. + * + * + * @return the meta object for class 'Variable Upper Bound'. + * @see fr.irit.fiacre.xtext.fiacre.VariableUpperBound + * @generated + */ + EClass getVariableUpperBound(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#getVariable Variable}'. + * + * + * @return the meta object for the reference 'Variable'. + * @see fr.irit.fiacre.xtext.fiacre.VariableUpperBound#getVariable() + * @see #getVariableUpperBound() + * @generated + */ + EReference getVariableUpperBound_Variable(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isLeft Left}'. + * + * + * @return the meta object for the attribute 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isLeft() + * @see #getVariableUpperBound() + * @generated + */ + EAttribute getVariableUpperBound_Left(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isRight Right}'. + * + * + * @return the meta object for the attribute 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isRight() + * @see #getVariableUpperBound() + * @generated + */ + EAttribute getVariableUpperBound_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound Infinite Upper Bound}'. + * + * + * @return the meta object for class 'Infinite Upper Bound'. + * @see fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound + * @generated + */ + EClass getInfiniteUpperBound(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Requirement Requirement}'. + * + * + * @return the meta object for class 'Requirement'. + * @see fr.irit.fiacre.xtext.fiacre.Requirement + * @generated + */ + EClass getRequirement(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getProperty Property}'. + * + * + * @return the meta object for the reference 'Property'. + * @see fr.irit.fiacre.xtext.fiacre.Requirement#getProperty() + * @see #getRequirement() + * @generated + */ + EReference getRequirement_Property(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getPositive Positive}'. + * + * + * @return the meta object for the attribute 'Positive'. + * @see fr.irit.fiacre.xtext.fiacre.Requirement#getPositive() + * @see #getRequirement() + * @generated + */ + EAttribute getRequirement_Positive(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getNegative Negative}'. + * + * + * @return the meta object for the attribute 'Negative'. + * @see fr.irit.fiacre.xtext.fiacre.Requirement#getNegative() + * @see #getRequirement() + * @generated + */ + EAttribute getRequirement_Negative(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration Property Declaration}'. + * + * + * @return the meta object for class 'Property Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDeclaration + * @generated + */ + EClass getPropertyDeclaration(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration#getProperty Property}'. + * + * + * @return the meta object for the containment reference 'Property'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDeclaration#getProperty() + * @see #getPropertyDeclaration() + * @generated + */ + EReference getPropertyDeclaration_Property(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Property Property}'. + * + * + * @return the meta object for class 'Property'. + * @see fr.irit.fiacre.xtext.fiacre.Property + * @generated + */ + EClass getProperty(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PatternProperty Pattern Property}'. + * + * + * @return the meta object for class 'Pattern Property'. + * @see fr.irit.fiacre.xtext.fiacre.PatternProperty + * @generated + */ + EClass getPatternProperty(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLPattern LTL Pattern}'. + * + * + * @return the meta object for class 'LTL Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.LTLPattern + * @generated + */ + EClass getLTLPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLPattern#getProperty Property}'. + * + * + * @return the meta object for the containment reference 'Property'. + * @see fr.irit.fiacre.xtext.fiacre.LTLPattern#getProperty() + * @see #getLTLPattern() + * @generated + */ + EReference getLTLPattern_Property(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern Deadlock Free Pattern}'. + * + * + * @return the meta object for class 'Deadlock Free Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern + * @generated + */ + EClass getDeadlockFreePattern(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern Infinitely Often Pattern}'. + * + * + * @return the meta object for class 'Infinitely Often Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern + * @generated + */ + EClass getInfinitelyOftenPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern#getSubject() + * @see #getInfinitelyOftenPattern() + * @generated + */ + EReference getInfinitelyOftenPattern_Subject(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.MortalPattern Mortal Pattern}'. + * + * + * @return the meta object for class 'Mortal Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.MortalPattern + * @generated + */ + EClass getMortalPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.MortalPattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.MortalPattern#getSubject() + * @see #getMortalPattern() + * @generated + */ + EReference getMortalPattern_Subject(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern Presence Pattern}'. + * + * + * @return the meta object for class 'Presence Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern + * @generated + */ + EClass getPresencePattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getSubject() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Subject(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLasting Lasting}'. + * + * + * @return the meta object for the attribute 'Lasting'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getLasting() + * @see #getPresencePattern() + * @generated + */ + EAttribute getPresencePattern_Lasting(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getAfter After}'. + * + * + * @return the meta object for the containment reference 'After'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getAfter() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_After(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLower Lower}'. + * + * + * @return the meta object for the containment reference 'Lower'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getLower() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Lower(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUpper Upper}'. + * + * + * @return the meta object for the containment reference 'Upper'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getUpper() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Upper(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUntil Until}'. + * + * + * @return the meta object for the containment reference 'Until'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getUntil() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Until(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getBefore Before}'. + * + * + * @return the meta object for the containment reference 'Before'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getBefore() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Before(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMin Min}'. + * + * + * @return the meta object for the containment reference 'Min'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getMin() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Min(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMax Max}'. + * + * + * @return the meta object for the containment reference 'Max'. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern#getMax() + * @see #getPresencePattern() + * @generated + */ + EReference getPresencePattern_Max(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern Absence Pattern}'. + * + * + * @return the meta object for class 'Absence Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern + * @generated + */ + EClass getAbsencePattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getSubject() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Subject(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getAfter After}'. + * + * + * @return the meta object for the containment reference 'After'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getAfter() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_After(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getLower Lower}'. + * + * + * @return the meta object for the containment reference 'Lower'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getLower() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Lower(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUpper Upper}'. + * + * + * @return the meta object for the containment reference 'Upper'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUpper() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Upper(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUntil Until}'. + * + * + * @return the meta object for the containment reference 'Until'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getUntil() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Until(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getBefore Before}'. + * + * + * @return the meta object for the containment reference 'Before'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getBefore() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Before(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMin Min}'. + * + * + * @return the meta object for the containment reference 'Min'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMin() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Min(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMax Max}'. + * + * + * @return the meta object for the containment reference 'Max'. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern#getMax() + * @see #getAbsencePattern() + * @generated + */ + EReference getAbsencePattern_Max(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern Always Pattern}'. + * + * + * @return the meta object for class 'Always Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern + * @generated + */ + EClass getAlwaysPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getSubject() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_Subject(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getBefore Before}'. + * + * + * @return the meta object for the containment reference 'Before'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getBefore() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_Before(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getAfter After}'. + * + * + * @return the meta object for the containment reference 'After'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getAfter() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_After(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getUntil Until}'. + * + * + * @return the meta object for the containment reference 'Until'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getUntil() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_Until(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMin Min}'. + * + * + * @return the meta object for the containment reference 'Min'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMin() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_Min(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMax Max}'. + * + * + * @return the meta object for the containment reference 'Max'. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern#getMax() + * @see #getAlwaysPattern() + * @generated + */ + EReference getAlwaysPattern_Max(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.SequencePattern Sequence Pattern}'. + * + * + * @return the meta object for class 'Sequence Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.SequencePattern + * @generated + */ + EClass getSequencePattern(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLProperty LTL Property}'. + * + * + * @return the meta object for class 'LTL Property'. + * @see fr.irit.fiacre.xtext.fiacre.LTLProperty + * @generated + */ + EClass getLTLProperty(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.StateEvent State Event}'. + * + * + * @return the meta object for class 'State Event'. + * @see fr.irit.fiacre.xtext.fiacre.StateEvent + * @generated + */ + EClass getStateEvent(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.StateEvent#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.StateEvent#getSubject() + * @see #getStateEvent() + * @generated + */ + EReference getStateEvent_Subject(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.EnterStateEvent Enter State Event}'. + * + * + * @return the meta object for class 'Enter State Event'. + * @see fr.irit.fiacre.xtext.fiacre.EnterStateEvent + * @generated + */ + EClass getEnterStateEvent(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LeaveStateEvent Leave State Event}'. + * + * + * @return the meta object for class 'Leave State Event'. + * @see fr.irit.fiacre.xtext.fiacre.LeaveStateEvent + * @generated + */ + EClass getLeaveStateEvent(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Observable Observable}'. + * + * + * @return the meta object for class 'Observable'. + * @see fr.irit.fiacre.xtext.fiacre.Observable + * @generated + */ + EClass getObservable(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ObservableEvent Observable Event}'. + * + * + * @return the meta object for class 'Observable Event'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableEvent + * @generated + */ + EClass getObservableEvent(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PathEvent Path Event}'. + * + * + * @return the meta object for class 'Path Event'. + * @see fr.irit.fiacre.xtext.fiacre.PathEvent + * @generated + */ + EClass getPathEvent(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PathEvent#getPath Path}'. + * + * + * @return the meta object for the containment reference 'Path'. + * @see fr.irit.fiacre.xtext.fiacre.PathEvent#getPath() + * @see #getPathEvent() + * @generated + */ + EReference getPathEvent_Path(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PathEvent#getItem Item}'. + * + * + * @return the meta object for the containment reference 'Item'. + * @see fr.irit.fiacre.xtext.fiacre.PathEvent#getItem() + * @see #getPathEvent() + * @generated + */ + EReference getPathEvent_Item(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Path Path}'. + * + * + * @return the meta object for class 'Path'. + * @see fr.irit.fiacre.xtext.fiacre.Path + * @generated + */ + EClass getPath(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.Path#getItems Items}'. + * + * + * @return the meta object for the containment reference list 'Items'. + * @see fr.irit.fiacre.xtext.fiacre.Path#getItems() + * @see #getPath() + * @generated + */ + EReference getPath_Items(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PathItem Path Item}'. + * + * + * @return the meta object for class 'Path Item'. + * @see fr.irit.fiacre.xtext.fiacre.PathItem + * @generated + */ + EClass getPathItem(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NaturalItem Natural Item}'. + * + * + * @return the meta object for class 'Natural Item'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalItem + * @generated + */ + EClass getNaturalItem(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.NaturalItem#getValue Value}'. + * + * + * @return the meta object for the attribute 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalItem#getValue() + * @see #getNaturalItem() + * @generated + */ + EAttribute getNaturalItem_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NamedItem Named Item}'. + * + * + * @return the meta object for class 'Named Item'. + * @see fr.irit.fiacre.xtext.fiacre.NamedItem + * @generated + */ + EClass getNamedItem(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.NamedItem#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.NamedItem#getDeclaration() + * @see #getNamedItem() + * @generated + */ + EReference getNamedItem_Declaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Subject Subject}'. + * + * + * @return the meta object for class 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.Subject + * @generated + */ + EClass getSubject(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.StateSubject State Subject}'. + * + * + * @return the meta object for class 'State Subject'. + * @see fr.irit.fiacre.xtext.fiacre.StateSubject + * @generated + */ + EClass getStateSubject(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.StateSubject#getState State}'. + * + * + * @return the meta object for the reference 'State'. + * @see fr.irit.fiacre.xtext.fiacre.StateSubject#getState() + * @see #getStateSubject() + * @generated + */ + EReference getStateSubject_State(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ValueSubject Value Subject}'. + * + * + * @return the meta object for class 'Value Subject'. + * @see fr.irit.fiacre.xtext.fiacre.ValueSubject + * @generated + */ + EClass getValueSubject(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ValueSubject#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see fr.irit.fiacre.xtext.fiacre.ValueSubject#getValue() + * @see #getValueSubject() + * @generated + */ + EReference getValueSubject_Value(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TagSubject Tag Subject}'. + * + * + * @return the meta object for class 'Tag Subject'. + * @see fr.irit.fiacre.xtext.fiacre.TagSubject + * @generated + */ + EClass getTagSubject(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.TagSubject#getTag Tag}'. + * + * + * @return the meta object for the reference 'Tag'. + * @see fr.irit.fiacre.xtext.fiacre.TagSubject#getTag() + * @see #getTagSubject() + * @generated + */ + EReference getTagSubject_Tag(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.EventSubject Event Subject}'. + * + * + * @return the meta object for class 'Event Subject'. + * @see fr.irit.fiacre.xtext.fiacre.EventSubject + * @generated + */ + EClass getEventSubject(); + + /** + * Returns the meta object for the attribute '{@link fr.irit.fiacre.xtext.fiacre.EventSubject#getEvent Event}'. + * + * + * @return the meta object for the attribute 'Event'. + * @see fr.irit.fiacre.xtext.fiacre.EventSubject#getEvent() + * @see #getEventSubject() + * @generated + */ + EAttribute getEventSubject_Event(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TupleType Tuple Type}'. + * + * + * @return the meta object for class 'Tuple Type'. + * @see fr.irit.fiacre.xtext.fiacre.TupleType + * @generated + */ + EClass getTupleType(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.TupleType#getTypes Types}'. + * + * + * @return the meta object for the containment reference list 'Types'. + * @see fr.irit.fiacre.xtext.fiacre.TupleType#getTypes() + * @see #getTupleType() + * @generated + */ + EReference getTupleType_Types(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.NaturalType Natural Type}'. + * + * + * @return the meta object for class 'Natural Type'. + * @see fr.irit.fiacre.xtext.fiacre.NaturalType + * @generated + */ + EClass getNaturalType(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.IntegerType Integer Type}'. + * + * + * @return the meta object for class 'Integer Type'. + * @see fr.irit.fiacre.xtext.fiacre.IntegerType + * @generated + */ + EClass getIntegerType(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.BooleanType Boolean Type}'. + * + * + * @return the meta object for class 'Boolean Type'. + * @see fr.irit.fiacre.xtext.fiacre.BooleanType + * @generated + */ + EClass getBooleanType(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnlessStatement Unless Statement}'. + * + * + * @return the meta object for class 'Unless Statement'. + * @see fr.irit.fiacre.xtext.fiacre.UnlessStatement + * @generated + */ + EClass getUnlessStatement(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.UnlessStatement#getFollowers Followers}'. + * + * + * @return the meta object for the containment reference list 'Followers'. + * @see fr.irit.fiacre.xtext.fiacre.UnlessStatement#getFollowers() + * @see #getUnlessStatement() + * @generated + */ + EReference getUnlessStatement_Followers(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.StatementChoice Statement Choice}'. + * + * + * @return the meta object for class 'Statement Choice'. + * @see fr.irit.fiacre.xtext.fiacre.StatementChoice + * @generated + */ + EClass getStatementChoice(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.StatementChoice#getChoices Choices}'. + * + * + * @return the meta object for the containment reference list 'Choices'. + * @see fr.irit.fiacre.xtext.fiacre.StatementChoice#getChoices() + * @see #getStatementChoice() + * @generated + */ + EReference getStatementChoice_Choices(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.StatementSequence Statement Sequence}'. + * + * + * @return the meta object for class 'Statement Sequence'. + * @see fr.irit.fiacre.xtext.fiacre.StatementSequence + * @generated + */ + EClass getStatementSequence(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.StatementSequence#getStatements Statements}'. + * + * + * @return the meta object for the containment reference list 'Statements'. + * @see fr.irit.fiacre.xtext.fiacre.StatementSequence#getStatements() + * @see #getStatementSequence() + * @generated + */ + EReference getStatementSequence_Statements(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AssignStatement Assign Statement}'. + * + * + * @return the meta object for class 'Assign Statement'. + * @see fr.irit.fiacre.xtext.fiacre.AssignStatement + * @generated + */ + EClass getAssignStatement(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.AssignStatement#getPatterns Patterns}'. + * + * + * @return the meta object for the containment reference list 'Patterns'. + * @see fr.irit.fiacre.xtext.fiacre.AssignStatement#getPatterns() + * @see #getAssignStatement() + * @generated + */ + EReference getAssignStatement_Patterns(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.AssignStatement#getValues Values}'. + * + * + * @return the meta object for the containment reference list 'Values'. + * @see fr.irit.fiacre.xtext.fiacre.AssignStatement#getValues() + * @see #getAssignStatement() + * @generated + */ + EReference getAssignStatement_Values(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement Assign Any Statement}'. + * + * + * @return the meta object for class 'Assign Any Statement'. + * @see fr.irit.fiacre.xtext.fiacre.AssignAnyStatement + * @generated + */ + EClass getAssignAnyStatement(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getPatterns Patterns}'. + * + * + * @return the meta object for the containment reference list 'Patterns'. + * @see fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getPatterns() + * @see #getAssignAnyStatement() + * @generated + */ + EReference getAssignAnyStatement_Patterns(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getExp Exp}'. + * + * + * @return the meta object for the containment reference 'Exp'. + * @see fr.irit.fiacre.xtext.fiacre.AssignAnyStatement#getExp() + * @see #getAssignAnyStatement() + * @generated + */ + EReference getAssignAnyStatement_Exp(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.SendStatement Send Statement}'. + * + * + * @return the meta object for class 'Send Statement'. + * @see fr.irit.fiacre.xtext.fiacre.SendStatement + * @generated + */ + EClass getSendStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.SendStatement#getPort Port}'. + * + * + * @return the meta object for the containment reference 'Port'. + * @see fr.irit.fiacre.xtext.fiacre.SendStatement#getPort() + * @see #getSendStatement() + * @generated + */ + EReference getSendStatement_Port(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.SendStatement#getValues Values}'. + * + * + * @return the meta object for the containment reference list 'Values'. + * @see fr.irit.fiacre.xtext.fiacre.SendStatement#getValues() + * @see #getSendStatement() + * @generated + */ + EReference getSendStatement_Values(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement Receive Statement}'. + * + * + * @return the meta object for class 'Receive Statement'. + * @see fr.irit.fiacre.xtext.fiacre.ReceiveStatement + * @generated + */ + EClass getReceiveStatement(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPort Port}'. + * + * + * @return the meta object for the containment reference 'Port'. + * @see fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPort() + * @see #getReceiveStatement() + * @generated + */ + EReference getReceiveStatement_Port(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPatterns Patterns}'. + * + * + * @return the meta object for the containment reference list 'Patterns'. + * @see fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPatterns() + * @see #getReceiveStatement() + * @generated + */ + EReference getReceiveStatement_Patterns(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getExp Exp}'. + * + * + * @return the meta object for the containment reference 'Exp'. + * @see fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getExp() + * @see #getReceiveStatement() + * @generated + */ + EReference getReceiveStatement_Exp(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern Constructor Pattern}'. + * + * + * @return the meta object for class 'Constructor Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.ConstructorPattern + * @generated + */ + EClass getConstructorPattern(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see fr.irit.fiacre.xtext.fiacre.ConstructorPattern#getParameters() + * @see #getConstructorPattern() + * @generated + */ + EReference getConstructorPattern_Parameters(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern Array Access Pattern}'. + * + * + * @return the meta object for class 'Array Access Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern + * @generated + */ + EClass getArrayAccessPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getSource Source}'. + * + * + * @return the meta object for the containment reference 'Source'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getSource() + * @see #getArrayAccessPattern() + * @generated + */ + EReference getArrayAccessPattern_Source(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern#getIndex() + * @see #getArrayAccessPattern() + * @generated + */ + EReference getArrayAccessPattern_Index(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern Record Access Pattern}'. + * + * + * @return the meta object for class 'Record Access Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessPattern + * @generated + */ + EClass getRecordAccessPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getSource Source}'. + * + * + * @return the meta object for the containment reference 'Source'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getSource() + * @see #getRecordAccessPattern() + * @generated + */ + EReference getRecordAccessPattern_Source(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getField Field}'. + * + * + * @return the meta object for the reference 'Field'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getField() + * @see #getRecordAccessPattern() + * @generated + */ + EReference getRecordAccessPattern_Field(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AllExpression All Expression}'. + * + * + * @return the meta object for class 'All Expression'. + * @see fr.irit.fiacre.xtext.fiacre.AllExpression + * @generated + */ + EClass getAllExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.AllExpression#getIndex() + * @see #getAllExpression() + * @generated + */ + EReference getAllExpression_Index(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.AllExpression#getType() + * @see #getAllExpression() + * @generated + */ + EReference getAllExpression_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.AllExpression#getChild() + * @see #getAllExpression() + * @generated + */ + EReference getAllExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression Exists Expression}'. + * + * + * @return the meta object for class 'Exists Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsExpression + * @generated + */ + EClass getExistsExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsExpression#getIndex() + * @see #getExistsExpression() + * @generated + */ + EReference getExistsExpression_Index(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsExpression#getType() + * @see #getExistsExpression() + * @generated + */ + EReference getExistsExpression_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsExpression#getChild() + * @see #getExistsExpression() + * @generated + */ + EReference getExistsExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Conditional Conditional}'. + * + * + * @return the meta object for class 'Conditional'. + * @see fr.irit.fiacre.xtext.fiacre.Conditional + * @generated + */ + EClass getConditional(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getCondition Condition}'. + * + * + * @return the meta object for the containment reference 'Condition'. + * @see fr.irit.fiacre.xtext.fiacre.Conditional#getCondition() + * @see #getConditional() + * @generated + */ + EReference getConditional_Condition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getThen Then}'. + * + * + * @return the meta object for the containment reference 'Then'. + * @see fr.irit.fiacre.xtext.fiacre.Conditional#getThen() + * @see #getConditional() + * @generated + */ + EReference getConditional_Then(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Conditional#getElse Else}'. + * + * + * @return the meta object for the containment reference 'Else'. + * @see fr.irit.fiacre.xtext.fiacre.Conditional#getElse() + * @see #getConditional() + * @generated + */ + EReference getConditional_Else(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Disjunction Disjunction}'. + * + * + * @return the meta object for class 'Disjunction'. + * @see fr.irit.fiacre.xtext.fiacre.Disjunction + * @generated + */ + EClass getDisjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Disjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Disjunction#getLeft() + * @see #getDisjunction() + * @generated + */ + EReference getDisjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Disjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Disjunction#getRight() + * @see #getDisjunction() + * @generated + */ + EReference getDisjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Implication Implication}'. + * + * + * @return the meta object for class 'Implication'. + * @see fr.irit.fiacre.xtext.fiacre.Implication + * @generated + */ + EClass getImplication(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Implication#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Implication#getLeft() + * @see #getImplication() + * @generated + */ + EReference getImplication_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Implication#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Implication#getRight() + * @see #getImplication() + * @generated + */ + EReference getImplication_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Conjunction Conjunction}'. + * + * + * @return the meta object for class 'Conjunction'. + * @see fr.irit.fiacre.xtext.fiacre.Conjunction + * @generated + */ + EClass getConjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Conjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Conjunction#getLeft() + * @see #getConjunction() + * @generated + */ + EReference getConjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Conjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Conjunction#getRight() + * @see #getConjunction() + * @generated + */ + EReference getConjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual Comparison Equal}'. + * + * + * @return the meta object for class 'Comparison Equal'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonEqual + * @generated + */ + EClass getComparisonEqual(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getLeft() + * @see #getComparisonEqual() + * @generated + */ + EReference getComparisonEqual_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonEqual#getRight() + * @see #getComparisonEqual() + * @generated + */ + EReference getComparisonEqual_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual Comparison Not Equal}'. + * + * + * @return the meta object for class 'Comparison Not Equal'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual + * @generated + */ + EClass getComparisonNotEqual(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getLeft() + * @see #getComparisonNotEqual() + * @generated + */ + EReference getComparisonNotEqual_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual#getRight() + * @see #getComparisonNotEqual() + * @generated + */ + EReference getComparisonNotEqual_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser Comparison Lesser}'. + * + * + * @return the meta object for class 'Comparison Lesser'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesser + * @generated + */ + EClass getComparisonLesser(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getLeft() + * @see #getComparisonLesser() + * @generated + */ + EReference getComparisonLesser_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesser#getRight() + * @see #getComparisonLesser() + * @generated + */ + EReference getComparisonLesser_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual Comparison Lesser Equal}'. + * + * + * @return the meta object for class 'Comparison Lesser Equal'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual + * @generated + */ + EClass getComparisonLesserEqual(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getLeft() + * @see #getComparisonLesserEqual() + * @generated + */ + EReference getComparisonLesserEqual_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual#getRight() + * @see #getComparisonLesserEqual() + * @generated + */ + EReference getComparisonLesserEqual_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater Comparison Greater}'. + * + * + * @return the meta object for class 'Comparison Greater'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreater + * @generated + */ + EClass getComparisonGreater(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getLeft() + * @see #getComparisonGreater() + * @generated + */ + EReference getComparisonGreater_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreater#getRight() + * @see #getComparisonGreater() + * @generated + */ + EReference getComparisonGreater_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual Comparison Greater Equal}'. + * + * + * @return the meta object for class 'Comparison Greater Equal'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual + * @generated + */ + EClass getComparisonGreaterEqual(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getLeft() + * @see #getComparisonGreaterEqual() + * @generated + */ + EReference getComparisonGreaterEqual_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual#getRight() + * @see #getComparisonGreaterEqual() + * @generated + */ + EReference getComparisonGreaterEqual_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Addition Addition}'. + * + * + * @return the meta object for class 'Addition'. + * @see fr.irit.fiacre.xtext.fiacre.Addition + * @generated + */ + EClass getAddition(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Addition#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Addition#getLeft() + * @see #getAddition() + * @generated + */ + EReference getAddition_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Addition#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Addition#getRight() + * @see #getAddition() + * @generated + */ + EReference getAddition_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Substraction Substraction}'. + * + * + * @return the meta object for class 'Substraction'. + * @see fr.irit.fiacre.xtext.fiacre.Substraction + * @generated + */ + EClass getSubstraction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Substraction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Substraction#getLeft() + * @see #getSubstraction() + * @generated + */ + EReference getSubstraction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Substraction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Substraction#getRight() + * @see #getSubstraction() + * @generated + */ + EReference getSubstraction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Multiplication Multiplication}'. + * + * + * @return the meta object for class 'Multiplication'. + * @see fr.irit.fiacre.xtext.fiacre.Multiplication + * @generated + */ + EClass getMultiplication(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Multiplication#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Multiplication#getLeft() + * @see #getMultiplication() + * @generated + */ + EReference getMultiplication_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Multiplication#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Multiplication#getRight() + * @see #getMultiplication() + * @generated + */ + EReference getMultiplication_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Division Division}'. + * + * + * @return the meta object for class 'Division'. + * @see fr.irit.fiacre.xtext.fiacre.Division + * @generated + */ + EClass getDivision(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Division#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Division#getLeft() + * @see #getDivision() + * @generated + */ + EReference getDivision_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Division#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Division#getRight() + * @see #getDivision() + * @generated + */ + EReference getDivision_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Modulo Modulo}'. + * + * + * @return the meta object for class 'Modulo'. + * @see fr.irit.fiacre.xtext.fiacre.Modulo + * @generated + */ + EClass getModulo(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Modulo#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.Modulo#getLeft() + * @see #getModulo() + * @generated + */ + EReference getModulo_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Modulo#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.Modulo#getRight() + * @see #getModulo() + * @generated + */ + EReference getModulo_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression Unary Plus Expression}'. + * + * + * @return the meta object for class 'Unary Plus Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression + * @generated + */ + EClass getUnaryPlusExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression#getChild() + * @see #getUnaryPlusExpression() + * @generated + */ + EReference getUnaryPlusExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression Unary Minus Expression}'. + * + * + * @return the meta object for class 'Unary Minus Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression + * @generated + */ + EClass getUnaryMinusExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression#getChild() + * @see #getUnaryMinusExpression() + * @generated + */ + EReference getUnaryMinusExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression Unary Negation Expression}'. + * + * + * @return the meta object for class 'Unary Negation Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression + * @generated + */ + EClass getUnaryNegationExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression#getChild() + * @see #getUnaryNegationExpression() + * @generated + */ + EReference getUnaryNegationExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression Unary First Expression}'. + * + * + * @return the meta object for class 'Unary First Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression + * @generated + */ + EClass getUnaryFirstExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression#getChild() + * @see #getUnaryFirstExpression() + * @generated + */ + EReference getUnaryFirstExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression Unary Length Expression}'. + * + * + * @return the meta object for class 'Unary Length Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression + * @generated + */ + EClass getUnaryLengthExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression#getChild() + * @see #getUnaryLengthExpression() + * @generated + */ + EReference getUnaryLengthExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression Unary Coerce Expression}'. + * + * + * @return the meta object for class 'Unary Coerce Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression + * @generated + */ + EClass getUnaryCoerceExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression#getChild() + * @see #getUnaryCoerceExpression() + * @generated + */ + EReference getUnaryCoerceExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression Unary Full Expression}'. + * + * + * @return the meta object for class 'Unary Full Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFullExpression + * @generated + */ + EClass getUnaryFullExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFullExpression#getChild() + * @see #getUnaryFullExpression() + * @generated + */ + EReference getUnaryFullExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression Unary De Queue Expression}'. + * + * + * @return the meta object for class 'Unary De Queue Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression + * @generated + */ + EClass getUnaryDeQueueExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression#getChild() + * @see #getUnaryDeQueueExpression() + * @generated + */ + EReference getUnaryDeQueueExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression Unary Empty Expression}'. + * + * + * @return the meta object for class 'Unary Empty Expression'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression + * @generated + */ + EClass getUnaryEmptyExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression#getChild() + * @see #getUnaryEmptyExpression() + * @generated + */ + EReference getUnaryEmptyExpression_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.Projection Projection}'. + * + * + * @return the meta object for class 'Projection'. + * @see fr.irit.fiacre.xtext.fiacre.Projection + * @generated + */ + EClass getProjection(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Projection#getChannel Channel}'. + * + * + * @return the meta object for the containment reference 'Channel'. + * @see fr.irit.fiacre.xtext.fiacre.Projection#getChannel() + * @see #getProjection() + * @generated + */ + EReference getProjection_Channel(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.Projection#getField Field}'. + * + * + * @return the meta object for the containment reference 'Field'. + * @see fr.irit.fiacre.xtext.fiacre.Projection#getField() + * @see #getProjection() + * @generated + */ + EReference getProjection_Field(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression Construction Expression}'. + * + * + * @return the meta object for class 'Construction Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ConstructionExpression + * @generated + */ + EClass getConstructionExpression(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression#getParameters Parameters}'. + * + * + * @return the meta object for the containment reference list 'Parameters'. + * @see fr.irit.fiacre.xtext.fiacre.ConstructionExpression#getParameters() + * @see #getConstructionExpression() + * @generated + */ + EReference getConstructionExpression_Parameters(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression Array Access Expression}'. + * + * + * @return the meta object for class 'Array Access Expression'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression + * @generated + */ + EClass getArrayAccessExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getChild() + * @see #getArrayAccessExpression() + * @generated + */ + EReference getArrayAccessExpression_Child(); + + /** + * Returns the meta object for the containment reference list '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getIndexes Indexes}'. + * + * + * @return the meta object for the containment reference list 'Indexes'. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression#getIndexes() + * @see #getArrayAccessExpression() + * @generated + */ + EReference getArrayAccessExpression_Indexes(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression Record Access Expression}'. + * + * + * @return the meta object for class 'Record Access Expression'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessExpression + * @generated + */ + EClass getRecordAccessExpression(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getChild() + * @see #getRecordAccessExpression() + * @generated + */ + EReference getRecordAccessExpression_Child(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getField Field}'. + * + * + * @return the meta object for the reference 'Field'. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getField() + * @see #getRecordAccessExpression() + * @generated + */ + EReference getRecordAccessExpression_Field(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.TrueLiteral True Literal}'. + * + * + * @return the meta object for class 'True Literal'. + * @see fr.irit.fiacre.xtext.fiacre.TrueLiteral + * @generated + */ + EClass getTrueLiteral(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.FalseLiteral False Literal}'. + * + * + * @return the meta object for class 'False Literal'. + * @see fr.irit.fiacre.xtext.fiacre.FalseLiteral + * @generated + */ + EClass getFalseLiteral(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.AllProperty All Property}'. + * + * + * @return the meta object for class 'All Property'. + * @see fr.irit.fiacre.xtext.fiacre.AllProperty + * @generated + */ + EClass getAllProperty(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getVariable Variable}'. + * + * + * @return the meta object for the containment reference 'Variable'. + * @see fr.irit.fiacre.xtext.fiacre.AllProperty#getVariable() + * @see #getAllProperty() + * @generated + */ + EReference getAllProperty_Variable(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.AllProperty#getType() + * @see #getAllProperty() + * @generated + */ + EReference getAllProperty_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.AllProperty#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.AllProperty#getChild() + * @see #getAllProperty() + * @generated + */ + EReference getAllProperty_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty Exists Property}'. + * + * + * @return the meta object for class 'Exists Property'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsProperty + * @generated + */ + EClass getExistsProperty(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getVariable Variable}'. + * + * + * @return the meta object for the containment reference 'Variable'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsProperty#getVariable() + * @see #getExistsProperty() + * @generated + */ + EReference getExistsProperty_Variable(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsProperty#getType() + * @see #getExistsProperty() + * @generated + */ + EReference getExistsProperty_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.ExistsProperty#getChild() + * @see #getExistsProperty() + * @generated + */ + EReference getExistsProperty_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction Property Disjunction}'. + * + * + * @return the meta object for class 'Property Disjunction'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDisjunction + * @generated + */ + EClass getPropertyDisjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getLeft() + * @see #getPropertyDisjunction() + * @generated + */ + EReference getPropertyDisjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getRight() + * @see #getPropertyDisjunction() + * @generated + */ + EReference getPropertyDisjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication Property Implication}'. + * + * + * @return the meta object for class 'Property Implication'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyImplication + * @generated + */ + EClass getPropertyImplication(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyImplication#getLeft() + * @see #getPropertyImplication() + * @generated + */ + EReference getPropertyImplication_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyImplication#getRight() + * @see #getPropertyImplication() + * @generated + */ + EReference getPropertyImplication_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction Property Conjunction}'. + * + * + * @return the meta object for class 'Property Conjunction'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyConjunction + * @generated + */ + EClass getPropertyConjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getLeft() + * @see #getPropertyConjunction() + * @generated + */ + EReference getPropertyConjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getRight() + * @see #getPropertyConjunction() + * @generated + */ + EReference getPropertyConjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PropertyNegation Property Negation}'. + * + * + * @return the meta object for class 'Property Negation'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyNegation + * @generated + */ + EClass getPropertyNegation(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PropertyNegation#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.PropertyNegation#getChild() + * @see #getPropertyNegation() + * @generated + */ + EReference getPropertyNegation_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern Leads To Pattern}'. + * + * + * @return the meta object for class 'Leads To Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern + * @generated + */ + EClass getLeadsToPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getSubject() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Subject(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getFollower Follower}'. + * + * + * @return the meta object for the containment reference 'Follower'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getFollower() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Follower(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getBefore Before}'. + * + * + * @return the meta object for the containment reference 'Before'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getBefore() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Before(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getLower Lower}'. + * + * + * @return the meta object for the containment reference 'Lower'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getLower() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Lower(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUpper Upper}'. + * + * + * @return the meta object for the containment reference 'Upper'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUpper() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Upper(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getAfter After}'. + * + * + * @return the meta object for the containment reference 'After'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getAfter() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_After(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUntil Until}'. + * + * + * @return the meta object for the containment reference 'Until'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUntil() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Until(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMin Min}'. + * + * + * @return the meta object for the containment reference 'Min'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMin() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Min(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMax Max}'. + * + * + * @return the meta object for the containment reference 'Max'. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMax() + * @see #getLeadsToPattern() + * @generated + */ + EReference getLeadsToPattern_Max(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern Precedes Pattern}'. + * + * + * @return the meta object for class 'Precedes Pattern'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern + * @generated + */ + EClass getPrecedesPattern(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getSubject Subject}'. + * + * + * @return the meta object for the containment reference 'Subject'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getSubject() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Subject(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getFollower Follower}'. + * + * + * @return the meta object for the containment reference 'Follower'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getFollower() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Follower(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getBefore Before}'. + * + * + * @return the meta object for the containment reference 'Before'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getBefore() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Before(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getAfter After}'. + * + * + * @return the meta object for the containment reference 'After'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getAfter() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_After(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getUntil Until}'. + * + * + * @return the meta object for the containment reference 'Until'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getUntil() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Until(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMin Min}'. + * + * + * @return the meta object for the containment reference 'Min'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMin() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Min(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMax Max}'. + * + * + * @return the meta object for the containment reference 'Max'. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMax() + * @see #getPrecedesPattern() + * @generated + */ + EReference getPrecedesPattern_Max(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLAll LTL All}'. + * + * + * @return the meta object for class 'LTL All'. + * @see fr.irit.fiacre.xtext.fiacre.LTLAll + * @generated + */ + EClass getLTLAll(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.LTLAll#getIndex() + * @see #getLTLAll() + * @generated + */ + EReference getLTLAll_Index(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.LTLAll#getType() + * @see #getLTLAll() + * @generated + */ + EReference getLTLAll_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.LTLAll#getChild() + * @see #getLTLAll() + * @generated + */ + EReference getLTLAll_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLExists LTL Exists}'. + * + * + * @return the meta object for class 'LTL Exists'. + * @see fr.irit.fiacre.xtext.fiacre.LTLExists + * @generated + */ + EClass getLTLExists(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getIndex Index}'. + * + * + * @return the meta object for the containment reference 'Index'. + * @see fr.irit.fiacre.xtext.fiacre.LTLExists#getIndex() + * @see #getLTLExists() + * @generated + */ + EReference getLTLExists_Index(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getType Type}'. + * + * + * @return the meta object for the containment reference 'Type'. + * @see fr.irit.fiacre.xtext.fiacre.LTLExists#getType() + * @see #getLTLExists() + * @generated + */ + EReference getLTLExists_Type(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.LTLExists#getChild() + * @see #getLTLExists() + * @generated + */ + EReference getLTLExists_Child(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction LTL Disjunction}'. + * + * + * @return the meta object for class 'LTL Disjunction'. + * @see fr.irit.fiacre.xtext.fiacre.LTLDisjunction + * @generated + */ + EClass getLTLDisjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getLeft() + * @see #getLTLDisjunction() + * @generated + */ + EReference getLTLDisjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getRight() + * @see #getLTLDisjunction() + * @generated + */ + EReference getLTLDisjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication LTL Implication}'. + * + * + * @return the meta object for class 'LTL Implication'. + * @see fr.irit.fiacre.xtext.fiacre.LTLImplication + * @generated + */ + EClass getLTLImplication(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LTLImplication#getLeft() + * @see #getLTLImplication() + * @generated + */ + EReference getLTLImplication_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LTLImplication#getRight() + * @see #getLTLImplication() + * @generated + */ + EReference getLTLImplication_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction LTL Conjunction}'. + * + * + * @return the meta object for class 'LTL Conjunction'. + * @see fr.irit.fiacre.xtext.fiacre.LTLConjunction + * @generated + */ + EClass getLTLConjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LTLConjunction#getLeft() + * @see #getLTLConjunction() + * @generated + */ + EReference getLTLConjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LTLConjunction#getRight() + * @see #getLTLConjunction() + * @generated + */ + EReference getLTLConjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil LTL Until}'. + * + * + * @return the meta object for class 'LTL Until'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUntil + * @generated + */ + EClass getLTLUntil(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUntil#getLeft() + * @see #getLTLUntil() + * @generated + */ + EReference getLTLUntil_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUntil#getRight() + * @see #getLTLUntil() + * @generated + */ + EReference getLTLUntil_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease LTL Release}'. + * + * + * @return the meta object for class 'LTL Release'. + * @see fr.irit.fiacre.xtext.fiacre.LTLRelease + * @generated + */ + EClass getLTLRelease(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.LTLRelease#getLeft() + * @see #getLTLRelease() + * @generated + */ + EReference getLTLRelease_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.LTLRelease#getRight() + * @see #getLTLRelease() + * @generated + */ + EReference getLTLRelease_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation LTL Unary Negation}'. + * + * + * @return the meta object for class 'LTL Unary Negation'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation + * @generated + */ + EClass getLTLUnaryNegation(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation#getOperand Operand}'. + * + * + * @return the meta object for the containment reference 'Operand'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation#getOperand() + * @see #getLTLUnaryNegation() + * @generated + */ + EReference getLTLUnaryNegation_Operand(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext LTL Unary Next}'. + * + * + * @return the meta object for class 'LTL Unary Next'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNext + * @generated + */ + EClass getLTLUnaryNext(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext#getOperand Operand}'. + * + * + * @return the meta object for the containment reference 'Operand'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNext#getOperand() + * @see #getLTLUnaryNext() + * @generated + */ + EReference getLTLUnaryNext_Operand(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways LTL Unary Always}'. + * + * + * @return the meta object for class 'LTL Unary Always'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways + * @generated + */ + EClass getLTLUnaryAlways(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways#getOperand Operand}'. + * + * + * @return the meta object for the containment reference 'Operand'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways#getOperand() + * @see #getLTLUnaryAlways() + * @generated + */ + EReference getLTLUnaryAlways_Operand(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually LTL Unary Eventually}'. + * + * + * @return the meta object for class 'LTL Unary Eventually'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually + * @generated + */ + EClass getLTLUnaryEventually(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually#getOperand Operand}'. + * + * + * @return the meta object for the containment reference 'Operand'. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually#getOperand() + * @see #getLTLUnaryEventually() + * @generated + */ + EReference getLTLUnaryEventually_Operand(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.LTLVariable LTL Variable}'. + * + * + * @return the meta object for class 'LTL Variable'. + * @see fr.irit.fiacre.xtext.fiacre.LTLVariable + * @generated + */ + EClass getLTLVariable(); + + /** + * Returns the meta object for the reference '{@link fr.irit.fiacre.xtext.fiacre.LTLVariable#getDeclaration Declaration}'. + * + * + * @return the meta object for the reference 'Declaration'. + * @see fr.irit.fiacre.xtext.fiacre.LTLVariable#getDeclaration() + * @see #getLTLVariable() + * @generated + */ + EReference getLTLVariable_Declaration(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction Observable Disjunction}'. + * + * + * @return the meta object for class 'Observable Disjunction'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableDisjunction + * @generated + */ + EClass getObservableDisjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getLeft() + * @see #getObservableDisjunction() + * @generated + */ + EReference getObservableDisjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getRight() + * @see #getObservableDisjunction() + * @generated + */ + EReference getObservableDisjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication Observable Implication}'. + * + * + * @return the meta object for class 'Observable Implication'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableImplication + * @generated + */ + EClass getObservableImplication(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableImplication#getLeft() + * @see #getObservableImplication() + * @generated + */ + EReference getObservableImplication_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableImplication#getRight() + * @see #getObservableImplication() + * @generated + */ + EReference getObservableImplication_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction Observable Conjunction}'. + * + * + * @return the meta object for class 'Observable Conjunction'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableConjunction + * @generated + */ + EClass getObservableConjunction(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getLeft Left}'. + * + * + * @return the meta object for the containment reference 'Left'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getLeft() + * @see #getObservableConjunction() + * @generated + */ + EReference getObservableConjunction_Left(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getRight Right}'. + * + * + * @return the meta object for the containment reference 'Right'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getRight() + * @see #getObservableConjunction() + * @generated + */ + EReference getObservableConjunction_Right(); + + /** + * Returns the meta object for class '{@link fr.irit.fiacre.xtext.fiacre.ObservableNegation Observable Negation}'. + * + * + * @return the meta object for class 'Observable Negation'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableNegation + * @generated + */ + EClass getObservableNegation(); + + /** + * Returns the meta object for the containment reference '{@link fr.irit.fiacre.xtext.fiacre.ObservableNegation#getChild Child}'. + * + * + * @return the meta object for the containment reference 'Child'. + * @see fr.irit.fiacre.xtext.fiacre.ObservableNegation#getChild() + * @see #getObservableNegation() + * @generated + */ + EReference getObservableNegation_Child(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + FiacreFactory getFiacreFactory(); + +} //FiacrePackage diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FieldExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FieldExpression.java new file mode 100644 index 0000000..08ff8ae --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FieldExpression.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Field Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getField Field}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFieldExpression() + * @model + * @generated + */ +public interface FieldExpression extends EObject +{ + /** + * Returns the value of the 'Field' reference. + * + *

+ * If the meaning of the 'Field' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Field' reference. + * @see #setField(RecordFieldDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFieldExpression_Field() + * @model + * @generated + */ + RecordFieldDeclarationUse getField(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getField Field}' reference. + * + * + * @param value the new value of the 'Field' reference. + * @see #getField() + * @generated + */ + void setField(RecordFieldDeclarationUse value); + + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFieldExpression_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // FieldExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ForeachStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ForeachStatement.java new file mode 100644 index 0000000..e8e111e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ForeachStatement.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Foreach Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getBody Body}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getForeachStatement() + * @model + * @generated + */ +public interface ForeachStatement extends Statement +{ + /** + * Returns the value of the 'Variable' containment reference. + * + *

+ * If the meaning of the 'Variable' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable' containment reference. + * @see #setVariable(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getForeachStatement_Variable() + * @model containment="true" + * @generated + */ + VariableDeclaration getVariable(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getVariable Variable}' containment reference. + * + * + * @param value the new value of the 'Variable' containment reference. + * @see #getVariable() + * @generated + */ + void setVariable(VariableDeclaration value); + + /** + * Returns the value of the 'Body' containment reference. + * + *

+ * If the meaning of the 'Body' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference. + * @see #setBody(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getForeachStatement_Body() + * @model containment="true" + * @generated + */ + Statement getBody(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Statement value); + +} // ForeachStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FunctionDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FunctionDeclaration.java new file mode 100644 index 0000000..8d8b55c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/FunctionDeclaration.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Function Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getStatement Statement}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFunctionDeclaration() + * @model + * @generated + */ +public interface FunctionDeclaration extends ExpressionDeclarationUse, ParameterizedDeclaration +{ + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFunctionDeclaration_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + + /** + * Returns the value of the 'Statement' containment reference. + * + *

+ * If the meaning of the 'Statement' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Statement' containment reference. + * @see #setStatement(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getFunctionDeclaration_Statement() + * @model containment="true" + * @generated + */ + Statement getStatement(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration#getStatement Statement}' containment reference. + * + * + * @param value the new value of the 'Statement' containment reference. + * @see #getStatement() + * @generated + */ + void setStatement(Statement value); + +} // FunctionDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierExpression.java new file mode 100644 index 0000000..4f5d045 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Identifier Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression#getDeclaration Declaration}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIdentifierExpression() + * @model + * @generated + */ +public interface IdentifierExpression extends ValueExpression, Expression +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(ExpressionDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIdentifierExpression_Declaration() + * @model + * @generated + */ + ExpressionDeclarationUse getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(ExpressionDeclarationUse value); + +} // IdentifierExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierPattern.java new file mode 100644 index 0000000..6102a2c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IdentifierPattern.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Identifier Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern#getDeclaration Declaration}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIdentifierPattern() + * @model + * @generated + */ +public interface IdentifierPattern extends Pattern +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(PatternDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIdentifierPattern_Declaration() + * @model + * @generated + */ + PatternDeclarationUse getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(PatternDeclarationUse value); + +} // IdentifierPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Implication.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Implication.java new file mode 100644 index 0000000..e044121 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Implication.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Implication'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Implication#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Implication#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getImplication() + * @model + * @generated + */ +public interface Implication extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getImplication_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Implication#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getImplication_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Implication#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Implication diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ImportDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ImportDeclaration.java new file mode 100644 index 0000000..95f52a8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ImportDeclaration.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Import Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration#getImportURI Import URI}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getImportDeclaration() + * @model + * @generated + */ +public interface ImportDeclaration extends EObject +{ + /** + * Returns the value of the 'Import URI' attribute. + * + *

+ * If the meaning of the 'Import URI' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Import URI' attribute. + * @see #setImportURI(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getImportDeclaration_ImportURI() + * @model + * @generated + */ + String getImportURI(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration#getImportURI Import URI}' attribute. + * + * + * @param value the new value of the 'Import URI' attribute. + * @see #getImportURI() + * @generated + */ + void setImportURI(String value); + +} // ImportDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfiniteUpperBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfiniteUpperBound.java new file mode 100644 index 0000000..859b7ff --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfiniteUpperBound.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Infinite Upper Bound'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getInfiniteUpperBound() + * @model + * @generated + */ +public interface InfiniteUpperBound extends UpperBound +{ +} // InfiniteUpperBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfinitelyOftenPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfinitelyOftenPattern.java new file mode 100644 index 0000000..b836e1f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InfinitelyOftenPattern.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Infinitely Often Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern#getSubject Subject}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getInfinitelyOftenPattern() + * @model + * @generated + */ +public interface InfinitelyOftenPattern extends PatternProperty +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getInfinitelyOftenPattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + +} // InfinitelyOftenPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InstanceDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InstanceDeclaration.java new file mode 100644 index 0000000..3596e49 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/InstanceDeclaration.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Instance Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration#getInstance Instance}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getInstanceDeclaration() + * @model + * @generated + */ +public interface InstanceDeclaration extends PathDeclarationUse, Block +{ + /** + * Returns the value of the 'Instance' containment reference. + * + *

+ * If the meaning of the 'Instance' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Instance' containment reference. + * @see #setInstance(ComponentInstance) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getInstanceDeclaration_Instance() + * @model containment="true" + * @generated + */ + ComponentInstance getInstance(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration#getInstance Instance}' containment reference. + * + * + * @param value the new value of the 'Instance' containment reference. + * @see #getInstance() + * @generated + */ + void setInstance(ComponentInstance value); + +} // InstanceDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerPattern.java new file mode 100644 index 0000000..0e1f9b0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerPattern.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Integer Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#isNegative Negative}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIntegerPattern() + * @model + * @generated + */ +public interface IntegerPattern extends Pattern +{ + /** + * Returns the value of the 'Negative' attribute. + * + *

+ * If the meaning of the 'Negative' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Negative' attribute. + * @see #setNegative(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIntegerPattern_Negative() + * @model + * @generated + */ + boolean isNegative(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#isNegative Negative}' attribute. + * + * + * @param value the new value of the 'Negative' attribute. + * @see #isNegative() + * @generated + */ + void setNegative(boolean value); + + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIntegerPattern_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // IntegerPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerType.java new file mode 100644 index 0000000..6dedf67 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/IntegerType.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Integer Type'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getIntegerType() + * @model + * @generated + */ +public interface IntegerType extends BasicType +{ +} // IntegerType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLAll.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLAll.java new file mode 100644 index 0000000..b84ec17 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLAll.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL All'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLAll#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLAll#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLAll#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLAll() + * @model + * @generated + */ +public interface LTLAll extends LTLProperty +{ + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLAll_Index() + * @model containment="true" + * @generated + */ + VariableDeclaration getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLAll_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLAll_Child() + * @model containment="true" + * @generated + */ + LTLProperty getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLAll#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(LTLProperty value); + +} // LTLAll diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLConjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLConjunction.java new file mode 100644 index 0000000..8bb7ea9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLConjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLConjunction() + * @model + * @generated + */ +public interface LTLConjunction extends LTLProperty +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLConjunction_Left() + * @model containment="true" + * @generated + */ + LTLProperty getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LTLProperty value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLConjunction_Right() + * @model containment="true" + * @generated + */ + LTLProperty getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(LTLProperty value); + +} // LTLConjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLDisjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLDisjunction.java new file mode 100644 index 0000000..887ba2f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLDisjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLDisjunction() + * @model + * @generated + */ +public interface LTLDisjunction extends LTLProperty +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLDisjunction_Left() + * @model containment="true" + * @generated + */ + LTLProperty getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LTLProperty value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLDisjunction_Right() + * @model containment="true" + * @generated + */ + LTLProperty getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(LTLProperty value); + +} // LTLDisjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLExists.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLExists.java new file mode 100644 index 0000000..f3efbb7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLExists.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Exists'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLExists#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLExists#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLExists#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLExists() + * @model + * @generated + */ +public interface LTLExists extends LTLProperty +{ + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLExists_Index() + * @model containment="true" + * @generated + */ + VariableDeclaration getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLExists_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLExists_Child() + * @model containment="true" + * @generated + */ + LTLProperty getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLExists#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(LTLProperty value); + +} // LTLExists diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLImplication.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLImplication.java new file mode 100644 index 0000000..cc5a8f9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLImplication.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Implication'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLImplication() + * @model + * @generated + */ +public interface LTLImplication extends LTLProperty +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLImplication_Left() + * @model containment="true" + * @generated + */ + LTLProperty getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LTLProperty value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLImplication_Right() + * @model containment="true" + * @generated + */ + LTLProperty getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(LTLProperty value); + +} // LTLImplication diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLPattern.java new file mode 100644 index 0000000..f6b25d1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLPattern.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLPattern#getProperty Property}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLPattern() + * @model + * @generated + */ +public interface LTLPattern extends PatternProperty +{ + /** + * Returns the value of the 'Property' containment reference. + * + *

+ * If the meaning of the 'Property' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Property' containment reference. + * @see #setProperty(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLPattern_Property() + * @model containment="true" + * @generated + */ + LTLProperty getProperty(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLPattern#getProperty Property}' containment reference. + * + * + * @param value the new value of the 'Property' containment reference. + * @see #getProperty() + * @generated + */ + void setProperty(LTLProperty value); + +} // LTLPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLProperty.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLProperty.java new file mode 100644 index 0000000..3ed7c32 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLProperty.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'LTL Property'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLProperty() + * @model + * @generated + */ +public interface LTLProperty extends EObject +{ +} // LTLProperty diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLRelease.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLRelease.java new file mode 100644 index 0000000..50d6a33 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLRelease.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Release'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLRelease() + * @model + * @generated + */ +public interface LTLRelease extends LTLProperty +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLRelease_Left() + * @model containment="true" + * @generated + */ + LTLProperty getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LTLProperty value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLRelease_Right() + * @model containment="true" + * @generated + */ + LTLProperty getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(LTLProperty value); + +} // LTLRelease diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryAlways.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryAlways.java new file mode 100644 index 0000000..7a8513d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryAlways.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Unary Always'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways#getOperand Operand}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryAlways() + * @model + * @generated + */ +public interface LTLUnaryAlways extends LTLProperty +{ + /** + * Returns the value of the 'Operand' containment reference. + * + *

+ * If the meaning of the 'Operand' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Operand' containment reference. + * @see #setOperand(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryAlways_Operand() + * @model containment="true" + * @generated + */ + LTLProperty getOperand(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways#getOperand Operand}' containment reference. + * + * + * @param value the new value of the 'Operand' containment reference. + * @see #getOperand() + * @generated + */ + void setOperand(LTLProperty value); + +} // LTLUnaryAlways diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryEventually.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryEventually.java new file mode 100644 index 0000000..445d78f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryEventually.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Unary Eventually'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually#getOperand Operand}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryEventually() + * @model + * @generated + */ +public interface LTLUnaryEventually extends LTLProperty +{ + /** + * Returns the value of the 'Operand' containment reference. + * + *

+ * If the meaning of the 'Operand' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Operand' containment reference. + * @see #setOperand(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryEventually_Operand() + * @model containment="true" + * @generated + */ + LTLProperty getOperand(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually#getOperand Operand}' containment reference. + * + * + * @param value the new value of the 'Operand' containment reference. + * @see #getOperand() + * @generated + */ + void setOperand(LTLProperty value); + +} // LTLUnaryEventually diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNegation.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNegation.java new file mode 100644 index 0000000..82b2fa0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNegation.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Unary Negation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation#getOperand Operand}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryNegation() + * @model + * @generated + */ +public interface LTLUnaryNegation extends LTLProperty +{ + /** + * Returns the value of the 'Operand' containment reference. + * + *

+ * If the meaning of the 'Operand' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Operand' containment reference. + * @see #setOperand(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryNegation_Operand() + * @model containment="true" + * @generated + */ + LTLProperty getOperand(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation#getOperand Operand}' containment reference. + * + * + * @param value the new value of the 'Operand' containment reference. + * @see #getOperand() + * @generated + */ + void setOperand(LTLProperty value); + +} // LTLUnaryNegation diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNext.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNext.java new file mode 100644 index 0000000..7797251 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUnaryNext.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Unary Next'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext#getOperand Operand}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryNext() + * @model + * @generated + */ +public interface LTLUnaryNext extends LTLProperty +{ + /** + * Returns the value of the 'Operand' containment reference. + * + *

+ * If the meaning of the 'Operand' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Operand' containment reference. + * @see #setOperand(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUnaryNext_Operand() + * @model containment="true" + * @generated + */ + LTLProperty getOperand(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext#getOperand Operand}' containment reference. + * + * + * @param value the new value of the 'Operand' containment reference. + * @see #getOperand() + * @generated + */ + void setOperand(LTLProperty value); + +} // LTLUnaryNext diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUntil.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUntil.java new file mode 100644 index 0000000..1c223c0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLUntil.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Until'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUntil() + * @model + * @generated + */ +public interface LTLUntil extends LTLProperty +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUntil_Left() + * @model containment="true" + * @generated + */ + LTLProperty getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LTLProperty value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(LTLProperty) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLUntil_Right() + * @model containment="true" + * @generated + */ + LTLProperty getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(LTLProperty value); + +} // LTLUntil diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLVariable.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLVariable.java new file mode 100644 index 0000000..cf6fa30 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LTLVariable.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'LTL Variable'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LTLVariable#getDeclaration Declaration}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLVariable() + * @model + * @generated + */ +public interface LTLVariable extends LTLProperty +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(PropertyDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLTLVariable_Declaration() + * @model + * @generated + */ + PropertyDeclarationUse getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LTLVariable#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(PropertyDeclarationUse value); + +} // LTLVariable diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeadsToPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeadsToPattern.java new file mode 100644 index 0000000..0fd141f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeadsToPattern.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Leads To Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getFollower Follower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMax Max}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern() + * @model + * @generated + */ +public interface LeadsToPattern extends SequencePattern +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + + /** + * Returns the value of the 'Follower' containment reference. + * + *

+ * If the meaning of the 'Follower' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Follower' containment reference. + * @see #setFollower(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Follower() + * @model containment="true" + * @generated + */ + Observable getFollower(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getFollower Follower}' containment reference. + * + * + * @param value the new value of the 'Follower' containment reference. + * @see #getFollower() + * @generated + */ + void setFollower(Observable value); + + /** + * Returns the value of the 'Before' containment reference. + * + *

+ * If the meaning of the 'Before' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Before' containment reference. + * @see #setBefore(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Before() + * @model containment="true" + * @generated + */ + Observable getBefore(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getBefore Before}' containment reference. + * + * + * @param value the new value of the 'Before' containment reference. + * @see #getBefore() + * @generated + */ + void setBefore(Observable value); + + /** + * Returns the value of the 'Lower' containment reference. + * + *

+ * If the meaning of the 'Lower' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Lower' containment reference. + * @see #setLower(LowerBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Lower() + * @model containment="true" + * @generated + */ + LowerBound getLower(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getLower Lower}' containment reference. + * + * + * @param value the new value of the 'Lower' containment reference. + * @see #getLower() + * @generated + */ + void setLower(LowerBound value); + + /** + * Returns the value of the 'Upper' containment reference. + * + *

+ * If the meaning of the 'Upper' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Upper' containment reference. + * @see #setUpper(UpperBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Upper() + * @model containment="true" + * @generated + */ + UpperBound getUpper(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUpper Upper}' containment reference. + * + * + * @param value the new value of the 'Upper' containment reference. + * @see #getUpper() + * @generated + */ + void setUpper(UpperBound value); + + /** + * Returns the value of the 'After' containment reference. + * + *

+ * If the meaning of the 'After' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'After' containment reference. + * @see #setAfter(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_After() + * @model containment="true" + * @generated + */ + Observable getAfter(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getAfter After}' containment reference. + * + * + * @param value the new value of the 'After' containment reference. + * @see #getAfter() + * @generated + */ + void setAfter(Observable value); + + /** + * Returns the value of the 'Until' containment reference. + * + *

+ * If the meaning of the 'Until' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Until' containment reference. + * @see #setUntil(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Until() + * @model containment="true" + * @generated + */ + Observable getUntil(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getUntil Until}' containment reference. + * + * + * @param value the new value of the 'Until' containment reference. + * @see #getUntil() + * @generated + */ + void setUntil(Observable value); + + /** + * Returns the value of the 'Min' containment reference. + * + *

+ * If the meaning of the 'Min' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min' containment reference. + * @see #setMin(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Min() + * @model containment="true" + * @generated + */ + Observable getMin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMin Min}' containment reference. + * + * + * @param value the new value of the 'Min' containment reference. + * @see #getMin() + * @generated + */ + void setMin(Observable value); + + /** + * Returns the value of the 'Max' containment reference. + * + *

+ * If the meaning of the 'Max' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max' containment reference. + * @see #setMax(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeadsToPattern_Max() + * @model containment="true" + * @generated + */ + Observable getMax(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern#getMax Max}' containment reference. + * + * + * @param value the new value of the 'Max' containment reference. + * @see #getMax() + * @generated + */ + void setMax(Observable value); + +} // LeadsToPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeaveStateEvent.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeaveStateEvent.java new file mode 100644 index 0000000..6e2ed90 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LeaveStateEvent.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Leave State Event'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLeaveStateEvent() + * @model + * @generated + */ +public interface LeaveStateEvent extends StateEvent +{ +} // LeaveStateEvent diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LiteralExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LiteralExpression.java new file mode 100644 index 0000000..890601b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LiteralExpression.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Literal Expression'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLiteralExpression() + * @model + * @generated + */ +public interface LiteralExpression extends ValueExpression, Expression +{ +} // LiteralExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LocalPortsDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LocalPortsDeclaration.java new file mode 100644 index 0000000..c8e25da --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LocalPortsDeclaration.java @@ -0,0 +1,135 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Local Ports Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLocalPortsDeclaration() + * @model + * @generated + */ +public interface LocalPortsDeclaration extends EObject +{ + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLocalPortsDeclaration_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(ChannelType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLocalPortsDeclaration_Type() + * @model containment="true" + * @generated + */ + ChannelType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(ChannelType value); + + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LowerBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLocalPortsDeclaration_Left() + * @model containment="true" + * @generated + */ + LowerBound getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LowerBound value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(UpperBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLocalPortsDeclaration_Right() + * @model containment="true" + * @generated + */ + UpperBound getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(UpperBound value); + +} // LocalPortsDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LoopStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LoopStatement.java new file mode 100644 index 0000000..24ba3ce --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LoopStatement.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Loop Statement'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLoopStatement() + * @model + * @generated + */ +public interface LoopStatement extends Statement +{ +} // LoopStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LowerBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LowerBound.java new file mode 100644 index 0000000..81fc53a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/LowerBound.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Lower Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.LowerBound#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.LowerBound#isRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLowerBound() + * @model + * @generated + */ +public interface LowerBound extends EObject +{ + /** + * Returns the value of the 'Left' attribute. + * + *

+ * If the meaning of the 'Left' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' attribute. + * @see #setLeft(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLowerBound_Left() + * @model + * @generated + */ + boolean isLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LowerBound#isLeft Left}' attribute. + * + * + * @param value the new value of the 'Left' attribute. + * @see #isLeft() + * @generated + */ + void setLeft(boolean value); + + /** + * Returns the value of the 'Right' attribute. + * + *

+ * If the meaning of the 'Right' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' attribute. + * @see #setRight(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getLowerBound_Right() + * @model + * @generated + */ + boolean isRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.LowerBound#isRight Right}' attribute. + * + * + * @param value the new value of the 'Right' attribute. + * @see #isRight() + * @generated + */ + void setRight(boolean value); + +} // LowerBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Model.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Model.java new file mode 100644 index 0000000..f38611f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Model.java @@ -0,0 +1,105 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Model'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Model#getImports Imports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Model#getDeclarations Declarations}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Model#getRequirements Requirements}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Model#getRoot Root}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModel() + * @model + * @generated + */ +public interface Model extends EObject +{ + /** + * Returns the value of the 'Imports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration}. + * + *

+ * If the meaning of the 'Imports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Imports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModel_Imports() + * @model containment="true" + * @generated + */ + EList getImports(); + + /** + * Returns the value of the 'Declarations' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Declaration}. + * + *

+ * If the meaning of the 'Declarations' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declarations' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModel_Declarations() + * @model containment="true" + * @generated + */ + EList getDeclarations(); + + /** + * Returns the value of the 'Requirements' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Requirement}. + * + *

+ * If the meaning of the 'Requirements' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Requirements' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModel_Requirements() + * @model containment="true" + * @generated + */ + EList getRequirements(); + + /** + * Returns the value of the 'Root' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Root}. + * + *

+ * If the meaning of the 'Root' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Root' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModel_Root() + * @model containment="true" + * @generated + */ + EList getRoot(); + +} // Model diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Modulo.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Modulo.java new file mode 100644 index 0000000..ef8deb5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Modulo.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Modulo'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Modulo#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Modulo#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModulo() + * @model + * @generated + */ +public interface Modulo extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModulo_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Modulo#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getModulo_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Modulo#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Modulo diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/MortalPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/MortalPattern.java new file mode 100644 index 0000000..34d4381 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/MortalPattern.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Mortal Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.MortalPattern#getSubject Subject}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getMortalPattern() + * @model + * @generated + */ +public interface MortalPattern extends PatternProperty +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getMortalPattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.MortalPattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + +} // MortalPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Multiplication.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Multiplication.java new file mode 100644 index 0000000..b94f0c8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Multiplication.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Multiplication'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Multiplication#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Multiplication#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getMultiplication() + * @model + * @generated + */ +public interface Multiplication extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getMultiplication_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Multiplication#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getMultiplication_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Multiplication#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Multiplication diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedElement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedElement.java new file mode 100644 index 0000000..fcb9db9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedElement.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Named Element'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NamedElement#getName Name}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNamedElement() + * @model + * @generated + */ +public interface NamedElement extends EObject +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNamedElement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NamedElement#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // NamedElement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedItem.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedItem.java new file mode 100644 index 0000000..be844af --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NamedItem.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Named Item'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NamedItem#getDeclaration Declaration}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNamedItem() + * @model + * @generated + */ +public interface NamedItem extends PathItem +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(PathDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNamedItem_Declaration() + * @model + * @generated + */ + PathDeclarationUse getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NamedItem#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(PathDeclarationUse value); + +} // NamedItem diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalItem.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalItem.java new file mode 100644 index 0000000..331ec82 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalItem.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Natural Item'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalItem#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalItem() + * @model + * @generated + */ +public interface NaturalItem extends PathItem +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalItem_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalItem#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // NaturalItem diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLiteral.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLiteral.java new file mode 100644 index 0000000..f6c103a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLiteral.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Natural Literal'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalLiteral() + * @model + * @generated + */ +public interface NaturalLiteral extends LiteralExpression +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalLiteral_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // NaturalLiteral diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLowerBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLowerBound.java new file mode 100644 index 0000000..2a054aa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalLowerBound.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Natural Lower Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalLowerBound() + * @model + * @generated + */ +public interface NaturalLowerBound extends LowerBound +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalLowerBound_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + +} // NaturalLowerBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalType.java new file mode 100644 index 0000000..c2a81a6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalType.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Natural Type'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalType() + * @model + * @generated + */ +public interface NaturalType extends BasicType +{ +} // NaturalType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalUpperBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalUpperBound.java new file mode 100644 index 0000000..276c39d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NaturalUpperBound.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Natural Upper Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalUpperBound() + * @model + * @generated + */ +public interface NaturalUpperBound extends UpperBound +{ + /** + * Returns the value of the 'Value' attribute. + * + *

+ * If the meaning of the 'Value' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' attribute. + * @see #setValue(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalUpperBound_Value() + * @model + * @generated + */ + int getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#getValue Value}' attribute. + * + * + * @param value the new value of the 'Value' attribute. + * @see #getValue() + * @generated + */ + void setValue(int value); + + /** + * Returns the value of the 'Left' attribute. + * + *

+ * If the meaning of the 'Left' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' attribute. + * @see #setLeft(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalUpperBound_Left() + * @model + * @generated + */ + boolean isLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isLeft Left}' attribute. + * + * + * @param value the new value of the 'Left' attribute. + * @see #isLeft() + * @generated + */ + void setLeft(boolean value); + + /** + * Returns the value of the 'Right' attribute. + * + *

+ * If the meaning of the 'Right' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' attribute. + * @see #setRight(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNaturalUpperBound_Right() + * @model + * @generated + */ + boolean isRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound#isRight Right}' attribute. + * + * + * @param value the new value of the 'Right' attribute. + * @see #isRight() + * @generated + */ + void setRight(boolean value); + +} // NaturalUpperBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NullStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NullStatement.java new file mode 100644 index 0000000..12d3165 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/NullStatement.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Null Statement'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getNullStatement() + * @model + * @generated + */ +public interface NullStatement extends Statement +{ +} // NullStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Observable.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Observable.java new file mode 100644 index 0000000..d3b7541 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Observable.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservable() + * @model + * @generated + */ +public interface Observable extends SequencePattern +{ +} // Observable diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableConjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableConjunction.java new file mode 100644 index 0000000..bbf5266 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableConjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableConjunction() + * @model + * @generated + */ +public interface ObservableConjunction extends Observable +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableConjunction_Left() + * @model containment="true" + * @generated + */ + Observable getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Observable value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableConjunction_Right() + * @model containment="true" + * @generated + */ + Observable getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Observable value); + +} // ObservableConjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableDisjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableDisjunction.java new file mode 100644 index 0000000..70223de --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableDisjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableDisjunction() + * @model + * @generated + */ +public interface ObservableDisjunction extends Observable +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableDisjunction_Left() + * @model containment="true" + * @generated + */ + Observable getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Observable value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableDisjunction_Right() + * @model containment="true" + * @generated + */ + Observable getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Observable value); + +} // ObservableDisjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableEvent.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableEvent.java new file mode 100644 index 0000000..5e15ad7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableEvent.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable Event'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableEvent() + * @model + * @generated + */ +public interface ObservableEvent extends LTLProperty, Observable +{ +} // ObservableEvent diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableImplication.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableImplication.java new file mode 100644 index 0000000..aa9f690 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableImplication.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable Implication'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableImplication() + * @model + * @generated + */ +public interface ObservableImplication extends Observable +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableImplication_Left() + * @model containment="true" + * @generated + */ + Observable getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Observable value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableImplication_Right() + * @model containment="true" + * @generated + */ + Observable getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Observable value); + +} // ObservableImplication diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableNegation.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableNegation.java new file mode 100644 index 0000000..357f72a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ObservableNegation.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Observable Negation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ObservableNegation#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableNegation() + * @model + * @generated + */ +public interface ObservableNegation extends Observable +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getObservableNegation_Child() + * @model containment="true" + * @generated + */ + Observable getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ObservableNegation#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Observable value); + +} // ObservableNegation diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/OnStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/OnStatement.java new file mode 100644 index 0000000..58d92cf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/OnStatement.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'On Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.OnStatement#getCondition Condition}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getOnStatement() + * @model + * @generated + */ +public interface OnStatement extends Statement +{ + /** + * Returns the value of the 'Condition' containment reference. + * + *

+ * If the meaning of the 'Condition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getOnStatement_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.OnStatement#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + +} // OnStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterDeclaration.java new file mode 100644 index 0000000..17bf1a8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterDeclaration.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Parameter Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isReference Reference}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isArray Array}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#getSize Size}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterDeclaration() + * @model + * @generated + */ +public interface ParameterDeclaration extends NamedElement, ExpressionDeclarationUse, ReferenceDeclarationUse, PatternDeclarationUse +{ + /** + * Returns the value of the 'Reference' attribute. + * + *

+ * If the meaning of the 'Reference' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Reference' attribute. + * @see #setReference(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterDeclaration_Reference() + * @model + * @generated + */ + boolean isReference(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isReference Reference}' attribute. + * + * + * @param value the new value of the 'Reference' attribute. + * @see #isReference() + * @generated + */ + void setReference(boolean value); + + /** + * Returns the value of the 'Array' attribute. + * + *

+ * If the meaning of the 'Array' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Array' attribute. + * @see #setArray(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterDeclaration_Array() + * @model + * @generated + */ + boolean isArray(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#isArray Array}' attribute. + * + * + * @param value the new value of the 'Array' attribute. + * @see #isArray() + * @generated + */ + void setArray(boolean value); + + /** + * Returns the value of the 'Size' containment reference. + * + *

+ * If the meaning of the 'Size' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Size' containment reference. + * @see #setSize(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterDeclaration_Size() + * @model containment="true" + * @generated + */ + Expression getSize(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration#getSize Size}' containment reference. + * + * + * @param value the new value of the 'Size' containment reference. + * @see #getSize() + * @generated + */ + void setSize(Expression value); + +} // ParameterDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterizedDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterizedDeclaration.java new file mode 100644 index 0000000..efd7a67 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParameterizedDeclaration.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Parameterized Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration#getVariables Variables}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterizedDeclaration() + * @model + * @generated + */ +public interface ParameterizedDeclaration extends Declaration +{ + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterizedDeclaration_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + + /** + * Returns the value of the 'Variables' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration}. + * + *

+ * If the meaning of the 'Variables' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variables' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParameterizedDeclaration_Variables() + * @model containment="true" + * @generated + */ + EList getVariables(); + +} // ParameterizedDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParametersDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParametersDeclaration.java new file mode 100644 index 0000000..5bb2eb0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ParametersDeclaration.java @@ -0,0 +1,135 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Parameters Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isRead Read}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isWrite Write}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParametersDeclaration() + * @model + * @generated + */ +public interface ParametersDeclaration extends EObject +{ + /** + * Returns the value of the 'Parameters' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration}. + * + *

+ * If the meaning of the 'Parameters' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Parameters' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParametersDeclaration_Parameters() + * @model containment="true" + * @generated + */ + EList getParameters(); + + /** + * Returns the value of the 'Read' attribute. + * + *

+ * If the meaning of the 'Read' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Read' attribute. + * @see #setRead(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParametersDeclaration_Read() + * @model + * @generated + */ + boolean isRead(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isRead Read}' attribute. + * + * + * @param value the new value of the 'Read' attribute. + * @see #isRead() + * @generated + */ + void setRead(boolean value); + + /** + * Returns the value of the 'Write' attribute. + * + *

+ * If the meaning of the 'Write' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Write' attribute. + * @see #setWrite(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParametersDeclaration_Write() + * @model + * @generated + */ + boolean isWrite(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#isWrite Write}' attribute. + * + * + * @param value the new value of the 'Write' attribute. + * @see #isWrite() + * @generated + */ + void setWrite(boolean value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getParametersDeclaration_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // ParametersDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Path.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Path.java new file mode 100644 index 0000000..1d08257 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Path.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Path'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Path#getItems Items}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPath() + * @model + * @generated + */ +public interface Path extends EObject +{ + /** + * Returns the value of the 'Items' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PathItem}. + * + *

+ * If the meaning of the 'Items' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Items' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPath_Items() + * @model containment="true" + * @generated + */ + EList getItems(); + +} // Path diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathDeclarationUse.java new file mode 100644 index 0000000..e757ecd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Path Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPathDeclarationUse() + * @model + * @generated + */ +public interface PathDeclarationUse extends EObject +{ +} // PathDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathEvent.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathEvent.java new file mode 100644 index 0000000..6def5da --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathEvent.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Path Event'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PathEvent#getPath Path}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PathEvent#getItem Item}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPathEvent() + * @model + * @generated + */ +public interface PathEvent extends ObservableEvent +{ + /** + * Returns the value of the 'Path' containment reference. + * + *

+ * If the meaning of the 'Path' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Path' containment reference. + * @see #setPath(Path) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPathEvent_Path() + * @model containment="true" + * @generated + */ + Path getPath(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PathEvent#getPath Path}' containment reference. + * + * + * @param value the new value of the 'Path' containment reference. + * @see #getPath() + * @generated + */ + void setPath(Path value); + + /** + * Returns the value of the 'Item' containment reference. + * + *

+ * If the meaning of the 'Item' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Item' containment reference. + * @see #setItem(Subject) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPathEvent_Item() + * @model containment="true" + * @generated + */ + Subject getItem(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PathEvent#getItem Item}' containment reference. + * + * + * @param value the new value of the 'Item' containment reference. + * @see #getItem() + * @generated + */ + void setItem(Subject value); + +} // PathEvent diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathItem.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathItem.java new file mode 100644 index 0000000..bb9ffc2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PathItem.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Path Item'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPathItem() + * @model + * @generated + */ +public interface PathItem extends EObject +{ +} // PathItem diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Pattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Pattern.java new file mode 100644 index 0000000..04dfb22 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Pattern.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Pattern'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPattern() + * @model + * @generated + */ +public interface Pattern extends PatternStatement +{ +} // Pattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternDeclarationUse.java new file mode 100644 index 0000000..094161f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Pattern Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPatternDeclarationUse() + * @model + * @generated + */ +public interface PatternDeclarationUse extends EObject +{ +} // PatternDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternProperty.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternProperty.java new file mode 100644 index 0000000..b952adb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternProperty.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Pattern Property'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPatternProperty() + * @model + * @generated + */ +public interface PatternProperty extends Property +{ +} // PatternProperty diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternStatement.java new file mode 100644 index 0000000..9a1b93b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PatternStatement.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Pattern Statement'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPatternStatement() + * @model + * @generated + */ +public interface PatternStatement extends Statement +{ +} // PatternStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortDeclaration.java new file mode 100644 index 0000000..7a508c7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortDeclaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Port Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortDeclaration() + * @model + * @generated + */ +public interface PortDeclaration extends NamedElement, ExpressionDeclarationUse, PatternDeclarationUse +{ +} // PortDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortSet.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortSet.java new file mode 100644 index 0000000..432cb47 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortSet.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Port Set'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PortSet#isAllPorts All Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PortSet#getPorts Ports}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortSet() + * @model + * @generated + */ +public interface PortSet extends EObject +{ + /** + * Returns the value of the 'All Ports' attribute. + * + *

+ * If the meaning of the 'All Ports' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'All Ports' attribute. + * @see #setAllPorts(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortSet_AllPorts() + * @model + * @generated + */ + boolean isAllPorts(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PortSet#isAllPorts All Ports}' attribute. + * + * + * @param value the new value of the 'All Ports' attribute. + * @see #isAllPorts() + * @generated + */ + void setAllPorts(boolean value); + + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortSet_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + +} // PortSet diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortsDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortsDeclaration.java new file mode 100644 index 0000000..51c3dc6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PortsDeclaration.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Ports Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortsDeclaration() + * @model + * @generated + */ +public interface PortsDeclaration extends EObject +{ + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortsDeclaration_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(ChannelType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPortsDeclaration_Type() + * @model containment="true" + * @generated + */ + ChannelType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(ChannelType value); + +} // PortsDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PrecedesPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PrecedesPattern.java new file mode 100644 index 0000000..79b7e3c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PrecedesPattern.java @@ -0,0 +1,223 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Precedes Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getFollower Follower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMax Max}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern() + * @model + * @generated + */ +public interface PrecedesPattern extends SequencePattern +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + + /** + * Returns the value of the 'Follower' containment reference. + * + *

+ * If the meaning of the 'Follower' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Follower' containment reference. + * @see #setFollower(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Follower() + * @model containment="true" + * @generated + */ + Observable getFollower(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getFollower Follower}' containment reference. + * + * + * @param value the new value of the 'Follower' containment reference. + * @see #getFollower() + * @generated + */ + void setFollower(Observable value); + + /** + * Returns the value of the 'Before' containment reference. + * + *

+ * If the meaning of the 'Before' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Before' containment reference. + * @see #setBefore(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Before() + * @model containment="true" + * @generated + */ + Observable getBefore(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getBefore Before}' containment reference. + * + * + * @param value the new value of the 'Before' containment reference. + * @see #getBefore() + * @generated + */ + void setBefore(Observable value); + + /** + * Returns the value of the 'After' containment reference. + * + *

+ * If the meaning of the 'After' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'After' containment reference. + * @see #setAfter(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_After() + * @model containment="true" + * @generated + */ + Observable getAfter(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getAfter After}' containment reference. + * + * + * @param value the new value of the 'After' containment reference. + * @see #getAfter() + * @generated + */ + void setAfter(Observable value); + + /** + * Returns the value of the 'Until' containment reference. + * + *

+ * If the meaning of the 'Until' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Until' containment reference. + * @see #setUntil(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Until() + * @model containment="true" + * @generated + */ + Observable getUntil(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getUntil Until}' containment reference. + * + * + * @param value the new value of the 'Until' containment reference. + * @see #getUntil() + * @generated + */ + void setUntil(Observable value); + + /** + * Returns the value of the 'Min' containment reference. + * + *

+ * If the meaning of the 'Min' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min' containment reference. + * @see #setMin(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Min() + * @model containment="true" + * @generated + */ + Observable getMin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMin Min}' containment reference. + * + * + * @param value the new value of the 'Min' containment reference. + * @see #getMin() + * @generated + */ + void setMin(Observable value); + + /** + * Returns the value of the 'Max' containment reference. + * + *

+ * If the meaning of the 'Max' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max' containment reference. + * @see #setMax(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPrecedesPattern_Max() + * @model containment="true" + * @generated + */ + Observable getMax(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern#getMax Max}' containment reference. + * + * + * @param value the new value of the 'Max' containment reference. + * @see #getMax() + * @generated + */ + void setMax(Observable value); + +} // PrecedesPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PresencePattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PresencePattern.java new file mode 100644 index 0000000..f147683 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PresencePattern.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Presence Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLasting Lasting}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMax Max}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern() + * @model + * @generated + */ +public interface PresencePattern extends PatternProperty +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + + /** + * Returns the value of the 'Lasting' attribute. + * + *

+ * If the meaning of the 'Lasting' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Lasting' attribute. + * @see #setLasting(int) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Lasting() + * @model + * @generated + */ + int getLasting(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLasting Lasting}' attribute. + * + * + * @param value the new value of the 'Lasting' attribute. + * @see #getLasting() + * @generated + */ + void setLasting(int value); + + /** + * Returns the value of the 'After' containment reference. + * + *

+ * If the meaning of the 'After' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'After' containment reference. + * @see #setAfter(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_After() + * @model containment="true" + * @generated + */ + Observable getAfter(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getAfter After}' containment reference. + * + * + * @param value the new value of the 'After' containment reference. + * @see #getAfter() + * @generated + */ + void setAfter(Observable value); + + /** + * Returns the value of the 'Lower' containment reference. + * + *

+ * If the meaning of the 'Lower' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Lower' containment reference. + * @see #setLower(LowerBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Lower() + * @model containment="true" + * @generated + */ + LowerBound getLower(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getLower Lower}' containment reference. + * + * + * @param value the new value of the 'Lower' containment reference. + * @see #getLower() + * @generated + */ + void setLower(LowerBound value); + + /** + * Returns the value of the 'Upper' containment reference. + * + *

+ * If the meaning of the 'Upper' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Upper' containment reference. + * @see #setUpper(UpperBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Upper() + * @model containment="true" + * @generated + */ + UpperBound getUpper(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUpper Upper}' containment reference. + * + * + * @param value the new value of the 'Upper' containment reference. + * @see #getUpper() + * @generated + */ + void setUpper(UpperBound value); + + /** + * Returns the value of the 'Until' containment reference. + * + *

+ * If the meaning of the 'Until' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Until' containment reference. + * @see #setUntil(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Until() + * @model containment="true" + * @generated + */ + Observable getUntil(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getUntil Until}' containment reference. + * + * + * @param value the new value of the 'Until' containment reference. + * @see #getUntil() + * @generated + */ + void setUntil(Observable value); + + /** + * Returns the value of the 'Before' containment reference. + * + *

+ * If the meaning of the 'Before' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Before' containment reference. + * @see #setBefore(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Before() + * @model containment="true" + * @generated + */ + Observable getBefore(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getBefore Before}' containment reference. + * + * + * @param value the new value of the 'Before' containment reference. + * @see #getBefore() + * @generated + */ + void setBefore(Observable value); + + /** + * Returns the value of the 'Min' containment reference. + * + *

+ * If the meaning of the 'Min' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Min' containment reference. + * @see #setMin(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Min() + * @model containment="true" + * @generated + */ + Observable getMin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMin Min}' containment reference. + * + * + * @param value the new value of the 'Min' containment reference. + * @see #getMin() + * @generated + */ + void setMin(Observable value); + + /** + * Returns the value of the 'Max' containment reference. + * + *

+ * If the meaning of the 'Max' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Max' containment reference. + * @see #setMax(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPresencePattern_Max() + * @model containment="true" + * @generated + */ + Observable getMax(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern#getMax Max}' containment reference. + * + * + * @param value the new value of the 'Max' containment reference. + * @see #getMax() + * @generated + */ + void setMax(Observable value); + +} // PresencePattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityDeclaration.java new file mode 100644 index 0000000..6086118 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityDeclaration.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Priority Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration#getGroups Groups}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPriorityDeclaration() + * @model + * @generated + */ +public interface PriorityDeclaration extends EObject +{ + /** + * Returns the value of the 'Groups' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PriorityGroup}. + * + *

+ * If the meaning of the 'Groups' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Groups' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPriorityDeclaration_Groups() + * @model containment="true" + * @generated + */ + EList getGroups(); + +} // PriorityDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityGroup.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityGroup.java new file mode 100644 index 0000000..67b449d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PriorityGroup.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Priority Group'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PriorityGroup#getPorts Ports}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPriorityGroup() + * @model + * @generated + */ +public interface PriorityGroup extends EObject +{ + /** + * Returns the value of the 'Ports' reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortDeclaration}. + * + *

+ * If the meaning of the 'Ports' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPriorityGroup_Ports() + * @model + * @generated + */ + EList getPorts(); + +} // PriorityGroup diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ProcessDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ProcessDeclaration.java new file mode 100644 index 0000000..32a0380 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ProcessDeclaration.java @@ -0,0 +1,147 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Process Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getLocalPorts Local Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPriorities Priorities}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getStates States}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPrelude Prelude}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getTransitions Transitions}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration() + * @model + * @generated + */ +public interface ProcessDeclaration extends RootDeclaration, PathDeclarationUse, ParameterizedDeclaration +{ + /** + * Returns the value of the 'Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration}. + * + *

+ * If the meaning of the 'Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_Ports() + * @model containment="true" + * @generated + */ + EList getPorts(); + + /** + * Returns the value of the 'Local Ports' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration}. + * + *

+ * If the meaning of the 'Local Ports' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Local Ports' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_LocalPorts() + * @model containment="true" + * @generated + */ + EList getLocalPorts(); + + /** + * Returns the value of the 'Priorities' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration}. + * + *

+ * If the meaning of the 'Priorities' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Priorities' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_Priorities() + * @model containment="true" + * @generated + */ + EList getPriorities(); + + /** + * Returns the value of the 'States' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.StateDeclaration}. + * + *

+ * If the meaning of the 'States' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'States' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_States() + * @model containment="true" + * @generated + */ + EList getStates(); + + /** + * Returns the value of the 'Prelude' containment reference. + * + *

+ * If the meaning of the 'Prelude' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Prelude' containment reference. + * @see #setPrelude(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_Prelude() + * @model containment="true" + * @generated + */ + Statement getPrelude(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration#getPrelude Prelude}' containment reference. + * + * + * @param value the new value of the 'Prelude' containment reference. + * @see #getPrelude() + * @generated + */ + void setPrelude(Statement value); + + /** + * Returns the value of the 'Transitions' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Transition}. + * + *

+ * If the meaning of the 'Transitions' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Transitions' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProcessDeclaration_Transitions() + * @model containment="true" + * @generated + */ + EList getTransitions(); + +} // ProcessDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Projection.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Projection.java new file mode 100644 index 0000000..01a0de7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Projection.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Projection'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Projection#getChannel Channel}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Projection#getField Field}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProjection() + * @model + * @generated + */ +public interface Projection extends Expression +{ + /** + * Returns the value of the 'Channel' containment reference. + * + *

+ * If the meaning of the 'Channel' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Channel' containment reference. + * @see #setChannel(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProjection_Channel() + * @model containment="true" + * @generated + */ + Expression getChannel(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Projection#getChannel Channel}' containment reference. + * + * + * @param value the new value of the 'Channel' containment reference. + * @see #getChannel() + * @generated + */ + void setChannel(Expression value); + + /** + * Returns the value of the 'Field' containment reference. + * + *

+ * If the meaning of the 'Field' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Field' containment reference. + * @see #setField(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProjection_Field() + * @model containment="true" + * @generated + */ + Expression getField(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Projection#getField Field}' containment reference. + * + * + * @param value the new value of the 'Field' containment reference. + * @see #getField() + * @generated + */ + void setField(Expression value); + +} // Projection diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Property.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Property.java new file mode 100644 index 0000000..b96088a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Property.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Property'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getProperty() + * @model + * @generated + */ +public interface Property extends EObject +{ +} // Property diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyConjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyConjunction.java new file mode 100644 index 0000000..6e6ad95 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyConjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Property Conjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyConjunction() + * @model + * @generated + */ +public interface PropertyConjunction extends Property +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyConjunction_Left() + * @model containment="true" + * @generated + */ + Property getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Property value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyConjunction_Right() + * @model containment="true" + * @generated + */ + Property getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Property value); + +} // PropertyConjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclaration.java new file mode 100644 index 0000000..a9abd32 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclaration.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Property Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration#getProperty Property}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDeclaration() + * @model + * @generated + */ +public interface PropertyDeclaration extends PropertyDeclarationUse, Declaration +{ + /** + * Returns the value of the 'Property' containment reference. + * + *

+ * If the meaning of the 'Property' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Property' containment reference. + * @see #setProperty(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDeclaration_Property() + * @model containment="true" + * @generated + */ + Property getProperty(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration#getProperty Property}' containment reference. + * + * + * @param value the new value of the 'Property' containment reference. + * @see #getProperty() + * @generated + */ + void setProperty(Property value); + +} // PropertyDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclarationUse.java new file mode 100644 index 0000000..5f29e40 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Property Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDeclarationUse() + * @model + * @generated + */ +public interface PropertyDeclarationUse extends EObject +{ +} // PropertyDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDisjunction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDisjunction.java new file mode 100644 index 0000000..d234e58 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyDisjunction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Property Disjunction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDisjunction() + * @model + * @generated + */ +public interface PropertyDisjunction extends Property +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDisjunction_Left() + * @model containment="true" + * @generated + */ + Property getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Property value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyDisjunction_Right() + * @model containment="true" + * @generated + */ + Property getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Property value); + +} // PropertyDisjunction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyImplication.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyImplication.java new file mode 100644 index 0000000..dcd10e0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyImplication.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Property Implication'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyImplication() + * @model + * @generated + */ +public interface PropertyImplication extends Property +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyImplication_Left() + * @model containment="true" + * @generated + */ + Property getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Property value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyImplication_Right() + * @model containment="true" + * @generated + */ + Property getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Property value); + +} // PropertyImplication diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyNegation.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyNegation.java new file mode 100644 index 0000000..63a6ed2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/PropertyNegation.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Property Negation'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.PropertyNegation#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyNegation() + * @model + * @generated + */ +public interface PropertyNegation extends Property +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Property) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getPropertyNegation_Child() + * @model containment="true" + * @generated + */ + Property getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.PropertyNegation#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Property value); + +} // PropertyNegation diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueExpression.java new file mode 100644 index 0000000..02253c4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueExpression.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Queue Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.QueueExpression#getValues Values}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getQueueExpression() + * @model + * @generated + */ +public interface QueueExpression extends ValueExpression, Expression +{ + /** + * Returns the value of the 'Values' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Values' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Values' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getQueueExpression_Values() + * @model containment="true" + * @generated + */ + EList getValues(); + +} // QueueExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueType.java new file mode 100644 index 0000000..546326b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/QueueType.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Queue Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.QueueType#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.QueueType#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getQueueType() + * @model + * @generated + */ +public interface QueueType extends Type +{ + /** + * Returns the value of the 'Size' containment reference. + * + *

+ * If the meaning of the 'Size' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Size' containment reference. + * @see #setSize(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getQueueType_Size() + * @model containment="true" + * @generated + */ + Expression getSize(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.QueueType#getSize Size}' containment reference. + * + * + * @param value the new value of the 'Size' containment reference. + * @see #getSize() + * @generated + */ + void setSize(Expression value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getQueueType_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.QueueType#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // QueueType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RangeType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RangeType.java new file mode 100644 index 0000000..bdd1b4b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RangeType.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Range Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RangeType#getMinimum Minimum}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.RangeType#getMaximum Maximum}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRangeType() + * @model + * @generated + */ +public interface RangeType extends Type +{ + /** + * Returns the value of the 'Minimum' containment reference. + * + *

+ * If the meaning of the 'Minimum' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Minimum' containment reference. + * @see #setMinimum(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRangeType_Minimum() + * @model containment="true" + * @generated + */ + Expression getMinimum(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RangeType#getMinimum Minimum}' containment reference. + * + * + * @param value the new value of the 'Minimum' containment reference. + * @see #getMinimum() + * @generated + */ + void setMinimum(Expression value); + + /** + * Returns the value of the 'Maximum' containment reference. + * + *

+ * If the meaning of the 'Maximum' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Maximum' containment reference. + * @see #setMaximum(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRangeType_Maximum() + * @model containment="true" + * @generated + */ + Expression getMaximum(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RangeType#getMaximum Maximum}' containment reference. + * + * + * @param value the new value of the 'Maximum' containment reference. + * @see #getMaximum() + * @generated + */ + void setMaximum(Expression value); + +} // RangeType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReceiveStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReceiveStatement.java new file mode 100644 index 0000000..c3bc2c6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReceiveStatement.java @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Receive Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPort Port}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getExp Exp}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReceiveStatement() + * @model + * @generated + */ +public interface ReceiveStatement extends PatternStatement +{ + /** + * Returns the value of the 'Port' containment reference. + * + *

+ * If the meaning of the 'Port' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Port' containment reference. + * @see #setPort(Pattern) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReceiveStatement_Port() + * @model containment="true" + * @generated + */ + Pattern getPort(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getPort Port}' containment reference. + * + * + * @param value the new value of the 'Port' containment reference. + * @see #getPort() + * @generated + */ + void setPort(Pattern value); + + /** + * Returns the value of the 'Patterns' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Pattern}. + * + *

+ * If the meaning of the 'Patterns' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Patterns' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReceiveStatement_Patterns() + * @model containment="true" + * @generated + */ + EList getPatterns(); + + /** + * Returns the value of the 'Exp' containment reference. + * + *

+ * If the meaning of the 'Exp' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Exp' containment reference. + * @see #setExp(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReceiveStatement_Exp() + * @model containment="true" + * @generated + */ + Expression getExp(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement#getExp Exp}' containment reference. + * + * + * @param value the new value of the 'Exp' containment reference. + * @see #getExp() + * @generated + */ + void setExp(Expression value); + +} // ReceiveStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessExpression.java new file mode 100644 index 0000000..573bee3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessExpression.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Record Access Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getChild Child}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getField Field}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessExpression() + * @model + * @generated + */ +public interface RecordAccessExpression extends IdentifierExpression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(IdentifierExpression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessExpression_Child() + * @model containment="true" + * @generated + */ + IdentifierExpression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(IdentifierExpression value); + + /** + * Returns the value of the 'Field' reference. + * + *

+ * If the meaning of the 'Field' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Field' reference. + * @see #setField(RecordFieldDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessExpression_Field() + * @model + * @generated + */ + RecordFieldDeclaration getField(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression#getField Field}' reference. + * + * + * @param value the new value of the 'Field' reference. + * @see #getField() + * @generated + */ + void setField(RecordFieldDeclaration value); + +} // RecordAccessExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessPattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessPattern.java new file mode 100644 index 0000000..fd36d0b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordAccessPattern.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Record Access Pattern'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getField Field}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessPattern() + * @model + * @generated + */ +public interface RecordAccessPattern extends IdentifierPattern +{ + /** + * Returns the value of the 'Source' containment reference. + * + *

+ * If the meaning of the 'Source' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Source' containment reference. + * @see #setSource(IdentifierPattern) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessPattern_Source() + * @model containment="true" + * @generated + */ + IdentifierPattern getSource(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getSource Source}' containment reference. + * + * + * @param value the new value of the 'Source' containment reference. + * @see #getSource() + * @generated + */ + void setSource(IdentifierPattern value); + + /** + * Returns the value of the 'Field' reference. + * + *

+ * If the meaning of the 'Field' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Field' reference. + * @see #setField(RecordFieldDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordAccessPattern_Field() + * @model + * @generated + */ + RecordFieldDeclaration getField(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern#getField Field}' reference. + * + * + * @param value the new value of the 'Field' reference. + * @see #getField() + * @generated + */ + void setField(RecordFieldDeclaration value); + +} // RecordAccessPattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordExpression.java new file mode 100644 index 0000000..2998ec8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordExpression.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Record Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordExpression#getFields Fields}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordExpression() + * @model + * @generated + */ +public interface RecordExpression extends ValueExpression, Expression +{ + /** + * Returns the value of the 'Fields' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.FieldExpression}. + * + *

+ * If the meaning of the 'Fields' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Fields' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordExpression_Fields() + * @model containment="true" + * @generated + */ + EList getFields(); + +} // RecordExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclaration.java new file mode 100644 index 0000000..82aae6b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Record Field Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordFieldDeclaration() + * @model + * @generated + */ +public interface RecordFieldDeclaration extends NamedElement, RecordFieldDeclarationUse +{ +} // RecordFieldDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclarationUse.java new file mode 100644 index 0000000..40d746b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFieldDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Record Field Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordFieldDeclarationUse() + * @model + * @generated + */ +public interface RecordFieldDeclarationUse extends EObject +{ +} // RecordFieldDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFields.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFields.java new file mode 100644 index 0000000..f5c9f41 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordFields.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Record Fields'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordFields#getFields Fields}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordFields#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordFields() + * @model + * @generated + */ +public interface RecordFields extends EObject +{ + /** + * Returns the value of the 'Fields' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration}. + * + *

+ * If the meaning of the 'Fields' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Fields' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordFields_Fields() + * @model containment="true" + * @generated + */ + EList getFields(); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordFields_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.RecordFields#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // RecordFields diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordType.java new file mode 100644 index 0000000..79dc4c2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RecordType.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Record Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.RecordType#getFields Fields}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordType() + * @model + * @generated + */ +public interface RecordType extends Type +{ + /** + * Returns the value of the 'Fields' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.RecordFields}. + * + *

+ * If the meaning of the 'Fields' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Fields' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRecordType_Fields() + * @model containment="true" + * @generated + */ + EList getFields(); + +} // RecordType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceDeclarationUse.java new file mode 100644 index 0000000..14be63d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Reference Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReferenceDeclarationUse() + * @model + * @generated + */ +public interface ReferenceDeclarationUse extends EObject +{ +} // ReferenceDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceExpression.java new file mode 100644 index 0000000..5435eba --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferenceExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Reference Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression#getDeclaration Declaration}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReferenceExpression() + * @model + * @generated + */ +public interface ReferenceExpression extends Expression +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(ReferenceDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReferenceExpression_Declaration() + * @model + * @generated + */ + ReferenceDeclarationUse getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(ReferenceDeclarationUse value); + +} // ReferenceExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferencedType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferencedType.java new file mode 100644 index 0000000..93b67ee --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReferencedType.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Referenced Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReferencedType#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReferencedType() + * @model + * @generated + */ +public interface ReferencedType extends Type +{ + /** + * Returns the value of the 'Type' reference. + * + *

+ * If the meaning of the 'Type' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' reference. + * @see #setType(TypeDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReferencedType_Type() + * @model + * @generated + */ + TypeDeclarationUse getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ReferencedType#getType Type}' reference. + * + * + * @param value the new value of the 'Type' reference. + * @see #getType() + * @generated + */ + void setType(TypeDeclarationUse value); + +} // ReferencedType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Requirement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Requirement.java new file mode 100644 index 0000000..79886ef --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Requirement.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Requirement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Requirement#getProperty Property}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Requirement#getPositive Positive}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Requirement#getNegative Negative}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRequirement() + * @model + * @generated + */ +public interface Requirement extends EObject +{ + /** + * Returns the value of the 'Property' reference. + * + *

+ * If the meaning of the 'Property' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Property' reference. + * @see #setProperty(PropertyDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRequirement_Property() + * @model + * @generated + */ + PropertyDeclaration getProperty(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getProperty Property}' reference. + * + * + * @param value the new value of the 'Property' reference. + * @see #getProperty() + * @generated + */ + void setProperty(PropertyDeclaration value); + + /** + * Returns the value of the 'Positive' attribute. + * + *

+ * If the meaning of the 'Positive' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Positive' attribute. + * @see #setPositive(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRequirement_Positive() + * @model + * @generated + */ + String getPositive(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getPositive Positive}' attribute. + * + * + * @param value the new value of the 'Positive' attribute. + * @see #getPositive() + * @generated + */ + void setPositive(String value); + + /** + * Returns the value of the 'Negative' attribute. + * + *

+ * If the meaning of the 'Negative' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Negative' attribute. + * @see #setNegative(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRequirement_Negative() + * @model + * @generated + */ + String getNegative(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Requirement#getNegative Negative}' attribute. + * + * + * @param value the new value of the 'Negative' attribute. + * @see #getNegative() + * @generated + */ + void setNegative(String value); + +} // Requirement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReturnStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReturnStatement.java new file mode 100644 index 0000000..958a0fb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ReturnStatement.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Return Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ReturnStatement#getExpression Expression}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReturnStatement() + * @model + * @generated + */ +public interface ReturnStatement extends Statement +{ + /** + * Returns the value of the 'Expression' containment reference. + * + *

+ * If the meaning of the 'Expression' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Expression' containment reference. + * @see #setExpression(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getReturnStatement_Expression() + * @model containment="true" + * @generated + */ + Expression getExpression(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ReturnStatement#getExpression Expression}' containment reference. + * + * + * @param value the new value of the 'Expression' containment reference. + * @see #getExpression() + * @generated + */ + void setExpression(Expression value); + +} // ReturnStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Root.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Root.java new file mode 100644 index 0000000..747b42b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Root.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Root'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Root#getDeclaration Declaration}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Root#getObserved Observed}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRoot() + * @model + * @generated + */ +public interface Root extends EObject +{ + /** + * Returns the value of the 'Declaration' reference. + * + *

+ * If the meaning of the 'Declaration' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Declaration' reference. + * @see #setDeclaration(RootDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRoot_Declaration() + * @model + * @generated + */ + RootDeclaration getDeclaration(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Root#getDeclaration Declaration}' reference. + * + * + * @param value the new value of the 'Declaration' reference. + * @see #getDeclaration() + * @generated + */ + void setDeclaration(RootDeclaration value); + + /** + * Returns the value of the 'Observed' reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.RootDeclaration}. + * + *

+ * If the meaning of the 'Observed' reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Observed' reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRoot_Observed() + * @model + * @generated + */ + EList getObserved(); + +} // Root diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RootDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RootDeclaration.java new file mode 100644 index 0000000..55cc92d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/RootDeclaration.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Root Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getRootDeclaration() + * @model + * @generated + */ +public interface RootDeclaration extends EObject +{ +} // RootDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SelectStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SelectStatement.java new file mode 100644 index 0000000..9ebfc02 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SelectStatement.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Select Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getBody Body}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSelectStatement() + * @model + * @generated + */ +public interface SelectStatement extends Statement +{ + /** + * Returns the value of the 'Body' containment reference. + * + *

+ * If the meaning of the 'Body' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference. + * @see #setBody(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSelectStatement_Body() + * @model containment="true" + * @generated + */ + Statement getBody(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Statement value); + + /** + * Returns the value of the 'Index' containment reference. + * + *

+ * If the meaning of the 'Index' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Index' containment reference. + * @see #setIndex(VariableDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSelectStatement_Index() + * @model containment="true" + * @generated + */ + VariableDeclaration getIndex(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getIndex Index}' containment reference. + * + * + * @param value the new value of the 'Index' containment reference. + * @see #getIndex() + * @generated + */ + void setIndex(VariableDeclaration value); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(RangeType) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSelectStatement_Type() + * @model containment="true" + * @generated + */ + RangeType getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(RangeType value); + +} // SelectStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SendStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SendStatement.java new file mode 100644 index 0000000..bd96176 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SendStatement.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Send Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.SendStatement#getPort Port}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.SendStatement#getValues Values}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSendStatement() + * @model + * @generated + */ +public interface SendStatement extends PatternStatement +{ + /** + * Returns the value of the 'Port' containment reference. + * + *

+ * If the meaning of the 'Port' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Port' containment reference. + * @see #setPort(Pattern) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSendStatement_Port() + * @model containment="true" + * @generated + */ + Pattern getPort(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.SendStatement#getPort Port}' containment reference. + * + * + * @param value the new value of the 'Port' containment reference. + * @see #getPort() + * @generated + */ + void setPort(Pattern value); + + /** + * Returns the value of the 'Values' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Expression}. + * + *

+ * If the meaning of the 'Values' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Values' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSendStatement_Values() + * @model containment="true" + * @generated + */ + EList getValues(); + +} // SendStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SequencePattern.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SequencePattern.java new file mode 100644 index 0000000..f09092b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/SequencePattern.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Sequence Pattern'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSequencePattern() + * @model + * @generated + */ +public interface SequencePattern extends PatternProperty +{ +} // SequencePattern diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateDeclaration.java new file mode 100644 index 0000000..3a0f672 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateDeclaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'State Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStateDeclaration() + * @model + * @generated + */ +public interface StateDeclaration extends NamedElement +{ +} // StateDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateEvent.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateEvent.java new file mode 100644 index 0000000..a427ca2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateEvent.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'State Event'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.StateEvent#getSubject Subject}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStateEvent() + * @model + * @generated + */ +public interface StateEvent extends ObservableEvent +{ + /** + * Returns the value of the 'Subject' containment reference. + * + *

+ * If the meaning of the 'Subject' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Subject' containment reference. + * @see #setSubject(Observable) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStateEvent_Subject() + * @model containment="true" + * @generated + */ + Observable getSubject(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.StateEvent#getSubject Subject}' containment reference. + * + * + * @param value the new value of the 'Subject' containment reference. + * @see #getSubject() + * @generated + */ + void setSubject(Observable value); + +} // StateEvent diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateSubject.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateSubject.java new file mode 100644 index 0000000..4df7bdd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StateSubject.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'State Subject'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.StateSubject#getState State}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStateSubject() + * @model + * @generated + */ +public interface StateSubject extends Subject +{ + /** + * Returns the value of the 'State' reference. + * + *

+ * If the meaning of the 'State' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'State' reference. + * @see #setState(StateDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStateSubject_State() + * @model + * @generated + */ + StateDeclaration getState(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.StateSubject#getState State}' reference. + * + * + * @param value the new value of the 'State' reference. + * @see #getState() + * @generated + */ + void setState(StateDeclaration value); + +} // StateSubject diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Statement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Statement.java new file mode 100644 index 0000000..22b58d8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Statement.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Statement'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStatement() + * @model + * @generated + */ +public interface Statement extends EObject +{ +} // Statement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementChoice.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementChoice.java new file mode 100644 index 0000000..2480b94 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementChoice.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Statement Choice'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.StatementChoice#getChoices Choices}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStatementChoice() + * @model + * @generated + */ +public interface StatementChoice extends Statement +{ + /** + * Returns the value of the 'Choices' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + *

+ * If the meaning of the 'Choices' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Choices' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStatementChoice_Choices() + * @model containment="true" + * @generated + */ + EList getChoices(); + +} // StatementChoice diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementSequence.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementSequence.java new file mode 100644 index 0000000..67aa9c0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/StatementSequence.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Statement Sequence'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.StatementSequence#getStatements Statements}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStatementSequence() + * @model + * @generated + */ +public interface StatementSequence extends Statement +{ + /** + * Returns the value of the 'Statements' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + *

+ * If the meaning of the 'Statements' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Statements' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getStatementSequence_Statements() + * @model containment="true" + * @generated + */ + EList getStatements(); + +} // StatementSequence diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Subject.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Subject.java new file mode 100644 index 0000000..88a5c9e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Subject.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Subject'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSubject() + * @model + * @generated + */ +public interface Subject extends EObject +{ +} // Subject diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Substraction.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Substraction.java new file mode 100644 index 0000000..9e525fa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Substraction.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Substraction'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Substraction#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Substraction#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSubstraction() + * @model + * @generated + */ +public interface Substraction extends Expression +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSubstraction_Left() + * @model containment="true" + * @generated + */ + Expression getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Substraction#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(Expression value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getSubstraction_Right() + * @model containment="true" + * @generated + */ + Expression getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Substraction#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(Expression value); + +} // Substraction diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TagSubject.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TagSubject.java new file mode 100644 index 0000000..39f7679 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TagSubject.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Tag Subject'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.TagSubject#getTag Tag}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTagSubject() + * @model + * @generated + */ +public interface TagSubject extends Subject +{ + /** + * Returns the value of the 'Tag' reference. + * + *

+ * If the meaning of the 'Tag' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Tag' reference. + * @see #setTag(TaggedStatement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTagSubject_Tag() + * @model + * @generated + */ + TaggedStatement getTag(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.TagSubject#getTag Tag}' reference. + * + * + * @param value the new value of the 'Tag' reference. + * @see #getTag() + * @generated + */ + void setTag(TaggedStatement value); + +} // TagSubject diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TaggedStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TaggedStatement.java new file mode 100644 index 0000000..1ef035b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TaggedStatement.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Tagged Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.TaggedStatement#getName Name}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTaggedStatement() + * @model + * @generated + */ +public interface TaggedStatement extends Statement +{ + /** + * Returns the value of the 'Name' attribute. + * + *

+ * If the meaning of the 'Name' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTaggedStatement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.TaggedStatement#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // TaggedStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ToStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ToStatement.java new file mode 100644 index 0000000..805045a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ToStatement.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'To Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ToStatement#getState State}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getToStatement() + * @model + * @generated + */ +public interface ToStatement extends Statement +{ + /** + * Returns the value of the 'State' reference. + * + *

+ * If the meaning of the 'State' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'State' reference. + * @see #setState(StateDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getToStatement_State() + * @model + * @generated + */ + StateDeclaration getState(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ToStatement#getState State}' reference. + * + * + * @param value the new value of the 'State' reference. + * @see #getState() + * @generated + */ + void setState(StateDeclaration value); + +} // ToStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Transition.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Transition.java new file mode 100644 index 0000000..f16aae2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Transition.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Transition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.Transition#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.Transition#getAction Action}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTransition() + * @model + * @generated + */ +public interface Transition extends EObject +{ + /** + * Returns the value of the 'Source' containment reference. + * + *

+ * If the meaning of the 'Source' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Source' containment reference. + * @see #setSource(TransitionSource) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTransition_Source() + * @model containment="true" + * @generated + */ + TransitionSource getSource(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Transition#getSource Source}' containment reference. + * + * + * @param value the new value of the 'Source' containment reference. + * @see #getSource() + * @generated + */ + void setSource(TransitionSource value); + + /** + * Returns the value of the 'Action' containment reference. + * + *

+ * If the meaning of the 'Action' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Action' containment reference. + * @see #setAction(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTransition_Action() + * @model containment="true" + * @generated + */ + Statement getAction(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.Transition#getAction Action}' containment reference. + * + * + * @param value the new value of the 'Action' containment reference. + * @see #getAction() + * @generated + */ + void setAction(Statement value); + +} // Transition diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TransitionSource.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TransitionSource.java new file mode 100644 index 0000000..ceb4173 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TransitionSource.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Transition Source'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.TransitionSource#getOrigin Origin}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTransitionSource() + * @model + * @generated + */ +public interface TransitionSource extends EObject +{ + /** + * Returns the value of the 'Origin' reference. + * + *

+ * If the meaning of the 'Origin' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Origin' reference. + * @see #setOrigin(StateDeclaration) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTransitionSource_Origin() + * @model + * @generated + */ + StateDeclaration getOrigin(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.TransitionSource#getOrigin Origin}' reference. + * + * + * @param value the new value of the 'Origin' reference. + * @see #getOrigin() + * @generated + */ + void setOrigin(StateDeclaration value); + +} // TransitionSource diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TrueLiteral.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TrueLiteral.java new file mode 100644 index 0000000..b59cba4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TrueLiteral.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'True Literal'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTrueLiteral() + * @model + * @generated + */ +public interface TrueLiteral extends BooleanLiteral +{ +} // TrueLiteral diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TupleType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TupleType.java new file mode 100644 index 0000000..092fff7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TupleType.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Tuple Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.TupleType#getTypes Types}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTupleType() + * @model + * @generated + */ +public interface TupleType extends Type +{ + /** + * Returns the value of the 'Types' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Type}. + * + *

+ * If the meaning of the 'Types' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Types' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTupleType_Types() + * @model containment="true" + * @generated + */ + EList getTypes(); + +} // TupleType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Type.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Type.java new file mode 100644 index 0000000..cfc2024 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/Type.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Type'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getType() + * @model + * @generated + */ +public interface Type extends EObject +{ +} // Type diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclaration.java new file mode 100644 index 0000000..929f83f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclaration.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Type Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTypeDeclaration() + * @model + * @generated + */ +public interface TypeDeclaration extends TypeDeclarationUse, Declaration +{ + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTypeDeclaration_Value() + * @model containment="true" + * @generated + */ + Type getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Type value); + +} // TypeDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclarationUse.java new file mode 100644 index 0000000..30f1c08 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/TypeDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Type Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getTypeDeclarationUse() + * @model + * @generated + */ +public interface TypeDeclarationUse extends EObject +{ +} // TypeDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryCoerceExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryCoerceExpression.java new file mode 100644 index 0000000..88e0259 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryCoerceExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Coerce Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryCoerceExpression() + * @model + * @generated + */ +public interface UnaryCoerceExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryCoerceExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryCoerceExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryDeQueueExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryDeQueueExpression.java new file mode 100644 index 0000000..bb31a2b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryDeQueueExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary De Queue Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryDeQueueExpression() + * @model + * @generated + */ +public interface UnaryDeQueueExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryDeQueueExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryDeQueueExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryEmptyExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryEmptyExpression.java new file mode 100644 index 0000000..0bd9b17 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryEmptyExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Empty Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryEmptyExpression() + * @model + * @generated + */ +public interface UnaryEmptyExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryEmptyExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryEmptyExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFirstExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFirstExpression.java new file mode 100644 index 0000000..9043caa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFirstExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary First Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryFirstExpression() + * @model + * @generated + */ +public interface UnaryFirstExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryFirstExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryFirstExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFullExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFullExpression.java new file mode 100644 index 0000000..e85fe58 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryFullExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Full Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryFullExpression() + * @model + * @generated + */ +public interface UnaryFullExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryFullExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryFullExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryLengthExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryLengthExpression.java new file mode 100644 index 0000000..7f28da6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryLengthExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Length Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryLengthExpression() + * @model + * @generated + */ +public interface UnaryLengthExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryLengthExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryLengthExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryMinusExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryMinusExpression.java new file mode 100644 index 0000000..6ef7a04 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryMinusExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Minus Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryMinusExpression() + * @model + * @generated + */ +public interface UnaryMinusExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryMinusExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryMinusExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryNegationExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryNegationExpression.java new file mode 100644 index 0000000..5c6bebf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryNegationExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Negation Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryNegationExpression() + * @model + * @generated + */ +public interface UnaryNegationExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryNegationExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryNegationExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryPlusExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryPlusExpression.java new file mode 100644 index 0000000..eb3c989 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnaryPlusExpression.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Unary Plus Expression'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression#getChild Child}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryPlusExpression() + * @model + * @generated + */ +public interface UnaryPlusExpression extends Expression +{ + /** + * Returns the value of the 'Child' containment reference. + * + *

+ * If the meaning of the 'Child' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Child' containment reference. + * @see #setChild(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnaryPlusExpression_Child() + * @model containment="true" + * @generated + */ + Expression getChild(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression#getChild Child}' containment reference. + * + * + * @param value the new value of the 'Child' containment reference. + * @see #getChild() + * @generated + */ + void setChild(Expression value); + +} // UnaryPlusExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclaration.java new file mode 100644 index 0000000..dc3d1eb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Union Tag Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionTagDeclaration() + * @model + * @generated + */ +public interface UnionTagDeclaration extends NamedElement, ExpressionDeclarationUse, UnionTagDeclarationUse, PatternDeclarationUse +{ +} // UnionTagDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclarationUse.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclarationUse.java new file mode 100644 index 0000000..1973024 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTagDeclarationUse.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Union Tag Declaration Use'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionTagDeclarationUse() + * @model + * @generated + */ +public interface UnionTagDeclarationUse extends EObject +{ +} // UnionTagDeclarationUse diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTags.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTags.java new file mode 100644 index 0000000..e4dcc76 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionTags.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Union Tags'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnionTags#getTags Tags}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnionTags#getType Type}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionTags() + * @model + * @generated + */ +public interface UnionTags extends EObject +{ + /** + * Returns the value of the 'Tags' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration}. + * + *

+ * If the meaning of the 'Tags' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Tags' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionTags_Tags() + * @model containment="true" + * @generated + */ + EList getTags(); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionTags_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.UnionTags#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + +} // UnionTags diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionType.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionType.java new file mode 100644 index 0000000..af359fd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnionType.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Union Type'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnionType#getTags Tags}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionType() + * @model + * @generated + */ +public interface UnionType extends Type +{ + /** + * Returns the value of the 'Tags' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.UnionTags}. + * + *

+ * If the meaning of the 'Tags' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Tags' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnionType_Tags() + * @model containment="true" + * @generated + */ + EList getTags(); + +} // UnionType diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnlessStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnlessStatement.java new file mode 100644 index 0000000..63e027f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UnlessStatement.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Unless Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.UnlessStatement#getFollowers Followers}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnlessStatement() + * @model + * @generated + */ +public interface UnlessStatement extends Statement +{ + /** + * Returns the value of the 'Followers' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.Statement}. + * + *

+ * If the meaning of the 'Followers' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Followers' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUnlessStatement_Followers() + * @model containment="true" + * @generated + */ + EList getFollowers(); + +} // UnlessStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UpperBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UpperBound.java new file mode 100644 index 0000000..344548d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/UpperBound.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Upper Bound'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getUpperBound() + * @model + * @generated + */ +public interface UpperBound extends EObject +{ +} // UpperBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueExpression.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueExpression.java new file mode 100644 index 0000000..76bebff --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueExpression.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Value Expression'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getValueExpression() + * @model + * @generated + */ +public interface ValueExpression extends EObject +{ +} // ValueExpression diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueSubject.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueSubject.java new file mode 100644 index 0000000..b7f7005 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/ValueSubject.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Value Subject'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.ValueSubject#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getValueSubject() + * @model + * @generated + */ +public interface ValueSubject extends Subject +{ + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getValueSubject_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.ValueSubject#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // ValueSubject diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableDeclaration.java new file mode 100644 index 0000000..4e31101 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableDeclaration.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Variable Declaration'. + * + * + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableDeclaration() + * @model + * @generated + */ +public interface VariableDeclaration extends NamedElement, ExpressionDeclarationUse, ReferenceDeclarationUse, PatternDeclarationUse, BoundDeclarationUse, PropertyDeclarationUse +{ +} // VariableDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableLowerBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableLowerBound.java new file mode 100644 index 0000000..263532a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableLowerBound.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Variable Lower Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound#getVariable Variable}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableLowerBound() + * @model + * @generated + */ +public interface VariableLowerBound extends LowerBound +{ + /** + * Returns the value of the 'Variable' reference. + * + *

+ * If the meaning of the 'Variable' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable' reference. + * @see #setVariable(BoundDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableLowerBound_Variable() + * @model + * @generated + */ + BoundDeclarationUse getVariable(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound#getVariable Variable}' reference. + * + * + * @param value the new value of the 'Variable' reference. + * @see #getVariable() + * @generated + */ + void setVariable(BoundDeclarationUse value); + +} // VariableLowerBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableUpperBound.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableUpperBound.java new file mode 100644 index 0000000..5b8248f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariableUpperBound.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Variable Upper Bound'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableUpperBound() + * @model + * @generated + */ +public interface VariableUpperBound extends UpperBound +{ + /** + * Returns the value of the 'Variable' reference. + * + *

+ * If the meaning of the 'Variable' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variable' reference. + * @see #setVariable(BoundDeclarationUse) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableUpperBound_Variable() + * @model + * @generated + */ + BoundDeclarationUse getVariable(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#getVariable Variable}' reference. + * + * + * @param value the new value of the 'Variable' reference. + * @see #getVariable() + * @generated + */ + void setVariable(BoundDeclarationUse value); + + /** + * Returns the value of the 'Left' attribute. + * + *

+ * If the meaning of the 'Left' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' attribute. + * @see #setLeft(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableUpperBound_Left() + * @model + * @generated + */ + boolean isLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isLeft Left}' attribute. + * + * + * @param value the new value of the 'Left' attribute. + * @see #isLeft() + * @generated + */ + void setLeft(boolean value); + + /** + * Returns the value of the 'Right' attribute. + * + *

+ * If the meaning of the 'Right' attribute isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' attribute. + * @see #setRight(boolean) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariableUpperBound_Right() + * @model + * @generated + */ + boolean isRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound#isRight Right}' attribute. + * + * + * @param value the new value of the 'Right' attribute. + * @see #isRight() + * @generated + */ + void setRight(boolean value); + +} // VariableUpperBound diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariablesDeclaration.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariablesDeclaration.java new file mode 100644 index 0000000..45593ed --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/VariablesDeclaration.java @@ -0,0 +1,108 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Variables Declaration'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getVariables Variables}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getValue Value}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariablesDeclaration() + * @model + * @generated + */ +public interface VariablesDeclaration extends EObject +{ + /** + * Returns the value of the 'Variables' containment reference list. + * The list contents are of type {@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration}. + * + *

+ * If the meaning of the 'Variables' containment reference list isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Variables' containment reference list. + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariablesDeclaration_Variables() + * @model containment="true" + * @generated + */ + EList getVariables(); + + /** + * Returns the value of the 'Type' containment reference. + * + *

+ * If the meaning of the 'Type' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Type' containment reference. + * @see #setType(Type) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariablesDeclaration_Type() + * @model containment="true" + * @generated + */ + Type getType(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getType Type}' containment reference. + * + * + * @param value the new value of the 'Type' containment reference. + * @see #getType() + * @generated + */ + void setType(Type value); + + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getVariablesDeclaration_Value() + * @model containment="true" + * @generated + */ + Expression getValue(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(Expression value); + +} // VariablesDeclaration diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WaitStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WaitStatement.java new file mode 100644 index 0000000..3fff63e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WaitStatement.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'Wait Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getRight Right}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWaitStatement() + * @model + * @generated + */ +public interface WaitStatement extends Statement +{ + /** + * Returns the value of the 'Left' containment reference. + * + *

+ * If the meaning of the 'Left' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Left' containment reference. + * @see #setLeft(LowerBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWaitStatement_Left() + * @model containment="true" + * @generated + */ + LowerBound getLeft(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getLeft Left}' containment reference. + * + * + * @param value the new value of the 'Left' containment reference. + * @see #getLeft() + * @generated + */ + void setLeft(LowerBound value); + + /** + * Returns the value of the 'Right' containment reference. + * + *

+ * If the meaning of the 'Right' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Right' containment reference. + * @see #setRight(UpperBound) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWaitStatement_Right() + * @model containment="true" + * @generated + */ + UpperBound getRight(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement#getRight Right}' containment reference. + * + * + * @param value the new value of the 'Right' containment reference. + * @see #getRight() + * @generated + */ + void setRight(UpperBound value); + +} // WaitStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WhileStatement.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WhileStatement.java new file mode 100644 index 0000000..a34a341 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/WhileStatement.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre; + + +/** + * + * A representation of the model object 'While Statement'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getBody Body}
  • + *
+ * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWhileStatement() + * @model + * @generated + */ +public interface WhileStatement extends Statement +{ + /** + * Returns the value of the 'Condition' containment reference. + * + *

+ * If the meaning of the 'Condition' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Condition' containment reference. + * @see #setCondition(Expression) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWhileStatement_Condition() + * @model containment="true" + * @generated + */ + Expression getCondition(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getCondition Condition}' containment reference. + * + * + * @param value the new value of the 'Condition' containment reference. + * @see #getCondition() + * @generated + */ + void setCondition(Expression value); + + /** + * Returns the value of the 'Body' containment reference. + * + *

+ * If the meaning of the 'Body' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Body' containment reference. + * @see #setBody(Statement) + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#getWhileStatement_Body() + * @model containment="true" + * @generated + */ + Statement getBody(); + + /** + * Sets the value of the '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement#getBody Body}' containment reference. + * + * + * @param value the new value of the 'Body' containment reference. + * @see #getBody() + * @generated + */ + void setBody(Statement value); + +} // WhileStatement diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AbsencePatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AbsencePatternImpl.java new file mode 100644 index 0000000..6f4a36b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AbsencePatternImpl.java @@ -0,0 +1,703 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AbsencePattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LowerBound; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.UpperBound; + +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; + +/** + * + * An implementation of the model object 'Absence Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AbsencePatternImpl#getMax Max}
  • + *
+ * + * @generated + */ +public class AbsencePatternImpl extends PatternPropertyImpl implements AbsencePattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * The cached value of the '{@link #getAfter() After}' containment reference. + * + * + * @see #getAfter() + * @generated + * @ordered + */ + protected Observable after; + + /** + * The cached value of the '{@link #getLower() Lower}' containment reference. + * + * + * @see #getLower() + * @generated + * @ordered + */ + protected LowerBound lower; + + /** + * The cached value of the '{@link #getUpper() Upper}' containment reference. + * + * + * @see #getUpper() + * @generated + * @ordered + */ + protected UpperBound upper; + + /** + * The cached value of the '{@link #getUntil() Until}' containment reference. + * + * + * @see #getUntil() + * @generated + * @ordered + */ + protected Observable until; + + /** + * The cached value of the '{@link #getBefore() Before}' containment reference. + * + * + * @see #getBefore() + * @generated + * @ordered + */ + protected Observable before; + + /** + * The cached value of the '{@link #getMin() Min}' containment reference. + * + * + * @see #getMin() + * @generated + * @ordered + */ + protected Observable min; + + /** + * The cached value of the '{@link #getMax() Max}' containment reference. + * + * + * @see #getMax() + * @generated + * @ordered + */ + protected Observable max; + + /** + * + * + * @generated + */ + protected AbsencePatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAbsencePattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + public Observable getAfter() + { + return after; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAfter(Observable newAfter, NotificationChain msgs) + { + Observable oldAfter = after; + after = newAfter; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__AFTER, oldAfter, newAfter); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAfter(Observable newAfter) + { + if (newAfter != after) + { + NotificationChain msgs = null; + if (after != null) + msgs = ((InternalEObject)after).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__AFTER, null, msgs); + if (newAfter != null) + msgs = ((InternalEObject)newAfter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__AFTER, null, msgs); + msgs = basicSetAfter(newAfter, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__AFTER, newAfter, newAfter)); + } + + /** + * + * + * @generated + */ + public LowerBound getLower() + { + return lower; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLower(LowerBound newLower, NotificationChain msgs) + { + LowerBound oldLower = lower; + lower = newLower; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__LOWER, oldLower, newLower); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLower(LowerBound newLower) + { + if (newLower != lower) + { + NotificationChain msgs = null; + if (lower != null) + msgs = ((InternalEObject)lower).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__LOWER, null, msgs); + if (newLower != null) + msgs = ((InternalEObject)newLower).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__LOWER, null, msgs); + msgs = basicSetLower(newLower, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__LOWER, newLower, newLower)); + } + + /** + * + * + * @generated + */ + public UpperBound getUpper() + { + return upper; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUpper(UpperBound newUpper, NotificationChain msgs) + { + UpperBound oldUpper = upper; + upper = newUpper; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__UPPER, oldUpper, newUpper); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUpper(UpperBound newUpper) + { + if (newUpper != upper) + { + NotificationChain msgs = null; + if (upper != null) + msgs = ((InternalEObject)upper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__UPPER, null, msgs); + if (newUpper != null) + msgs = ((InternalEObject)newUpper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__UPPER, null, msgs); + msgs = basicSetUpper(newUpper, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__UPPER, newUpper, newUpper)); + } + + /** + * + * + * @generated + */ + public Observable getUntil() + { + return until; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUntil(Observable newUntil, NotificationChain msgs) + { + Observable oldUntil = until; + until = newUntil; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__UNTIL, oldUntil, newUntil); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUntil(Observable newUntil) + { + if (newUntil != until) + { + NotificationChain msgs = null; + if (until != null) + msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__UNTIL, null, msgs); + if (newUntil != null) + msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__UNTIL, null, msgs); + msgs = basicSetUntil(newUntil, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__UNTIL, newUntil, newUntil)); + } + + /** + * + * + * @generated + */ + public Observable getBefore() + { + return before; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBefore(Observable newBefore, NotificationChain msgs) + { + Observable oldBefore = before; + before = newBefore; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__BEFORE, oldBefore, newBefore); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBefore(Observable newBefore) + { + if (newBefore != before) + { + NotificationChain msgs = null; + if (before != null) + msgs = ((InternalEObject)before).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__BEFORE, null, msgs); + if (newBefore != null) + msgs = ((InternalEObject)newBefore).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__BEFORE, null, msgs); + msgs = basicSetBefore(newBefore, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__BEFORE, newBefore, newBefore)); + } + + /** + * + * + * @generated + */ + public Observable getMin() + { + return min; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMin(Observable newMin, NotificationChain msgs) + { + Observable oldMin = min; + min = newMin; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__MIN, oldMin, newMin); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMin(Observable newMin) + { + if (newMin != min) + { + NotificationChain msgs = null; + if (min != null) + msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__MIN, null, msgs); + if (newMin != null) + msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__MIN, null, msgs); + msgs = basicSetMin(newMin, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__MIN, newMin, newMin)); + } + + /** + * + * + * @generated + */ + public Observable getMax() + { + return max; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMax(Observable newMax, NotificationChain msgs) + { + Observable oldMax = max; + max = newMax; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__MAX, oldMax, newMax); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMax(Observable newMax) + { + if (newMax != max) + { + NotificationChain msgs = null; + if (max != null) + msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__MAX, null, msgs); + if (newMax != null) + msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ABSENCE_PATTERN__MAX, null, msgs); + msgs = basicSetMax(newMax, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ABSENCE_PATTERN__MAX, newMax, newMax)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__AFTER: + return basicSetAfter(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__LOWER: + return basicSetLower(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__UPPER: + return basicSetUpper(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + return basicSetUntil(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + return basicSetBefore(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__MIN: + return basicSetMin(null, msgs); + case FiacrePackage.ABSENCE_PATTERN__MAX: + return basicSetMax(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + return getSubject(); + case FiacrePackage.ABSENCE_PATTERN__AFTER: + return getAfter(); + case FiacrePackage.ABSENCE_PATTERN__LOWER: + return getLower(); + case FiacrePackage.ABSENCE_PATTERN__UPPER: + return getUpper(); + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + return getUntil(); + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + return getBefore(); + case FiacrePackage.ABSENCE_PATTERN__MIN: + return getMin(); + case FiacrePackage.ABSENCE_PATTERN__MAX: + return getMax(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__AFTER: + setAfter((Observable)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__LOWER: + setLower((LowerBound)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__UPPER: + setUpper((UpperBound)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + setUntil((Observable)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + setBefore((Observable)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__MIN: + setMin((Observable)newValue); + return; + case FiacrePackage.ABSENCE_PATTERN__MAX: + setMax((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + case FiacrePackage.ABSENCE_PATTERN__AFTER: + setAfter((Observable)null); + return; + case FiacrePackage.ABSENCE_PATTERN__LOWER: + setLower((LowerBound)null); + return; + case FiacrePackage.ABSENCE_PATTERN__UPPER: + setUpper((UpperBound)null); + return; + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + setUntil((Observable)null); + return; + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + setBefore((Observable)null); + return; + case FiacrePackage.ABSENCE_PATTERN__MIN: + setMin((Observable)null); + return; + case FiacrePackage.ABSENCE_PATTERN__MAX: + setMax((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ABSENCE_PATTERN__SUBJECT: + return subject != null; + case FiacrePackage.ABSENCE_PATTERN__AFTER: + return after != null; + case FiacrePackage.ABSENCE_PATTERN__LOWER: + return lower != null; + case FiacrePackage.ABSENCE_PATTERN__UPPER: + return upper != null; + case FiacrePackage.ABSENCE_PATTERN__UNTIL: + return until != null; + case FiacrePackage.ABSENCE_PATTERN__BEFORE: + return before != null; + case FiacrePackage.ABSENCE_PATTERN__MIN: + return min != null; + case FiacrePackage.ABSENCE_PATTERN__MAX: + return max != null; + } + return super.eIsSet(featureID); + } + +} //AbsencePatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AdditionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AdditionImpl.java new file mode 100644 index 0000000..4d80e5b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AdditionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Addition; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Addition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AdditionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AdditionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class AdditionImpl extends ExpressionImpl implements Addition +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected AdditionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAddition(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ADDITION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ADDITION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ADDITION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ADDITION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ADDITION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ADDITION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ADDITION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ADDITION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ADDITION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.ADDITION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ADDITION__LEFT: + return getLeft(); + case FiacrePackage.ADDITION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ADDITION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.ADDITION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ADDITION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.ADDITION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ADDITION__LEFT: + return left != null; + case FiacrePackage.ADDITION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //AdditionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllExpressionImpl.java new file mode 100644 index 0000000..a382f74f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllExpressionImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AllExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'All Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllExpressionImpl#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllExpressionImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class AllExpressionImpl extends ExpressionImpl implements AllExpression +{ + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected VariableDeclaration index; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected AllExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAllExpression(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(VariableDeclaration newIndex, NotificationChain msgs) + { + VariableDeclaration oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(VariableDeclaration newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ALL_EXPRESSION__INDEX: + return basicSetIndex(null, msgs); + case FiacrePackage.ALL_EXPRESSION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.ALL_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ALL_EXPRESSION__INDEX: + return getIndex(); + case FiacrePackage.ALL_EXPRESSION__TYPE: + return getType(); + case FiacrePackage.ALL_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ALL_EXPRESSION__INDEX: + setIndex((VariableDeclaration)newValue); + return; + case FiacrePackage.ALL_EXPRESSION__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.ALL_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALL_EXPRESSION__INDEX: + setIndex((VariableDeclaration)null); + return; + case FiacrePackage.ALL_EXPRESSION__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.ALL_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALL_EXPRESSION__INDEX: + return index != null; + case FiacrePackage.ALL_EXPRESSION__TYPE: + return type != null; + case FiacrePackage.ALL_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //AllExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllPropertyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllPropertyImpl.java new file mode 100644 index 0000000..af5ee16 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AllPropertyImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AllProperty; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'All Property'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllPropertyImpl#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllPropertyImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AllPropertyImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class AllPropertyImpl extends PropertyImpl implements AllProperty +{ + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected VariableDeclaration variable; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Property child; + + /** + * + * + * @generated + */ + protected AllPropertyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAllProperty(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(VariableDeclaration newVariable, NotificationChain msgs) + { + VariableDeclaration oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__VARIABLE, oldVariable, newVariable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setVariable(VariableDeclaration newVariable) + { + if (newVariable != variable) + { + NotificationChain msgs = null; + if (variable != null) + msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__VARIABLE, null, msgs); + if (newVariable != null) + msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__VARIABLE, null, msgs); + msgs = basicSetVariable(newVariable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__VARIABLE, newVariable, newVariable)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Property getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Property newChild, NotificationChain msgs) + { + Property oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Property newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALL_PROPERTY__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALL_PROPERTY__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + return basicSetVariable(null, msgs); + case FiacrePackage.ALL_PROPERTY__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.ALL_PROPERTY__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + return getVariable(); + case FiacrePackage.ALL_PROPERTY__TYPE: + return getType(); + case FiacrePackage.ALL_PROPERTY__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + setVariable((VariableDeclaration)newValue); + return; + case FiacrePackage.ALL_PROPERTY__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.ALL_PROPERTY__CHILD: + setChild((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + setVariable((VariableDeclaration)null); + return; + case FiacrePackage.ALL_PROPERTY__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.ALL_PROPERTY__CHILD: + setChild((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALL_PROPERTY__VARIABLE: + return variable != null; + case FiacrePackage.ALL_PROPERTY__TYPE: + return type != null; + case FiacrePackage.ALL_PROPERTY__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //AllPropertyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AlwaysPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AlwaysPatternImpl.java new file mode 100644 index 0000000..a7ee9f0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AlwaysPatternImpl.java @@ -0,0 +1,559 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AlwaysPattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; + +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; + +/** + * + * An implementation of the model object 'Always Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AlwaysPatternImpl#getMax Max}
  • + *
+ * + * @generated + */ +public class AlwaysPatternImpl extends PatternPropertyImpl implements AlwaysPattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * The cached value of the '{@link #getBefore() Before}' containment reference. + * + * + * @see #getBefore() + * @generated + * @ordered + */ + protected Observable before; + + /** + * The cached value of the '{@link #getAfter() After}' containment reference. + * + * + * @see #getAfter() + * @generated + * @ordered + */ + protected Observable after; + + /** + * The cached value of the '{@link #getUntil() Until}' containment reference. + * + * + * @see #getUntil() + * @generated + * @ordered + */ + protected Observable until; + + /** + * The cached value of the '{@link #getMin() Min}' containment reference. + * + * + * @see #getMin() + * @generated + * @ordered + */ + protected Observable min; + + /** + * The cached value of the '{@link #getMax() Max}' containment reference. + * + * + * @see #getMax() + * @generated + * @ordered + */ + protected Observable max; + + /** + * + * + * @generated + */ + protected AlwaysPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAlwaysPattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + public Observable getBefore() + { + return before; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBefore(Observable newBefore, NotificationChain msgs) + { + Observable oldBefore = before; + before = newBefore; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__BEFORE, oldBefore, newBefore); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBefore(Observable newBefore) + { + if (newBefore != before) + { + NotificationChain msgs = null; + if (before != null) + msgs = ((InternalEObject)before).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__BEFORE, null, msgs); + if (newBefore != null) + msgs = ((InternalEObject)newBefore).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__BEFORE, null, msgs); + msgs = basicSetBefore(newBefore, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__BEFORE, newBefore, newBefore)); + } + + /** + * + * + * @generated + */ + public Observable getAfter() + { + return after; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAfter(Observable newAfter, NotificationChain msgs) + { + Observable oldAfter = after; + after = newAfter; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__AFTER, oldAfter, newAfter); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAfter(Observable newAfter) + { + if (newAfter != after) + { + NotificationChain msgs = null; + if (after != null) + msgs = ((InternalEObject)after).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__AFTER, null, msgs); + if (newAfter != null) + msgs = ((InternalEObject)newAfter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__AFTER, null, msgs); + msgs = basicSetAfter(newAfter, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__AFTER, newAfter, newAfter)); + } + + /** + * + * + * @generated + */ + public Observable getUntil() + { + return until; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUntil(Observable newUntil, NotificationChain msgs) + { + Observable oldUntil = until; + until = newUntil; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__UNTIL, oldUntil, newUntil); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUntil(Observable newUntil) + { + if (newUntil != until) + { + NotificationChain msgs = null; + if (until != null) + msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__UNTIL, null, msgs); + if (newUntil != null) + msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__UNTIL, null, msgs); + msgs = basicSetUntil(newUntil, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__UNTIL, newUntil, newUntil)); + } + + /** + * + * + * @generated + */ + public Observable getMin() + { + return min; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMin(Observable newMin, NotificationChain msgs) + { + Observable oldMin = min; + min = newMin; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__MIN, oldMin, newMin); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMin(Observable newMin) + { + if (newMin != min) + { + NotificationChain msgs = null; + if (min != null) + msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__MIN, null, msgs); + if (newMin != null) + msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__MIN, null, msgs); + msgs = basicSetMin(newMin, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__MIN, newMin, newMin)); + } + + /** + * + * + * @generated + */ + public Observable getMax() + { + return max; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMax(Observable newMax, NotificationChain msgs) + { + Observable oldMax = max; + max = newMax; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__MAX, oldMax, newMax); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMax(Observable newMax) + { + if (newMax != max) + { + NotificationChain msgs = null; + if (max != null) + msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__MAX, null, msgs); + if (newMax != null) + msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ALWAYS_PATTERN__MAX, null, msgs); + msgs = basicSetMax(newMax, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ALWAYS_PATTERN__MAX, newMax, newMax)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + return basicSetBefore(null, msgs); + case FiacrePackage.ALWAYS_PATTERN__AFTER: + return basicSetAfter(null, msgs); + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + return basicSetUntil(null, msgs); + case FiacrePackage.ALWAYS_PATTERN__MIN: + return basicSetMin(null, msgs); + case FiacrePackage.ALWAYS_PATTERN__MAX: + return basicSetMax(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + return getSubject(); + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + return getBefore(); + case FiacrePackage.ALWAYS_PATTERN__AFTER: + return getAfter(); + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + return getUntil(); + case FiacrePackage.ALWAYS_PATTERN__MIN: + return getMin(); + case FiacrePackage.ALWAYS_PATTERN__MAX: + return getMax(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + setBefore((Observable)newValue); + return; + case FiacrePackage.ALWAYS_PATTERN__AFTER: + setAfter((Observable)newValue); + return; + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + setUntil((Observable)newValue); + return; + case FiacrePackage.ALWAYS_PATTERN__MIN: + setMin((Observable)newValue); + return; + case FiacrePackage.ALWAYS_PATTERN__MAX: + setMax((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + setBefore((Observable)null); + return; + case FiacrePackage.ALWAYS_PATTERN__AFTER: + setAfter((Observable)null); + return; + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + setUntil((Observable)null); + return; + case FiacrePackage.ALWAYS_PATTERN__MIN: + setMin((Observable)null); + return; + case FiacrePackage.ALWAYS_PATTERN__MAX: + setMax((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ALWAYS_PATTERN__SUBJECT: + return subject != null; + case FiacrePackage.ALWAYS_PATTERN__BEFORE: + return before != null; + case FiacrePackage.ALWAYS_PATTERN__AFTER: + return after != null; + case FiacrePackage.ALWAYS_PATTERN__UNTIL: + return until != null; + case FiacrePackage.ALWAYS_PATTERN__MIN: + return min != null; + case FiacrePackage.ALWAYS_PATTERN__MAX: + return max != null; + } + return super.eIsSet(featureID); + } + +} //AlwaysPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AnyPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AnyPatternImpl.java new file mode 100644 index 0000000..efdebbd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AnyPatternImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AnyPattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Any Pattern'. + * + * + * @generated + */ +public class AnyPatternImpl extends PatternImpl implements AnyPattern +{ + /** + * + * + * @generated + */ + protected AnyPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAnyPattern(); + } + +} //AnyPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AppendExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AppendExpressionImpl.java new file mode 100644 index 0000000..e3b9aa7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AppendExpressionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AppendExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Append Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AppendExpressionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AppendExpressionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class AppendExpressionImpl extends ExpressionImpl implements AppendExpression +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected AppendExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAppendExpression(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.APPEND_EXPRESSION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.APPEND_EXPRESSION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.APPEND_EXPRESSION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.APPEND_EXPRESSION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.APPEND_EXPRESSION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.APPEND_EXPRESSION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.APPEND_EXPRESSION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.APPEND_EXPRESSION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + return getLeft(); + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.APPEND_EXPRESSION__LEFT: + return left != null; + case FiacrePackage.APPEND_EXPRESSION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //AppendExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessExpressionImpl.java new file mode 100644 index 0000000..b66a220 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessExpressionImpl.java @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; + +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; + +/** + * + * An implementation of the model object 'Array Access Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessExpressionImpl#getChild Child}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessExpressionImpl#getIndexes Indexes}
  • + *
+ * + * @generated + */ +public class ArrayAccessExpressionImpl extends IdentifierExpressionImpl implements ArrayAccessExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected IdentifierExpression child; + + /** + * The cached value of the '{@link #getIndexes() Indexes}' containment reference list. + * + * + * @see #getIndexes() + * @generated + * @ordered + */ + protected EList indexes; + + /** + * + * + * @generated + */ + protected ArrayAccessExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getArrayAccessExpression(); + } + + /** + * + * + * @generated + */ + public IdentifierExpression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(IdentifierExpression newChild, NotificationChain msgs) + { + IdentifierExpression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(IdentifierExpression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + public EList getIndexes() + { + if (indexes == null) + { + indexes = new EObjectContainmentEList(Expression.class, this, FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES); + } + return indexes; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + return ((InternalEList)getIndexes()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + return getChild(); + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + return getIndexes(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + setChild((IdentifierExpression)newValue); + return; + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + getIndexes().clear(); + getIndexes().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + setChild((IdentifierExpression)null); + return; + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + getIndexes().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__CHILD: + return child != null; + case FiacrePackage.ARRAY_ACCESS_EXPRESSION__INDEXES: + return indexes != null && !indexes.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ArrayAccessExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessPatternImpl.java new file mode 100644 index 0000000..055d569 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayAccessPatternImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern; + +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; + +/** + * + * An implementation of the model object 'Array Access Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessPatternImpl#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayAccessPatternImpl#getIndex Index}
  • + *
+ * + * @generated + */ +public class ArrayAccessPatternImpl extends IdentifierPatternImpl implements ArrayAccessPattern +{ + /** + * The cached value of the '{@link #getSource() Source}' containment reference. + * + * + * @see #getSource() + * @generated + * @ordered + */ + protected IdentifierPattern source; + + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected Expression index; + + /** + * + * + * @generated + */ + protected ArrayAccessPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getArrayAccessPattern(); + } + + /** + * + * + * @generated + */ + public IdentifierPattern getSource() + { + return source; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSource(IdentifierPattern newSource, NotificationChain msgs) + { + IdentifierPattern oldSource = source; + source = newSource; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE, oldSource, newSource); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSource(IdentifierPattern newSource) + { + if (newSource != source) + { + NotificationChain msgs = null; + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE, null, msgs); + if (newSource != null) + msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE, null, msgs); + msgs = basicSetSource(newSource, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE, newSource, newSource)); + } + + /** + * + * + * @generated + */ + public Expression getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(Expression newIndex, NotificationChain msgs) + { + Expression oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(Expression newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + return basicSetSource(null, msgs); + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + return basicSetIndex(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + return getSource(); + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + return getIndex(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + setSource((IdentifierPattern)newValue); + return; + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + setIndex((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + setSource((IdentifierPattern)null); + return; + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + setIndex((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_ACCESS_PATTERN__SOURCE: + return source != null; + case FiacrePackage.ARRAY_ACCESS_PATTERN__INDEX: + return index != null; + } + return super.eIsSet(featureID); + } + +} //ArrayAccessPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayExpressionImpl.java new file mode 100644 index 0000000..b3014a6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayExpressionImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ArrayExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Array Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayExpressionImpl#getValues Values}
  • + *
+ * + * @generated + */ +public class ArrayExpressionImpl extends ValueExpressionImpl implements ArrayExpression +{ + /** + * The cached value of the '{@link #getValues() Values}' containment reference list. + * + * + * @see #getValues() + * @generated + * @ordered + */ + protected EList values; + + /** + * + * + * @generated + */ + protected ArrayExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getArrayExpression(); + } + + /** + * + * + * @generated + */ + public EList getValues() + { + if (values == null) + { + values = new EObjectContainmentEList(Expression.class, this, FiacrePackage.ARRAY_EXPRESSION__VALUES); + } + return values; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + return ((InternalEList)getValues()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + return getValues(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + getValues().clear(); + getValues().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + getValues().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_EXPRESSION__VALUES: + return values != null && !values.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ArrayExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayTypeImpl.java new file mode 100644 index 0000000..d64953a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ArrayTypeImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ArrayType; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Type; + +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; + +/** + * + * An implementation of the model object 'Array Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayTypeImpl#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ArrayTypeImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ArrayTypeImpl extends TypeImpl implements ArrayType +{ + /** + * The cached value of the '{@link #getSize() Size}' containment reference. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected Expression size; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected ArrayTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getArrayType(); + } + + /** + * + * + * @generated + */ + public Expression getSize() + { + return size; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSize(Expression newSize, NotificationChain msgs) + { + Expression oldSize = size; + size = newSize; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_TYPE__SIZE, oldSize, newSize); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSize(Expression newSize) + { + if (newSize != size) + { + NotificationChain msgs = null; + if (size != null) + msgs = ((InternalEObject)size).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_TYPE__SIZE, null, msgs); + if (newSize != null) + msgs = ((InternalEObject)newSize).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_TYPE__SIZE, null, msgs); + msgs = basicSetSize(newSize, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_TYPE__SIZE, newSize, newSize)); + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_TYPE__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_TYPE__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ARRAY_TYPE__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ARRAY_TYPE__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ARRAY_TYPE__SIZE: + return basicSetSize(null, msgs); + case FiacrePackage.ARRAY_TYPE__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ARRAY_TYPE__SIZE: + return getSize(); + case FiacrePackage.ARRAY_TYPE__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ARRAY_TYPE__SIZE: + setSize((Expression)newValue); + return; + case FiacrePackage.ARRAY_TYPE__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_TYPE__SIZE: + setSize((Expression)null); + return; + case FiacrePackage.ARRAY_TYPE__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ARRAY_TYPE__SIZE: + return size != null; + case FiacrePackage.ARRAY_TYPE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //ArrayTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignAnyStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignAnyStatementImpl.java new file mode 100644 index 0000000..417fafd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignAnyStatementImpl.java @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AssignAnyStatement; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; + +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; + +/** + * + * An implementation of the model object 'Assign Any Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AssignAnyStatementImpl#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AssignAnyStatementImpl#getExp Exp}
  • + *
+ * + * @generated + */ +public class AssignAnyStatementImpl extends PatternStatementImpl implements AssignAnyStatement +{ + /** + * The cached value of the '{@link #getPatterns() Patterns}' containment reference list. + * + * + * @see #getPatterns() + * @generated + * @ordered + */ + protected EList patterns; + + /** + * The cached value of the '{@link #getExp() Exp}' containment reference. + * + * + * @see #getExp() + * @generated + * @ordered + */ + protected Expression exp; + + /** + * + * + * @generated + */ + protected AssignAnyStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAssignAnyStatement(); + } + + /** + * + * + * @generated + */ + public EList getPatterns() + { + if (patterns == null) + { + patterns = new EObjectContainmentEList(Pattern.class, this, FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS); + } + return patterns; + } + + /** + * + * + * @generated + */ + public Expression getExp() + { + return exp; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetExp(Expression newExp, NotificationChain msgs) + { + Expression oldExp = exp; + exp = newExp; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ASSIGN_ANY_STATEMENT__EXP, oldExp, newExp); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setExp(Expression newExp) + { + if (newExp != exp) + { + NotificationChain msgs = null; + if (exp != null) + msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ASSIGN_ANY_STATEMENT__EXP, null, msgs); + if (newExp != null) + msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ASSIGN_ANY_STATEMENT__EXP, null, msgs); + msgs = basicSetExp(newExp, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ASSIGN_ANY_STATEMENT__EXP, newExp, newExp)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + return ((InternalEList)getPatterns()).basicRemove(otherEnd, msgs); + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + return basicSetExp(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + return getPatterns(); + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + return getExp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + getPatterns().clear(); + getPatterns().addAll((Collection)newValue); + return; + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + setExp((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + getPatterns().clear(); + return; + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + setExp((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_ANY_STATEMENT__PATTERNS: + return patterns != null && !patterns.isEmpty(); + case FiacrePackage.ASSIGN_ANY_STATEMENT__EXP: + return exp != null; + } + return super.eIsSet(featureID); + } + +} //AssignAnyStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignStatementImpl.java new file mode 100644 index 0000000..6e28a10 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/AssignStatementImpl.java @@ -0,0 +1,215 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.AssignStatement; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Assign Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AssignStatementImpl#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.AssignStatementImpl#getValues Values}
  • + *
+ * + * @generated + */ +public class AssignStatementImpl extends PatternStatementImpl implements AssignStatement +{ + /** + * The cached value of the '{@link #getPatterns() Patterns}' containment reference list. + * + * + * @see #getPatterns() + * @generated + * @ordered + */ + protected EList patterns; + + /** + * The cached value of the '{@link #getValues() Values}' containment reference list. + * + * + * @see #getValues() + * @generated + * @ordered + */ + protected EList values; + + /** + * + * + * @generated + */ + protected AssignStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getAssignStatement(); + } + + /** + * + * + * @generated + */ + public EList getPatterns() + { + if (patterns == null) + { + patterns = new EObjectContainmentEList(Pattern.class, this, FiacrePackage.ASSIGN_STATEMENT__PATTERNS); + } + return patterns; + } + + /** + * + * + * @generated + */ + public EList getValues() + { + if (values == null) + { + values = new EObjectContainmentEList(Expression.class, this, FiacrePackage.ASSIGN_STATEMENT__VALUES); + } + return values; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + return ((InternalEList)getPatterns()).basicRemove(otherEnd, msgs); + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + return ((InternalEList)getValues()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + return getPatterns(); + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + return getValues(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + getPatterns().clear(); + getPatterns().addAll((Collection)newValue); + return; + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + getValues().clear(); + getValues().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + getPatterns().clear(); + return; + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + getValues().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ASSIGN_STATEMENT__PATTERNS: + return patterns != null && !patterns.isEmpty(); + case FiacrePackage.ASSIGN_STATEMENT__VALUES: + return values != null && !values.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //AssignStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BasicTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BasicTypeImpl.java new file mode 100644 index 0000000..89312b6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BasicTypeImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BasicType; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Basic Type'. + * + * + * @generated + */ +public class BasicTypeImpl extends TypeImpl implements BasicType +{ + /** + * + * + * @generated + */ + protected BasicTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBasicType(); + } + +} //BasicTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockImpl.java new file mode 100644 index 0000000..66ae0cc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockImpl.java @@ -0,0 +1,205 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Block; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortSet; + +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; + +/** + * + * An implementation of the model object 'Block'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.BlockImpl#getLocal Local}
  • + *
+ * + * @generated + */ +public class BlockImpl extends MinimalEObjectImpl.Container implements Block +{ + /** + * The cached value of the '{@link #getLocal() Local}' containment reference. + * + * + * @see #getLocal() + * @generated + * @ordered + */ + protected PortSet local; + + /** + * + * + * @generated + */ + protected BlockImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBlock(); + } + + /** + * + * + * @generated + */ + public PortSet getLocal() + { + return local; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocal(PortSet newLocal, NotificationChain msgs) + { + PortSet oldLocal = local; + local = newLocal; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.BLOCK__LOCAL, oldLocal, newLocal); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLocal(PortSet newLocal) + { + if (newLocal != local) + { + NotificationChain msgs = null; + if (local != null) + msgs = ((InternalEObject)local).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.BLOCK__LOCAL, null, msgs); + if (newLocal != null) + msgs = ((InternalEObject)newLocal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.BLOCK__LOCAL, null, msgs); + msgs = basicSetLocal(newLocal, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.BLOCK__LOCAL, newLocal, newLocal)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.BLOCK__LOCAL: + return basicSetLocal(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.BLOCK__LOCAL: + return getLocal(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.BLOCK__LOCAL: + setLocal((PortSet)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.BLOCK__LOCAL: + setLocal((PortSet)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.BLOCK__LOCAL: + return local != null; + } + return super.eIsSet(featureID); + } + +} //BlockImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockStatementImpl.java new file mode 100644 index 0000000..12cb490 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BlockStatementImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BlockStatement; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; + +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; + +/** + * + * An implementation of the model object 'Block Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.BlockStatementImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class BlockStatementImpl extends StatementImpl implements BlockStatement +{ + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Statement body; + + /** + * + * + * @generated + */ + protected BlockStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBlockStatement(); + } + + /** + * + * + * @generated + */ + public Statement getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Statement newBody, NotificationChain msgs) + { + Statement oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.BLOCK_STATEMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Statement newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.BLOCK_STATEMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.BLOCK_STATEMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.BLOCK_STATEMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.BLOCK_STATEMENT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.BLOCK_STATEMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.BLOCK_STATEMENT__BODY: + setBody((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.BLOCK_STATEMENT__BODY: + setBody((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.BLOCK_STATEMENT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //BlockStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanLiteralImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanLiteralImpl.java new file mode 100644 index 0000000..cab497a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanLiteralImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BooleanLiteral; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Boolean Literal'. + * + * + * @generated + */ +public class BooleanLiteralImpl extends LiteralExpressionImpl implements BooleanLiteral +{ + /** + * + * + * @generated + */ + protected BooleanLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBooleanLiteral(); + } + +} //BooleanLiteralImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanTypeImpl.java new file mode 100644 index 0000000..48533ef --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BooleanTypeImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BooleanType; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Boolean Type'. + * + * + * @generated + */ +public class BooleanTypeImpl extends BasicTypeImpl implements BooleanType +{ + /** + * + * + * @generated + */ + protected BooleanTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBooleanType(); + } + +} //BooleanTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BoundDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BoundDeclarationUseImpl.java new file mode 100644 index 0000000..eb7aa36 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/BoundDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Bound Declaration Use'. + * + * + * @generated + */ +public class BoundDeclarationUseImpl extends MinimalEObjectImpl.Container implements BoundDeclarationUse +{ + /** + * + * + * @generated + */ + protected BoundDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getBoundDeclarationUse(); + } + +} //BoundDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CaseStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CaseStatementImpl.java new file mode 100644 index 0000000..8068b25 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CaseStatementImpl.java @@ -0,0 +1,290 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.CaseStatement; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; +import fr.irit.fiacre.xtext.fiacre.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; + +/** + * + * An implementation of the model object 'Case Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CaseStatementImpl#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CaseStatementImpl#getPattern Pattern}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CaseStatementImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class CaseStatementImpl extends StatementImpl implements CaseStatement +{ + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * The cached value of the '{@link #getPattern() Pattern}' containment reference list. + * + * + * @see #getPattern() + * @generated + * @ordered + */ + protected EList pattern; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference list. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected EList body; + + /** + * + * + * @generated + */ + protected CaseStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getCaseStatement(); + } + + /** + * + * + * @generated + */ + public Expression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) + { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CASE_STATEMENT__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CASE_STATEMENT__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CASE_STATEMENT__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CASE_STATEMENT__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + public EList getPattern() + { + if (pattern == null) + { + pattern = new EObjectContainmentEList(Pattern.class, this, FiacrePackage.CASE_STATEMENT__PATTERN); + } + return pattern; + } + + /** + * + * + * @generated + */ + public EList getBody() + { + if (body == null) + { + body = new EObjectContainmentEList(Statement.class, this, FiacrePackage.CASE_STATEMENT__BODY); + } + return body; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CASE_STATEMENT__VALUE: + return basicSetValue(null, msgs); + case FiacrePackage.CASE_STATEMENT__PATTERN: + return ((InternalEList)getPattern()).basicRemove(otherEnd, msgs); + case FiacrePackage.CASE_STATEMENT__BODY: + return ((InternalEList)getBody()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CASE_STATEMENT__VALUE: + return getValue(); + case FiacrePackage.CASE_STATEMENT__PATTERN: + return getPattern(); + case FiacrePackage.CASE_STATEMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CASE_STATEMENT__VALUE: + setValue((Expression)newValue); + return; + case FiacrePackage.CASE_STATEMENT__PATTERN: + getPattern().clear(); + getPattern().addAll((Collection)newValue); + return; + case FiacrePackage.CASE_STATEMENT__BODY: + getBody().clear(); + getBody().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CASE_STATEMENT__VALUE: + setValue((Expression)null); + return; + case FiacrePackage.CASE_STATEMENT__PATTERN: + getPattern().clear(); + return; + case FiacrePackage.CASE_STATEMENT__BODY: + getBody().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CASE_STATEMENT__VALUE: + return value != null; + case FiacrePackage.CASE_STATEMENT__PATTERN: + return pattern != null && !pattern.isEmpty(); + case FiacrePackage.CASE_STATEMENT__BODY: + return body != null && !body.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //CaseStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelDeclarationImpl.java new file mode 100644 index 0000000..9657f44 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelDeclarationImpl.java @@ -0,0 +1,329 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ChannelDeclaration; +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; + +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; + +/** + * + * An implementation of the model object 'Channel Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelDeclarationImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class ChannelDeclarationImpl extends TypeDeclarationUseImpl implements ChannelDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected ChannelType value; + + /** + * + * + * @generated + */ + protected ChannelDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getChannelDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public ChannelType getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(ChannelType newValue, NotificationChain msgs) + { + ChannelType oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_DECLARATION__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(ChannelType newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_DECLARATION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_DECLARATION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_DECLARATION__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_DECLARATION__NAME: + return getName(); + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + setValue((ChannelType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + setValue((ChannelType)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.CHANNEL_DECLARATION__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.CHANNEL_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.CHANNEL_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ChannelDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelTypeImpl.java new file mode 100644 index 0000000..72c5120 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ChannelTypeImpl.java @@ -0,0 +1,404 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Type; + +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; + +/** + * + * An implementation of the model object 'Channel Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl#isIn In}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl#isOut Out}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ChannelTypeImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ChannelTypeImpl extends MinimalEObjectImpl.Container implements ChannelType +{ + /** + * The cached value of the '{@link #getSize() Size}' containment reference. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected Expression size; + + /** + * The default value of the '{@link #isIn() In}' attribute. + * + * + * @see #isIn() + * @generated + * @ordered + */ + protected static final boolean IN_EDEFAULT = false; + + /** + * The cached value of the '{@link #isIn() In}' attribute. + * + * + * @see #isIn() + * @generated + * @ordered + */ + protected boolean in = IN_EDEFAULT; + + /** + * The default value of the '{@link #isOut() Out}' attribute. + * + * + * @see #isOut() + * @generated + * @ordered + */ + protected static final boolean OUT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isOut() Out}' attribute. + * + * + * @see #isOut() + * @generated + * @ordered + */ + protected boolean out = OUT_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected ChannelTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getChannelType(); + } + + /** + * + * + * @generated + */ + public Expression getSize() + { + return size; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSize(Expression newSize, NotificationChain msgs) + { + Expression oldSize = size; + size = newSize; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__SIZE, oldSize, newSize); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSize(Expression newSize) + { + if (newSize != size) + { + NotificationChain msgs = null; + if (size != null) + msgs = ((InternalEObject)size).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_TYPE__SIZE, null, msgs); + if (newSize != null) + msgs = ((InternalEObject)newSize).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_TYPE__SIZE, null, msgs); + msgs = basicSetSize(newSize, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__SIZE, newSize, newSize)); + } + + /** + * + * + * @generated + */ + public boolean isIn() + { + return in; + } + + /** + * + * + * @generated + */ + public void setIn(boolean newIn) + { + boolean oldIn = in; + in = newIn; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__IN, oldIn, in)); + } + + /** + * + * + * @generated + */ + public boolean isOut() + { + return out; + } + + /** + * + * + * @generated + */ + public void setOut(boolean newOut) + { + boolean oldOut = out; + out = newOut; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__OUT, oldOut, out)); + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_TYPE__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CHANNEL_TYPE__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CHANNEL_TYPE__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_TYPE__SIZE: + return basicSetSize(null, msgs); + case FiacrePackage.CHANNEL_TYPE__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_TYPE__SIZE: + return getSize(); + case FiacrePackage.CHANNEL_TYPE__IN: + return isIn(); + case FiacrePackage.CHANNEL_TYPE__OUT: + return isOut(); + case FiacrePackage.CHANNEL_TYPE__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_TYPE__SIZE: + setSize((Expression)newValue); + return; + case FiacrePackage.CHANNEL_TYPE__IN: + setIn((Boolean)newValue); + return; + case FiacrePackage.CHANNEL_TYPE__OUT: + setOut((Boolean)newValue); + return; + case FiacrePackage.CHANNEL_TYPE__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_TYPE__SIZE: + setSize((Expression)null); + return; + case FiacrePackage.CHANNEL_TYPE__IN: + setIn(IN_EDEFAULT); + return; + case FiacrePackage.CHANNEL_TYPE__OUT: + setOut(OUT_EDEFAULT); + return; + case FiacrePackage.CHANNEL_TYPE__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CHANNEL_TYPE__SIZE: + return size != null; + case FiacrePackage.CHANNEL_TYPE__IN: + return in != IN_EDEFAULT; + case FiacrePackage.CHANNEL_TYPE__OUT: + return out != OUT_EDEFAULT; + case FiacrePackage.CHANNEL_TYPE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (in: "); + result.append(in); + result.append(", out: "); + result.append(out); + result.append(')'); + return result.toString(); + } + +} //ChannelTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonEqualImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonEqualImpl.java new file mode 100644 index 0000000..7362bb8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonEqualImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonEqual; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Equal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonEqualImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonEqualImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonEqualImpl extends ExpressionImpl implements ComparisonEqual +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonEqualImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonEqual(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_EQUAL__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_EQUAL__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_EQUAL__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_EQUAL__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_EQUAL__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_EQUAL__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_EQUAL__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_EQUAL__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_EQUAL__LEFT: + return left != null; + case FiacrePackage.COMPARISON_EQUAL__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonEqualImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterEqualImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterEqualImpl.java new file mode 100644 index 0000000..e098ba7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterEqualImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Greater Equal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterEqualImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterEqualImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonGreaterEqualImpl extends ExpressionImpl implements ComparisonGreaterEqual +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonGreaterEqualImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonGreaterEqual(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER_EQUAL__LEFT: + return left != null; + case FiacrePackage.COMPARISON_GREATER_EQUAL__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonGreaterEqualImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterImpl.java new file mode 100644 index 0000000..4edc2fd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonGreaterImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonGreater; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Greater'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonGreaterImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonGreaterImpl extends ExpressionImpl implements ComparisonGreater +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonGreaterImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonGreater(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_GREATER__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_GREATER__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_GREATER__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_GREATER__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_GREATER__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_GREATER__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_GREATER__LEFT: + return left != null; + case FiacrePackage.COMPARISON_GREATER__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonGreaterImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserEqualImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserEqualImpl.java new file mode 100644 index 0000000..20067a2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserEqualImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Lesser Equal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserEqualImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserEqualImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonLesserEqualImpl extends ExpressionImpl implements ComparisonLesserEqual +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonLesserEqualImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonLesserEqual(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER_EQUAL__LEFT: + return left != null; + case FiacrePackage.COMPARISON_LESSER_EQUAL__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonLesserEqualImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserImpl.java new file mode 100644 index 0000000..c6ab37c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonLesserImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonLesser; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Lesser'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonLesserImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonLesserImpl extends ExpressionImpl implements ComparisonLesser +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonLesserImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonLesser(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_LESSER__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_LESSER__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_LESSER__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_LESSER__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_LESSER__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_LESSER__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_LESSER__LEFT: + return left != null; + case FiacrePackage.COMPARISON_LESSER__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonLesserImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonNotEqualImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonNotEqualImpl.java new file mode 100644 index 0000000..b8e245f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComparisonNotEqualImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Comparison Not Equal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonNotEqualImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComparisonNotEqualImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ComparisonNotEqualImpl extends ExpressionImpl implements ComparisonNotEqual +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ComparisonNotEqualImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComparisonNotEqual(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_NOT_EQUAL__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_NOT_EQUAL__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_NOT_EQUAL__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_NOT_EQUAL__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + return getLeft(); + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPARISON_NOT_EQUAL__LEFT: + return left != null; + case FiacrePackage.COMPARISON_NOT_EQUAL__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ComparisonNotEqualImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentDeclarationImpl.java new file mode 100644 index 0000000..234d600 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentDeclarationImpl.java @@ -0,0 +1,638 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; +import fr.irit.fiacre.xtext.fiacre.Composition; +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.PathDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.PortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.PriorityDeclaration; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +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; + +/** + * + * An implementation of the model object 'Component Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getVariables Variables}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getLocalPorts Local Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getPriorities Priorities}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getPrelude Prelude}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentDeclarationImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class ComponentDeclarationImpl extends RootDeclarationImpl implements ComponentDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * The cached value of the '{@link #getLocalPorts() Local Ports}' containment reference list. + * + * + * @see #getLocalPorts() + * @generated + * @ordered + */ + protected EList localPorts; + + /** + * The cached value of the '{@link #getPriorities() Priorities}' containment reference list. + * + * + * @see #getPriorities() + * @generated + * @ordered + */ + protected EList priorities; + + /** + * The cached value of the '{@link #getPrelude() Prelude}' containment reference. + * + * + * @see #getPrelude() + * @generated + * @ordered + */ + protected Statement prelude; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Composition body; + + /** + * + * + * @generated + */ + protected ComponentDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComponentDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(ParametersDeclaration.class, this, FiacrePackage.COMPONENT_DECLARATION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + public EList getVariables() + { + if (variables == null) + { + variables = new EObjectContainmentEList(VariablesDeclaration.class, this, FiacrePackage.COMPONENT_DECLARATION__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(PortsDeclaration.class, this, FiacrePackage.COMPONENT_DECLARATION__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + public EList getLocalPorts() + { + if (localPorts == null) + { + localPorts = new EObjectContainmentEList(LocalPortsDeclaration.class, this, FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS); + } + return localPorts; + } + + /** + * + * + * @generated + */ + public EList getPriorities() + { + if (priorities == null) + { + priorities = new EObjectContainmentEList(PriorityDeclaration.class, this, FiacrePackage.COMPONENT_DECLARATION__PRIORITIES); + } + return priorities; + } + + /** + * + * + * @generated + */ + public Statement getPrelude() + { + return prelude; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPrelude(Statement newPrelude, NotificationChain msgs) + { + Statement oldPrelude = prelude; + prelude = newPrelude; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_DECLARATION__PRELUDE, oldPrelude, newPrelude); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setPrelude(Statement newPrelude) + { + if (newPrelude != prelude) + { + NotificationChain msgs = null; + if (prelude != null) + msgs = ((InternalEObject)prelude).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPONENT_DECLARATION__PRELUDE, null, msgs); + if (newPrelude != null) + msgs = ((InternalEObject)newPrelude).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPONENT_DECLARATION__PRELUDE, null, msgs); + msgs = basicSetPrelude(newPrelude, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_DECLARATION__PRELUDE, newPrelude, newPrelude)); + } + + /** + * + * + * @generated + */ + public Composition getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Composition newBody, NotificationChain msgs) + { + Composition oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_DECLARATION__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Composition newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPONENT_DECLARATION__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPONENT_DECLARATION__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_DECLARATION__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + return ((InternalEList)getLocalPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + return ((InternalEList)getPriorities()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + return basicSetPrelude(null, msgs); + case FiacrePackage.COMPONENT_DECLARATION__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_DECLARATION__NAME: + return getName(); + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + return getParameters(); + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + return getVariables(); + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + return getPorts(); + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + return getLocalPorts(); + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + return getPriorities(); + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + return getPrelude(); + case FiacrePackage.COMPONENT_DECLARATION__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + getLocalPorts().clear(); + getLocalPorts().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + getPriorities().clear(); + getPriorities().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + setPrelude((Statement)newValue); + return; + case FiacrePackage.COMPONENT_DECLARATION__BODY: + setBody((Composition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + getParameters().clear(); + return; + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + getVariables().clear(); + return; + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + getPorts().clear(); + return; + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + getLocalPorts().clear(); + return; + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + getPriorities().clear(); + return; + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + setPrelude((Statement)null); + return; + case FiacrePackage.COMPONENT_DECLARATION__BODY: + setBody((Composition)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: + return variables != null && !variables.isEmpty(); + case FiacrePackage.COMPONENT_DECLARATION__PORTS: + return ports != null && !ports.isEmpty(); + case FiacrePackage.COMPONENT_DECLARATION__LOCAL_PORTS: + return localPorts != null && !localPorts.isEmpty(); + case FiacrePackage.COMPONENT_DECLARATION__PRIORITIES: + return priorities != null && !priorities.isEmpty(); + case FiacrePackage.COMPONENT_DECLARATION__PRELUDE: + return prelude != null; + case FiacrePackage.COMPONENT_DECLARATION__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == PathDeclarationUse.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.COMPONENT_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.COMPONENT_DECLARATION__PARAMETERS: return FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS; + case FiacrePackage.COMPONENT_DECLARATION__VARIABLES: return FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == PathDeclarationUse.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.COMPONENT_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (baseFeatureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: return FiacrePackage.COMPONENT_DECLARATION__PARAMETERS; + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: return FiacrePackage.COMPONENT_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ComponentDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentInstanceImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentInstanceImpl.java new file mode 100644 index 0000000..43e6930 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ComponentInstanceImpl.java @@ -0,0 +1,284 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Component Instance'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentInstanceImpl#getComponent Component}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentInstanceImpl#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ComponentInstanceImpl#getParameters Parameters}
  • + *
+ * + * @generated + */ +public class ComponentInstanceImpl extends MinimalEObjectImpl.Container implements ComponentInstance +{ + /** + * The cached value of the '{@link #getComponent() Component}' reference. + * + * + * @see #getComponent() + * @generated + * @ordered + */ + protected ParameterizedDeclaration component; + + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected ComponentInstanceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComponentInstance(); + } + + /** + * + * + * @generated + */ + public ParameterizedDeclaration getComponent() + { + if (component != null && component.eIsProxy()) + { + InternalEObject oldComponent = (InternalEObject)component; + component = (ParameterizedDeclaration)eResolveProxy(oldComponent); + if (component != oldComponent) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.COMPONENT_INSTANCE__COMPONENT, oldComponent, component)); + } + } + return component; + } + + /** + * + * + * @generated + */ + public ParameterizedDeclaration basicGetComponent() + { + return component; + } + + /** + * + * + * @generated + */ + public void setComponent(ParameterizedDeclaration newComponent) + { + ParameterizedDeclaration oldComponent = component; + component = newComponent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPONENT_INSTANCE__COMPONENT, oldComponent, component)); + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(Expression.class, this, FiacrePackage.COMPONENT_INSTANCE__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(Expression.class, this, FiacrePackage.COMPONENT_INSTANCE__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_INSTANCE__COMPONENT: + if (resolve) return getComponent(); + return basicGetComponent(); + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + return getPorts(); + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_INSTANCE__COMPONENT: + setComponent((ParameterizedDeclaration)newValue); + return; + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_INSTANCE__COMPONENT: + setComponent((ParameterizedDeclaration)null); + return; + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + getPorts().clear(); + return; + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPONENT_INSTANCE__COMPONENT: + return component != null; + case FiacrePackage.COMPONENT_INSTANCE__PORTS: + return ports != null && !ports.isEmpty(); + case FiacrePackage.COMPONENT_INSTANCE__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ComponentInstanceImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositeBlockImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositeBlockImpl.java new file mode 100644 index 0000000..b788ad6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositeBlockImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.CompositeBlock; +import fr.irit.fiacre.xtext.fiacre.Composition; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Composite Block'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CompositeBlockImpl#getComposition Composition}
  • + *
+ * + * @generated + */ +public class CompositeBlockImpl extends BlockImpl implements CompositeBlock +{ + /** + * The cached value of the '{@link #getComposition() Composition}' containment reference. + * + * + * @see #getComposition() + * @generated + * @ordered + */ + protected Composition composition; + + /** + * + * + * @generated + */ + protected CompositeBlockImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getCompositeBlock(); + } + + /** + * + * + * @generated + */ + public Composition getComposition() + { + return composition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetComposition(Composition newComposition, NotificationChain msgs) + { + Composition oldComposition = composition; + composition = newComposition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPOSITE_BLOCK__COMPOSITION, oldComposition, newComposition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setComposition(Composition newComposition) + { + if (newComposition != composition) + { + NotificationChain msgs = null; + if (composition != null) + msgs = ((InternalEObject)composition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPOSITE_BLOCK__COMPOSITION, null, msgs); + if (newComposition != null) + msgs = ((InternalEObject)newComposition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPOSITE_BLOCK__COMPOSITION, null, msgs); + msgs = basicSetComposition(newComposition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPOSITE_BLOCK__COMPOSITION, newComposition, newComposition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + return basicSetComposition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + return getComposition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + setComposition((Composition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + setComposition((Composition)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPOSITE_BLOCK__COMPOSITION: + return composition != null; + } + return super.eIsSet(featureID); + } + +} //CompositeBlockImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositionImpl.java new file mode 100644 index 0000000..5a4aec7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/CompositionImpl.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Block; +import fr.irit.fiacre.xtext.fiacre.Composition; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortSet; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Composition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CompositionImpl#getGlobal Global}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.CompositionImpl#getBlocks Blocks}
  • + *
+ * + * @generated + */ +public class CompositionImpl extends MinimalEObjectImpl.Container implements Composition +{ + /** + * The cached value of the '{@link #getGlobal() Global}' containment reference. + * + * + * @see #getGlobal() + * @generated + * @ordered + */ + protected PortSet global; + + /** + * The cached value of the '{@link #getBlocks() Blocks}' containment reference list. + * + * + * @see #getBlocks() + * @generated + * @ordered + */ + protected EList blocks; + + /** + * + * + * @generated + */ + protected CompositionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getComposition(); + } + + /** + * + * + * @generated + */ + public PortSet getGlobal() + { + return global; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetGlobal(PortSet newGlobal, NotificationChain msgs) + { + PortSet oldGlobal = global; + global = newGlobal; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPOSITION__GLOBAL, oldGlobal, newGlobal); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setGlobal(PortSet newGlobal) + { + if (newGlobal != global) + { + NotificationChain msgs = null; + if (global != null) + msgs = ((InternalEObject)global).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPOSITION__GLOBAL, null, msgs); + if (newGlobal != null) + msgs = ((InternalEObject)newGlobal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.COMPOSITION__GLOBAL, null, msgs); + msgs = basicSetGlobal(newGlobal, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.COMPOSITION__GLOBAL, newGlobal, newGlobal)); + } + + /** + * + * + * @generated + */ + public EList getBlocks() + { + if (blocks == null) + { + blocks = new EObjectContainmentEList(Block.class, this, FiacrePackage.COMPOSITION__BLOCKS); + } + return blocks; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.COMPOSITION__GLOBAL: + return basicSetGlobal(null, msgs); + case FiacrePackage.COMPOSITION__BLOCKS: + return ((InternalEList)getBlocks()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.COMPOSITION__GLOBAL: + return getGlobal(); + case FiacrePackage.COMPOSITION__BLOCKS: + return getBlocks(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.COMPOSITION__GLOBAL: + setGlobal((PortSet)newValue); + return; + case FiacrePackage.COMPOSITION__BLOCKS: + getBlocks().clear(); + getBlocks().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPOSITION__GLOBAL: + setGlobal((PortSet)null); + return; + case FiacrePackage.COMPOSITION__BLOCKS: + getBlocks().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.COMPOSITION__GLOBAL: + return global != null; + case FiacrePackage.COMPOSITION__BLOCKS: + return blocks != null && !blocks.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //CompositionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalImpl.java new file mode 100644 index 0000000..e90d99a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalImpl.java @@ -0,0 +1,346 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Conditional; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Conditional'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalImpl#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalImpl#getThen Then}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalImpl#getElse Else}
  • + *
+ * + * @generated + */ +public class ConditionalImpl extends ExpressionImpl implements Conditional +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getThen() Then}' containment reference. + * + * + * @see #getThen() + * @generated + * @ordered + */ + protected Expression then; + + /** + * The cached value of the '{@link #getElse() Else}' containment reference. + * + * + * @see #getElse() + * @generated + * @ordered + */ + protected Expression else_; + + /** + * + * + * @generated + */ + protected ConditionalImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConditional(); + } + + /** + * + * + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + public Expression getThen() + { + return then; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetThen(Expression newThen, NotificationChain msgs) + { + Expression oldThen = then; + then = newThen; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__THEN, oldThen, newThen); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setThen(Expression newThen) + { + if (newThen != then) + { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__THEN, newThen, newThen)); + } + + /** + * + * + * @generated + */ + public Expression getElse() + { + return else_; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetElse(Expression newElse, NotificationChain msgs) + { + Expression oldElse = else_; + else_ = newElse; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__ELSE, oldElse, newElse); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setElse(Expression newElse) + { + if (newElse != else_) + { + NotificationChain msgs = null; + if (else_ != null) + msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__ELSE, null, msgs); + if (newElse != null) + msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL__ELSE, null, msgs); + msgs = basicSetElse(newElse, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL__ELSE, newElse, newElse)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL__CONDITION: + return basicSetCondition(null, msgs); + case FiacrePackage.CONDITIONAL__THEN: + return basicSetThen(null, msgs); + case FiacrePackage.CONDITIONAL__ELSE: + return basicSetElse(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL__CONDITION: + return getCondition(); + case FiacrePackage.CONDITIONAL__THEN: + return getThen(); + case FiacrePackage.CONDITIONAL__ELSE: + return getElse(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL__CONDITION: + setCondition((Expression)newValue); + return; + case FiacrePackage.CONDITIONAL__THEN: + setThen((Expression)newValue); + return; + case FiacrePackage.CONDITIONAL__ELSE: + setElse((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL__CONDITION: + setCondition((Expression)null); + return; + case FiacrePackage.CONDITIONAL__THEN: + setThen((Expression)null); + return; + case FiacrePackage.CONDITIONAL__ELSE: + setElse((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL__CONDITION: + return condition != null; + case FiacrePackage.CONDITIONAL__THEN: + return then != null; + case FiacrePackage.CONDITIONAL__ELSE: + return else_ != null; + } + return super.eIsSet(featureID); + } + +} //ConditionalImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalStatementImpl.java new file mode 100644 index 0000000..7aea23a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConditionalStatementImpl.java @@ -0,0 +1,394 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.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; + +/** + * + * An implementation of the model object 'Conditional Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl#getThen Then}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl#getElseif Elseif}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConditionalStatementImpl#getElse Else}
  • + *
+ * + * @generated + */ +public class ConditionalStatementImpl extends StatementImpl implements ConditionalStatement +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getThen() Then}' containment reference. + * + * + * @see #getThen() + * @generated + * @ordered + */ + protected Statement then; + + /** + * The cached value of the '{@link #getElseif() Elseif}' containment reference list. + * + * + * @see #getElseif() + * @generated + * @ordered + */ + protected EList elseif; + + /** + * The cached value of the '{@link #getElse() Else}' containment reference. + * + * + * @see #getElse() + * @generated + * @ordered + */ + protected Statement else_; + + /** + * + * + * @generated + */ + protected ConditionalStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConditionalStatement(); + } + + /** + * + * + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + public Statement getThen() + { + return then; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetThen(Statement newThen, NotificationChain msgs) + { + Statement oldThen = then; + then = newThen; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__THEN, oldThen, newThen); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setThen(Statement newThen) + { + if (newThen != then) + { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__THEN, newThen, newThen)); + } + + /** + * + * + * @generated + */ + public EList getElseif() + { + if (elseif == null) + { + elseif = new EObjectContainmentEList(ExtendedConditionalStatement.class, this, FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF); + } + return elseif; + } + + /** + * + * + * @generated + */ + public Statement getElse() + { + return else_; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetElse(Statement newElse, NotificationChain msgs) + { + Statement oldElse = else_; + else_ = newElse; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__ELSE, oldElse, newElse); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setElse(Statement newElse) + { + if (newElse != else_) + { + NotificationChain msgs = null; + if (else_ != null) + msgs = ((InternalEObject)else_).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__ELSE, null, msgs); + if (newElse != null) + msgs = ((InternalEObject)newElse).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONDITIONAL_STATEMENT__ELSE, null, msgs); + msgs = basicSetElse(newElse, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONDITIONAL_STATEMENT__ELSE, newElse, newElse)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + return basicSetCondition(null, msgs); + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + return basicSetThen(null, msgs); + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + return ((InternalEList)getElseif()).basicRemove(otherEnd, msgs); + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + return basicSetElse(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + return getCondition(); + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + return getThen(); + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + return getElseif(); + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + return getElse(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + setCondition((Expression)newValue); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + setThen((Statement)newValue); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + getElseif().clear(); + getElseif().addAll((Collection)newValue); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + setElse((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + setCondition((Expression)null); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + setThen((Statement)null); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + getElseif().clear(); + return; + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + setElse((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONDITIONAL_STATEMENT__CONDITION: + return condition != null; + case FiacrePackage.CONDITIONAL_STATEMENT__THEN: + return then != null; + case FiacrePackage.CONDITIONAL_STATEMENT__ELSEIF: + return elseif != null && !elseif.isEmpty(); + case FiacrePackage.CONDITIONAL_STATEMENT__ELSE: + return else_ != null; + } + return super.eIsSet(featureID); + } + +} //ConditionalStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConjunctionImpl.java new file mode 100644 index 0000000..8162f74 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Conjunction; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Conjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ConjunctionImpl extends ExpressionImpl implements Conjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ConjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConjunction(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.CONJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.CONJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONJUNCTION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.CONJUNCTION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONJUNCTION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.CONJUNCTION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONJUNCTION__LEFT: + return left != null; + case FiacrePackage.CONJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ConjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationImpl.java new file mode 100644 index 0000000..a7f4410 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationImpl.java @@ -0,0 +1,431 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.ConstantDeclaration; +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.Type; + +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; + +/** + * + * An implementation of the model object 'Constant Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstantDeclarationImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class ConstantDeclarationImpl extends ConstantDeclarationUseImpl implements ConstantDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected ConstantDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConstantDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Expression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) + { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_DECLARATION__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_DECLARATION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_DECLARATION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_DECLARATION__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_DECLARATION__NAME: + return getName(); + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + return getType(); + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + setType((Type)newValue); + return; + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + setType((Type)null); + return; + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.CONSTANT_DECLARATION__TYPE: + return type != null; + case FiacrePackage.CONSTANT_DECLARATION__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == ExpressionDeclarationUse.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == BoundDeclarationUse.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.CONSTANT_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == ExpressionDeclarationUse.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == BoundDeclarationUse.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.CONSTANT_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ConstantDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationUseImpl.java new file mode 100644 index 0000000..9635c94 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Constant Declaration Use'. + * + * + * @generated + */ +public class ConstantDeclarationUseImpl extends MinimalEObjectImpl.Container implements ConstantDeclarationUse +{ + /** + * + * + * @generated + */ + protected ConstantDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConstantDeclarationUse(); + } + +} //ConstantDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantPatternImpl.java new file mode 100644 index 0000000..bf7675c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstantPatternImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ConstantPattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LiteralExpression; + +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; + +/** + * + * An implementation of the model object 'Constant Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstantPatternImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class ConstantPatternImpl extends PatternImpl implements ConstantPattern +{ + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected LiteralExpression value; + + /** + * + * + * @generated + */ + protected ConstantPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConstantPattern(); + } + + /** + * + * + * @generated + */ + public LiteralExpression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(LiteralExpression newValue, NotificationChain msgs) + { + LiteralExpression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_PATTERN__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(LiteralExpression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_PATTERN__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.CONSTANT_PATTERN__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.CONSTANT_PATTERN__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + setValue((LiteralExpression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + setValue((LiteralExpression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTANT_PATTERN__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //ConstantPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructionExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructionExpressionImpl.java new file mode 100644 index 0000000..b68fdf8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructionExpressionImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Construction Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstructionExpressionImpl#getParameters Parameters}
  • + *
+ * + * @generated + */ +public class ConstructionExpressionImpl extends IdentifierExpressionImpl implements ConstructionExpression +{ + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected ConstructionExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConstructionExpression(); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(Expression.class, this, FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTION_EXPRESSION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ConstructionExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructorPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructorPatternImpl.java new file mode 100644 index 0000000..0061a36 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ConstructorPatternImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ConstructorPattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Constructor Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ConstructorPatternImpl#getParameters Parameters}
  • + *
+ * + * @generated + */ +public class ConstructorPatternImpl extends IdentifierPatternImpl implements ConstructorPattern +{ + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * + * + * @generated + */ + protected ConstructorPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getConstructorPattern(); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(Pattern.class, this, FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + return getParameters(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + getParameters().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.CONSTRUCTOR_PATTERN__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ConstructorPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeadlockFreePatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeadlockFreePatternImpl.java new file mode 100644 index 0000000..38c2323 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeadlockFreePatternImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Deadlock Free Pattern'. + * + * + * @generated + */ +public class DeadlockFreePatternImpl extends PatternPropertyImpl implements DeadlockFreePattern +{ + /** + * + * + * @generated + */ + protected DeadlockFreePatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDeadlockFreePattern(); + } + +} //DeadlockFreePatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalLowerBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalLowerBoundImpl.java new file mode 100644 index 0000000..e04f464 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalLowerBoundImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.DecimalLowerBound; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Decimal Lower Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DecimalLowerBoundImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class DecimalLowerBoundImpl extends LowerBoundImpl implements DecimalLowerBound +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final float VALUE_EDEFAULT = 0.0F; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected float value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected DecimalLowerBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDecimalLowerBound(); + } + + /** + * + * + * @generated + */ + public float getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(float newValue) + { + float oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DECIMAL_LOWER_BOUND__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_LOWER_BOUND__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_LOWER_BOUND__VALUE: + setValue((Float)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_LOWER_BOUND__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_LOWER_BOUND__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //DecimalLowerBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalUpperBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalUpperBoundImpl.java new file mode 100644 index 0000000..3a2c448 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DecimalUpperBoundImpl.java @@ -0,0 +1,299 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.DecimalUpperBound; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Decimal Upper Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DecimalUpperBoundImpl#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DecimalUpperBoundImpl#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DecimalUpperBoundImpl#isRight Right}
  • + *
+ * + * @generated + */ +public class DecimalUpperBoundImpl extends UpperBoundImpl implements DecimalUpperBound +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final float VALUE_EDEFAULT = 0.0F; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected float value = VALUE_EDEFAULT; + + /** + * The default value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected static final boolean LEFT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected boolean left = LEFT_EDEFAULT; + + /** + * The default value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected static final boolean RIGHT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected boolean right = RIGHT_EDEFAULT; + + /** + * + * + * @generated + */ + protected DecimalUpperBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDecimalUpperBound(); + } + + /** + * + * + * @generated + */ + public float getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(float newValue) + { + float oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DECIMAL_UPPER_BOUND__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + public boolean isLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public void setLeft(boolean newLeft) + { + boolean oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DECIMAL_UPPER_BOUND__LEFT, oldLeft, left)); + } + + /** + * + * + * @generated + */ + public boolean isRight() + { + return right; + } + + /** + * + * + * @generated + */ + public void setRight(boolean newRight) + { + boolean oldRight = right; + right = newRight; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT, oldRight, right)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_UPPER_BOUND__VALUE: + return getValue(); + case FiacrePackage.DECIMAL_UPPER_BOUND__LEFT: + return isLeft(); + case FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT: + return isRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_UPPER_BOUND__VALUE: + setValue((Float)newValue); + return; + case FiacrePackage.DECIMAL_UPPER_BOUND__LEFT: + setLeft((Boolean)newValue); + return; + case FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT: + setRight((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_UPPER_BOUND__VALUE: + setValue(VALUE_EDEFAULT); + return; + case FiacrePackage.DECIMAL_UPPER_BOUND__LEFT: + setLeft(LEFT_EDEFAULT); + return; + case FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT: + setRight(RIGHT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.DECIMAL_UPPER_BOUND__VALUE: + return value != VALUE_EDEFAULT; + case FiacrePackage.DECIMAL_UPPER_BOUND__LEFT: + return left != LEFT_EDEFAULT; + case FiacrePackage.DECIMAL_UPPER_BOUND__RIGHT: + return right != RIGHT_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(", left: "); + result.append(left); + result.append(", right: "); + result.append(right); + result.append(')'); + return result.toString(); + } + +} //DecimalUpperBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeclarationImpl.java new file mode 100644 index 0000000..f1e8214 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Declaration'. + * + * + * @generated + */ +public class DeclarationImpl extends NamedElementImpl implements Declaration +{ + /** + * + * + * @generated + */ + protected DeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDeclaration(); + } + +} //DeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DisjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DisjunctionImpl.java new file mode 100644 index 0000000..4ce4c5b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DisjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Disjunction; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Disjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DisjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DisjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class DisjunctionImpl extends ExpressionImpl implements Disjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected DisjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDisjunction(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.DISJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DISJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DISJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DISJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.DISJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DISJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DISJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DISJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.DISJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.DISJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.DISJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.DISJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.DISJUNCTION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.DISJUNCTION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.DISJUNCTION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.DISJUNCTION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.DISJUNCTION__LEFT: + return left != null; + case FiacrePackage.DISJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //DisjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DivisionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DivisionImpl.java new file mode 100644 index 0000000..c6852fb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/DivisionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Division; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Division'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DivisionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.DivisionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class DivisionImpl extends ExpressionImpl implements Division +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected DivisionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getDivision(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.DIVISION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DIVISION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DIVISION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DIVISION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.DIVISION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DIVISION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.DIVISION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.DIVISION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.DIVISION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.DIVISION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.DIVISION__LEFT: + return getLeft(); + case FiacrePackage.DIVISION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.DIVISION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.DIVISION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.DIVISION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.DIVISION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.DIVISION__LEFT: + return left != null; + case FiacrePackage.DIVISION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //DivisionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnqueueExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnqueueExpressionImpl.java new file mode 100644 index 0000000..e514d33 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnqueueExpressionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.EnqueueExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +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; + +/** + * + * An implementation of the model object 'Enqueue Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.EnqueueExpressionImpl#getElement Element}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.EnqueueExpressionImpl#getQueue Queue}
  • + *
+ * + * @generated + */ +public class EnqueueExpressionImpl extends ExpressionImpl implements EnqueueExpression +{ + /** + * The cached value of the '{@link #getElement() Element}' containment reference. + * + * + * @see #getElement() + * @generated + * @ordered + */ + protected Expression element; + + /** + * The cached value of the '{@link #getQueue() Queue}' containment reference. + * + * + * @see #getQueue() + * @generated + * @ordered + */ + protected Expression queue; + + /** + * + * + * @generated + */ + protected EnqueueExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getEnqueueExpression(); + } + + /** + * + * + * @generated + */ + public Expression getElement() + { + return element; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetElement(Expression newElement, NotificationChain msgs) + { + Expression oldElement = element; + element = newElement; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT, oldElement, newElement); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setElement(Expression newElement) + { + if (newElement != element) + { + NotificationChain msgs = null; + if (element != null) + msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT, null, msgs); + if (newElement != null) + msgs = ((InternalEObject)newElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT, null, msgs); + msgs = basicSetElement(newElement, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT, newElement, newElement)); + } + + /** + * + * + * @generated + */ + public Expression getQueue() + { + return queue; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetQueue(Expression newQueue, NotificationChain msgs) + { + Expression oldQueue = queue; + queue = newQueue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ENQUEUE_EXPRESSION__QUEUE, oldQueue, newQueue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setQueue(Expression newQueue) + { + if (newQueue != queue) + { + NotificationChain msgs = null; + if (queue != null) + msgs = ((InternalEObject)queue).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ENQUEUE_EXPRESSION__QUEUE, null, msgs); + if (newQueue != null) + msgs = ((InternalEObject)newQueue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ENQUEUE_EXPRESSION__QUEUE, null, msgs); + msgs = basicSetQueue(newQueue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ENQUEUE_EXPRESSION__QUEUE, newQueue, newQueue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + return basicSetElement(null, msgs); + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + return basicSetQueue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + return getElement(); + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + return getQueue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + setElement((Expression)newValue); + return; + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + setQueue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + setElement((Expression)null); + return; + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + setQueue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ENQUEUE_EXPRESSION__ELEMENT: + return element != null; + case FiacrePackage.ENQUEUE_EXPRESSION__QUEUE: + return queue != null; + } + return super.eIsSet(featureID); + } + +} //EnqueueExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnterStateEventImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnterStateEventImpl.java new file mode 100644 index 0000000..5e57bf2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EnterStateEventImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.EnterStateEvent; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Enter State Event'. + * + * + * @generated + */ +public class EnterStateEventImpl extends StateEventImpl implements EnterStateEvent +{ + /** + * + * + * @generated + */ + protected EnterStateEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getEnterStateEvent(); + } + +} //EnterStateEventImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EventSubjectImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EventSubjectImpl.java new file mode 100644 index 0000000..80e8234 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/EventSubjectImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.EventSubject; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Event Subject'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.EventSubjectImpl#getEvent Event}
  • + *
+ * + * @generated + */ +public class EventSubjectImpl extends SubjectImpl implements EventSubject +{ + /** + * The default value of the '{@link #getEvent() Event}' attribute. + * + * + * @see #getEvent() + * @generated + * @ordered + */ + protected static final String EVENT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getEvent() Event}' attribute. + * + * + * @see #getEvent() + * @generated + * @ordered + */ + protected String event = EVENT_EDEFAULT; + + /** + * + * + * @generated + */ + protected EventSubjectImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getEventSubject(); + } + + /** + * + * + * @generated + */ + public String getEvent() + { + return event; + } + + /** + * + * + * @generated + */ + public void setEvent(String newEvent) + { + String oldEvent = event; + event = newEvent; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EVENT_SUBJECT__EVENT, oldEvent, event)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.EVENT_SUBJECT__EVENT: + return getEvent(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.EVENT_SUBJECT__EVENT: + setEvent((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.EVENT_SUBJECT__EVENT: + setEvent(EVENT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.EVENT_SUBJECT__EVENT: + return EVENT_EDEFAULT == null ? event != null : !EVENT_EDEFAULT.equals(event); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (event: "); + result.append(event); + result.append(')'); + return result.toString(); + } + +} //EventSubjectImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsExpressionImpl.java new file mode 100644 index 0000000..ce78a70 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsExpressionImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ExistsExpression; +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'Exists Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsExpressionImpl#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsExpressionImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class ExistsExpressionImpl extends ExpressionImpl implements ExistsExpression +{ + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected VariableDeclaration index; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected ExistsExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getExistsExpression(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(VariableDeclaration newIndex, NotificationChain msgs) + { + VariableDeclaration oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(VariableDeclaration newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + return basicSetIndex(null, msgs); + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + return getIndex(); + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + return getType(); + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + setIndex((VariableDeclaration)newValue); + return; + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + setIndex((VariableDeclaration)null); + return; + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXISTS_EXPRESSION__INDEX: + return index != null; + case FiacrePackage.EXISTS_EXPRESSION__TYPE: + return type != null; + case FiacrePackage.EXISTS_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //ExistsExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsPropertyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsPropertyImpl.java new file mode 100644 index 0000000..1df06b3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExistsPropertyImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ExistsProperty; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'Exists Property'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsPropertyImpl#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsPropertyImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExistsPropertyImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class ExistsPropertyImpl extends PropertyImpl implements ExistsProperty +{ + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected VariableDeclaration variable; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Property child; + + /** + * + * + * @generated + */ + protected ExistsPropertyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getExistsProperty(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(VariableDeclaration newVariable, NotificationChain msgs) + { + VariableDeclaration oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__VARIABLE, oldVariable, newVariable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setVariable(VariableDeclaration newVariable) + { + if (newVariable != variable) + { + NotificationChain msgs = null; + if (variable != null) + msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__VARIABLE, null, msgs); + if (newVariable != null) + msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__VARIABLE, null, msgs); + msgs = basicSetVariable(newVariable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__VARIABLE, newVariable, newVariable)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Property getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Property newChild, NotificationChain msgs) + { + Property oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Property newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXISTS_PROPERTY__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXISTS_PROPERTY__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + return basicSetVariable(null, msgs); + case FiacrePackage.EXISTS_PROPERTY__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.EXISTS_PROPERTY__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + return getVariable(); + case FiacrePackage.EXISTS_PROPERTY__TYPE: + return getType(); + case FiacrePackage.EXISTS_PROPERTY__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + setVariable((VariableDeclaration)newValue); + return; + case FiacrePackage.EXISTS_PROPERTY__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.EXISTS_PROPERTY__CHILD: + setChild((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + setVariable((VariableDeclaration)null); + return; + case FiacrePackage.EXISTS_PROPERTY__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.EXISTS_PROPERTY__CHILD: + setChild((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXISTS_PROPERTY__VARIABLE: + return variable != null; + case FiacrePackage.EXISTS_PROPERTY__TYPE: + return type != null; + case FiacrePackage.EXISTS_PROPERTY__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //ExistsPropertyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionDeclarationUseImpl.java new file mode 100644 index 0000000..cca75e7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Expression Declaration Use'. + * + * + * @generated + */ +public class ExpressionDeclarationUseImpl extends MinimalEObjectImpl.Container implements ExpressionDeclarationUse +{ + /** + * + * + * @generated + */ + protected ExpressionDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getExpressionDeclarationUse(); + } + +} //ExpressionDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionImpl.java new file mode 100644 index 0000000..8b6efb1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExpressionImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Expression'. + * + * + * @generated + */ +public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression +{ + /** + * + * + * @generated + */ + protected ExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getExpression(); + } + +} //ExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExtendedConditionalStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExtendedConditionalStatementImpl.java new file mode 100644 index 0000000..1d5d222 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ExtendedConditionalStatementImpl.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; + +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; + +/** + * + * An implementation of the model object 'Extended Conditional Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExtendedConditionalStatementImpl#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ExtendedConditionalStatementImpl#getThen Then}
  • + *
+ * + * @generated + */ +public class ExtendedConditionalStatementImpl extends MinimalEObjectImpl.Container implements ExtendedConditionalStatement +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getThen() Then}' containment reference. + * + * + * @see #getThen() + * @generated + * @ordered + */ + protected Statement then; + + /** + * + * + * @generated + */ + protected ExtendedConditionalStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getExtendedConditionalStatement(); + } + + /** + * + * + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + public Statement getThen() + { + return then; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetThen(Statement newThen, NotificationChain msgs) + { + Statement oldThen = then; + then = newThen; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN, oldThen, newThen); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setThen(Statement newThen) + { + if (newThen != then) + { + NotificationChain msgs = null; + if (then != null) + msgs = ((InternalEObject)then).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN, null, msgs); + if (newThen != null) + msgs = ((InternalEObject)newThen).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN, null, msgs); + msgs = basicSetThen(newThen, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN, newThen, newThen)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + return basicSetCondition(null, msgs); + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + return basicSetThen(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + return getCondition(); + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + return getThen(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + setCondition((Expression)newValue); + return; + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + setThen((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + setCondition((Expression)null); + return; + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + setThen((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__CONDITION: + return condition != null; + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT__THEN: + return then != null; + } + return super.eIsSet(featureID); + } + +} //ExtendedConditionalStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FalseLiteralImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FalseLiteralImpl.java new file mode 100644 index 0000000..b50a915 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FalseLiteralImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FalseLiteral; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'False Literal'. + * + * + * @generated + */ +public class FalseLiteralImpl extends BooleanLiteralImpl implements FalseLiteral +{ + /** + * + * + * @generated + */ + protected FalseLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getFalseLiteral(); + } + +} //FalseLiteralImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacreFactoryImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacreFactoryImpl.java new file mode 100644 index 0000000..37364c8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacreFactoryImpl.java @@ -0,0 +1,2445 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.*; + +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; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class FiacreFactoryImpl extends EFactoryImpl implements FiacreFactory +{ + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static FiacreFactory init() + { + try + { + FiacreFactory theFiacreFactory = (FiacreFactory)EPackage.Registry.INSTANCE.getEFactory(FiacrePackage.eNS_URI); + if (theFiacreFactory != null) + { + return theFiacreFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new FiacreFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public FiacreFactoryImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case FiacrePackage.MODEL: return createModel(); + case FiacrePackage.ROOT_DECLARATION: return createRootDeclaration(); + case FiacrePackage.ROOT: return createRoot(); + case FiacrePackage.NAMED_ELEMENT: return createNamedElement(); + case FiacrePackage.TYPE_DECLARATION_USE: return createTypeDeclarationUse(); + case FiacrePackage.CONSTANT_DECLARATION_USE: return createConstantDeclarationUse(); + case FiacrePackage.EXPRESSION_DECLARATION_USE: return createExpressionDeclarationUse(); + case FiacrePackage.REFERENCE_DECLARATION_USE: return createReferenceDeclarationUse(); + case FiacrePackage.UNION_TAG_DECLARATION_USE: return createUnionTagDeclarationUse(); + case FiacrePackage.RECORD_FIELD_DECLARATION_USE: return createRecordFieldDeclarationUse(); + case FiacrePackage.PATTERN_DECLARATION_USE: return createPatternDeclarationUse(); + case FiacrePackage.BOUND_DECLARATION_USE: return createBoundDeclarationUse(); + case FiacrePackage.PATH_DECLARATION_USE: return createPathDeclarationUse(); + case FiacrePackage.PROPERTY_DECLARATION_USE: return createPropertyDeclarationUse(); + case FiacrePackage.IMPORT_DECLARATION: return createImportDeclaration(); + case FiacrePackage.DECLARATION: return createDeclaration(); + case FiacrePackage.PARAMETERIZED_DECLARATION: return createParameterizedDeclaration(); + case FiacrePackage.FUNCTION_DECLARATION: return createFunctionDeclaration(); + case FiacrePackage.TYPE_DECLARATION: return createTypeDeclaration(); + case FiacrePackage.CHANNEL_DECLARATION: return createChannelDeclaration(); + case FiacrePackage.CHANNEL_TYPE: return createChannelType(); + case FiacrePackage.TYPE: return createType(); + case FiacrePackage.BASIC_TYPE: return createBasicType(); + case FiacrePackage.RANGE_TYPE: return createRangeType(); + case FiacrePackage.UNION_TYPE: return createUnionType(); + case FiacrePackage.UNION_TAGS: return createUnionTags(); + case FiacrePackage.UNION_TAG_DECLARATION: return createUnionTagDeclaration(); + case FiacrePackage.RECORD_TYPE: return createRecordType(); + case FiacrePackage.RECORD_FIELDS: return createRecordFields(); + case FiacrePackage.RECORD_FIELD_DECLARATION: return createRecordFieldDeclaration(); + case FiacrePackage.QUEUE_TYPE: return createQueueType(); + case FiacrePackage.ARRAY_TYPE: return createArrayType(); + case FiacrePackage.REFERENCED_TYPE: return createReferencedType(); + case FiacrePackage.CONSTANT_DECLARATION: return createConstantDeclaration(); + case FiacrePackage.PROCESS_DECLARATION: return createProcessDeclaration(); + case FiacrePackage.STATE_DECLARATION: return createStateDeclaration(); + case FiacrePackage.TRANSITION_SOURCE: return createTransitionSource(); + case FiacrePackage.TRANSITION: return createTransition(); + case FiacrePackage.COMPONENT_DECLARATION: return createComponentDeclaration(); + case FiacrePackage.PORTS_DECLARATION: return createPortsDeclaration(); + case FiacrePackage.PORT_DECLARATION: return createPortDeclaration(); + case FiacrePackage.LOCAL_PORTS_DECLARATION: return createLocalPortsDeclaration(); + case FiacrePackage.PARAMETERS_DECLARATION: return createParametersDeclaration(); + case FiacrePackage.PARAMETER_DECLARATION: return createParameterDeclaration(); + case FiacrePackage.VARIABLES_DECLARATION: return createVariablesDeclaration(); + case FiacrePackage.VARIABLE_DECLARATION: return createVariableDeclaration(); + case FiacrePackage.PRIORITY_DECLARATION: return createPriorityDeclaration(); + case FiacrePackage.PRIORITY_GROUP: return createPriorityGroup(); + case FiacrePackage.STATEMENT: return createStatement(); + case FiacrePackage.BLOCK_STATEMENT: return createBlockStatement(); + case FiacrePackage.RETURN_STATEMENT: return createReturnStatement(); + case FiacrePackage.NULL_STATEMENT: return createNullStatement(); + case FiacrePackage.TAGGED_STATEMENT: return createTaggedStatement(); + case FiacrePackage.PATTERN_STATEMENT: return createPatternStatement(); + case FiacrePackage.PATTERN: return createPattern(); + case FiacrePackage.ANY_PATTERN: return createAnyPattern(); + case FiacrePackage.CONSTANT_PATTERN: return createConstantPattern(); + case FiacrePackage.INTEGER_PATTERN: return createIntegerPattern(); + case FiacrePackage.IDENTIFIER_PATTERN: return createIdentifierPattern(); + case FiacrePackage.CONDITIONAL_STATEMENT: return createConditionalStatement(); + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT: return createExtendedConditionalStatement(); + case FiacrePackage.SELECT_STATEMENT: return createSelectStatement(); + case FiacrePackage.WHILE_STATEMENT: return createWhileStatement(); + case FiacrePackage.FOREACH_STATEMENT: return createForeachStatement(); + case FiacrePackage.TO_STATEMENT: return createToStatement(); + case FiacrePackage.CASE_STATEMENT: return createCaseStatement(); + case FiacrePackage.LOOP_STATEMENT: return createLoopStatement(); + case FiacrePackage.ON_STATEMENT: return createOnStatement(); + case FiacrePackage.WAIT_STATEMENT: return createWaitStatement(); + case FiacrePackage.COMPOSITION: return createComposition(); + case FiacrePackage.BLOCK: return createBlock(); + case FiacrePackage.COMPOSITE_BLOCK: return createCompositeBlock(); + case FiacrePackage.INSTANCE_DECLARATION: return createInstanceDeclaration(); + case FiacrePackage.PORT_SET: return createPortSet(); + case FiacrePackage.COMPONENT_INSTANCE: return createComponentInstance(); + case FiacrePackage.EXPRESSION: return createExpression(); + case FiacrePackage.VALUE_EXPRESSION: return createValueExpression(); + case FiacrePackage.REFERENCE_EXPRESSION: return createReferenceExpression(); + case FiacrePackage.IDENTIFIER_EXPRESSION: return createIdentifierExpression(); + case FiacrePackage.RECORD_EXPRESSION: return createRecordExpression(); + case FiacrePackage.FIELD_EXPRESSION: return createFieldExpression(); + case FiacrePackage.ARRAY_EXPRESSION: return createArrayExpression(); + case FiacrePackage.QUEUE_EXPRESSION: return createQueueExpression(); + case FiacrePackage.ENQUEUE_EXPRESSION: return createEnqueueExpression(); + case FiacrePackage.APPEND_EXPRESSION: return createAppendExpression(); + case FiacrePackage.LITERAL_EXPRESSION: return createLiteralExpression(); + case FiacrePackage.BOOLEAN_LITERAL: return createBooleanLiteral(); + case FiacrePackage.NATURAL_LITERAL: return createNaturalLiteral(); + case FiacrePackage.LOWER_BOUND: return createLowerBound(); + case FiacrePackage.UPPER_BOUND: return createUpperBound(); + case FiacrePackage.NATURAL_LOWER_BOUND: return createNaturalLowerBound(); + case FiacrePackage.NATURAL_UPPER_BOUND: return createNaturalUpperBound(); + case FiacrePackage.DECIMAL_LOWER_BOUND: return createDecimalLowerBound(); + case FiacrePackage.DECIMAL_UPPER_BOUND: return createDecimalUpperBound(); + case FiacrePackage.VARIABLE_LOWER_BOUND: return createVariableLowerBound(); + case FiacrePackage.VARIABLE_UPPER_BOUND: return createVariableUpperBound(); + case FiacrePackage.INFINITE_UPPER_BOUND: return createInfiniteUpperBound(); + case FiacrePackage.REQUIREMENT: return createRequirement(); + case FiacrePackage.PROPERTY_DECLARATION: return createPropertyDeclaration(); + case FiacrePackage.PROPERTY: return createProperty(); + case FiacrePackage.PATTERN_PROPERTY: return createPatternProperty(); + case FiacrePackage.LTL_PATTERN: return createLTLPattern(); + case FiacrePackage.DEADLOCK_FREE_PATTERN: return createDeadlockFreePattern(); + case FiacrePackage.INFINITELY_OFTEN_PATTERN: return createInfinitelyOftenPattern(); + case FiacrePackage.MORTAL_PATTERN: return createMortalPattern(); + case FiacrePackage.PRESENCE_PATTERN: return createPresencePattern(); + case FiacrePackage.ABSENCE_PATTERN: return createAbsencePattern(); + case FiacrePackage.ALWAYS_PATTERN: return createAlwaysPattern(); + case FiacrePackage.SEQUENCE_PATTERN: return createSequencePattern(); + case FiacrePackage.LTL_PROPERTY: return createLTLProperty(); + case FiacrePackage.STATE_EVENT: return createStateEvent(); + case FiacrePackage.ENTER_STATE_EVENT: return createEnterStateEvent(); + case FiacrePackage.LEAVE_STATE_EVENT: return createLeaveStateEvent(); + case FiacrePackage.OBSERVABLE: return createObservable(); + case FiacrePackage.OBSERVABLE_EVENT: return createObservableEvent(); + case FiacrePackage.PATH_EVENT: return createPathEvent(); + case FiacrePackage.PATH: return createPath(); + case FiacrePackage.PATH_ITEM: return createPathItem(); + case FiacrePackage.NATURAL_ITEM: return createNaturalItem(); + case FiacrePackage.NAMED_ITEM: return createNamedItem(); + case FiacrePackage.SUBJECT: return createSubject(); + case FiacrePackage.STATE_SUBJECT: return createStateSubject(); + case FiacrePackage.VALUE_SUBJECT: return createValueSubject(); + case FiacrePackage.TAG_SUBJECT: return createTagSubject(); + case FiacrePackage.EVENT_SUBJECT: return createEventSubject(); + case FiacrePackage.TUPLE_TYPE: return createTupleType(); + case FiacrePackage.NATURAL_TYPE: return createNaturalType(); + case FiacrePackage.INTEGER_TYPE: return createIntegerType(); + case FiacrePackage.BOOLEAN_TYPE: return createBooleanType(); + case FiacrePackage.UNLESS_STATEMENT: return createUnlessStatement(); + case FiacrePackage.STATEMENT_CHOICE: return createStatementChoice(); + case FiacrePackage.STATEMENT_SEQUENCE: return createStatementSequence(); + case FiacrePackage.ASSIGN_STATEMENT: return createAssignStatement(); + case FiacrePackage.ASSIGN_ANY_STATEMENT: return createAssignAnyStatement(); + case FiacrePackage.SEND_STATEMENT: return createSendStatement(); + case FiacrePackage.RECEIVE_STATEMENT: return createReceiveStatement(); + case FiacrePackage.CONSTRUCTOR_PATTERN: return createConstructorPattern(); + case FiacrePackage.ARRAY_ACCESS_PATTERN: return createArrayAccessPattern(); + case FiacrePackage.RECORD_ACCESS_PATTERN: return createRecordAccessPattern(); + case FiacrePackage.ALL_EXPRESSION: return createAllExpression(); + case FiacrePackage.EXISTS_EXPRESSION: return createExistsExpression(); + case FiacrePackage.CONDITIONAL: return createConditional(); + case FiacrePackage.DISJUNCTION: return createDisjunction(); + case FiacrePackage.IMPLICATION: return createImplication(); + case FiacrePackage.CONJUNCTION: return createConjunction(); + case FiacrePackage.COMPARISON_EQUAL: return createComparisonEqual(); + case FiacrePackage.COMPARISON_NOT_EQUAL: return createComparisonNotEqual(); + case FiacrePackage.COMPARISON_LESSER: return createComparisonLesser(); + case FiacrePackage.COMPARISON_LESSER_EQUAL: return createComparisonLesserEqual(); + case FiacrePackage.COMPARISON_GREATER: return createComparisonGreater(); + case FiacrePackage.COMPARISON_GREATER_EQUAL: return createComparisonGreaterEqual(); + case FiacrePackage.ADDITION: return createAddition(); + case FiacrePackage.SUBSTRACTION: return createSubstraction(); + case FiacrePackage.MULTIPLICATION: return createMultiplication(); + case FiacrePackage.DIVISION: return createDivision(); + case FiacrePackage.MODULO: return createModulo(); + case FiacrePackage.UNARY_PLUS_EXPRESSION: return createUnaryPlusExpression(); + case FiacrePackage.UNARY_MINUS_EXPRESSION: return createUnaryMinusExpression(); + case FiacrePackage.UNARY_NEGATION_EXPRESSION: return createUnaryNegationExpression(); + case FiacrePackage.UNARY_FIRST_EXPRESSION: return createUnaryFirstExpression(); + case FiacrePackage.UNARY_LENGTH_EXPRESSION: return createUnaryLengthExpression(); + case FiacrePackage.UNARY_COERCE_EXPRESSION: return createUnaryCoerceExpression(); + case FiacrePackage.UNARY_FULL_EXPRESSION: return createUnaryFullExpression(); + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION: return createUnaryDeQueueExpression(); + case FiacrePackage.UNARY_EMPTY_EXPRESSION: return createUnaryEmptyExpression(); + case FiacrePackage.PROJECTION: return createProjection(); + case FiacrePackage.CONSTRUCTION_EXPRESSION: return createConstructionExpression(); + case FiacrePackage.ARRAY_ACCESS_EXPRESSION: return createArrayAccessExpression(); + case FiacrePackage.RECORD_ACCESS_EXPRESSION: return createRecordAccessExpression(); + case FiacrePackage.TRUE_LITERAL: return createTrueLiteral(); + case FiacrePackage.FALSE_LITERAL: return createFalseLiteral(); + case FiacrePackage.ALL_PROPERTY: return createAllProperty(); + case FiacrePackage.EXISTS_PROPERTY: return createExistsProperty(); + case FiacrePackage.PROPERTY_DISJUNCTION: return createPropertyDisjunction(); + case FiacrePackage.PROPERTY_IMPLICATION: return createPropertyImplication(); + case FiacrePackage.PROPERTY_CONJUNCTION: return createPropertyConjunction(); + case FiacrePackage.PROPERTY_NEGATION: return createPropertyNegation(); + case FiacrePackage.LEADS_TO_PATTERN: return createLeadsToPattern(); + case FiacrePackage.PRECEDES_PATTERN: return createPrecedesPattern(); + case FiacrePackage.LTL_ALL: return createLTLAll(); + case FiacrePackage.LTL_EXISTS: return createLTLExists(); + case FiacrePackage.LTL_DISJUNCTION: return createLTLDisjunction(); + case FiacrePackage.LTL_IMPLICATION: return createLTLImplication(); + case FiacrePackage.LTL_CONJUNCTION: return createLTLConjunction(); + case FiacrePackage.LTL_UNTIL: return createLTLUntil(); + case FiacrePackage.LTL_RELEASE: return createLTLRelease(); + case FiacrePackage.LTL_UNARY_NEGATION: return createLTLUnaryNegation(); + case FiacrePackage.LTL_UNARY_NEXT: return createLTLUnaryNext(); + case FiacrePackage.LTL_UNARY_ALWAYS: return createLTLUnaryAlways(); + case FiacrePackage.LTL_UNARY_EVENTUALLY: return createLTLUnaryEventually(); + case FiacrePackage.LTL_VARIABLE: return createLTLVariable(); + case FiacrePackage.OBSERVABLE_DISJUNCTION: return createObservableDisjunction(); + case FiacrePackage.OBSERVABLE_IMPLICATION: return createObservableImplication(); + case FiacrePackage.OBSERVABLE_CONJUNCTION: return createObservableConjunction(); + case FiacrePackage.OBSERVABLE_NEGATION: return createObservableNegation(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public Model createModel() + { + ModelImpl model = new ModelImpl(); + return model; + } + + /** + * + * + * @generated + */ + public RootDeclaration createRootDeclaration() + { + RootDeclarationImpl rootDeclaration = new RootDeclarationImpl(); + return rootDeclaration; + } + + /** + * + * + * @generated + */ + public Root createRoot() + { + RootImpl root = new RootImpl(); + return root; + } + + /** + * + * + * @generated + */ + public NamedElement createNamedElement() + { + NamedElementImpl namedElement = new NamedElementImpl(); + return namedElement; + } + + /** + * + * + * @generated + */ + public TypeDeclarationUse createTypeDeclarationUse() + { + TypeDeclarationUseImpl typeDeclarationUse = new TypeDeclarationUseImpl(); + return typeDeclarationUse; + } + + /** + * + * + * @generated + */ + public ConstantDeclarationUse createConstantDeclarationUse() + { + ConstantDeclarationUseImpl constantDeclarationUse = new ConstantDeclarationUseImpl(); + return constantDeclarationUse; + } + + /** + * + * + * @generated + */ + public ExpressionDeclarationUse createExpressionDeclarationUse() + { + ExpressionDeclarationUseImpl expressionDeclarationUse = new ExpressionDeclarationUseImpl(); + return expressionDeclarationUse; + } + + /** + * + * + * @generated + */ + public ReferenceDeclarationUse createReferenceDeclarationUse() + { + ReferenceDeclarationUseImpl referenceDeclarationUse = new ReferenceDeclarationUseImpl(); + return referenceDeclarationUse; + } + + /** + * + * + * @generated + */ + public UnionTagDeclarationUse createUnionTagDeclarationUse() + { + UnionTagDeclarationUseImpl unionTagDeclarationUse = new UnionTagDeclarationUseImpl(); + return unionTagDeclarationUse; + } + + /** + * + * + * @generated + */ + public RecordFieldDeclarationUse createRecordFieldDeclarationUse() + { + RecordFieldDeclarationUseImpl recordFieldDeclarationUse = new RecordFieldDeclarationUseImpl(); + return recordFieldDeclarationUse; + } + + /** + * + * + * @generated + */ + public PatternDeclarationUse createPatternDeclarationUse() + { + PatternDeclarationUseImpl patternDeclarationUse = new PatternDeclarationUseImpl(); + return patternDeclarationUse; + } + + /** + * + * + * @generated + */ + public BoundDeclarationUse createBoundDeclarationUse() + { + BoundDeclarationUseImpl boundDeclarationUse = new BoundDeclarationUseImpl(); + return boundDeclarationUse; + } + + /** + * + * + * @generated + */ + public PathDeclarationUse createPathDeclarationUse() + { + PathDeclarationUseImpl pathDeclarationUse = new PathDeclarationUseImpl(); + return pathDeclarationUse; + } + + /** + * + * + * @generated + */ + public PropertyDeclarationUse createPropertyDeclarationUse() + { + PropertyDeclarationUseImpl propertyDeclarationUse = new PropertyDeclarationUseImpl(); + return propertyDeclarationUse; + } + + /** + * + * + * @generated + */ + public ImportDeclaration createImportDeclaration() + { + ImportDeclarationImpl importDeclaration = new ImportDeclarationImpl(); + return importDeclaration; + } + + /** + * + * + * @generated + */ + public Declaration createDeclaration() + { + DeclarationImpl declaration = new DeclarationImpl(); + return declaration; + } + + /** + * + * + * @generated + */ + public ParameterizedDeclaration createParameterizedDeclaration() + { + ParameterizedDeclarationImpl parameterizedDeclaration = new ParameterizedDeclarationImpl(); + return parameterizedDeclaration; + } + + /** + * + * + * @generated + */ + public FunctionDeclaration createFunctionDeclaration() + { + FunctionDeclarationImpl functionDeclaration = new FunctionDeclarationImpl(); + return functionDeclaration; + } + + /** + * + * + * @generated + */ + public TypeDeclaration createTypeDeclaration() + { + TypeDeclarationImpl typeDeclaration = new TypeDeclarationImpl(); + return typeDeclaration; + } + + /** + * + * + * @generated + */ + public ChannelDeclaration createChannelDeclaration() + { + ChannelDeclarationImpl channelDeclaration = new ChannelDeclarationImpl(); + return channelDeclaration; + } + + /** + * + * + * @generated + */ + public ChannelType createChannelType() + { + ChannelTypeImpl channelType = new ChannelTypeImpl(); + return channelType; + } + + /** + * + * + * @generated + */ + public Type createType() + { + TypeImpl type = new TypeImpl(); + return type; + } + + /** + * + * + * @generated + */ + public BasicType createBasicType() + { + BasicTypeImpl basicType = new BasicTypeImpl(); + return basicType; + } + + /** + * + * + * @generated + */ + public RangeType createRangeType() + { + RangeTypeImpl rangeType = new RangeTypeImpl(); + return rangeType; + } + + /** + * + * + * @generated + */ + public UnionType createUnionType() + { + UnionTypeImpl unionType = new UnionTypeImpl(); + return unionType; + } + + /** + * + * + * @generated + */ + public UnionTags createUnionTags() + { + UnionTagsImpl unionTags = new UnionTagsImpl(); + return unionTags; + } + + /** + * + * + * @generated + */ + public UnionTagDeclaration createUnionTagDeclaration() + { + UnionTagDeclarationImpl unionTagDeclaration = new UnionTagDeclarationImpl(); + return unionTagDeclaration; + } + + /** + * + * + * @generated + */ + public RecordType createRecordType() + { + RecordTypeImpl recordType = new RecordTypeImpl(); + return recordType; + } + + /** + * + * + * @generated + */ + public RecordFields createRecordFields() + { + RecordFieldsImpl recordFields = new RecordFieldsImpl(); + return recordFields; + } + + /** + * + * + * @generated + */ + public RecordFieldDeclaration createRecordFieldDeclaration() + { + RecordFieldDeclarationImpl recordFieldDeclaration = new RecordFieldDeclarationImpl(); + return recordFieldDeclaration; + } + + /** + * + * + * @generated + */ + public QueueType createQueueType() + { + QueueTypeImpl queueType = new QueueTypeImpl(); + return queueType; + } + + /** + * + * + * @generated + */ + public ArrayType createArrayType() + { + ArrayTypeImpl arrayType = new ArrayTypeImpl(); + return arrayType; + } + + /** + * + * + * @generated + */ + public ReferencedType createReferencedType() + { + ReferencedTypeImpl referencedType = new ReferencedTypeImpl(); + return referencedType; + } + + /** + * + * + * @generated + */ + public ConstantDeclaration createConstantDeclaration() + { + ConstantDeclarationImpl constantDeclaration = new ConstantDeclarationImpl(); + return constantDeclaration; + } + + /** + * + * + * @generated + */ + public ProcessDeclaration createProcessDeclaration() + { + ProcessDeclarationImpl processDeclaration = new ProcessDeclarationImpl(); + return processDeclaration; + } + + /** + * + * + * @generated + */ + public StateDeclaration createStateDeclaration() + { + StateDeclarationImpl stateDeclaration = new StateDeclarationImpl(); + return stateDeclaration; + } + + /** + * + * + * @generated + */ + public TransitionSource createTransitionSource() + { + TransitionSourceImpl transitionSource = new TransitionSourceImpl(); + return transitionSource; + } + + /** + * + * + * @generated + */ + public Transition createTransition() + { + TransitionImpl transition = new TransitionImpl(); + return transition; + } + + /** + * + * + * @generated + */ + public ComponentDeclaration createComponentDeclaration() + { + ComponentDeclarationImpl componentDeclaration = new ComponentDeclarationImpl(); + return componentDeclaration; + } + + /** + * + * + * @generated + */ + public PortsDeclaration createPortsDeclaration() + { + PortsDeclarationImpl portsDeclaration = new PortsDeclarationImpl(); + return portsDeclaration; + } + + /** + * + * + * @generated + */ + public PortDeclaration createPortDeclaration() + { + PortDeclarationImpl portDeclaration = new PortDeclarationImpl(); + return portDeclaration; + } + + /** + * + * + * @generated + */ + public LocalPortsDeclaration createLocalPortsDeclaration() + { + LocalPortsDeclarationImpl localPortsDeclaration = new LocalPortsDeclarationImpl(); + return localPortsDeclaration; + } + + /** + * + * + * @generated + */ + public ParametersDeclaration createParametersDeclaration() + { + ParametersDeclarationImpl parametersDeclaration = new ParametersDeclarationImpl(); + return parametersDeclaration; + } + + /** + * + * + * @generated + */ + public ParameterDeclaration createParameterDeclaration() + { + ParameterDeclarationImpl parameterDeclaration = new ParameterDeclarationImpl(); + return parameterDeclaration; + } + + /** + * + * + * @generated + */ + public VariablesDeclaration createVariablesDeclaration() + { + VariablesDeclarationImpl variablesDeclaration = new VariablesDeclarationImpl(); + return variablesDeclaration; + } + + /** + * + * + * @generated + */ + public VariableDeclaration createVariableDeclaration() + { + VariableDeclarationImpl variableDeclaration = new VariableDeclarationImpl(); + return variableDeclaration; + } + + /** + * + * + * @generated + */ + public PriorityDeclaration createPriorityDeclaration() + { + PriorityDeclarationImpl priorityDeclaration = new PriorityDeclarationImpl(); + return priorityDeclaration; + } + + /** + * + * + * @generated + */ + public PriorityGroup createPriorityGroup() + { + PriorityGroupImpl priorityGroup = new PriorityGroupImpl(); + return priorityGroup; + } + + /** + * + * + * @generated + */ + public Statement createStatement() + { + StatementImpl statement = new StatementImpl(); + return statement; + } + + /** + * + * + * @generated + */ + public BlockStatement createBlockStatement() + { + BlockStatementImpl blockStatement = new BlockStatementImpl(); + return blockStatement; + } + + /** + * + * + * @generated + */ + public ReturnStatement createReturnStatement() + { + ReturnStatementImpl returnStatement = new ReturnStatementImpl(); + return returnStatement; + } + + /** + * + * + * @generated + */ + public NullStatement createNullStatement() + { + NullStatementImpl nullStatement = new NullStatementImpl(); + return nullStatement; + } + + /** + * + * + * @generated + */ + public TaggedStatement createTaggedStatement() + { + TaggedStatementImpl taggedStatement = new TaggedStatementImpl(); + return taggedStatement; + } + + /** + * + * + * @generated + */ + public PatternStatement createPatternStatement() + { + PatternStatementImpl patternStatement = new PatternStatementImpl(); + return patternStatement; + } + + /** + * + * + * @generated + */ + public Pattern createPattern() + { + PatternImpl pattern = new PatternImpl(); + return pattern; + } + + /** + * + * + * @generated + */ + public AnyPattern createAnyPattern() + { + AnyPatternImpl anyPattern = new AnyPatternImpl(); + return anyPattern; + } + + /** + * + * + * @generated + */ + public ConstantPattern createConstantPattern() + { + ConstantPatternImpl constantPattern = new ConstantPatternImpl(); + return constantPattern; + } + + /** + * + * + * @generated + */ + public IntegerPattern createIntegerPattern() + { + IntegerPatternImpl integerPattern = new IntegerPatternImpl(); + return integerPattern; + } + + /** + * + * + * @generated + */ + public IdentifierPattern createIdentifierPattern() + { + IdentifierPatternImpl identifierPattern = new IdentifierPatternImpl(); + return identifierPattern; + } + + /** + * + * + * @generated + */ + public ConditionalStatement createConditionalStatement() + { + ConditionalStatementImpl conditionalStatement = new ConditionalStatementImpl(); + return conditionalStatement; + } + + /** + * + * + * @generated + */ + public ExtendedConditionalStatement createExtendedConditionalStatement() + { + ExtendedConditionalStatementImpl extendedConditionalStatement = new ExtendedConditionalStatementImpl(); + return extendedConditionalStatement; + } + + /** + * + * + * @generated + */ + public SelectStatement createSelectStatement() + { + SelectStatementImpl selectStatement = new SelectStatementImpl(); + return selectStatement; + } + + /** + * + * + * @generated + */ + public WhileStatement createWhileStatement() + { + WhileStatementImpl whileStatement = new WhileStatementImpl(); + return whileStatement; + } + + /** + * + * + * @generated + */ + public ForeachStatement createForeachStatement() + { + ForeachStatementImpl foreachStatement = new ForeachStatementImpl(); + return foreachStatement; + } + + /** + * + * + * @generated + */ + public ToStatement createToStatement() + { + ToStatementImpl toStatement = new ToStatementImpl(); + return toStatement; + } + + /** + * + * + * @generated + */ + public CaseStatement createCaseStatement() + { + CaseStatementImpl caseStatement = new CaseStatementImpl(); + return caseStatement; + } + + /** + * + * + * @generated + */ + public LoopStatement createLoopStatement() + { + LoopStatementImpl loopStatement = new LoopStatementImpl(); + return loopStatement; + } + + /** + * + * + * @generated + */ + public OnStatement createOnStatement() + { + OnStatementImpl onStatement = new OnStatementImpl(); + return onStatement; + } + + /** + * + * + * @generated + */ + public WaitStatement createWaitStatement() + { + WaitStatementImpl waitStatement = new WaitStatementImpl(); + return waitStatement; + } + + /** + * + * + * @generated + */ + public Composition createComposition() + { + CompositionImpl composition = new CompositionImpl(); + return composition; + } + + /** + * + * + * @generated + */ + public Block createBlock() + { + BlockImpl block = new BlockImpl(); + return block; + } + + /** + * + * + * @generated + */ + public CompositeBlock createCompositeBlock() + { + CompositeBlockImpl compositeBlock = new CompositeBlockImpl(); + return compositeBlock; + } + + /** + * + * + * @generated + */ + public InstanceDeclaration createInstanceDeclaration() + { + InstanceDeclarationImpl instanceDeclaration = new InstanceDeclarationImpl(); + return instanceDeclaration; + } + + /** + * + * + * @generated + */ + public PortSet createPortSet() + { + PortSetImpl portSet = new PortSetImpl(); + return portSet; + } + + /** + * + * + * @generated + */ + public ComponentInstance createComponentInstance() + { + ComponentInstanceImpl componentInstance = new ComponentInstanceImpl(); + return componentInstance; + } + + /** + * + * + * @generated + */ + public Expression createExpression() + { + ExpressionImpl expression = new ExpressionImpl(); + return expression; + } + + /** + * + * + * @generated + */ + public ValueExpression createValueExpression() + { + ValueExpressionImpl valueExpression = new ValueExpressionImpl(); + return valueExpression; + } + + /** + * + * + * @generated + */ + public ReferenceExpression createReferenceExpression() + { + ReferenceExpressionImpl referenceExpression = new ReferenceExpressionImpl(); + return referenceExpression; + } + + /** + * + * + * @generated + */ + public IdentifierExpression createIdentifierExpression() + { + IdentifierExpressionImpl identifierExpression = new IdentifierExpressionImpl(); + return identifierExpression; + } + + /** + * + * + * @generated + */ + public RecordExpression createRecordExpression() + { + RecordExpressionImpl recordExpression = new RecordExpressionImpl(); + return recordExpression; + } + + /** + * + * + * @generated + */ + public FieldExpression createFieldExpression() + { + FieldExpressionImpl fieldExpression = new FieldExpressionImpl(); + return fieldExpression; + } + + /** + * + * + * @generated + */ + public ArrayExpression createArrayExpression() + { + ArrayExpressionImpl arrayExpression = new ArrayExpressionImpl(); + return arrayExpression; + } + + /** + * + * + * @generated + */ + public QueueExpression createQueueExpression() + { + QueueExpressionImpl queueExpression = new QueueExpressionImpl(); + return queueExpression; + } + + /** + * + * + * @generated + */ + public EnqueueExpression createEnqueueExpression() + { + EnqueueExpressionImpl enqueueExpression = new EnqueueExpressionImpl(); + return enqueueExpression; + } + + /** + * + * + * @generated + */ + public AppendExpression createAppendExpression() + { + AppendExpressionImpl appendExpression = new AppendExpressionImpl(); + return appendExpression; + } + + /** + * + * + * @generated + */ + public LiteralExpression createLiteralExpression() + { + LiteralExpressionImpl literalExpression = new LiteralExpressionImpl(); + return literalExpression; + } + + /** + * + * + * @generated + */ + public BooleanLiteral createBooleanLiteral() + { + BooleanLiteralImpl booleanLiteral = new BooleanLiteralImpl(); + return booleanLiteral; + } + + /** + * + * + * @generated + */ + public NaturalLiteral createNaturalLiteral() + { + NaturalLiteralImpl naturalLiteral = new NaturalLiteralImpl(); + return naturalLiteral; + } + + /** + * + * + * @generated + */ + public LowerBound createLowerBound() + { + LowerBoundImpl lowerBound = new LowerBoundImpl(); + return lowerBound; + } + + /** + * + * + * @generated + */ + public UpperBound createUpperBound() + { + UpperBoundImpl upperBound = new UpperBoundImpl(); + return upperBound; + } + + /** + * + * + * @generated + */ + public NaturalLowerBound createNaturalLowerBound() + { + NaturalLowerBoundImpl naturalLowerBound = new NaturalLowerBoundImpl(); + return naturalLowerBound; + } + + /** + * + * + * @generated + */ + public NaturalUpperBound createNaturalUpperBound() + { + NaturalUpperBoundImpl naturalUpperBound = new NaturalUpperBoundImpl(); + return naturalUpperBound; + } + + /** + * + * + * @generated + */ + public DecimalLowerBound createDecimalLowerBound() + { + DecimalLowerBoundImpl decimalLowerBound = new DecimalLowerBoundImpl(); + return decimalLowerBound; + } + + /** + * + * + * @generated + */ + public DecimalUpperBound createDecimalUpperBound() + { + DecimalUpperBoundImpl decimalUpperBound = new DecimalUpperBoundImpl(); + return decimalUpperBound; + } + + /** + * + * + * @generated + */ + public VariableLowerBound createVariableLowerBound() + { + VariableLowerBoundImpl variableLowerBound = new VariableLowerBoundImpl(); + return variableLowerBound; + } + + /** + * + * + * @generated + */ + public VariableUpperBound createVariableUpperBound() + { + VariableUpperBoundImpl variableUpperBound = new VariableUpperBoundImpl(); + return variableUpperBound; + } + + /** + * + * + * @generated + */ + public InfiniteUpperBound createInfiniteUpperBound() + { + InfiniteUpperBoundImpl infiniteUpperBound = new InfiniteUpperBoundImpl(); + return infiniteUpperBound; + } + + /** + * + * + * @generated + */ + public Requirement createRequirement() + { + RequirementImpl requirement = new RequirementImpl(); + return requirement; + } + + /** + * + * + * @generated + */ + public PropertyDeclaration createPropertyDeclaration() + { + PropertyDeclarationImpl propertyDeclaration = new PropertyDeclarationImpl(); + return propertyDeclaration; + } + + /** + * + * + * @generated + */ + public Property createProperty() + { + PropertyImpl property = new PropertyImpl(); + return property; + } + + /** + * + * + * @generated + */ + public PatternProperty createPatternProperty() + { + PatternPropertyImpl patternProperty = new PatternPropertyImpl(); + return patternProperty; + } + + /** + * + * + * @generated + */ + public LTLPattern createLTLPattern() + { + LTLPatternImpl ltlPattern = new LTLPatternImpl(); + return ltlPattern; + } + + /** + * + * + * @generated + */ + public DeadlockFreePattern createDeadlockFreePattern() + { + DeadlockFreePatternImpl deadlockFreePattern = new DeadlockFreePatternImpl(); + return deadlockFreePattern; + } + + /** + * + * + * @generated + */ + public InfinitelyOftenPattern createInfinitelyOftenPattern() + { + InfinitelyOftenPatternImpl infinitelyOftenPattern = new InfinitelyOftenPatternImpl(); + return infinitelyOftenPattern; + } + + /** + * + * + * @generated + */ + public MortalPattern createMortalPattern() + { + MortalPatternImpl mortalPattern = new MortalPatternImpl(); + return mortalPattern; + } + + /** + * + * + * @generated + */ + public PresencePattern createPresencePattern() + { + PresencePatternImpl presencePattern = new PresencePatternImpl(); + return presencePattern; + } + + /** + * + * + * @generated + */ + public AbsencePattern createAbsencePattern() + { + AbsencePatternImpl absencePattern = new AbsencePatternImpl(); + return absencePattern; + } + + /** + * + * + * @generated + */ + public AlwaysPattern createAlwaysPattern() + { + AlwaysPatternImpl alwaysPattern = new AlwaysPatternImpl(); + return alwaysPattern; + } + + /** + * + * + * @generated + */ + public SequencePattern createSequencePattern() + { + SequencePatternImpl sequencePattern = new SequencePatternImpl(); + return sequencePattern; + } + + /** + * + * + * @generated + */ + public LTLProperty createLTLProperty() + { + LTLPropertyImpl ltlProperty = new LTLPropertyImpl(); + return ltlProperty; + } + + /** + * + * + * @generated + */ + public StateEvent createStateEvent() + { + StateEventImpl stateEvent = new StateEventImpl(); + return stateEvent; + } + + /** + * + * + * @generated + */ + public EnterStateEvent createEnterStateEvent() + { + EnterStateEventImpl enterStateEvent = new EnterStateEventImpl(); + return enterStateEvent; + } + + /** + * + * + * @generated + */ + public LeaveStateEvent createLeaveStateEvent() + { + LeaveStateEventImpl leaveStateEvent = new LeaveStateEventImpl(); + return leaveStateEvent; + } + + /** + * + * + * @generated + */ + public Observable createObservable() + { + ObservableImpl observable = new ObservableImpl(); + return observable; + } + + /** + * + * + * @generated + */ + public ObservableEvent createObservableEvent() + { + ObservableEventImpl observableEvent = new ObservableEventImpl(); + return observableEvent; + } + + /** + * + * + * @generated + */ + public PathEvent createPathEvent() + { + PathEventImpl pathEvent = new PathEventImpl(); + return pathEvent; + } + + /** + * + * + * @generated + */ + public Path createPath() + { + PathImpl path = new PathImpl(); + return path; + } + + /** + * + * + * @generated + */ + public PathItem createPathItem() + { + PathItemImpl pathItem = new PathItemImpl(); + return pathItem; + } + + /** + * + * + * @generated + */ + public NaturalItem createNaturalItem() + { + NaturalItemImpl naturalItem = new NaturalItemImpl(); + return naturalItem; + } + + /** + * + * + * @generated + */ + public NamedItem createNamedItem() + { + NamedItemImpl namedItem = new NamedItemImpl(); + return namedItem; + } + + /** + * + * + * @generated + */ + public Subject createSubject() + { + SubjectImpl subject = new SubjectImpl(); + return subject; + } + + /** + * + * + * @generated + */ + public StateSubject createStateSubject() + { + StateSubjectImpl stateSubject = new StateSubjectImpl(); + return stateSubject; + } + + /** + * + * + * @generated + */ + public ValueSubject createValueSubject() + { + ValueSubjectImpl valueSubject = new ValueSubjectImpl(); + return valueSubject; + } + + /** + * + * + * @generated + */ + public TagSubject createTagSubject() + { + TagSubjectImpl tagSubject = new TagSubjectImpl(); + return tagSubject; + } + + /** + * + * + * @generated + */ + public EventSubject createEventSubject() + { + EventSubjectImpl eventSubject = new EventSubjectImpl(); + return eventSubject; + } + + /** + * + * + * @generated + */ + public TupleType createTupleType() + { + TupleTypeImpl tupleType = new TupleTypeImpl(); + return tupleType; + } + + /** + * + * + * @generated + */ + public NaturalType createNaturalType() + { + NaturalTypeImpl naturalType = new NaturalTypeImpl(); + return naturalType; + } + + /** + * + * + * @generated + */ + public IntegerType createIntegerType() + { + IntegerTypeImpl integerType = new IntegerTypeImpl(); + return integerType; + } + + /** + * + * + * @generated + */ + public BooleanType createBooleanType() + { + BooleanTypeImpl booleanType = new BooleanTypeImpl(); + return booleanType; + } + + /** + * + * + * @generated + */ + public UnlessStatement createUnlessStatement() + { + UnlessStatementImpl unlessStatement = new UnlessStatementImpl(); + return unlessStatement; + } + + /** + * + * + * @generated + */ + public StatementChoice createStatementChoice() + { + StatementChoiceImpl statementChoice = new StatementChoiceImpl(); + return statementChoice; + } + + /** + * + * + * @generated + */ + public StatementSequence createStatementSequence() + { + StatementSequenceImpl statementSequence = new StatementSequenceImpl(); + return statementSequence; + } + + /** + * + * + * @generated + */ + public AssignStatement createAssignStatement() + { + AssignStatementImpl assignStatement = new AssignStatementImpl(); + return assignStatement; + } + + /** + * + * + * @generated + */ + public AssignAnyStatement createAssignAnyStatement() + { + AssignAnyStatementImpl assignAnyStatement = new AssignAnyStatementImpl(); + return assignAnyStatement; + } + + /** + * + * + * @generated + */ + public SendStatement createSendStatement() + { + SendStatementImpl sendStatement = new SendStatementImpl(); + return sendStatement; + } + + /** + * + * + * @generated + */ + public ReceiveStatement createReceiveStatement() + { + ReceiveStatementImpl receiveStatement = new ReceiveStatementImpl(); + return receiveStatement; + } + + /** + * + * + * @generated + */ + public ConstructorPattern createConstructorPattern() + { + ConstructorPatternImpl constructorPattern = new ConstructorPatternImpl(); + return constructorPattern; + } + + /** + * + * + * @generated + */ + public ArrayAccessPattern createArrayAccessPattern() + { + ArrayAccessPatternImpl arrayAccessPattern = new ArrayAccessPatternImpl(); + return arrayAccessPattern; + } + + /** + * + * + * @generated + */ + public RecordAccessPattern createRecordAccessPattern() + { + RecordAccessPatternImpl recordAccessPattern = new RecordAccessPatternImpl(); + return recordAccessPattern; + } + + /** + * + * + * @generated + */ + public AllExpression createAllExpression() + { + AllExpressionImpl allExpression = new AllExpressionImpl(); + return allExpression; + } + + /** + * + * + * @generated + */ + public ExistsExpression createExistsExpression() + { + ExistsExpressionImpl existsExpression = new ExistsExpressionImpl(); + return existsExpression; + } + + /** + * + * + * @generated + */ + public Conditional createConditional() + { + ConditionalImpl conditional = new ConditionalImpl(); + return conditional; + } + + /** + * + * + * @generated + */ + public Disjunction createDisjunction() + { + DisjunctionImpl disjunction = new DisjunctionImpl(); + return disjunction; + } + + /** + * + * + * @generated + */ + public Implication createImplication() + { + ImplicationImpl implication = new ImplicationImpl(); + return implication; + } + + /** + * + * + * @generated + */ + public Conjunction createConjunction() + { + ConjunctionImpl conjunction = new ConjunctionImpl(); + return conjunction; + } + + /** + * + * + * @generated + */ + public ComparisonEqual createComparisonEqual() + { + ComparisonEqualImpl comparisonEqual = new ComparisonEqualImpl(); + return comparisonEqual; + } + + /** + * + * + * @generated + */ + public ComparisonNotEqual createComparisonNotEqual() + { + ComparisonNotEqualImpl comparisonNotEqual = new ComparisonNotEqualImpl(); + return comparisonNotEqual; + } + + /** + * + * + * @generated + */ + public ComparisonLesser createComparisonLesser() + { + ComparisonLesserImpl comparisonLesser = new ComparisonLesserImpl(); + return comparisonLesser; + } + + /** + * + * + * @generated + */ + public ComparisonLesserEqual createComparisonLesserEqual() + { + ComparisonLesserEqualImpl comparisonLesserEqual = new ComparisonLesserEqualImpl(); + return comparisonLesserEqual; + } + + /** + * + * + * @generated + */ + public ComparisonGreater createComparisonGreater() + { + ComparisonGreaterImpl comparisonGreater = new ComparisonGreaterImpl(); + return comparisonGreater; + } + + /** + * + * + * @generated + */ + public ComparisonGreaterEqual createComparisonGreaterEqual() + { + ComparisonGreaterEqualImpl comparisonGreaterEqual = new ComparisonGreaterEqualImpl(); + return comparisonGreaterEqual; + } + + /** + * + * + * @generated + */ + public Addition createAddition() + { + AdditionImpl addition = new AdditionImpl(); + return addition; + } + + /** + * + * + * @generated + */ + public Substraction createSubstraction() + { + SubstractionImpl substraction = new SubstractionImpl(); + return substraction; + } + + /** + * + * + * @generated + */ + public Multiplication createMultiplication() + { + MultiplicationImpl multiplication = new MultiplicationImpl(); + return multiplication; + } + + /** + * + * + * @generated + */ + public Division createDivision() + { + DivisionImpl division = new DivisionImpl(); + return division; + } + + /** + * + * + * @generated + */ + public Modulo createModulo() + { + ModuloImpl modulo = new ModuloImpl(); + return modulo; + } + + /** + * + * + * @generated + */ + public UnaryPlusExpression createUnaryPlusExpression() + { + UnaryPlusExpressionImpl unaryPlusExpression = new UnaryPlusExpressionImpl(); + return unaryPlusExpression; + } + + /** + * + * + * @generated + */ + public UnaryMinusExpression createUnaryMinusExpression() + { + UnaryMinusExpressionImpl unaryMinusExpression = new UnaryMinusExpressionImpl(); + return unaryMinusExpression; + } + + /** + * + * + * @generated + */ + public UnaryNegationExpression createUnaryNegationExpression() + { + UnaryNegationExpressionImpl unaryNegationExpression = new UnaryNegationExpressionImpl(); + return unaryNegationExpression; + } + + /** + * + * + * @generated + */ + public UnaryFirstExpression createUnaryFirstExpression() + { + UnaryFirstExpressionImpl unaryFirstExpression = new UnaryFirstExpressionImpl(); + return unaryFirstExpression; + } + + /** + * + * + * @generated + */ + public UnaryLengthExpression createUnaryLengthExpression() + { + UnaryLengthExpressionImpl unaryLengthExpression = new UnaryLengthExpressionImpl(); + return unaryLengthExpression; + } + + /** + * + * + * @generated + */ + public UnaryCoerceExpression createUnaryCoerceExpression() + { + UnaryCoerceExpressionImpl unaryCoerceExpression = new UnaryCoerceExpressionImpl(); + return unaryCoerceExpression; + } + + /** + * + * + * @generated + */ + public UnaryFullExpression createUnaryFullExpression() + { + UnaryFullExpressionImpl unaryFullExpression = new UnaryFullExpressionImpl(); + return unaryFullExpression; + } + + /** + * + * + * @generated + */ + public UnaryDeQueueExpression createUnaryDeQueueExpression() + { + UnaryDeQueueExpressionImpl unaryDeQueueExpression = new UnaryDeQueueExpressionImpl(); + return unaryDeQueueExpression; + } + + /** + * + * + * @generated + */ + public UnaryEmptyExpression createUnaryEmptyExpression() + { + UnaryEmptyExpressionImpl unaryEmptyExpression = new UnaryEmptyExpressionImpl(); + return unaryEmptyExpression; + } + + /** + * + * + * @generated + */ + public Projection createProjection() + { + ProjectionImpl projection = new ProjectionImpl(); + return projection; + } + + /** + * + * + * @generated + */ + public ConstructionExpression createConstructionExpression() + { + ConstructionExpressionImpl constructionExpression = new ConstructionExpressionImpl(); + return constructionExpression; + } + + /** + * + * + * @generated + */ + public ArrayAccessExpression createArrayAccessExpression() + { + ArrayAccessExpressionImpl arrayAccessExpression = new ArrayAccessExpressionImpl(); + return arrayAccessExpression; + } + + /** + * + * + * @generated + */ + public RecordAccessExpression createRecordAccessExpression() + { + RecordAccessExpressionImpl recordAccessExpression = new RecordAccessExpressionImpl(); + return recordAccessExpression; + } + + /** + * + * + * @generated + */ + public TrueLiteral createTrueLiteral() + { + TrueLiteralImpl trueLiteral = new TrueLiteralImpl(); + return trueLiteral; + } + + /** + * + * + * @generated + */ + public FalseLiteral createFalseLiteral() + { + FalseLiteralImpl falseLiteral = new FalseLiteralImpl(); + return falseLiteral; + } + + /** + * + * + * @generated + */ + public AllProperty createAllProperty() + { + AllPropertyImpl allProperty = new AllPropertyImpl(); + return allProperty; + } + + /** + * + * + * @generated + */ + public ExistsProperty createExistsProperty() + { + ExistsPropertyImpl existsProperty = new ExistsPropertyImpl(); + return existsProperty; + } + + /** + * + * + * @generated + */ + public PropertyDisjunction createPropertyDisjunction() + { + PropertyDisjunctionImpl propertyDisjunction = new PropertyDisjunctionImpl(); + return propertyDisjunction; + } + + /** + * + * + * @generated + */ + public PropertyImplication createPropertyImplication() + { + PropertyImplicationImpl propertyImplication = new PropertyImplicationImpl(); + return propertyImplication; + } + + /** + * + * + * @generated + */ + public PropertyConjunction createPropertyConjunction() + { + PropertyConjunctionImpl propertyConjunction = new PropertyConjunctionImpl(); + return propertyConjunction; + } + + /** + * + * + * @generated + */ + public PropertyNegation createPropertyNegation() + { + PropertyNegationImpl propertyNegation = new PropertyNegationImpl(); + return propertyNegation; + } + + /** + * + * + * @generated + */ + public LeadsToPattern createLeadsToPattern() + { + LeadsToPatternImpl leadsToPattern = new LeadsToPatternImpl(); + return leadsToPattern; + } + + /** + * + * + * @generated + */ + public PrecedesPattern createPrecedesPattern() + { + PrecedesPatternImpl precedesPattern = new PrecedesPatternImpl(); + return precedesPattern; + } + + /** + * + * + * @generated + */ + public LTLAll createLTLAll() + { + LTLAllImpl ltlAll = new LTLAllImpl(); + return ltlAll; + } + + /** + * + * + * @generated + */ + public LTLExists createLTLExists() + { + LTLExistsImpl ltlExists = new LTLExistsImpl(); + return ltlExists; + } + + /** + * + * + * @generated + */ + public LTLDisjunction createLTLDisjunction() + { + LTLDisjunctionImpl ltlDisjunction = new LTLDisjunctionImpl(); + return ltlDisjunction; + } + + /** + * + * + * @generated + */ + public LTLImplication createLTLImplication() + { + LTLImplicationImpl ltlImplication = new LTLImplicationImpl(); + return ltlImplication; + } + + /** + * + * + * @generated + */ + public LTLConjunction createLTLConjunction() + { + LTLConjunctionImpl ltlConjunction = new LTLConjunctionImpl(); + return ltlConjunction; + } + + /** + * + * + * @generated + */ + public LTLUntil createLTLUntil() + { + LTLUntilImpl ltlUntil = new LTLUntilImpl(); + return ltlUntil; + } + + /** + * + * + * @generated + */ + public LTLRelease createLTLRelease() + { + LTLReleaseImpl ltlRelease = new LTLReleaseImpl(); + return ltlRelease; + } + + /** + * + * + * @generated + */ + public LTLUnaryNegation createLTLUnaryNegation() + { + LTLUnaryNegationImpl ltlUnaryNegation = new LTLUnaryNegationImpl(); + return ltlUnaryNegation; + } + + /** + * + * + * @generated + */ + public LTLUnaryNext createLTLUnaryNext() + { + LTLUnaryNextImpl ltlUnaryNext = new LTLUnaryNextImpl(); + return ltlUnaryNext; + } + + /** + * + * + * @generated + */ + public LTLUnaryAlways createLTLUnaryAlways() + { + LTLUnaryAlwaysImpl ltlUnaryAlways = new LTLUnaryAlwaysImpl(); + return ltlUnaryAlways; + } + + /** + * + * + * @generated + */ + public LTLUnaryEventually createLTLUnaryEventually() + { + LTLUnaryEventuallyImpl ltlUnaryEventually = new LTLUnaryEventuallyImpl(); + return ltlUnaryEventually; + } + + /** + * + * + * @generated + */ + public LTLVariable createLTLVariable() + { + LTLVariableImpl ltlVariable = new LTLVariableImpl(); + return ltlVariable; + } + + /** + * + * + * @generated + */ + public ObservableDisjunction createObservableDisjunction() + { + ObservableDisjunctionImpl observableDisjunction = new ObservableDisjunctionImpl(); + return observableDisjunction; + } + + /** + * + * + * @generated + */ + public ObservableImplication createObservableImplication() + { + ObservableImplicationImpl observableImplication = new ObservableImplicationImpl(); + return observableImplication; + } + + /** + * + * + * @generated + */ + public ObservableConjunction createObservableConjunction() + { + ObservableConjunctionImpl observableConjunction = new ObservableConjunctionImpl(); + return observableConjunction; + } + + /** + * + * + * @generated + */ + public ObservableNegation createObservableNegation() + { + ObservableNegationImpl observableNegation = new ObservableNegationImpl(); + return observableNegation; + } + + /** + * + * + * @generated + */ + public FiacrePackage getFiacrePackage() + { + return (FiacrePackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static FiacrePackage getPackage() + { + return FiacrePackage.eINSTANCE; + } + +} //FiacreFactoryImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacrePackageImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacrePackageImpl.java new file mode 100644 index 0000000..18e30ed --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FiacrePackageImpl.java @@ -0,0 +1,7253 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacreFactory; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; + +import java.io.IOException; + +import java.net.URL; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.common.util.WrappedException; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import org.eclipse.emf.ecore.resource.Resource; + +import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class FiacrePackageImpl extends EPackageImpl implements FiacrePackage +{ + /** + * + * + * @generated + */ + protected String packageFilename = "fiacre.loadinitialization_ecore"; + + /** + * + * + * @generated + */ + private EClass modelEClass = null; + + /** + * + * + * @generated + */ + private EClass rootDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass rootEClass = null; + + /** + * + * + * @generated + */ + private EClass namedElementEClass = null; + + /** + * + * + * @generated + */ + private EClass typeDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass constantDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass referenceDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass unionTagDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass recordFieldDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass patternDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass boundDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass pathDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyDeclarationUseEClass = null; + + /** + * + * + * @generated + */ + private EClass importDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass declarationEClass = null; + + /** + * + * + * @generated + */ + private EClass parameterizedDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass functionDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass typeDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass channelDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass channelTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass typeEClass = null; + + /** + * + * + * @generated + */ + private EClass basicTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass rangeTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass unionTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass unionTagsEClass = null; + + /** + * + * + * @generated + */ + private EClass unionTagDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass recordTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass recordFieldsEClass = null; + + /** + * + * + * @generated + */ + private EClass recordFieldDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass queueTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass arrayTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass referencedTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass constantDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass processDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass stateDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass transitionSourceEClass = null; + + /** + * + * + * @generated + */ + private EClass transitionEClass = null; + + /** + * + * + * @generated + */ + private EClass componentDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass portsDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass portDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass localPortsDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass parametersDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass parameterDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass variablesDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass variableDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass priorityDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass priorityGroupEClass = null; + + /** + * + * + * @generated + */ + private EClass statementEClass = null; + + /** + * + * + * @generated + */ + private EClass blockStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass returnStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass nullStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass taggedStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass patternStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass patternEClass = null; + + /** + * + * + * @generated + */ + private EClass anyPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass constantPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass integerPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass identifierPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass conditionalStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass extendedConditionalStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass selectStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass whileStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass foreachStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass toStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass caseStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass loopStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass onStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass waitStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass compositionEClass = null; + + /** + * + * + * @generated + */ + private EClass blockEClass = null; + + /** + * + * + * @generated + */ + private EClass compositeBlockEClass = null; + + /** + * + * + * @generated + */ + private EClass instanceDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass portSetEClass = null; + + /** + * + * + * @generated + */ + private EClass componentInstanceEClass = null; + + /** + * + * + * @generated + */ + private EClass expressionEClass = null; + + /** + * + * + * @generated + */ + private EClass valueExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass referenceExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass identifierExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass recordExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass fieldExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass arrayExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass queueExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass enqueueExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass appendExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass literalExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass booleanLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass naturalLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass lowerBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass upperBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass naturalLowerBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass naturalUpperBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass decimalLowerBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass decimalUpperBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass variableLowerBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass variableUpperBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass infiniteUpperBoundEClass = null; + + /** + * + * + * @generated + */ + private EClass requirementEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyDeclarationEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyEClass = null; + + /** + * + * + * @generated + */ + private EClass patternPropertyEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass deadlockFreePatternEClass = null; + + /** + * + * + * @generated + */ + private EClass infinitelyOftenPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass mortalPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass presencePatternEClass = null; + + /** + * + * + * @generated + */ + private EClass absencePatternEClass = null; + + /** + * + * + * @generated + */ + private EClass alwaysPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass sequencePatternEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlPropertyEClass = null; + + /** + * + * + * @generated + */ + private EClass stateEventEClass = null; + + /** + * + * + * @generated + */ + private EClass enterStateEventEClass = null; + + /** + * + * + * @generated + */ + private EClass leaveStateEventEClass = null; + + /** + * + * + * @generated + */ + private EClass observableEClass = null; + + /** + * + * + * @generated + */ + private EClass observableEventEClass = null; + + /** + * + * + * @generated + */ + private EClass pathEventEClass = null; + + /** + * + * + * @generated + */ + private EClass pathEClass = null; + + /** + * + * + * @generated + */ + private EClass pathItemEClass = null; + + /** + * + * + * @generated + */ + private EClass naturalItemEClass = null; + + /** + * + * + * @generated + */ + private EClass namedItemEClass = null; + + /** + * + * + * @generated + */ + private EClass subjectEClass = null; + + /** + * + * + * @generated + */ + private EClass stateSubjectEClass = null; + + /** + * + * + * @generated + */ + private EClass valueSubjectEClass = null; + + /** + * + * + * @generated + */ + private EClass tagSubjectEClass = null; + + /** + * + * + * @generated + */ + private EClass eventSubjectEClass = null; + + /** + * + * + * @generated + */ + private EClass tupleTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass naturalTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass integerTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass booleanTypeEClass = null; + + /** + * + * + * @generated + */ + private EClass unlessStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass statementChoiceEClass = null; + + /** + * + * + * @generated + */ + private EClass statementSequenceEClass = null; + + /** + * + * + * @generated + */ + private EClass assignStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass assignAnyStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass sendStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass receiveStatementEClass = null; + + /** + * + * + * @generated + */ + private EClass constructorPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass arrayAccessPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass recordAccessPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass allExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass existsExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass conditionalEClass = null; + + /** + * + * + * @generated + */ + private EClass disjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass implicationEClass = null; + + /** + * + * + * @generated + */ + private EClass conjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonEqualEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonNotEqualEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonLesserEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonLesserEqualEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonGreaterEClass = null; + + /** + * + * + * @generated + */ + private EClass comparisonGreaterEqualEClass = null; + + /** + * + * + * @generated + */ + private EClass additionEClass = null; + + /** + * + * + * @generated + */ + private EClass substractionEClass = null; + + /** + * + * + * @generated + */ + private EClass multiplicationEClass = null; + + /** + * + * + * @generated + */ + private EClass divisionEClass = null; + + /** + * + * + * @generated + */ + private EClass moduloEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryPlusExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryMinusExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryNegationExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryFirstExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryLengthExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryCoerceExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryFullExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryDeQueueExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass unaryEmptyExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass projectionEClass = null; + + /** + * + * + * @generated + */ + private EClass constructionExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass arrayAccessExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass recordAccessExpressionEClass = null; + + /** + * + * + * @generated + */ + private EClass trueLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass falseLiteralEClass = null; + + /** + * + * + * @generated + */ + private EClass allPropertyEClass = null; + + /** + * + * + * @generated + */ + private EClass existsPropertyEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyDisjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyImplicationEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyConjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass propertyNegationEClass = null; + + /** + * + * + * @generated + */ + private EClass leadsToPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass precedesPatternEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlAllEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlExistsEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlDisjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlImplicationEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlConjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlUntilEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlReleaseEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlUnaryNegationEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlUnaryNextEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlUnaryAlwaysEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlUnaryEventuallyEClass = null; + + /** + * + * + * @generated + */ + private EClass ltlVariableEClass = null; + + /** + * + * + * @generated + */ + private EClass observableDisjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass observableImplicationEClass = null; + + /** + * + * + * @generated + */ + private EClass observableConjunctionEClass = null; + + /** + * + * + * @generated + */ + private EClass observableNegationEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

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. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage#eNS_URI + * @see #init() + * @generated + */ + private FiacrePackageImpl() + { + super(eNS_URI, FiacreFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link FiacrePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @generated + */ + public static FiacrePackage init() + { + if (isInited) return (FiacrePackage)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI); + + // Obtain or create and register package + FiacrePackageImpl theFiacrePackage = (FiacrePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FiacrePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FiacrePackageImpl()); + + isInited = true; + + // Load packages + theFiacrePackage.loadPackage(); + + // Fix loaded packages + theFiacrePackage.fixPackageContents(); + + // Mark meta-data to indicate it can't be changed + theFiacrePackage.freeze(); + + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(FiacrePackage.eNS_URI, theFiacrePackage); + return theFiacrePackage; + } + + /** + * + * + * @generated + */ + public EClass getModel() + { + if (modelEClass == null) + { + modelEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(0); + } + return modelEClass; + } + + /** + * + * + * @generated + */ + public EReference getModel_Imports() + { + return (EReference)getModel().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getModel_Declarations() + { + return (EReference)getModel().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getModel_Requirements() + { + return (EReference)getModel().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getModel_Root() + { + return (EReference)getModel().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getRootDeclaration() + { + if (rootDeclarationEClass == null) + { + rootDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(1); + } + return rootDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getRoot() + { + if (rootEClass == null) + { + rootEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(2); + } + return rootEClass; + } + + /** + * + * + * @generated + */ + public EReference getRoot_Declaration() + { + return (EReference)getRoot().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getRoot_Observed() + { + return (EReference)getRoot().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getNamedElement() + { + if (namedElementEClass == null) + { + namedElementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(3); + } + return namedElementEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNamedElement_Name() + { + return (EAttribute)getNamedElement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTypeDeclarationUse() + { + if (typeDeclarationUseEClass == null) + { + typeDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(4); + } + return typeDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getConstantDeclarationUse() + { + if (constantDeclarationUseEClass == null) + { + constantDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(5); + } + return constantDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getExpressionDeclarationUse() + { + if (expressionDeclarationUseEClass == null) + { + expressionDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(6); + } + return expressionDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getReferenceDeclarationUse() + { + if (referenceDeclarationUseEClass == null) + { + referenceDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(7); + } + return referenceDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getUnionTagDeclarationUse() + { + if (unionTagDeclarationUseEClass == null) + { + unionTagDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(8); + } + return unionTagDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getRecordFieldDeclarationUse() + { + if (recordFieldDeclarationUseEClass == null) + { + recordFieldDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(9); + } + return recordFieldDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getPatternDeclarationUse() + { + if (patternDeclarationUseEClass == null) + { + patternDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(10); + } + return patternDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getBoundDeclarationUse() + { + if (boundDeclarationUseEClass == null) + { + boundDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(11); + } + return boundDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getPathDeclarationUse() + { + if (pathDeclarationUseEClass == null) + { + pathDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(12); + } + return pathDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getPropertyDeclarationUse() + { + if (propertyDeclarationUseEClass == null) + { + propertyDeclarationUseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(13); + } + return propertyDeclarationUseEClass; + } + + /** + * + * + * @generated + */ + public EClass getImportDeclaration() + { + if (importDeclarationEClass == null) + { + importDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(14); + } + return importDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getImportDeclaration_ImportURI() + { + return (EAttribute)getImportDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDeclaration() + { + if (declarationEClass == null) + { + declarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(15); + } + return declarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getParameterizedDeclaration() + { + if (parameterizedDeclarationEClass == null) + { + parameterizedDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(16); + } + return parameterizedDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getParameterizedDeclaration_Parameters() + { + return (EReference)getParameterizedDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getParameterizedDeclaration_Variables() + { + return (EReference)getParameterizedDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getFunctionDeclaration() + { + if (functionDeclarationEClass == null) + { + functionDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(17); + } + return functionDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getFunctionDeclaration_Type() + { + return (EReference)getFunctionDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getFunctionDeclaration_Statement() + { + return (EReference)getFunctionDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getTypeDeclaration() + { + if (typeDeclarationEClass == null) + { + typeDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(18); + } + return typeDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getTypeDeclaration_Value() + { + return (EReference)getTypeDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getChannelDeclaration() + { + if (channelDeclarationEClass == null) + { + channelDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(19); + } + return channelDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getChannelDeclaration_Value() + { + return (EReference)getChannelDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getChannelType() + { + if (channelTypeEClass == null) + { + channelTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(20); + } + return channelTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getChannelType_Size() + { + return (EReference)getChannelType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getChannelType_In() + { + return (EAttribute)getChannelType().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getChannelType_Out() + { + return (EAttribute)getChannelType().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getChannelType_Type() + { + return (EReference)getChannelType().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getType() + { + if (typeEClass == null) + { + typeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(21); + } + return typeEClass; + } + + /** + * + * + * @generated + */ + public EClass getBasicType() + { + if (basicTypeEClass == null) + { + basicTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(22); + } + return basicTypeEClass; + } + + /** + * + * + * @generated + */ + public EClass getRangeType() + { + if (rangeTypeEClass == null) + { + rangeTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(23); + } + return rangeTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getRangeType_Minimum() + { + return (EReference)getRangeType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getRangeType_Maximum() + { + return (EReference)getRangeType().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getUnionType() + { + if (unionTypeEClass == null) + { + unionTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(24); + } + return unionTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnionType_Tags() + { + return (EReference)getUnionType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnionTags() + { + if (unionTagsEClass == null) + { + unionTagsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(25); + } + return unionTagsEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnionTags_Tags() + { + return (EReference)getUnionTags().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getUnionTags_Type() + { + return (EReference)getUnionTags().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getUnionTagDeclaration() + { + if (unionTagDeclarationEClass == null) + { + unionTagDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(26); + } + return unionTagDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getRecordType() + { + if (recordTypeEClass == null) + { + recordTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(27); + } + return recordTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getRecordType_Fields() + { + return (EReference)getRecordType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getRecordFields() + { + if (recordFieldsEClass == null) + { + recordFieldsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(28); + } + return recordFieldsEClass; + } + + /** + * + * + * @generated + */ + public EReference getRecordFields_Fields() + { + return (EReference)getRecordFields().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getRecordFields_Type() + { + return (EReference)getRecordFields().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getRecordFieldDeclaration() + { + if (recordFieldDeclarationEClass == null) + { + recordFieldDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(29); + } + return recordFieldDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getQueueType() + { + if (queueTypeEClass == null) + { + queueTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(30); + } + return queueTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getQueueType_Size() + { + return (EReference)getQueueType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getQueueType_Type() + { + return (EReference)getQueueType().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getArrayType() + { + if (arrayTypeEClass == null) + { + arrayTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(31); + } + return arrayTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getArrayType_Size() + { + return (EReference)getArrayType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getArrayType_Type() + { + return (EReference)getArrayType().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getReferencedType() + { + if (referencedTypeEClass == null) + { + referencedTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(32); + } + return referencedTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getReferencedType_Type() + { + return (EReference)getReferencedType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getConstantDeclaration() + { + if (constantDeclarationEClass == null) + { + constantDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(33); + } + return constantDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getConstantDeclaration_Type() + { + return (EReference)getConstantDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getConstantDeclaration_Value() + { + return (EReference)getConstantDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getProcessDeclaration() + { + if (processDeclarationEClass == null) + { + processDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(34); + } + return processDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_Ports() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_LocalPorts() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_Priorities() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_States() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_Prelude() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getProcessDeclaration_Transitions() + { + return (EReference)getProcessDeclaration().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EClass getStateDeclaration() + { + if (stateDeclarationEClass == null) + { + stateDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(35); + } + return stateDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getTransitionSource() + { + if (transitionSourceEClass == null) + { + transitionSourceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(36); + } + return transitionSourceEClass; + } + + /** + * + * + * @generated + */ + public EReference getTransitionSource_Origin() + { + return (EReference)getTransitionSource().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTransition() + { + if (transitionEClass == null) + { + transitionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(37); + } + return transitionEClass; + } + + /** + * + * + * @generated + */ + public EReference getTransition_Source() + { + return (EReference)getTransition().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getTransition_Action() + { + return (EReference)getTransition().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComponentDeclaration() + { + if (componentDeclarationEClass == null) + { + componentDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(38); + } + return componentDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclaration_Ports() + { + return (EReference)getComponentDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclaration_LocalPorts() + { + return (EReference)getComponentDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclaration_Priorities() + { + return (EReference)getComponentDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclaration_Prelude() + { + return (EReference)getComponentDeclaration().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getComponentDeclaration_Body() + { + return (EReference)getComponentDeclaration().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EClass getPortsDeclaration() + { + if (portsDeclarationEClass == null) + { + portsDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(39); + } + return portsDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPortsDeclaration_Ports() + { + return (EReference)getPortsDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPortsDeclaration_Type() + { + return (EReference)getPortsDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPortDeclaration() + { + if (portDeclarationEClass == null) + { + portDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(40); + } + return portDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getLocalPortsDeclaration() + { + if (localPortsDeclarationEClass == null) + { + localPortsDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(41); + } + return localPortsDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getLocalPortsDeclaration_Ports() + { + return (EReference)getLocalPortsDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLocalPortsDeclaration_Type() + { + return (EReference)getLocalPortsDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getLocalPortsDeclaration_Left() + { + return (EReference)getLocalPortsDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getLocalPortsDeclaration_Right() + { + return (EReference)getLocalPortsDeclaration().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getParametersDeclaration() + { + if (parametersDeclarationEClass == null) + { + parametersDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(42); + } + return parametersDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getParametersDeclaration_Parameters() + { + return (EReference)getParametersDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getParametersDeclaration_Read() + { + return (EAttribute)getParametersDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getParametersDeclaration_Write() + { + return (EAttribute)getParametersDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getParametersDeclaration_Type() + { + return (EReference)getParametersDeclaration().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getParameterDeclaration() + { + if (parameterDeclarationEClass == null) + { + parameterDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(43); + } + return parameterDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getParameterDeclaration_Reference() + { + return (EAttribute)getParameterDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getParameterDeclaration_Array() + { + return (EAttribute)getParameterDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getParameterDeclaration_Size() + { + return (EReference)getParameterDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getVariablesDeclaration() + { + if (variablesDeclarationEClass == null) + { + variablesDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(44); + } + return variablesDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getVariablesDeclaration_Variables() + { + return (EReference)getVariablesDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getVariablesDeclaration_Type() + { + return (EReference)getVariablesDeclaration().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getVariablesDeclaration_Value() + { + return (EReference)getVariablesDeclaration().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getVariableDeclaration() + { + if (variableDeclarationEClass == null) + { + variableDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(45); + } + return variableDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EClass getPriorityDeclaration() + { + if (priorityDeclarationEClass == null) + { + priorityDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(46); + } + return priorityDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPriorityDeclaration_Groups() + { + return (EReference)getPriorityDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPriorityGroup() + { + if (priorityGroupEClass == null) + { + priorityGroupEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(47); + } + return priorityGroupEClass; + } + + /** + * + * + * @generated + */ + public EReference getPriorityGroup_Ports() + { + return (EReference)getPriorityGroup().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStatement() + { + if (statementEClass == null) + { + statementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(48); + } + return statementEClass; + } + + /** + * + * + * @generated + */ + public EClass getBlockStatement() + { + if (blockStatementEClass == null) + { + blockStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(49); + } + return blockStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getBlockStatement_Body() + { + return (EReference)getBlockStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getReturnStatement() + { + if (returnStatementEClass == null) + { + returnStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(50); + } + return returnStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getReturnStatement_Expression() + { + return (EReference)getReturnStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNullStatement() + { + if (nullStatementEClass == null) + { + nullStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(51); + } + return nullStatementEClass; + } + + /** + * + * + * @generated + */ + public EClass getTaggedStatement() + { + if (taggedStatementEClass == null) + { + taggedStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(52); + } + return taggedStatementEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getTaggedStatement_Name() + { + return (EAttribute)getTaggedStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPatternStatement() + { + if (patternStatementEClass == null) + { + patternStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(53); + } + return patternStatementEClass; + } + + /** + * + * + * @generated + */ + public EClass getPattern() + { + if (patternEClass == null) + { + patternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(54); + } + return patternEClass; + } + + /** + * + * + * @generated + */ + public EClass getAnyPattern() + { + if (anyPatternEClass == null) + { + anyPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(55); + } + return anyPatternEClass; + } + + /** + * + * + * @generated + */ + public EClass getConstantPattern() + { + if (constantPatternEClass == null) + { + constantPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(56); + } + return constantPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getConstantPattern_Value() + { + return (EReference)getConstantPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getIntegerPattern() + { + if (integerPatternEClass == null) + { + integerPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(57); + } + return integerPatternEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getIntegerPattern_Negative() + { + return (EAttribute)getIntegerPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getIntegerPattern_Value() + { + return (EAttribute)getIntegerPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getIdentifierPattern() + { + if (identifierPatternEClass == null) + { + identifierPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(58); + } + return identifierPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getIdentifierPattern_Declaration() + { + return (EReference)getIdentifierPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getConditionalStatement() + { + if (conditionalStatementEClass == null) + { + conditionalStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(59); + } + return conditionalStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getConditionalStatement_Condition() + { + return (EReference)getConditionalStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getConditionalStatement_Then() + { + return (EReference)getConditionalStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getConditionalStatement_Elseif() + { + return (EReference)getConditionalStatement().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getConditionalStatement_Else() + { + return (EReference)getConditionalStatement().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EClass getExtendedConditionalStatement() + { + if (extendedConditionalStatementEClass == null) + { + extendedConditionalStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(60); + } + return extendedConditionalStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getExtendedConditionalStatement_Condition() + { + return (EReference)getExtendedConditionalStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getExtendedConditionalStatement_Then() + { + return (EReference)getExtendedConditionalStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getSelectStatement() + { + if (selectStatementEClass == null) + { + selectStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(61); + } + return selectStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getSelectStatement_Body() + { + return (EReference)getSelectStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getSelectStatement_Index() + { + return (EReference)getSelectStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getSelectStatement_Type() + { + return (EReference)getSelectStatement().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getWhileStatement() + { + if (whileStatementEClass == null) + { + whileStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(62); + } + return whileStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getWhileStatement_Condition() + { + return (EReference)getWhileStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getWhileStatement_Body() + { + return (EReference)getWhileStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getForeachStatement() + { + if (foreachStatementEClass == null) + { + foreachStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(63); + } + return foreachStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getForeachStatement_Variable() + { + return (EReference)getForeachStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getForeachStatement_Body() + { + return (EReference)getForeachStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getToStatement() + { + if (toStatementEClass == null) + { + toStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(64); + } + return toStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getToStatement_State() + { + return (EReference)getToStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getCaseStatement() + { + if (caseStatementEClass == null) + { + caseStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(65); + } + return caseStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getCaseStatement_Value() + { + return (EReference)getCaseStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getCaseStatement_Pattern() + { + return (EReference)getCaseStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getCaseStatement_Body() + { + return (EReference)getCaseStatement().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getLoopStatement() + { + if (loopStatementEClass == null) + { + loopStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(66); + } + return loopStatementEClass; + } + + /** + * + * + * @generated + */ + public EClass getOnStatement() + { + if (onStatementEClass == null) + { + onStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(67); + } + return onStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getOnStatement_Condition() + { + return (EReference)getOnStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getWaitStatement() + { + if (waitStatementEClass == null) + { + waitStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(68); + } + return waitStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getWaitStatement_Left() + { + return (EReference)getWaitStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getWaitStatement_Right() + { + return (EReference)getWaitStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComposition() + { + if (compositionEClass == null) + { + compositionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(69); + } + return compositionEClass; + } + + /** + * + * + * @generated + */ + public EReference getComposition_Global() + { + return (EReference)getComposition().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComposition_Blocks() + { + return (EReference)getComposition().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getBlock() + { + if (blockEClass == null) + { + blockEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(70); + } + return blockEClass; + } + + /** + * + * + * @generated + */ + public EReference getBlock_Local() + { + return (EReference)getBlock().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getCompositeBlock() + { + if (compositeBlockEClass == null) + { + compositeBlockEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(71); + } + return compositeBlockEClass; + } + + /** + * + * + * @generated + */ + public EReference getCompositeBlock_Composition() + { + return (EReference)getCompositeBlock().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getInstanceDeclaration() + { + if (instanceDeclarationEClass == null) + { + instanceDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(72); + } + return instanceDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getInstanceDeclaration_Instance() + { + return (EReference)getInstanceDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPortSet() + { + if (portSetEClass == null) + { + portSetEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(73); + } + return portSetEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getPortSet_AllPorts() + { + return (EAttribute)getPortSet().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPortSet_Ports() + { + return (EReference)getPortSet().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComponentInstance() + { + if (componentInstanceEClass == null) + { + componentInstanceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(74); + } + return componentInstanceEClass; + } + + /** + * + * + * @generated + */ + public EReference getComponentInstance_Component() + { + return (EReference)getComponentInstance().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComponentInstance_Ports() + { + return (EReference)getComponentInstance().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getComponentInstance_Parameters() + { + return (EReference)getComponentInstance().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getExpression() + { + if (expressionEClass == null) + { + expressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(75); + } + return expressionEClass; + } + + /** + * + * + * @generated + */ + public EClass getValueExpression() + { + if (valueExpressionEClass == null) + { + valueExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(76); + } + return valueExpressionEClass; + } + + /** + * + * + * @generated + */ + public EClass getReferenceExpression() + { + if (referenceExpressionEClass == null) + { + referenceExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(77); + } + return referenceExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getReferenceExpression_Declaration() + { + return (EReference)getReferenceExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getIdentifierExpression() + { + if (identifierExpressionEClass == null) + { + identifierExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(78); + } + return identifierExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getIdentifierExpression_Declaration() + { + return (EReference)getIdentifierExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getRecordExpression() + { + if (recordExpressionEClass == null) + { + recordExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(79); + } + return recordExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getRecordExpression_Fields() + { + return (EReference)getRecordExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getFieldExpression() + { + if (fieldExpressionEClass == null) + { + fieldExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(80); + } + return fieldExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getFieldExpression_Field() + { + return (EReference)getFieldExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getFieldExpression_Value() + { + return (EReference)getFieldExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getArrayExpression() + { + if (arrayExpressionEClass == null) + { + arrayExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(81); + } + return arrayExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getArrayExpression_Values() + { + return (EReference)getArrayExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getQueueExpression() + { + if (queueExpressionEClass == null) + { + queueExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(82); + } + return queueExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getQueueExpression_Values() + { + return (EReference)getQueueExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getEnqueueExpression() + { + if (enqueueExpressionEClass == null) + { + enqueueExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(83); + } + return enqueueExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getEnqueueExpression_Element() + { + return (EReference)getEnqueueExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getEnqueueExpression_Queue() + { + return (EReference)getEnqueueExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAppendExpression() + { + if (appendExpressionEClass == null) + { + appendExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(84); + } + return appendExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getAppendExpression_Left() + { + return (EReference)getAppendExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAppendExpression_Right() + { + return (EReference)getAppendExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLiteralExpression() + { + if (literalExpressionEClass == null) + { + literalExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(85); + } + return literalExpressionEClass; + } + + /** + * + * + * @generated + */ + public EClass getBooleanLiteral() + { + if (booleanLiteralEClass == null) + { + booleanLiteralEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(86); + } + return booleanLiteralEClass; + } + + /** + * + * + * @generated + */ + public EClass getNaturalLiteral() + { + if (naturalLiteralEClass == null) + { + naturalLiteralEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(87); + } + return naturalLiteralEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalLiteral_Value() + { + return (EAttribute)getNaturalLiteral().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLowerBound() + { + if (lowerBoundEClass == null) + { + lowerBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(88); + } + return lowerBoundEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getLowerBound_Left() + { + return (EAttribute)getLowerBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getLowerBound_Right() + { + return (EAttribute)getLowerBound().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getUpperBound() + { + if (upperBoundEClass == null) + { + upperBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(89); + } + return upperBoundEClass; + } + + /** + * + * + * @generated + */ + public EClass getNaturalLowerBound() + { + if (naturalLowerBoundEClass == null) + { + naturalLowerBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(90); + } + return naturalLowerBoundEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalLowerBound_Value() + { + return (EAttribute)getNaturalLowerBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNaturalUpperBound() + { + if (naturalUpperBoundEClass == null) + { + naturalUpperBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(91); + } + return naturalUpperBoundEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalUpperBound_Value() + { + return (EAttribute)getNaturalUpperBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalUpperBound_Left() + { + return (EAttribute)getNaturalUpperBound().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalUpperBound_Right() + { + return (EAttribute)getNaturalUpperBound().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getDecimalLowerBound() + { + if (decimalLowerBoundEClass == null) + { + decimalLowerBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(92); + } + return decimalLowerBoundEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getDecimalLowerBound_Value() + { + return (EAttribute)getDecimalLowerBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDecimalUpperBound() + { + if (decimalUpperBoundEClass == null) + { + decimalUpperBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(93); + } + return decimalUpperBoundEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getDecimalUpperBound_Value() + { + return (EAttribute)getDecimalUpperBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getDecimalUpperBound_Left() + { + return (EAttribute)getDecimalUpperBound().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getDecimalUpperBound_Right() + { + return (EAttribute)getDecimalUpperBound().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getVariableLowerBound() + { + if (variableLowerBoundEClass == null) + { + variableLowerBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(94); + } + return variableLowerBoundEClass; + } + + /** + * + * + * @generated + */ + public EReference getVariableLowerBound_Variable() + { + return (EReference)getVariableLowerBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getVariableUpperBound() + { + if (variableUpperBoundEClass == null) + { + variableUpperBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(95); + } + return variableUpperBoundEClass; + } + + /** + * + * + * @generated + */ + public EReference getVariableUpperBound_Variable() + { + return (EReference)getVariableUpperBound().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getVariableUpperBound_Left() + { + return (EAttribute)getVariableUpperBound().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getVariableUpperBound_Right() + { + return (EAttribute)getVariableUpperBound().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getInfiniteUpperBound() + { + if (infiniteUpperBoundEClass == null) + { + infiniteUpperBoundEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(96); + } + return infiniteUpperBoundEClass; + } + + /** + * + * + * @generated + */ + public EClass getRequirement() + { + if (requirementEClass == null) + { + requirementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(97); + } + return requirementEClass; + } + + /** + * + * + * @generated + */ + public EReference getRequirement_Property() + { + return (EReference)getRequirement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getRequirement_Positive() + { + return (EAttribute)getRequirement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EAttribute getRequirement_Negative() + { + return (EAttribute)getRequirement().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getPropertyDeclaration() + { + if (propertyDeclarationEClass == null) + { + propertyDeclarationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(98); + } + return propertyDeclarationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPropertyDeclaration_Property() + { + return (EReference)getPropertyDeclaration().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getProperty() + { + if (propertyEClass == null) + { + propertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(99); + } + return propertyEClass; + } + + /** + * + * + * @generated + */ + public EClass getPatternProperty() + { + if (patternPropertyEClass == null) + { + patternPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(100); + } + return patternPropertyEClass; + } + + /** + * + * + * @generated + */ + public EClass getLTLPattern() + { + if (ltlPatternEClass == null) + { + ltlPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(101); + } + return ltlPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLPattern_Property() + { + return (EReference)getLTLPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getDeadlockFreePattern() + { + if (deadlockFreePatternEClass == null) + { + deadlockFreePatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(102); + } + return deadlockFreePatternEClass; + } + + /** + * + * + * @generated + */ + public EClass getInfinitelyOftenPattern() + { + if (infinitelyOftenPatternEClass == null) + { + infinitelyOftenPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(103); + } + return infinitelyOftenPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getInfinitelyOftenPattern_Subject() + { + return (EReference)getInfinitelyOftenPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getMortalPattern() + { + if (mortalPatternEClass == null) + { + mortalPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(104); + } + return mortalPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getMortalPattern_Subject() + { + return (EReference)getMortalPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPresencePattern() + { + if (presencePatternEClass == null) + { + presencePatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(105); + } + return presencePatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Subject() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getPresencePattern_Lasting() + { + return (EAttribute)getPresencePattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_After() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Lower() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Upper() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Until() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Before() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Min() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(7); + } + + /** + * + * + * @generated + */ + public EReference getPresencePattern_Max() + { + return (EReference)getPresencePattern().getEStructuralFeatures().get(8); + } + + /** + * + * + * @generated + */ + public EClass getAbsencePattern() + { + if (absencePatternEClass == null) + { + absencePatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(106); + } + return absencePatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Subject() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_After() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Lower() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Upper() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Until() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Before() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Min() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + public EReference getAbsencePattern_Max() + { + return (EReference)getAbsencePattern().getEStructuralFeatures().get(7); + } + + /** + * + * + * @generated + */ + public EClass getAlwaysPattern() + { + if (alwaysPatternEClass == null) + { + alwaysPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(107); + } + return alwaysPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_Subject() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_Before() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_After() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_Until() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_Min() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getAlwaysPattern_Max() + { + return (EReference)getAlwaysPattern().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EClass getSequencePattern() + { + if (sequencePatternEClass == null) + { + sequencePatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(108); + } + return sequencePatternEClass; + } + + /** + * + * + * @generated + */ + public EClass getLTLProperty() + { + if (ltlPropertyEClass == null) + { + ltlPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(109); + } + return ltlPropertyEClass; + } + + /** + * + * + * @generated + */ + public EClass getStateEvent() + { + if (stateEventEClass == null) + { + stateEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(110); + } + return stateEventEClass; + } + + /** + * + * + * @generated + */ + public EReference getStateEvent_Subject() + { + return (EReference)getStateEvent().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getEnterStateEvent() + { + if (enterStateEventEClass == null) + { + enterStateEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(111); + } + return enterStateEventEClass; + } + + /** + * + * + * @generated + */ + public EClass getLeaveStateEvent() + { + if (leaveStateEventEClass == null) + { + leaveStateEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(112); + } + return leaveStateEventEClass; + } + + /** + * + * + * @generated + */ + public EClass getObservable() + { + if (observableEClass == null) + { + observableEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(113); + } + return observableEClass; + } + + /** + * + * + * @generated + */ + public EClass getObservableEvent() + { + if (observableEventEClass == null) + { + observableEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(114); + } + return observableEventEClass; + } + + /** + * + * + * @generated + */ + public EClass getPathEvent() + { + if (pathEventEClass == null) + { + pathEventEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(115); + } + return pathEventEClass; + } + + /** + * + * + * @generated + */ + public EReference getPathEvent_Path() + { + return (EReference)getPathEvent().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPathEvent_Item() + { + return (EReference)getPathEvent().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPath() + { + if (pathEClass == null) + { + pathEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(116); + } + return pathEClass; + } + + /** + * + * + * @generated + */ + public EReference getPath_Items() + { + return (EReference)getPath().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getPathItem() + { + if (pathItemEClass == null) + { + pathItemEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(117); + } + return pathItemEClass; + } + + /** + * + * + * @generated + */ + public EClass getNaturalItem() + { + if (naturalItemEClass == null) + { + naturalItemEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(118); + } + return naturalItemEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNaturalItem_Value() + { + return (EAttribute)getNaturalItem().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNamedItem() + { + if (namedItemEClass == null) + { + namedItemEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(119); + } + return namedItemEClass; + } + + /** + * + * + * @generated + */ + public EReference getNamedItem_Declaration() + { + return (EReference)getNamedItem().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getSubject() + { + if (subjectEClass == null) + { + subjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(120); + } + return subjectEClass; + } + + /** + * + * + * @generated + */ + public EClass getStateSubject() + { + if (stateSubjectEClass == null) + { + stateSubjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(121); + } + return stateSubjectEClass; + } + + /** + * + * + * @generated + */ + public EReference getStateSubject_State() + { + return (EReference)getStateSubject().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getValueSubject() + { + if (valueSubjectEClass == null) + { + valueSubjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(122); + } + return valueSubjectEClass; + } + + /** + * + * + * @generated + */ + public EReference getValueSubject_Value() + { + return (EReference)getValueSubject().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTagSubject() + { + if (tagSubjectEClass == null) + { + tagSubjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(123); + } + return tagSubjectEClass; + } + + /** + * + * + * @generated + */ + public EReference getTagSubject_Tag() + { + return (EReference)getTagSubject().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getEventSubject() + { + if (eventSubjectEClass == null) + { + eventSubjectEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(124); + } + return eventSubjectEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getEventSubject_Event() + { + return (EAttribute)getEventSubject().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTupleType() + { + if (tupleTypeEClass == null) + { + tupleTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(125); + } + return tupleTypeEClass; + } + + /** + * + * + * @generated + */ + public EReference getTupleType_Types() + { + return (EReference)getTupleType().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getNaturalType() + { + if (naturalTypeEClass == null) + { + naturalTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(126); + } + return naturalTypeEClass; + } + + /** + * + * + * @generated + */ + public EClass getIntegerType() + { + if (integerTypeEClass == null) + { + integerTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(127); + } + return integerTypeEClass; + } + + /** + * + * + * @generated + */ + public EClass getBooleanType() + { + if (booleanTypeEClass == null) + { + booleanTypeEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(128); + } + return booleanTypeEClass; + } + + /** + * + * + * @generated + */ + public EClass getUnlessStatement() + { + if (unlessStatementEClass == null) + { + unlessStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(129); + } + return unlessStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnlessStatement_Followers() + { + return (EReference)getUnlessStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStatementChoice() + { + if (statementChoiceEClass == null) + { + statementChoiceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(130); + } + return statementChoiceEClass; + } + + /** + * + * + * @generated + */ + public EReference getStatementChoice_Choices() + { + return (EReference)getStatementChoice().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getStatementSequence() + { + if (statementSequenceEClass == null) + { + statementSequenceEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(131); + } + return statementSequenceEClass; + } + + /** + * + * + * @generated + */ + public EReference getStatementSequence_Statements() + { + return (EReference)getStatementSequence().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getAssignStatement() + { + if (assignStatementEClass == null) + { + assignStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(132); + } + return assignStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getAssignStatement_Patterns() + { + return (EReference)getAssignStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAssignStatement_Values() + { + return (EReference)getAssignStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAssignAnyStatement() + { + if (assignAnyStatementEClass == null) + { + assignAnyStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(133); + } + return assignAnyStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getAssignAnyStatement_Patterns() + { + return (EReference)getAssignAnyStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAssignAnyStatement_Exp() + { + return (EReference)getAssignAnyStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getSendStatement() + { + if (sendStatementEClass == null) + { + sendStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(134); + } + return sendStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getSendStatement_Port() + { + return (EReference)getSendStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getSendStatement_Values() + { + return (EReference)getSendStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getReceiveStatement() + { + if (receiveStatementEClass == null) + { + receiveStatementEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(135); + } + return receiveStatementEClass; + } + + /** + * + * + * @generated + */ + public EReference getReceiveStatement_Port() + { + return (EReference)getReceiveStatement().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getReceiveStatement_Patterns() + { + return (EReference)getReceiveStatement().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getReceiveStatement_Exp() + { + return (EReference)getReceiveStatement().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getConstructorPattern() + { + if (constructorPatternEClass == null) + { + constructorPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(136); + } + return constructorPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getConstructorPattern_Parameters() + { + return (EReference)getConstructorPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getArrayAccessPattern() + { + if (arrayAccessPatternEClass == null) + { + arrayAccessPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(137); + } + return arrayAccessPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getArrayAccessPattern_Source() + { + return (EReference)getArrayAccessPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getArrayAccessPattern_Index() + { + return (EReference)getArrayAccessPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getRecordAccessPattern() + { + if (recordAccessPatternEClass == null) + { + recordAccessPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(138); + } + return recordAccessPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getRecordAccessPattern_Source() + { + return (EReference)getRecordAccessPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getRecordAccessPattern_Field() + { + return (EReference)getRecordAccessPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAllExpression() + { + if (allExpressionEClass == null) + { + allExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(139); + } + return allExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getAllExpression_Index() + { + return (EReference)getAllExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAllExpression_Type() + { + return (EReference)getAllExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getAllExpression_Child() + { + return (EReference)getAllExpression().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getExistsExpression() + { + if (existsExpressionEClass == null) + { + existsExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(140); + } + return existsExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getExistsExpression_Index() + { + return (EReference)getExistsExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getExistsExpression_Type() + { + return (EReference)getExistsExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getExistsExpression_Child() + { + return (EReference)getExistsExpression().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getConditional() + { + if (conditionalEClass == null) + { + conditionalEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(141); + } + return conditionalEClass; + } + + /** + * + * + * @generated + */ + public EReference getConditional_Condition() + { + return (EReference)getConditional().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getConditional_Then() + { + return (EReference)getConditional().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getConditional_Else() + { + return (EReference)getConditional().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getDisjunction() + { + if (disjunctionEClass == null) + { + disjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(142); + } + return disjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getDisjunction_Left() + { + return (EReference)getDisjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getDisjunction_Right() + { + return (EReference)getDisjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getImplication() + { + if (implicationEClass == null) + { + implicationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(143); + } + return implicationEClass; + } + + /** + * + * + * @generated + */ + public EReference getImplication_Left() + { + return (EReference)getImplication().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getImplication_Right() + { + return (EReference)getImplication().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getConjunction() + { + if (conjunctionEClass == null) + { + conjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(144); + } + return conjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getConjunction_Left() + { + return (EReference)getConjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getConjunction_Right() + { + return (EReference)getConjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonEqual() + { + if (comparisonEqualEClass == null) + { + comparisonEqualEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(145); + } + return comparisonEqualEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonEqual_Left() + { + return (EReference)getComparisonEqual().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonEqual_Right() + { + return (EReference)getComparisonEqual().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonNotEqual() + { + if (comparisonNotEqualEClass == null) + { + comparisonNotEqualEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(146); + } + return comparisonNotEqualEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonNotEqual_Left() + { + return (EReference)getComparisonNotEqual().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonNotEqual_Right() + { + return (EReference)getComparisonNotEqual().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonLesser() + { + if (comparisonLesserEClass == null) + { + comparisonLesserEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(147); + } + return comparisonLesserEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonLesser_Left() + { + return (EReference)getComparisonLesser().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonLesser_Right() + { + return (EReference)getComparisonLesser().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonLesserEqual() + { + if (comparisonLesserEqualEClass == null) + { + comparisonLesserEqualEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(148); + } + return comparisonLesserEqualEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonLesserEqual_Left() + { + return (EReference)getComparisonLesserEqual().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonLesserEqual_Right() + { + return (EReference)getComparisonLesserEqual().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonGreater() + { + if (comparisonGreaterEClass == null) + { + comparisonGreaterEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(149); + } + return comparisonGreaterEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonGreater_Left() + { + return (EReference)getComparisonGreater().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonGreater_Right() + { + return (EReference)getComparisonGreater().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getComparisonGreaterEqual() + { + if (comparisonGreaterEqualEClass == null) + { + comparisonGreaterEqualEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(150); + } + return comparisonGreaterEqualEClass; + } + + /** + * + * + * @generated + */ + public EReference getComparisonGreaterEqual_Left() + { + return (EReference)getComparisonGreaterEqual().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getComparisonGreaterEqual_Right() + { + return (EReference)getComparisonGreaterEqual().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getAddition() + { + if (additionEClass == null) + { + additionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(151); + } + return additionEClass; + } + + /** + * + * + * @generated + */ + public EReference getAddition_Left() + { + return (EReference)getAddition().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAddition_Right() + { + return (EReference)getAddition().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getSubstraction() + { + if (substractionEClass == null) + { + substractionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(152); + } + return substractionEClass; + } + + /** + * + * + * @generated + */ + public EReference getSubstraction_Left() + { + return (EReference)getSubstraction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getSubstraction_Right() + { + return (EReference)getSubstraction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getMultiplication() + { + if (multiplicationEClass == null) + { + multiplicationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(153); + } + return multiplicationEClass; + } + + /** + * + * + * @generated + */ + public EReference getMultiplication_Left() + { + return (EReference)getMultiplication().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getMultiplication_Right() + { + return (EReference)getMultiplication().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getDivision() + { + if (divisionEClass == null) + { + divisionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(154); + } + return divisionEClass; + } + + /** + * + * + * @generated + */ + public EReference getDivision_Left() + { + return (EReference)getDivision().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getDivision_Right() + { + return (EReference)getDivision().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getModulo() + { + if (moduloEClass == null) + { + moduloEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(155); + } + return moduloEClass; + } + + /** + * + * + * @generated + */ + public EReference getModulo_Left() + { + return (EReference)getModulo().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getModulo_Right() + { + return (EReference)getModulo().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getUnaryPlusExpression() + { + if (unaryPlusExpressionEClass == null) + { + unaryPlusExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(156); + } + return unaryPlusExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryPlusExpression_Child() + { + return (EReference)getUnaryPlusExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryMinusExpression() + { + if (unaryMinusExpressionEClass == null) + { + unaryMinusExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(157); + } + return unaryMinusExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryMinusExpression_Child() + { + return (EReference)getUnaryMinusExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryNegationExpression() + { + if (unaryNegationExpressionEClass == null) + { + unaryNegationExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(158); + } + return unaryNegationExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryNegationExpression_Child() + { + return (EReference)getUnaryNegationExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryFirstExpression() + { + if (unaryFirstExpressionEClass == null) + { + unaryFirstExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(159); + } + return unaryFirstExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryFirstExpression_Child() + { + return (EReference)getUnaryFirstExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryLengthExpression() + { + if (unaryLengthExpressionEClass == null) + { + unaryLengthExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(160); + } + return unaryLengthExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryLengthExpression_Child() + { + return (EReference)getUnaryLengthExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryCoerceExpression() + { + if (unaryCoerceExpressionEClass == null) + { + unaryCoerceExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(161); + } + return unaryCoerceExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryCoerceExpression_Child() + { + return (EReference)getUnaryCoerceExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryFullExpression() + { + if (unaryFullExpressionEClass == null) + { + unaryFullExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(162); + } + return unaryFullExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryFullExpression_Child() + { + return (EReference)getUnaryFullExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryDeQueueExpression() + { + if (unaryDeQueueExpressionEClass == null) + { + unaryDeQueueExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(163); + } + return unaryDeQueueExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryDeQueueExpression_Child() + { + return (EReference)getUnaryDeQueueExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getUnaryEmptyExpression() + { + if (unaryEmptyExpressionEClass == null) + { + unaryEmptyExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(164); + } + return unaryEmptyExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getUnaryEmptyExpression_Child() + { + return (EReference)getUnaryEmptyExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getProjection() + { + if (projectionEClass == null) + { + projectionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(165); + } + return projectionEClass; + } + + /** + * + * + * @generated + */ + public EReference getProjection_Channel() + { + return (EReference)getProjection().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getProjection_Field() + { + return (EReference)getProjection().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getConstructionExpression() + { + if (constructionExpressionEClass == null) + { + constructionExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(166); + } + return constructionExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getConstructionExpression_Parameters() + { + return (EReference)getConstructionExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getArrayAccessExpression() + { + if (arrayAccessExpressionEClass == null) + { + arrayAccessExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(167); + } + return arrayAccessExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getArrayAccessExpression_Child() + { + return (EReference)getArrayAccessExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getArrayAccessExpression_Indexes() + { + return (EReference)getArrayAccessExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getRecordAccessExpression() + { + if (recordAccessExpressionEClass == null) + { + recordAccessExpressionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(168); + } + return recordAccessExpressionEClass; + } + + /** + * + * + * @generated + */ + public EReference getRecordAccessExpression_Child() + { + return (EReference)getRecordAccessExpression().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getRecordAccessExpression_Field() + { + return (EReference)getRecordAccessExpression().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getTrueLiteral() + { + if (trueLiteralEClass == null) + { + trueLiteralEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(169); + } + return trueLiteralEClass; + } + + /** + * + * + * @generated + */ + public EClass getFalseLiteral() + { + if (falseLiteralEClass == null) + { + falseLiteralEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(170); + } + return falseLiteralEClass; + } + + /** + * + * + * @generated + */ + public EClass getAllProperty() + { + if (allPropertyEClass == null) + { + allPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(171); + } + return allPropertyEClass; + } + + /** + * + * + * @generated + */ + public EReference getAllProperty_Variable() + { + return (EReference)getAllProperty().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getAllProperty_Type() + { + return (EReference)getAllProperty().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getAllProperty_Child() + { + return (EReference)getAllProperty().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getExistsProperty() + { + if (existsPropertyEClass == null) + { + existsPropertyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(172); + } + return existsPropertyEClass; + } + + /** + * + * + * @generated + */ + public EReference getExistsProperty_Variable() + { + return (EReference)getExistsProperty().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getExistsProperty_Type() + { + return (EReference)getExistsProperty().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getExistsProperty_Child() + { + return (EReference)getExistsProperty().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getPropertyDisjunction() + { + if (propertyDisjunctionEClass == null) + { + propertyDisjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(173); + } + return propertyDisjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getPropertyDisjunction_Left() + { + return (EReference)getPropertyDisjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPropertyDisjunction_Right() + { + return (EReference)getPropertyDisjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPropertyImplication() + { + if (propertyImplicationEClass == null) + { + propertyImplicationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(174); + } + return propertyImplicationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPropertyImplication_Left() + { + return (EReference)getPropertyImplication().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPropertyImplication_Right() + { + return (EReference)getPropertyImplication().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPropertyConjunction() + { + if (propertyConjunctionEClass == null) + { + propertyConjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(175); + } + return propertyConjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getPropertyConjunction_Left() + { + return (EReference)getPropertyConjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPropertyConjunction_Right() + { + return (EReference)getPropertyConjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getPropertyNegation() + { + if (propertyNegationEClass == null) + { + propertyNegationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(176); + } + return propertyNegationEClass; + } + + /** + * + * + * @generated + */ + public EReference getPropertyNegation_Child() + { + return (EReference)getPropertyNegation().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLeadsToPattern() + { + if (leadsToPatternEClass == null) + { + leadsToPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(177); + } + return leadsToPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Subject() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Follower() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Before() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Lower() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Upper() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_After() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Until() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Min() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(7); + } + + /** + * + * + * @generated + */ + public EReference getLeadsToPattern_Max() + { + return (EReference)getLeadsToPattern().getEStructuralFeatures().get(8); + } + + /** + * + * + * @generated + */ + public EClass getPrecedesPattern() + { + if (precedesPatternEClass == null) + { + precedesPatternEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(178); + } + return precedesPatternEClass; + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Subject() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Follower() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Before() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_After() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(3); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Until() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(4); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Min() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(5); + } + + /** + * + * + * @generated + */ + public EReference getPrecedesPattern_Max() + { + return (EReference)getPrecedesPattern().getEStructuralFeatures().get(6); + } + + /** + * + * + * @generated + */ + public EClass getLTLAll() + { + if (ltlAllEClass == null) + { + ltlAllEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(179); + } + return ltlAllEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLAll_Index() + { + return (EReference)getLTLAll().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLAll_Type() + { + return (EReference)getLTLAll().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getLTLAll_Child() + { + return (EReference)getLTLAll().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getLTLExists() + { + if (ltlExistsEClass == null) + { + ltlExistsEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(180); + } + return ltlExistsEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLExists_Index() + { + return (EReference)getLTLExists().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLExists_Type() + { + return (EReference)getLTLExists().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getLTLExists_Child() + { + return (EReference)getLTLExists().getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getLTLDisjunction() + { + if (ltlDisjunctionEClass == null) + { + ltlDisjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(181); + } + return ltlDisjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLDisjunction_Left() + { + return (EReference)getLTLDisjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLDisjunction_Right() + { + return (EReference)getLTLDisjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLTLImplication() + { + if (ltlImplicationEClass == null) + { + ltlImplicationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(182); + } + return ltlImplicationEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLImplication_Left() + { + return (EReference)getLTLImplication().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLImplication_Right() + { + return (EReference)getLTLImplication().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLTLConjunction() + { + if (ltlConjunctionEClass == null) + { + ltlConjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(183); + } + return ltlConjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLConjunction_Left() + { + return (EReference)getLTLConjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLConjunction_Right() + { + return (EReference)getLTLConjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLTLUntil() + { + if (ltlUntilEClass == null) + { + ltlUntilEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(184); + } + return ltlUntilEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLUntil_Left() + { + return (EReference)getLTLUntil().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLUntil_Right() + { + return (EReference)getLTLUntil().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLTLRelease() + { + if (ltlReleaseEClass == null) + { + ltlReleaseEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(185); + } + return ltlReleaseEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLRelease_Left() + { + return (EReference)getLTLRelease().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getLTLRelease_Right() + { + return (EReference)getLTLRelease().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getLTLUnaryNegation() + { + if (ltlUnaryNegationEClass == null) + { + ltlUnaryNegationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(186); + } + return ltlUnaryNegationEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLUnaryNegation_Operand() + { + return (EReference)getLTLUnaryNegation().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLTLUnaryNext() + { + if (ltlUnaryNextEClass == null) + { + ltlUnaryNextEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(187); + } + return ltlUnaryNextEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLUnaryNext_Operand() + { + return (EReference)getLTLUnaryNext().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLTLUnaryAlways() + { + if (ltlUnaryAlwaysEClass == null) + { + ltlUnaryAlwaysEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(188); + } + return ltlUnaryAlwaysEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLUnaryAlways_Operand() + { + return (EReference)getLTLUnaryAlways().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLTLUnaryEventually() + { + if (ltlUnaryEventuallyEClass == null) + { + ltlUnaryEventuallyEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(189); + } + return ltlUnaryEventuallyEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLUnaryEventually_Operand() + { + return (EReference)getLTLUnaryEventually().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getLTLVariable() + { + if (ltlVariableEClass == null) + { + ltlVariableEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(190); + } + return ltlVariableEClass; + } + + /** + * + * + * @generated + */ + public EReference getLTLVariable_Declaration() + { + return (EReference)getLTLVariable().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getObservableDisjunction() + { + if (observableDisjunctionEClass == null) + { + observableDisjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(191); + } + return observableDisjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getObservableDisjunction_Left() + { + return (EReference)getObservableDisjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getObservableDisjunction_Right() + { + return (EReference)getObservableDisjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getObservableImplication() + { + if (observableImplicationEClass == null) + { + observableImplicationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(192); + } + return observableImplicationEClass; + } + + /** + * + * + * @generated + */ + public EReference getObservableImplication_Left() + { + return (EReference)getObservableImplication().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getObservableImplication_Right() + { + return (EReference)getObservableImplication().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getObservableConjunction() + { + if (observableConjunctionEClass == null) + { + observableConjunctionEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(193); + } + return observableConjunctionEClass; + } + + /** + * + * + * @generated + */ + public EReference getObservableConjunction_Left() + { + return (EReference)getObservableConjunction().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getObservableConjunction_Right() + { + return (EReference)getObservableConjunction().getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getObservableNegation() + { + if (observableNegationEClass == null) + { + observableNegationEClass = (EClass)EPackage.Registry.INSTANCE.getEPackage(FiacrePackage.eNS_URI).getEClassifiers().get(194); + } + return observableNegationEClass; + } + + /** + * + * + * @generated + */ + public EReference getObservableNegation_Child() + { + return (EReference)getObservableNegation().getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public FiacreFactory getFiacreFactory() + { + return (FiacreFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isLoaded = false; + + /** + * Laods the package and any sub-packages from their serialized form. + * + * + * @generated + */ + public void loadPackage() + { + if (isLoaded) return; + isLoaded = true; + + URL url = getClass().getResource(packageFilename); + if (url == null) + { + throw new RuntimeException("Missing serialized package: " + packageFilename); + } + URI uri = URI.createURI(url.toString()); + Resource resource = new EcoreResourceFactoryImpl().createResource(uri); + try + { + resource.load(null); + } + catch (IOException exception) + { + throw new WrappedException(exception); + } + initializeFromLoadedEPackage(this, (EPackage)resource.getContents().get(0)); + createResource(eNS_URI); + } + + + /** + * + * + * @generated + */ + private boolean isFixed = false; + + /** + * Fixes up the loaded package, to make it appear as if it had been programmatically built. + * + * + * @generated + */ + public void fixPackageContents() + { + if (isFixed) return; + isFixed = true; + fixEClassifiers(); + } + + /** + * Sets the instance class on the given classifier. + * + * + * @generated + */ + @Override + protected void fixInstanceClass(EClassifier eClassifier) + { + if (eClassifier.getInstanceClassName() == null) + { + eClassifier.setInstanceClassName("fr.irit.fiacre.xtext.fiacre." + eClassifier.getName()); + setGeneratedClassName(eClassifier); + } + } + +} //FiacrePackageImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FieldExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FieldExpressionImpl.java new file mode 100644 index 0000000..ec8c819 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FieldExpressionImpl.java @@ -0,0 +1,271 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse; + +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; + +/** + * + * An implementation of the model object 'Field Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FieldExpressionImpl#getField Field}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FieldExpressionImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class FieldExpressionImpl extends MinimalEObjectImpl.Container implements FieldExpression +{ + /** + * The cached value of the '{@link #getField() Field}' reference. + * + * + * @see #getField() + * @generated + * @ordered + */ + protected RecordFieldDeclarationUse field; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected FieldExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getFieldExpression(); + } + + /** + * + * + * @generated + */ + public RecordFieldDeclarationUse getField() + { + if (field != null && field.eIsProxy()) + { + InternalEObject oldField = (InternalEObject)field; + field = (RecordFieldDeclarationUse)eResolveProxy(oldField); + if (field != oldField) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.FIELD_EXPRESSION__FIELD, oldField, field)); + } + } + return field; + } + + /** + * + * + * @generated + */ + public RecordFieldDeclarationUse basicGetField() + { + return field; + } + + /** + * + * + * @generated + */ + public void setField(RecordFieldDeclarationUse newField) + { + RecordFieldDeclarationUse oldField = field; + field = newField; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FIELD_EXPRESSION__FIELD, oldField, field)); + } + + /** + * + * + * @generated + */ + public Expression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) + { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.FIELD_EXPRESSION__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FIELD_EXPRESSION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FIELD_EXPRESSION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FIELD_EXPRESSION__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.FIELD_EXPRESSION__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.FIELD_EXPRESSION__FIELD: + if (resolve) return getField(); + return basicGetField(); + case FiacrePackage.FIELD_EXPRESSION__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.FIELD_EXPRESSION__FIELD: + setField((RecordFieldDeclarationUse)newValue); + return; + case FiacrePackage.FIELD_EXPRESSION__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.FIELD_EXPRESSION__FIELD: + setField((RecordFieldDeclarationUse)null); + return; + case FiacrePackage.FIELD_EXPRESSION__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.FIELD_EXPRESSION__FIELD: + return field != null; + case FiacrePackage.FIELD_EXPRESSION__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //FieldExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ForeachStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ForeachStatementImpl.java new file mode 100644 index 0000000..6b5b8d3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ForeachStatementImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ForeachStatement; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'Foreach Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ForeachStatementImpl#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ForeachStatementImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class ForeachStatementImpl extends StatementImpl implements ForeachStatement +{ + /** + * The cached value of the '{@link #getVariable() Variable}' containment reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected VariableDeclaration variable; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Statement body; + + /** + * + * + * @generated + */ + protected ForeachStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getForeachStatement(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetVariable(VariableDeclaration newVariable, NotificationChain msgs) + { + VariableDeclaration oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.FOREACH_STATEMENT__VARIABLE, oldVariable, newVariable); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setVariable(VariableDeclaration newVariable) + { + if (newVariable != variable) + { + NotificationChain msgs = null; + if (variable != null) + msgs = ((InternalEObject)variable).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FOREACH_STATEMENT__VARIABLE, null, msgs); + if (newVariable != null) + msgs = ((InternalEObject)newVariable).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FOREACH_STATEMENT__VARIABLE, null, msgs); + msgs = basicSetVariable(newVariable, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FOREACH_STATEMENT__VARIABLE, newVariable, newVariable)); + } + + /** + * + * + * @generated + */ + public Statement getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Statement newBody, NotificationChain msgs) + { + Statement oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.FOREACH_STATEMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Statement newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FOREACH_STATEMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FOREACH_STATEMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FOREACH_STATEMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + return basicSetVariable(null, msgs); + case FiacrePackage.FOREACH_STATEMENT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + return getVariable(); + case FiacrePackage.FOREACH_STATEMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + setVariable((VariableDeclaration)newValue); + return; + case FiacrePackage.FOREACH_STATEMENT__BODY: + setBody((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + setVariable((VariableDeclaration)null); + return; + case FiacrePackage.FOREACH_STATEMENT__BODY: + setBody((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.FOREACH_STATEMENT__VARIABLE: + return variable != null; + case FiacrePackage.FOREACH_STATEMENT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //ForeachStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FunctionDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FunctionDeclarationImpl.java new file mode 100644 index 0000000..e552cfd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/FunctionDeclarationImpl.java @@ -0,0 +1,506 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FunctionDeclaration; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.Type; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +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; + +/** + * + * An implementation of the model object 'Function Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl#getVariables Variables}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.FunctionDeclarationImpl#getStatement Statement}
  • + *
+ * + * @generated + */ +public class FunctionDeclarationImpl extends ExpressionDeclarationUseImpl implements FunctionDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * The cached value of the '{@link #getStatement() Statement}' containment reference. + * + * + * @see #getStatement() + * @generated + * @ordered + */ + protected Statement statement; + + /** + * + * + * @generated + */ + protected FunctionDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getFunctionDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FUNCTION_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(ParametersDeclaration.class, this, FiacrePackage.FUNCTION_DECLARATION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + public EList getVariables() + { + if (variables == null) + { + variables = new EObjectContainmentEList(VariablesDeclaration.class, this, FiacrePackage.FUNCTION_DECLARATION__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.FUNCTION_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FUNCTION_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FUNCTION_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FUNCTION_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Statement getStatement() + { + return statement; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetStatement(Statement newStatement, NotificationChain msgs) + { + Statement oldStatement = statement; + statement = newStatement; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.FUNCTION_DECLARATION__STATEMENT, oldStatement, newStatement); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setStatement(Statement newStatement) + { + if (newStatement != statement) + { + NotificationChain msgs = null; + if (statement != null) + msgs = ((InternalEObject)statement).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FUNCTION_DECLARATION__STATEMENT, null, msgs); + if (newStatement != null) + msgs = ((InternalEObject)newStatement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.FUNCTION_DECLARATION__STATEMENT, null, msgs); + msgs = basicSetStatement(newStatement, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.FUNCTION_DECLARATION__STATEMENT, newStatement, newStatement)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + return basicSetStatement(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.FUNCTION_DECLARATION__NAME: + return getName(); + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + return getParameters(); + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + return getVariables(); + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + return getType(); + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + return getStatement(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.FUNCTION_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + setType((Type)newValue); + return; + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + setStatement((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.FUNCTION_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + getParameters().clear(); + return; + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + getVariables().clear(); + return; + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + setType((Type)null); + return; + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + setStatement((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.FUNCTION_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: + return variables != null && !variables.isEmpty(); + case FiacrePackage.FUNCTION_DECLARATION__TYPE: + return type != null; + case FiacrePackage.FUNCTION_DECLARATION__STATEMENT: + return statement != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.FUNCTION_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.FUNCTION_DECLARATION__PARAMETERS: return FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS; + case FiacrePackage.FUNCTION_DECLARATION__VARIABLES: return FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.FUNCTION_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (baseFeatureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: return FiacrePackage.FUNCTION_DECLARATION__PARAMETERS; + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: return FiacrePackage.FUNCTION_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //FunctionDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierExpressionImpl.java new file mode 100644 index 0000000..2a39f10 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierExpressionImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; + +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; + +/** + * + * An implementation of the model object 'Identifier Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.IdentifierExpressionImpl#getDeclaration Declaration}
  • + *
+ * + * @generated + */ +public class IdentifierExpressionImpl extends ValueExpressionImpl implements IdentifierExpression +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected ExpressionDeclarationUse declaration; + + /** + * + * + * @generated + */ + protected IdentifierExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getIdentifierExpression(); + } + + /** + * + * + * @generated + */ + public ExpressionDeclarationUse getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (ExpressionDeclarationUse)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public ExpressionDeclarationUse basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(ExpressionDeclarationUse newDeclaration) + { + ExpressionDeclarationUse oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION: + setDeclaration((ExpressionDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION: + setDeclaration((ExpressionDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_EXPRESSION__DECLARATION: + return declaration != null; + } + return super.eIsSet(featureID); + } + +} //IdentifierExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierPatternImpl.java new file mode 100644 index 0000000..ec14e49 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IdentifierPatternImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern; +import fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse; + +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; + +/** + * + * An implementation of the model object 'Identifier Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.IdentifierPatternImpl#getDeclaration Declaration}
  • + *
+ * + * @generated + */ +public class IdentifierPatternImpl extends PatternImpl implements IdentifierPattern +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected PatternDeclarationUse declaration; + + /** + * + * + * @generated + */ + protected IdentifierPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getIdentifierPattern(); + } + + /** + * + * + * @generated + */ + public PatternDeclarationUse getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (PatternDeclarationUse)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.IDENTIFIER_PATTERN__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public PatternDeclarationUse basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(PatternDeclarationUse newDeclaration) + { + PatternDeclarationUse oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.IDENTIFIER_PATTERN__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_PATTERN__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_PATTERN__DECLARATION: + setDeclaration((PatternDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_PATTERN__DECLARATION: + setDeclaration((PatternDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.IDENTIFIER_PATTERN__DECLARATION: + return declaration != null; + } + return super.eIsSet(featureID); + } + +} //IdentifierPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImplicationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImplicationImpl.java new file mode 100644 index 0000000..1994b84 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImplicationImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Implication; + +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; + +/** + * + * An implementation of the model object 'Implication'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ImplicationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ImplicationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ImplicationImpl extends ExpressionImpl implements Implication +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ImplicationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getImplication(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.IMPLICATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.IMPLICATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.IMPLICATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.IMPLICATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.IMPLICATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.IMPLICATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.IMPLICATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.IMPLICATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.IMPLICATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.IMPLICATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.IMPLICATION__LEFT: + return getLeft(); + case FiacrePackage.IMPLICATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.IMPLICATION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.IMPLICATION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.IMPLICATION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.IMPLICATION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.IMPLICATION__LEFT: + return left != null; + case FiacrePackage.IMPLICATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ImplicationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImportDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImportDeclarationImpl.java new file mode 100644 index 0000000..145829a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ImportDeclarationImpl.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ImportDeclaration; + +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; + +/** + * + * An implementation of the model object 'Import Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ImportDeclarationImpl#getImportURI Import URI}
  • + *
+ * + * @generated + */ +public class ImportDeclarationImpl extends MinimalEObjectImpl.Container implements ImportDeclaration +{ + /** + * The default value of the '{@link #getImportURI() Import URI}' attribute. + * + * + * @see #getImportURI() + * @generated + * @ordered + */ + protected static final String IMPORT_URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getImportURI() Import URI}' attribute. + * + * + * @see #getImportURI() + * @generated + * @ordered + */ + protected String importURI = IMPORT_URI_EDEFAULT; + + /** + * + * + * @generated + */ + protected ImportDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getImportDeclaration(); + } + + /** + * + * + * @generated + */ + public String getImportURI() + { + return importURI; + } + + /** + * + * + * @generated + */ + public void setImportURI(String newImportURI) + { + String oldImportURI = importURI; + importURI = newImportURI; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.IMPORT_DECLARATION__IMPORT_URI, oldImportURI, importURI)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.IMPORT_DECLARATION__IMPORT_URI: + return getImportURI(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.IMPORT_DECLARATION__IMPORT_URI: + setImportURI((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.IMPORT_DECLARATION__IMPORT_URI: + setImportURI(IMPORT_URI_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.IMPORT_DECLARATION__IMPORT_URI: + return IMPORT_URI_EDEFAULT == null ? importURI != null : !IMPORT_URI_EDEFAULT.equals(importURI); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (importURI: "); + result.append(importURI); + result.append(')'); + return result.toString(); + } + +} //ImportDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfiniteUpperBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfiniteUpperBoundImpl.java new file mode 100644 index 0000000..1958ff2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfiniteUpperBoundImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Infinite Upper Bound'. + * + * + * @generated + */ +public class InfiniteUpperBoundImpl extends UpperBoundImpl implements InfiniteUpperBound +{ + /** + * + * + * @generated + */ + protected InfiniteUpperBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getInfiniteUpperBound(); + } + +} //InfiniteUpperBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfinitelyOftenPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfinitelyOftenPatternImpl.java new file mode 100644 index 0000000..8e6a35e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InfinitelyOftenPatternImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern; +import fr.irit.fiacre.xtext.fiacre.Observable; + +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; + +/** + * + * An implementation of the model object 'Infinitely Often Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.InfinitelyOftenPatternImpl#getSubject Subject}
  • + *
+ * + * @generated + */ +public class InfinitelyOftenPatternImpl extends PatternPropertyImpl implements InfinitelyOftenPattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * + * + * @generated + */ + protected InfinitelyOftenPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getInfinitelyOftenPattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + return getSubject(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.INFINITELY_OFTEN_PATTERN__SUBJECT: + return subject != null; + } + return super.eIsSet(featureID); + } + +} //InfinitelyOftenPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InstanceDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InstanceDeclarationImpl.java new file mode 100644 index 0000000..3467c0a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/InstanceDeclarationImpl.java @@ -0,0 +1,315 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Block; +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.InstanceDeclaration; +import fr.irit.fiacre.xtext.fiacre.PortSet; + +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; + +/** + * + * An implementation of the model object 'Instance Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.InstanceDeclarationImpl#getLocal Local}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.InstanceDeclarationImpl#getInstance Instance}
  • + *
+ * + * @generated + */ +public class InstanceDeclarationImpl extends PathDeclarationUseImpl implements InstanceDeclaration +{ + /** + * The cached value of the '{@link #getLocal() Local}' containment reference. + * + * + * @see #getLocal() + * @generated + * @ordered + */ + protected PortSet local; + + /** + * The cached value of the '{@link #getInstance() Instance}' containment reference. + * + * + * @see #getInstance() + * @generated + * @ordered + */ + protected ComponentInstance instance; + + /** + * + * + * @generated + */ + protected InstanceDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getInstanceDeclaration(); + } + + /** + * + * + * @generated + */ + public PortSet getLocal() + { + return local; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLocal(PortSet newLocal, NotificationChain msgs) + { + PortSet oldLocal = local; + local = newLocal; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.INSTANCE_DECLARATION__LOCAL, oldLocal, newLocal); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLocal(PortSet newLocal) + { + if (newLocal != local) + { + NotificationChain msgs = null; + if (local != null) + msgs = ((InternalEObject)local).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INSTANCE_DECLARATION__LOCAL, null, msgs); + if (newLocal != null) + msgs = ((InternalEObject)newLocal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INSTANCE_DECLARATION__LOCAL, null, msgs); + msgs = basicSetLocal(newLocal, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.INSTANCE_DECLARATION__LOCAL, newLocal, newLocal)); + } + + /** + * + * + * @generated + */ + public ComponentInstance getInstance() + { + return instance; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetInstance(ComponentInstance newInstance, NotificationChain msgs) + { + ComponentInstance oldInstance = instance; + instance = newInstance; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.INSTANCE_DECLARATION__INSTANCE, oldInstance, newInstance); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setInstance(ComponentInstance newInstance) + { + if (newInstance != instance) + { + NotificationChain msgs = null; + if (instance != null) + msgs = ((InternalEObject)instance).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INSTANCE_DECLARATION__INSTANCE, null, msgs); + if (newInstance != null) + msgs = ((InternalEObject)newInstance).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.INSTANCE_DECLARATION__INSTANCE, null, msgs); + msgs = basicSetInstance(newInstance, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.INSTANCE_DECLARATION__INSTANCE, newInstance, newInstance)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + return basicSetLocal(null, msgs); + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + return basicSetInstance(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + return getLocal(); + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + return getInstance(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + setLocal((PortSet)newValue); + return; + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + setInstance((ComponentInstance)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + setLocal((PortSet)null); + return; + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + setInstance((ComponentInstance)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: + return local != null; + case FiacrePackage.INSTANCE_DECLARATION__INSTANCE: + return instance != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == Block.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.INSTANCE_DECLARATION__LOCAL: return FiacrePackage.BLOCK__LOCAL; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == Block.class) + { + switch (baseFeatureID) + { + case FiacrePackage.BLOCK__LOCAL: return FiacrePackage.INSTANCE_DECLARATION__LOCAL; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + +} //InstanceDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerPatternImpl.java new file mode 100644 index 0000000..56e3551 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerPatternImpl.java @@ -0,0 +1,243 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IntegerPattern; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Integer Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.IntegerPatternImpl#isNegative Negative}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.IntegerPatternImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class IntegerPatternImpl extends PatternImpl implements IntegerPattern +{ + /** + * The default value of the '{@link #isNegative() Negative}' attribute. + * + * + * @see #isNegative() + * @generated + * @ordered + */ + protected static final boolean NEGATIVE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isNegative() Negative}' attribute. + * + * + * @see #isNegative() + * @generated + * @ordered + */ + protected boolean negative = NEGATIVE_EDEFAULT; + + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected IntegerPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getIntegerPattern(); + } + + /** + * + * + * @generated + */ + public boolean isNegative() + { + return negative; + } + + /** + * + * + * @generated + */ + public void setNegative(boolean newNegative) + { + boolean oldNegative = negative; + negative = newNegative; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.INTEGER_PATTERN__NEGATIVE, oldNegative, negative)); + } + + /** + * + * + * @generated + */ + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) + { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.INTEGER_PATTERN__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.INTEGER_PATTERN__NEGATIVE: + return isNegative(); + case FiacrePackage.INTEGER_PATTERN__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.INTEGER_PATTERN__NEGATIVE: + setNegative((Boolean)newValue); + return; + case FiacrePackage.INTEGER_PATTERN__VALUE: + setValue((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.INTEGER_PATTERN__NEGATIVE: + setNegative(NEGATIVE_EDEFAULT); + return; + case FiacrePackage.INTEGER_PATTERN__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.INTEGER_PATTERN__NEGATIVE: + return negative != NEGATIVE_EDEFAULT; + case FiacrePackage.INTEGER_PATTERN__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (negative: "); + result.append(negative); + result.append(", value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //IntegerPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerTypeImpl.java new file mode 100644 index 0000000..391981e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/IntegerTypeImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IntegerType; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Integer Type'. + * + * + * @generated + */ +public class IntegerTypeImpl extends BasicTypeImpl implements IntegerType +{ + /** + * + * + * @generated + */ + protected IntegerTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getIntegerType(); + } + +} //IntegerTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLAllImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLAllImpl.java new file mode 100644 index 0000000..79c8e56 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLAllImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLAll; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'LTL All'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLAllImpl#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLAllImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLAllImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class LTLAllImpl extends LTLPropertyImpl implements LTLAll +{ + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected VariableDeclaration index; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected LTLProperty child; + + /** + * + * + * @generated + */ + protected LTLAllImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLAll(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(VariableDeclaration newIndex, NotificationChain msgs) + { + VariableDeclaration oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(VariableDeclaration newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public LTLProperty getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(LTLProperty newChild, NotificationChain msgs) + { + LTLProperty oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(LTLProperty newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_ALL__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_ALL__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_ALL__INDEX: + return basicSetIndex(null, msgs); + case FiacrePackage.LTL_ALL__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.LTL_ALL__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_ALL__INDEX: + return getIndex(); + case FiacrePackage.LTL_ALL__TYPE: + return getType(); + case FiacrePackage.LTL_ALL__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_ALL__INDEX: + setIndex((VariableDeclaration)newValue); + return; + case FiacrePackage.LTL_ALL__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.LTL_ALL__CHILD: + setChild((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_ALL__INDEX: + setIndex((VariableDeclaration)null); + return; + case FiacrePackage.LTL_ALL__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.LTL_ALL__CHILD: + setChild((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_ALL__INDEX: + return index != null; + case FiacrePackage.LTL_ALL__TYPE: + return type != null; + case FiacrePackage.LTL_ALL__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //LTLAllImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLConjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLConjunctionImpl.java new file mode 100644 index 0000000..3521b98 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLConjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLConjunction; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; + +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; + +/** + * + * An implementation of the model object 'LTL Conjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLConjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLConjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LTLConjunctionImpl extends LTLPropertyImpl implements LTLConjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LTLProperty left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected LTLProperty right; + + /** + * + * + * @generated + */ + protected LTLConjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLConjunction(); + } + + /** + * + * + * @generated + */ + public LTLProperty getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LTLProperty newLeft, NotificationChain msgs) + { + LTLProperty oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_CONJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LTLProperty newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_CONJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_CONJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_CONJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public LTLProperty getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(LTLProperty newRight, NotificationChain msgs) + { + LTLProperty oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_CONJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(LTLProperty newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_CONJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_CONJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_CONJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + setLeft((LTLProperty)newValue); + return; + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + setRight((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + setLeft((LTLProperty)null); + return; + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + setRight((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_CONJUNCTION__LEFT: + return left != null; + case FiacrePackage.LTL_CONJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LTLConjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLDisjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLDisjunctionImpl.java new file mode 100644 index 0000000..bb1cba6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLDisjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLDisjunction; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; + +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; + +/** + * + * An implementation of the model object 'LTL Disjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLDisjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLDisjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LTLDisjunctionImpl extends LTLPropertyImpl implements LTLDisjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LTLProperty left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected LTLProperty right; + + /** + * + * + * @generated + */ + protected LTLDisjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLDisjunction(); + } + + /** + * + * + * @generated + */ + public LTLProperty getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LTLProperty newLeft, NotificationChain msgs) + { + LTLProperty oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_DISJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LTLProperty newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_DISJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_DISJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_DISJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public LTLProperty getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(LTLProperty newRight, NotificationChain msgs) + { + LTLProperty oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_DISJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(LTLProperty newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_DISJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_DISJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_DISJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + setLeft((LTLProperty)newValue); + return; + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + setRight((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + setLeft((LTLProperty)null); + return; + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + setRight((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_DISJUNCTION__LEFT: + return left != null; + case FiacrePackage.LTL_DISJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LTLDisjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLExistsImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLExistsImpl.java new file mode 100644 index 0000000..96091bb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLExistsImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLExists; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'LTL Exists'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLExistsImpl#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLExistsImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLExistsImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class LTLExistsImpl extends LTLPropertyImpl implements LTLExists +{ + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected VariableDeclaration index; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected LTLProperty child; + + /** + * + * + * @generated + */ + protected LTLExistsImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLExists(); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(VariableDeclaration newIndex, NotificationChain msgs) + { + VariableDeclaration oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(VariableDeclaration newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public LTLProperty getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(LTLProperty newChild, NotificationChain msgs) + { + LTLProperty oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(LTLProperty newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_EXISTS__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_EXISTS__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_EXISTS__INDEX: + return basicSetIndex(null, msgs); + case FiacrePackage.LTL_EXISTS__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.LTL_EXISTS__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_EXISTS__INDEX: + return getIndex(); + case FiacrePackage.LTL_EXISTS__TYPE: + return getType(); + case FiacrePackage.LTL_EXISTS__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_EXISTS__INDEX: + setIndex((VariableDeclaration)newValue); + return; + case FiacrePackage.LTL_EXISTS__TYPE: + setType((RangeType)newValue); + return; + case FiacrePackage.LTL_EXISTS__CHILD: + setChild((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_EXISTS__INDEX: + setIndex((VariableDeclaration)null); + return; + case FiacrePackage.LTL_EXISTS__TYPE: + setType((RangeType)null); + return; + case FiacrePackage.LTL_EXISTS__CHILD: + setChild((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_EXISTS__INDEX: + return index != null; + case FiacrePackage.LTL_EXISTS__TYPE: + return type != null; + case FiacrePackage.LTL_EXISTS__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //LTLExistsImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLImplicationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLImplicationImpl.java new file mode 100644 index 0000000..0930ded --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLImplicationImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLImplication; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; + +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; + +/** + * + * An implementation of the model object 'LTL Implication'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLImplicationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLImplicationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LTLImplicationImpl extends LTLPropertyImpl implements LTLImplication +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LTLProperty left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected LTLProperty right; + + /** + * + * + * @generated + */ + protected LTLImplicationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLImplication(); + } + + /** + * + * + * @generated + */ + public LTLProperty getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LTLProperty newLeft, NotificationChain msgs) + { + LTLProperty oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_IMPLICATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LTLProperty newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_IMPLICATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_IMPLICATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_IMPLICATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public LTLProperty getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(LTLProperty newRight, NotificationChain msgs) + { + LTLProperty oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_IMPLICATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(LTLProperty newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_IMPLICATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_IMPLICATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_IMPLICATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_IMPLICATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LTL_IMPLICATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_IMPLICATION__LEFT: + return getLeft(); + case FiacrePackage.LTL_IMPLICATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_IMPLICATION__LEFT: + setLeft((LTLProperty)newValue); + return; + case FiacrePackage.LTL_IMPLICATION__RIGHT: + setRight((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_IMPLICATION__LEFT: + setLeft((LTLProperty)null); + return; + case FiacrePackage.LTL_IMPLICATION__RIGHT: + setRight((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_IMPLICATION__LEFT: + return left != null; + case FiacrePackage.LTL_IMPLICATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LTLImplicationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPatternImpl.java new file mode 100644 index 0000000..a1eb2db --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPatternImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLPattern; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; + +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; + +/** + * + * An implementation of the model object 'LTL Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLPatternImpl#getProperty Property}
  • + *
+ * + * @generated + */ +public class LTLPatternImpl extends PatternPropertyImpl implements LTLPattern +{ + /** + * The cached value of the '{@link #getProperty() Property}' containment reference. + * + * + * @see #getProperty() + * @generated + * @ordered + */ + protected LTLProperty property; + + /** + * + * + * @generated + */ + protected LTLPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLPattern(); + } + + /** + * + * + * @generated + */ + public LTLProperty getProperty() + { + return property; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetProperty(LTLProperty newProperty, NotificationChain msgs) + { + LTLProperty oldProperty = property; + property = newProperty; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_PATTERN__PROPERTY, oldProperty, newProperty); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setProperty(LTLProperty newProperty) + { + if (newProperty != property) + { + NotificationChain msgs = null; + if (property != null) + msgs = ((InternalEObject)property).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_PATTERN__PROPERTY, null, msgs); + if (newProperty != null) + msgs = ((InternalEObject)newProperty).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_PATTERN__PROPERTY, null, msgs); + msgs = basicSetProperty(newProperty, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_PATTERN__PROPERTY, newProperty, newProperty)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_PATTERN__PROPERTY: + return basicSetProperty(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_PATTERN__PROPERTY: + return getProperty(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_PATTERN__PROPERTY: + setProperty((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_PATTERN__PROPERTY: + setProperty((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_PATTERN__PROPERTY: + return property != null; + } + return super.eIsSet(featureID); + } + +} //LTLPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPropertyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPropertyImpl.java new file mode 100644 index 0000000..c256343 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLPropertyImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'LTL Property'. + * + * + * @generated + */ +public class LTLPropertyImpl extends MinimalEObjectImpl.Container implements LTLProperty +{ + /** + * + * + * @generated + */ + protected LTLPropertyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLProperty(); + } + +} //LTLPropertyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLReleaseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLReleaseImpl.java new file mode 100644 index 0000000..0a755e4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLReleaseImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLRelease; + +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; + +/** + * + * An implementation of the model object 'LTL Release'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLReleaseImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLReleaseImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LTLReleaseImpl extends LTLPropertyImpl implements LTLRelease +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LTLProperty left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected LTLProperty right; + + /** + * + * + * @generated + */ + protected LTLReleaseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLRelease(); + } + + /** + * + * + * @generated + */ + public LTLProperty getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LTLProperty newLeft, NotificationChain msgs) + { + LTLProperty oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_RELEASE__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LTLProperty newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_RELEASE__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_RELEASE__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_RELEASE__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public LTLProperty getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(LTLProperty newRight, NotificationChain msgs) + { + LTLProperty oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_RELEASE__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(LTLProperty newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_RELEASE__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_RELEASE__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_RELEASE__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_RELEASE__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LTL_RELEASE__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_RELEASE__LEFT: + return getLeft(); + case FiacrePackage.LTL_RELEASE__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_RELEASE__LEFT: + setLeft((LTLProperty)newValue); + return; + case FiacrePackage.LTL_RELEASE__RIGHT: + setRight((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_RELEASE__LEFT: + setLeft((LTLProperty)null); + return; + case FiacrePackage.LTL_RELEASE__RIGHT: + setRight((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_RELEASE__LEFT: + return left != null; + case FiacrePackage.LTL_RELEASE__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LTLReleaseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryAlwaysImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryAlwaysImpl.java new file mode 100644 index 0000000..36b5df9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryAlwaysImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways; + +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; + +/** + * + * An implementation of the model object 'LTL Unary Always'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryAlwaysImpl#getOperand Operand}
  • + *
+ * + * @generated + */ +public class LTLUnaryAlwaysImpl extends LTLPropertyImpl implements LTLUnaryAlways +{ + /** + * The cached value of the '{@link #getOperand() Operand}' containment reference. + * + * + * @see #getOperand() + * @generated + * @ordered + */ + protected LTLProperty operand; + + /** + * + * + * @generated + */ + protected LTLUnaryAlwaysImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLUnaryAlways(); + } + + /** + * + * + * @generated + */ + public LTLProperty getOperand() + { + return operand; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOperand(LTLProperty newOperand, NotificationChain msgs) + { + LTLProperty oldOperand = operand; + operand = newOperand; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_ALWAYS__OPERAND, oldOperand, newOperand); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setOperand(LTLProperty newOperand) + { + if (newOperand != operand) + { + NotificationChain msgs = null; + if (operand != null) + msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_ALWAYS__OPERAND, null, msgs); + if (newOperand != null) + msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_ALWAYS__OPERAND, null, msgs); + msgs = basicSetOperand(newOperand, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_ALWAYS__OPERAND, newOperand, newOperand)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + return basicSetOperand(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + return getOperand(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + setOperand((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + setOperand((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_ALWAYS__OPERAND: + return operand != null; + } + return super.eIsSet(featureID); + } + +} //LTLUnaryAlwaysImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryEventuallyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryEventuallyImpl.java new file mode 100644 index 0000000..107f67c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryEventuallyImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually; + +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; + +/** + * + * An implementation of the model object 'LTL Unary Eventually'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryEventuallyImpl#getOperand Operand}
  • + *
+ * + * @generated + */ +public class LTLUnaryEventuallyImpl extends LTLPropertyImpl implements LTLUnaryEventually +{ + /** + * The cached value of the '{@link #getOperand() Operand}' containment reference. + * + * + * @see #getOperand() + * @generated + * @ordered + */ + protected LTLProperty operand; + + /** + * + * + * @generated + */ + protected LTLUnaryEventuallyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLUnaryEventually(); + } + + /** + * + * + * @generated + */ + public LTLProperty getOperand() + { + return operand; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOperand(LTLProperty newOperand, NotificationChain msgs) + { + LTLProperty oldOperand = operand; + operand = newOperand; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND, oldOperand, newOperand); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setOperand(LTLProperty newOperand) + { + if (newOperand != operand) + { + NotificationChain msgs = null; + if (operand != null) + msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND, null, msgs); + if (newOperand != null) + msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND, null, msgs); + msgs = basicSetOperand(newOperand, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND, newOperand, newOperand)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + return basicSetOperand(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + return getOperand(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + setOperand((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + setOperand((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_EVENTUALLY__OPERAND: + return operand != null; + } + return super.eIsSet(featureID); + } + +} //LTLUnaryEventuallyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNegationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNegationImpl.java new file mode 100644 index 0000000..b1dd1a2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNegationImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation; + +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; + +/** + * + * An implementation of the model object 'LTL Unary Negation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNegationImpl#getOperand Operand}
  • + *
+ * + * @generated + */ +public class LTLUnaryNegationImpl extends LTLPropertyImpl implements LTLUnaryNegation +{ + /** + * The cached value of the '{@link #getOperand() Operand}' containment reference. + * + * + * @see #getOperand() + * @generated + * @ordered + */ + protected LTLProperty operand; + + /** + * + * + * @generated + */ + protected LTLUnaryNegationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLUnaryNegation(); + } + + /** + * + * + * @generated + */ + public LTLProperty getOperand() + { + return operand; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOperand(LTLProperty newOperand, NotificationChain msgs) + { + LTLProperty oldOperand = operand; + operand = newOperand; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_NEGATION__OPERAND, oldOperand, newOperand); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setOperand(LTLProperty newOperand) + { + if (newOperand != operand) + { + NotificationChain msgs = null; + if (operand != null) + msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_NEGATION__OPERAND, null, msgs); + if (newOperand != null) + msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_NEGATION__OPERAND, null, msgs); + msgs = basicSetOperand(newOperand, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_NEGATION__OPERAND, newOperand, newOperand)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + return basicSetOperand(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + return getOperand(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + setOperand((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + setOperand((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEGATION__OPERAND: + return operand != null; + } + return super.eIsSet(featureID); + } + +} //LTLUnaryNegationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNextImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNextImpl.java new file mode 100644 index 0000000..df41f0f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUnaryNextImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNext; + +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; + +/** + * + * An implementation of the model object 'LTL Unary Next'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUnaryNextImpl#getOperand Operand}
  • + *
+ * + * @generated + */ +public class LTLUnaryNextImpl extends LTLPropertyImpl implements LTLUnaryNext +{ + /** + * The cached value of the '{@link #getOperand() Operand}' containment reference. + * + * + * @see #getOperand() + * @generated + * @ordered + */ + protected LTLProperty operand; + + /** + * + * + * @generated + */ + protected LTLUnaryNextImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLUnaryNext(); + } + + /** + * + * + * @generated + */ + public LTLProperty getOperand() + { + return operand; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetOperand(LTLProperty newOperand, NotificationChain msgs) + { + LTLProperty oldOperand = operand; + operand = newOperand; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_NEXT__OPERAND, oldOperand, newOperand); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setOperand(LTLProperty newOperand) + { + if (newOperand != operand) + { + NotificationChain msgs = null; + if (operand != null) + msgs = ((InternalEObject)operand).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_NEXT__OPERAND, null, msgs); + if (newOperand != null) + msgs = ((InternalEObject)newOperand).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNARY_NEXT__OPERAND, null, msgs); + msgs = basicSetOperand(newOperand, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNARY_NEXT__OPERAND, newOperand, newOperand)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + return basicSetOperand(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + return getOperand(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + setOperand((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + setOperand((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNARY_NEXT__OPERAND: + return operand != null; + } + return super.eIsSet(featureID); + } + +} //LTLUnaryNextImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUntilImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUntilImpl.java new file mode 100644 index 0000000..20544b5 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLUntilImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLProperty; +import fr.irit.fiacre.xtext.fiacre.LTLUntil; + +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; + +/** + * + * An implementation of the model object 'LTL Until'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUntilImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLUntilImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LTLUntilImpl extends LTLPropertyImpl implements LTLUntil +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LTLProperty left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected LTLProperty right; + + /** + * + * + * @generated + */ + protected LTLUntilImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLUntil(); + } + + /** + * + * + * @generated + */ + public LTLProperty getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LTLProperty newLeft, NotificationChain msgs) + { + LTLProperty oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNTIL__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LTLProperty newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNTIL__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNTIL__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNTIL__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public LTLProperty getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(LTLProperty newRight, NotificationChain msgs) + { + LTLProperty oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNTIL__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(LTLProperty newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNTIL__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LTL_UNTIL__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_UNTIL__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LTL_UNTIL__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LTL_UNTIL__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_UNTIL__LEFT: + return getLeft(); + case FiacrePackage.LTL_UNTIL__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_UNTIL__LEFT: + setLeft((LTLProperty)newValue); + return; + case FiacrePackage.LTL_UNTIL__RIGHT: + setRight((LTLProperty)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNTIL__LEFT: + setLeft((LTLProperty)null); + return; + case FiacrePackage.LTL_UNTIL__RIGHT: + setRight((LTLProperty)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_UNTIL__LEFT: + return left != null; + case FiacrePackage.LTL_UNTIL__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LTLUntilImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLVariableImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLVariableImpl.java new file mode 100644 index 0000000..64834b1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LTLVariableImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LTLVariable; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse; + +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; + +/** + * + * An implementation of the model object 'LTL Variable'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LTLVariableImpl#getDeclaration Declaration}
  • + *
+ * + * @generated + */ +public class LTLVariableImpl extends LTLPropertyImpl implements LTLVariable +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected PropertyDeclarationUse declaration; + + /** + * + * + * @generated + */ + protected LTLVariableImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLTLVariable(); + } + + /** + * + * + * @generated + */ + public PropertyDeclarationUse getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (PropertyDeclarationUse)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.LTL_VARIABLE__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public PropertyDeclarationUse basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(PropertyDeclarationUse newDeclaration) + { + PropertyDeclarationUse oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LTL_VARIABLE__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LTL_VARIABLE__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LTL_VARIABLE__DECLARATION: + setDeclaration((PropertyDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_VARIABLE__DECLARATION: + setDeclaration((PropertyDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LTL_VARIABLE__DECLARATION: + return declaration != null; + } + return super.eIsSet(featureID); + } + +} //LTLVariableImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeadsToPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeadsToPatternImpl.java new file mode 100644 index 0000000..9d84de8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeadsToPatternImpl.java @@ -0,0 +1,774 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LeadsToPattern; +import fr.irit.fiacre.xtext.fiacre.LowerBound; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.UpperBound; + +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; + +/** + * + * An implementation of the model object 'Leads To Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getFollower Follower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LeadsToPatternImpl#getMax Max}
  • + *
+ * + * @generated + */ +public class LeadsToPatternImpl extends SequencePatternImpl implements LeadsToPattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * The cached value of the '{@link #getFollower() Follower}' containment reference. + * + * + * @see #getFollower() + * @generated + * @ordered + */ + protected Observable follower; + + /** + * The cached value of the '{@link #getBefore() Before}' containment reference. + * + * + * @see #getBefore() + * @generated + * @ordered + */ + protected Observable before; + + /** + * The cached value of the '{@link #getLower() Lower}' containment reference. + * + * + * @see #getLower() + * @generated + * @ordered + */ + protected LowerBound lower; + + /** + * The cached value of the '{@link #getUpper() Upper}' containment reference. + * + * + * @see #getUpper() + * @generated + * @ordered + */ + protected UpperBound upper; + + /** + * The cached value of the '{@link #getAfter() After}' containment reference. + * + * + * @see #getAfter() + * @generated + * @ordered + */ + protected Observable after; + + /** + * The cached value of the '{@link #getUntil() Until}' containment reference. + * + * + * @see #getUntil() + * @generated + * @ordered + */ + protected Observable until; + + /** + * The cached value of the '{@link #getMin() Min}' containment reference. + * + * + * @see #getMin() + * @generated + * @ordered + */ + protected Observable min; + + /** + * The cached value of the '{@link #getMax() Max}' containment reference. + * + * + * @see #getMax() + * @generated + * @ordered + */ + protected Observable max; + + /** + * + * + * @generated + */ + protected LeadsToPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLeadsToPattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + public Observable getFollower() + { + return follower; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetFollower(Observable newFollower, NotificationChain msgs) + { + Observable oldFollower = follower; + follower = newFollower; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__FOLLOWER, oldFollower, newFollower); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setFollower(Observable newFollower) + { + if (newFollower != follower) + { + NotificationChain msgs = null; + if (follower != null) + msgs = ((InternalEObject)follower).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__FOLLOWER, null, msgs); + if (newFollower != null) + msgs = ((InternalEObject)newFollower).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__FOLLOWER, null, msgs); + msgs = basicSetFollower(newFollower, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__FOLLOWER, newFollower, newFollower)); + } + + /** + * + * + * @generated + */ + public Observable getBefore() + { + return before; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBefore(Observable newBefore, NotificationChain msgs) + { + Observable oldBefore = before; + before = newBefore; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__BEFORE, oldBefore, newBefore); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBefore(Observable newBefore) + { + if (newBefore != before) + { + NotificationChain msgs = null; + if (before != null) + msgs = ((InternalEObject)before).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__BEFORE, null, msgs); + if (newBefore != null) + msgs = ((InternalEObject)newBefore).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__BEFORE, null, msgs); + msgs = basicSetBefore(newBefore, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__BEFORE, newBefore, newBefore)); + } + + /** + * + * + * @generated + */ + public LowerBound getLower() + { + return lower; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLower(LowerBound newLower, NotificationChain msgs) + { + LowerBound oldLower = lower; + lower = newLower; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__LOWER, oldLower, newLower); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLower(LowerBound newLower) + { + if (newLower != lower) + { + NotificationChain msgs = null; + if (lower != null) + msgs = ((InternalEObject)lower).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__LOWER, null, msgs); + if (newLower != null) + msgs = ((InternalEObject)newLower).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__LOWER, null, msgs); + msgs = basicSetLower(newLower, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__LOWER, newLower, newLower)); + } + + /** + * + * + * @generated + */ + public UpperBound getUpper() + { + return upper; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUpper(UpperBound newUpper, NotificationChain msgs) + { + UpperBound oldUpper = upper; + upper = newUpper; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__UPPER, oldUpper, newUpper); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUpper(UpperBound newUpper) + { + if (newUpper != upper) + { + NotificationChain msgs = null; + if (upper != null) + msgs = ((InternalEObject)upper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__UPPER, null, msgs); + if (newUpper != null) + msgs = ((InternalEObject)newUpper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__UPPER, null, msgs); + msgs = basicSetUpper(newUpper, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__UPPER, newUpper, newUpper)); + } + + /** + * + * + * @generated + */ + public Observable getAfter() + { + return after; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAfter(Observable newAfter, NotificationChain msgs) + { + Observable oldAfter = after; + after = newAfter; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__AFTER, oldAfter, newAfter); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAfter(Observable newAfter) + { + if (newAfter != after) + { + NotificationChain msgs = null; + if (after != null) + msgs = ((InternalEObject)after).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__AFTER, null, msgs); + if (newAfter != null) + msgs = ((InternalEObject)newAfter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__AFTER, null, msgs); + msgs = basicSetAfter(newAfter, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__AFTER, newAfter, newAfter)); + } + + /** + * + * + * @generated + */ + public Observable getUntil() + { + return until; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUntil(Observable newUntil, NotificationChain msgs) + { + Observable oldUntil = until; + until = newUntil; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__UNTIL, oldUntil, newUntil); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUntil(Observable newUntil) + { + if (newUntil != until) + { + NotificationChain msgs = null; + if (until != null) + msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__UNTIL, null, msgs); + if (newUntil != null) + msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__UNTIL, null, msgs); + msgs = basicSetUntil(newUntil, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__UNTIL, newUntil, newUntil)); + } + + /** + * + * + * @generated + */ + public Observable getMin() + { + return min; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMin(Observable newMin, NotificationChain msgs) + { + Observable oldMin = min; + min = newMin; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__MIN, oldMin, newMin); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMin(Observable newMin) + { + if (newMin != min) + { + NotificationChain msgs = null; + if (min != null) + msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__MIN, null, msgs); + if (newMin != null) + msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__MIN, null, msgs); + msgs = basicSetMin(newMin, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__MIN, newMin, newMin)); + } + + /** + * + * + * @generated + */ + public Observable getMax() + { + return max; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMax(Observable newMax, NotificationChain msgs) + { + Observable oldMax = max; + max = newMax; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__MAX, oldMax, newMax); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMax(Observable newMax) + { + if (newMax != max) + { + NotificationChain msgs = null; + if (max != null) + msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__MAX, null, msgs); + if (newMax != null) + msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LEADS_TO_PATTERN__MAX, null, msgs); + msgs = basicSetMax(newMax, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LEADS_TO_PATTERN__MAX, newMax, newMax)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + return basicSetFollower(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + return basicSetBefore(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + return basicSetLower(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + return basicSetUpper(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + return basicSetAfter(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + return basicSetUntil(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__MIN: + return basicSetMin(null, msgs); + case FiacrePackage.LEADS_TO_PATTERN__MAX: + return basicSetMax(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + return getSubject(); + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + return getFollower(); + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + return getBefore(); + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + return getLower(); + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + return getUpper(); + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + return getAfter(); + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + return getUntil(); + case FiacrePackage.LEADS_TO_PATTERN__MIN: + return getMin(); + case FiacrePackage.LEADS_TO_PATTERN__MAX: + return getMax(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + setFollower((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + setBefore((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + setLower((LowerBound)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + setUpper((UpperBound)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + setAfter((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + setUntil((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__MIN: + setMin((Observable)newValue); + return; + case FiacrePackage.LEADS_TO_PATTERN__MAX: + setMax((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + setFollower((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + setBefore((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + setLower((LowerBound)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + setUpper((UpperBound)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + setAfter((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + setUntil((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__MIN: + setMin((Observable)null); + return; + case FiacrePackage.LEADS_TO_PATTERN__MAX: + setMax((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LEADS_TO_PATTERN__SUBJECT: + return subject != null; + case FiacrePackage.LEADS_TO_PATTERN__FOLLOWER: + return follower != null; + case FiacrePackage.LEADS_TO_PATTERN__BEFORE: + return before != null; + case FiacrePackage.LEADS_TO_PATTERN__LOWER: + return lower != null; + case FiacrePackage.LEADS_TO_PATTERN__UPPER: + return upper != null; + case FiacrePackage.LEADS_TO_PATTERN__AFTER: + return after != null; + case FiacrePackage.LEADS_TO_PATTERN__UNTIL: + return until != null; + case FiacrePackage.LEADS_TO_PATTERN__MIN: + return min != null; + case FiacrePackage.LEADS_TO_PATTERN__MAX: + return max != null; + } + return super.eIsSet(featureID); + } + +} //LeadsToPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeaveStateEventImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeaveStateEventImpl.java new file mode 100644 index 0000000..a1b9e55 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LeaveStateEventImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LeaveStateEvent; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Leave State Event'. + * + * + * @generated + */ +public class LeaveStateEventImpl extends StateEventImpl implements LeaveStateEvent +{ + /** + * + * + * @generated + */ + protected LeaveStateEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLeaveStateEvent(); + } + +} //LeaveStateEventImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LiteralExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LiteralExpressionImpl.java new file mode 100644 index 0000000..c9e3db9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LiteralExpressionImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LiteralExpression; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Literal Expression'. + * + * + * @generated + */ +public class LiteralExpressionImpl extends ValueExpressionImpl implements LiteralExpression +{ + /** + * + * + * @generated + */ + protected LiteralExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLiteralExpression(); + } + +} //LiteralExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LocalPortsDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LocalPortsDeclarationImpl.java new file mode 100644 index 0000000..28f1bc8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LocalPortsDeclarationImpl.java @@ -0,0 +1,396 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.LowerBound; +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; +import fr.irit.fiacre.xtext.fiacre.UpperBound; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Local Ports Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LocalPortsDeclarationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class LocalPortsDeclarationImpl extends MinimalEObjectImpl.Container implements LocalPortsDeclaration +{ + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected ChannelType type; + + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LowerBound left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected UpperBound right; + + /** + * + * + * @generated + */ + protected LocalPortsDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLocalPortsDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(PortDeclaration.class, this, FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + public ChannelType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(ChannelType newType, NotificationChain msgs) + { + ChannelType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(ChannelType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public LowerBound getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LowerBound newLeft, NotificationChain msgs) + { + LowerBound oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LowerBound newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public UpperBound getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(UpperBound newRight, NotificationChain msgs) + { + UpperBound oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(UpperBound newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + return getPorts(); + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + return getType(); + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + return getLeft(); + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + setType((ChannelType)newValue); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + setLeft((LowerBound)newValue); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + setRight((UpperBound)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + getPorts().clear(); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + setType((ChannelType)null); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + setLeft((LowerBound)null); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + setRight((UpperBound)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LOCAL_PORTS_DECLARATION__PORTS: + return ports != null && !ports.isEmpty(); + case FiacrePackage.LOCAL_PORTS_DECLARATION__TYPE: + return type != null; + case FiacrePackage.LOCAL_PORTS_DECLARATION__LEFT: + return left != null; + case FiacrePackage.LOCAL_PORTS_DECLARATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //LocalPortsDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LoopStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LoopStatementImpl.java new file mode 100644 index 0000000..cb7f306 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LoopStatementImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LoopStatement; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Loop Statement'. + * + * + * @generated + */ +public class LoopStatementImpl extends StatementImpl implements LoopStatement +{ + /** + * + * + * @generated + */ + protected LoopStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLoopStatement(); + } + +} //LoopStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LowerBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LowerBoundImpl.java new file mode 100644 index 0000000..c79f5a0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/LowerBoundImpl.java @@ -0,0 +1,244 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LowerBound; + +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; + +/** + * + * An implementation of the model object 'Lower Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LowerBoundImpl#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.LowerBoundImpl#isRight Right}
  • + *
+ * + * @generated + */ +public class LowerBoundImpl extends MinimalEObjectImpl.Container implements LowerBound +{ + /** + * The default value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected static final boolean LEFT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected boolean left = LEFT_EDEFAULT; + + /** + * The default value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected static final boolean RIGHT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected boolean right = RIGHT_EDEFAULT; + + /** + * + * + * @generated + */ + protected LowerBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getLowerBound(); + } + + /** + * + * + * @generated + */ + public boolean isLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public void setLeft(boolean newLeft) + { + boolean oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LOWER_BOUND__LEFT, oldLeft, left)); + } + + /** + * + * + * @generated + */ + public boolean isRight() + { + return right; + } + + /** + * + * + * @generated + */ + public void setRight(boolean newRight) + { + boolean oldRight = right; + right = newRight; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.LOWER_BOUND__RIGHT, oldRight, right)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.LOWER_BOUND__LEFT: + return isLeft(); + case FiacrePackage.LOWER_BOUND__RIGHT: + return isRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.LOWER_BOUND__LEFT: + setLeft((Boolean)newValue); + return; + case FiacrePackage.LOWER_BOUND__RIGHT: + setRight((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.LOWER_BOUND__LEFT: + setLeft(LEFT_EDEFAULT); + return; + case FiacrePackage.LOWER_BOUND__RIGHT: + setRight(RIGHT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.LOWER_BOUND__LEFT: + return left != LEFT_EDEFAULT; + case FiacrePackage.LOWER_BOUND__RIGHT: + return right != RIGHT_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (left: "); + result.append(left); + result.append(", right: "); + result.append(right); + result.append(')'); + return result.toString(); + } + +} //LowerBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModelImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModelImpl.java new file mode 100644 index 0000000..fcf9e83 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModelImpl.java @@ -0,0 +1,295 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ImportDeclaration; +import fr.irit.fiacre.xtext.fiacre.Model; +import fr.irit.fiacre.xtext.fiacre.Requirement; +import fr.irit.fiacre.xtext.fiacre.Root; + +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; + +/** + * + * An implementation of the model object 'Model'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModelImpl#getImports Imports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModelImpl#getDeclarations Declarations}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModelImpl#getRequirements Requirements}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModelImpl#getRoot Root}
  • + *
+ * + * @generated + */ +public class ModelImpl extends MinimalEObjectImpl.Container implements Model +{ + /** + * The cached value of the '{@link #getImports() Imports}' containment reference list. + * + * + * @see #getImports() + * @generated + * @ordered + */ + protected EList imports; + + /** + * The cached value of the '{@link #getDeclarations() Declarations}' containment reference list. + * + * + * @see #getDeclarations() + * @generated + * @ordered + */ + protected EList declarations; + + /** + * The cached value of the '{@link #getRequirements() Requirements}' containment reference list. + * + * + * @see #getRequirements() + * @generated + * @ordered + */ + protected EList requirements; + + /** + * The cached value of the '{@link #getRoot() Root}' containment reference list. + * + * + * @see #getRoot() + * @generated + * @ordered + */ + protected EList root; + + /** + * + * + * @generated + */ + protected ModelImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getModel(); + } + + /** + * + * + * @generated + */ + public EList getImports() + { + if (imports == null) + { + imports = new EObjectContainmentEList(ImportDeclaration.class, this, FiacrePackage.MODEL__IMPORTS); + } + return imports; + } + + /** + * + * + * @generated + */ + public EList getDeclarations() + { + if (declarations == null) + { + declarations = new EObjectContainmentEList(Declaration.class, this, FiacrePackage.MODEL__DECLARATIONS); + } + return declarations; + } + + /** + * + * + * @generated + */ + public EList getRequirements() + { + if (requirements == null) + { + requirements = new EObjectContainmentEList(Requirement.class, this, FiacrePackage.MODEL__REQUIREMENTS); + } + return requirements; + } + + /** + * + * + * @generated + */ + public EList getRoot() + { + if (root == null) + { + root = new EObjectContainmentEList(Root.class, this, FiacrePackage.MODEL__ROOT); + } + return root; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.MODEL__IMPORTS: + return ((InternalEList)getImports()).basicRemove(otherEnd, msgs); + case FiacrePackage.MODEL__DECLARATIONS: + return ((InternalEList)getDeclarations()).basicRemove(otherEnd, msgs); + case FiacrePackage.MODEL__REQUIREMENTS: + return ((InternalEList)getRequirements()).basicRemove(otherEnd, msgs); + case FiacrePackage.MODEL__ROOT: + return ((InternalEList)getRoot()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.MODEL__IMPORTS: + return getImports(); + case FiacrePackage.MODEL__DECLARATIONS: + return getDeclarations(); + case FiacrePackage.MODEL__REQUIREMENTS: + return getRequirements(); + case FiacrePackage.MODEL__ROOT: + return getRoot(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.MODEL__IMPORTS: + getImports().clear(); + getImports().addAll((Collection)newValue); + return; + case FiacrePackage.MODEL__DECLARATIONS: + getDeclarations().clear(); + getDeclarations().addAll((Collection)newValue); + return; + case FiacrePackage.MODEL__REQUIREMENTS: + getRequirements().clear(); + getRequirements().addAll((Collection)newValue); + return; + case FiacrePackage.MODEL__ROOT: + getRoot().clear(); + getRoot().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.MODEL__IMPORTS: + getImports().clear(); + return; + case FiacrePackage.MODEL__DECLARATIONS: + getDeclarations().clear(); + return; + case FiacrePackage.MODEL__REQUIREMENTS: + getRequirements().clear(); + return; + case FiacrePackage.MODEL__ROOT: + getRoot().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.MODEL__IMPORTS: + return imports != null && !imports.isEmpty(); + case FiacrePackage.MODEL__DECLARATIONS: + return declarations != null && !declarations.isEmpty(); + case FiacrePackage.MODEL__REQUIREMENTS: + return requirements != null && !requirements.isEmpty(); + case FiacrePackage.MODEL__ROOT: + return root != null && !root.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ModelImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModuloImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModuloImpl.java new file mode 100644 index 0000000..3246235 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ModuloImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Modulo; + +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; + +/** + * + * An implementation of the model object 'Modulo'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModuloImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ModuloImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ModuloImpl extends ExpressionImpl implements Modulo +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected ModuloImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getModulo(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.MODULO__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MODULO__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MODULO__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.MODULO__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.MODULO__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MODULO__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MODULO__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.MODULO__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.MODULO__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.MODULO__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.MODULO__LEFT: + return getLeft(); + case FiacrePackage.MODULO__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.MODULO__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.MODULO__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.MODULO__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.MODULO__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.MODULO__LEFT: + return left != null; + case FiacrePackage.MODULO__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ModuloImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MortalPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MortalPatternImpl.java new file mode 100644 index 0000000..f0bb202 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MortalPatternImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.MortalPattern; +import fr.irit.fiacre.xtext.fiacre.Observable; + +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; + +/** + * + * An implementation of the model object 'Mortal Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.MortalPatternImpl#getSubject Subject}
  • + *
+ * + * @generated + */ +public class MortalPatternImpl extends PatternPropertyImpl implements MortalPattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * + * + * @generated + */ + protected MortalPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getMortalPattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.MORTAL_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MORTAL_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MORTAL_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.MORTAL_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + return getSubject(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.MORTAL_PATTERN__SUBJECT: + return subject != null; + } + return super.eIsSet(featureID); + } + +} //MortalPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MultiplicationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MultiplicationImpl.java new file mode 100644 index 0000000..198e6e9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/MultiplicationImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Multiplication; + +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; + +/** + * + * An implementation of the model object 'Multiplication'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.MultiplicationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.MultiplicationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class MultiplicationImpl extends ExpressionImpl implements Multiplication +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected MultiplicationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getMultiplication(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.MULTIPLICATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MULTIPLICATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MULTIPLICATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.MULTIPLICATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.MULTIPLICATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MULTIPLICATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.MULTIPLICATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.MULTIPLICATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.MULTIPLICATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.MULTIPLICATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.MULTIPLICATION__LEFT: + return getLeft(); + case FiacrePackage.MULTIPLICATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.MULTIPLICATION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.MULTIPLICATION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.MULTIPLICATION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.MULTIPLICATION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.MULTIPLICATION__LEFT: + return left != null; + case FiacrePackage.MULTIPLICATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //MultiplicationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedElementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedElementImpl.java new file mode 100644 index 0000000..1e19919 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedElementImpl.java @@ -0,0 +1,188 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; + +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; + +/** + * + * An implementation of the model object 'Named Element'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NamedElementImpl#getName Name}
  • + *
+ * + * @generated + */ +public class NamedElementImpl extends MinimalEObjectImpl.Container implements NamedElement +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected NamedElementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNamedElement(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NAMED_ELEMENT__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //NamedElementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedItemImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedItemImpl.java new file mode 100644 index 0000000..e6fef53 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NamedItemImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedItem; +import fr.irit.fiacre.xtext.fiacre.PathDeclarationUse; + +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; + +/** + * + * An implementation of the model object 'Named Item'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NamedItemImpl#getDeclaration Declaration}
  • + *
+ * + * @generated + */ +public class NamedItemImpl extends PathItemImpl implements NamedItem +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected PathDeclarationUse declaration; + + /** + * + * + * @generated + */ + protected NamedItemImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNamedItem(); + } + + /** + * + * + * @generated + */ + public PathDeclarationUse getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (PathDeclarationUse)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.NAMED_ITEM__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public PathDeclarationUse basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(PathDeclarationUse newDeclaration) + { + PathDeclarationUse oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NAMED_ITEM__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NAMED_ITEM__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NAMED_ITEM__DECLARATION: + setDeclaration((PathDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NAMED_ITEM__DECLARATION: + setDeclaration((PathDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NAMED_ITEM__DECLARATION: + return declaration != null; + } + return super.eIsSet(featureID); + } + +} //NamedItemImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalItemImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalItemImpl.java new file mode 100644 index 0000000..a132b0f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalItemImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalItem; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Natural Item'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalItemImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class NaturalItemImpl extends PathItemImpl implements NaturalItem +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NaturalItemImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNaturalItem(); + } + + /** + * + * + * @generated + */ + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) + { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_ITEM__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NATURAL_ITEM__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NATURAL_ITEM__VALUE: + setValue((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_ITEM__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_ITEM__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //NaturalItemImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLiteralImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLiteralImpl.java new file mode 100644 index 0000000..389c22b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLiteralImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Natural Literal'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalLiteralImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class NaturalLiteralImpl extends LiteralExpressionImpl implements NaturalLiteral +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NaturalLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNaturalLiteral(); + } + + /** + * + * + * @generated + */ + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) + { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_LITERAL__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LITERAL__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LITERAL__VALUE: + setValue((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LITERAL__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LITERAL__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //NaturalLiteralImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLowerBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLowerBoundImpl.java new file mode 100644 index 0000000..ac3afdf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalLowerBoundImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalLowerBound; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Natural Lower Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalLowerBoundImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class NaturalLowerBoundImpl extends LowerBoundImpl implements NaturalLowerBound +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * + * + * @generated + */ + protected NaturalLowerBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNaturalLowerBound(); + } + + /** + * + * + * @generated + */ + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) + { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_LOWER_BOUND__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LOWER_BOUND__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LOWER_BOUND__VALUE: + setValue((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LOWER_BOUND__VALUE: + setValue(VALUE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_LOWER_BOUND__VALUE: + return value != VALUE_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(')'); + return result.toString(); + } + +} //NaturalLowerBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalTypeImpl.java new file mode 100644 index 0000000..e4bb8ab --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalTypeImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalType; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Natural Type'. + * + * + * @generated + */ +public class NaturalTypeImpl extends BasicTypeImpl implements NaturalType +{ + /** + * + * + * @generated + */ + protected NaturalTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNaturalType(); + } + +} //NaturalTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalUpperBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalUpperBoundImpl.java new file mode 100644 index 0000000..bf5e73e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NaturalUpperBoundImpl.java @@ -0,0 +1,299 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NaturalUpperBound; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Natural Upper Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalUpperBoundImpl#getValue Value}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalUpperBoundImpl#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.NaturalUpperBoundImpl#isRight Right}
  • + *
+ * + * @generated + */ +public class NaturalUpperBoundImpl extends UpperBoundImpl implements NaturalUpperBound +{ + /** + * The default value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected static final int VALUE_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getValue() Value}' attribute. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected int value = VALUE_EDEFAULT; + + /** + * The default value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected static final boolean LEFT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected boolean left = LEFT_EDEFAULT; + + /** + * The default value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected static final boolean RIGHT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected boolean right = RIGHT_EDEFAULT; + + /** + * + * + * @generated + */ + protected NaturalUpperBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNaturalUpperBound(); + } + + /** + * + * + * @generated + */ + public int getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public void setValue(int newValue) + { + int oldValue = value; + value = newValue; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_UPPER_BOUND__VALUE, oldValue, value)); + } + + /** + * + * + * @generated + */ + public boolean isLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public void setLeft(boolean newLeft) + { + boolean oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_UPPER_BOUND__LEFT, oldLeft, left)); + } + + /** + * + * + * @generated + */ + public boolean isRight() + { + return right; + } + + /** + * + * + * @generated + */ + public void setRight(boolean newRight) + { + boolean oldRight = right; + right = newRight; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.NATURAL_UPPER_BOUND__RIGHT, oldRight, right)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.NATURAL_UPPER_BOUND__VALUE: + return getValue(); + case FiacrePackage.NATURAL_UPPER_BOUND__LEFT: + return isLeft(); + case FiacrePackage.NATURAL_UPPER_BOUND__RIGHT: + return isRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.NATURAL_UPPER_BOUND__VALUE: + setValue((Integer)newValue); + return; + case FiacrePackage.NATURAL_UPPER_BOUND__LEFT: + setLeft((Boolean)newValue); + return; + case FiacrePackage.NATURAL_UPPER_BOUND__RIGHT: + setRight((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_UPPER_BOUND__VALUE: + setValue(VALUE_EDEFAULT); + return; + case FiacrePackage.NATURAL_UPPER_BOUND__LEFT: + setLeft(LEFT_EDEFAULT); + return; + case FiacrePackage.NATURAL_UPPER_BOUND__RIGHT: + setRight(RIGHT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.NATURAL_UPPER_BOUND__VALUE: + return value != VALUE_EDEFAULT; + case FiacrePackage.NATURAL_UPPER_BOUND__LEFT: + return left != LEFT_EDEFAULT; + case FiacrePackage.NATURAL_UPPER_BOUND__RIGHT: + return right != RIGHT_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (value: "); + result.append(value); + result.append(", left: "); + result.append(left); + result.append(", right: "); + result.append(right); + result.append(')'); + return result.toString(); + } + +} //NaturalUpperBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NullStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NullStatementImpl.java new file mode 100644 index 0000000..e522ee2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/NullStatementImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NullStatement; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Null Statement'. + * + * + * @generated + */ +public class NullStatementImpl extends StatementImpl implements NullStatement +{ + /** + * + * + * @generated + */ + protected NullStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getNullStatement(); + } + +} //NullStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableConjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableConjunctionImpl.java new file mode 100644 index 0000000..466c98e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableConjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.ObservableConjunction; + +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; + +/** + * + * An implementation of the model object 'Observable Conjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableConjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableConjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ObservableConjunctionImpl extends ObservableImpl implements ObservableConjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Observable left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Observable right; + + /** + * + * + * @generated + */ + protected ObservableConjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservableConjunction(); + } + + /** + * + * + * @generated + */ + public Observable getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Observable newLeft, NotificationChain msgs) + { + Observable oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Observable newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Observable getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Observable newRight, NotificationChain msgs) + { + Observable oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Observable newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + setLeft((Observable)newValue); + return; + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + setRight((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + setLeft((Observable)null); + return; + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + setRight((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_CONJUNCTION__LEFT: + return left != null; + case FiacrePackage.OBSERVABLE_CONJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ObservableConjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableDisjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableDisjunctionImpl.java new file mode 100644 index 0000000..ec7c982 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableDisjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.ObservableDisjunction; + +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; + +/** + * + * An implementation of the model object 'Observable Disjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableDisjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableDisjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ObservableDisjunctionImpl extends ObservableImpl implements ObservableDisjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Observable left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Observable right; + + /** + * + * + * @generated + */ + protected ObservableDisjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservableDisjunction(); + } + + /** + * + * + * @generated + */ + public Observable getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Observable newLeft, NotificationChain msgs) + { + Observable oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Observable newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Observable getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Observable newRight, NotificationChain msgs) + { + Observable oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Observable newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + setLeft((Observable)newValue); + return; + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + setRight((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + setLeft((Observable)null); + return; + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + setRight((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_DISJUNCTION__LEFT: + return left != null; + case FiacrePackage.OBSERVABLE_DISJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ObservableDisjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableEventImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableEventImpl.java new file mode 100644 index 0000000..b212e86 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableEventImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ObservableEvent; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Observable Event'. + * + * + * @generated + */ +public class ObservableEventImpl extends LTLPropertyImpl implements ObservableEvent +{ + /** + * + * + * @generated + */ + protected ObservableEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservableEvent(); + } + +} //ObservableEventImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImpl.java new file mode 100644 index 0000000..9dfd765 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Observable'. + * + * + * @generated + */ +public class ObservableImpl extends SequencePatternImpl implements Observable +{ + /** + * + * + * @generated + */ + protected ObservableImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservable(); + } + +} //ObservableImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImplicationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImplicationImpl.java new file mode 100644 index 0000000..e69aff9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableImplicationImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.ObservableImplication; + +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; + +/** + * + * An implementation of the model object 'Observable Implication'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableImplicationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableImplicationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class ObservableImplicationImpl extends ObservableImpl implements ObservableImplication +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Observable left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Observable right; + + /** + * + * + * @generated + */ + protected ObservableImplicationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservableImplication(); + } + + /** + * + * + * @generated + */ + public Observable getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Observable newLeft, NotificationChain msgs) + { + Observable oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_IMPLICATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Observable newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_IMPLICATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_IMPLICATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_IMPLICATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Observable getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Observable newRight, NotificationChain msgs) + { + Observable oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Observable newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + return getLeft(); + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + setLeft((Observable)newValue); + return; + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + setRight((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + setLeft((Observable)null); + return; + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + setRight((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_IMPLICATION__LEFT: + return left != null; + case FiacrePackage.OBSERVABLE_IMPLICATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //ObservableImplicationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableNegationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableNegationImpl.java new file mode 100644 index 0000000..bfc2ad4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ObservableNegationImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.ObservableNegation; + +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; + +/** + * + * An implementation of the model object 'Observable Negation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ObservableNegationImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class ObservableNegationImpl extends ObservableImpl implements ObservableNegation +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Observable child; + + /** + * + * + * @generated + */ + protected ObservableNegationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getObservableNegation(); + } + + /** + * + * + * @generated + */ + public Observable getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Observable newChild, NotificationChain msgs) + { + Observable oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_NEGATION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Observable newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_NEGATION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.OBSERVABLE_NEGATION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.OBSERVABLE_NEGATION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + setChild((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + setChild((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.OBSERVABLE_NEGATION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //ObservableNegationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/OnStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/OnStatementImpl.java new file mode 100644 index 0000000..5fd3431 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/OnStatementImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.OnStatement; + +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; + +/** + * + * An implementation of the model object 'On Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.OnStatementImpl#getCondition Condition}
  • + *
+ * + * @generated + */ +public class OnStatementImpl extends StatementImpl implements OnStatement +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * + * + * @generated + */ + protected OnStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getOnStatement(); + } + + /** + * + * + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.ON_STATEMENT__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ON_STATEMENT__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.ON_STATEMENT__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ON_STATEMENT__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.ON_STATEMENT__CONDITION: + return basicSetCondition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ON_STATEMENT__CONDITION: + return getCondition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ON_STATEMENT__CONDITION: + setCondition((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ON_STATEMENT__CONDITION: + setCondition((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ON_STATEMENT__CONDITION: + return condition != null; + } + return super.eIsSet(featureID); + } + +} //OnStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterDeclarationImpl.java new file mode 100644 index 0000000..6ef700a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterDeclarationImpl.java @@ -0,0 +1,331 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterDeclaration; + +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; + +/** + * + * An implementation of the model object 'Parameter Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParameterDeclarationImpl#isReference Reference}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParameterDeclarationImpl#isArray Array}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParameterDeclarationImpl#getSize Size}
  • + *
+ * + * @generated + */ +public class ParameterDeclarationImpl extends NamedElementImpl implements ParameterDeclaration +{ + /** + * The default value of the '{@link #isReference() Reference}' attribute. + * + * + * @see #isReference() + * @generated + * @ordered + */ + protected static final boolean REFERENCE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isReference() Reference}' attribute. + * + * + * @see #isReference() + * @generated + * @ordered + */ + protected boolean reference = REFERENCE_EDEFAULT; + + /** + * The default value of the '{@link #isArray() Array}' attribute. + * + * + * @see #isArray() + * @generated + * @ordered + */ + protected static final boolean ARRAY_EDEFAULT = false; + + /** + * The cached value of the '{@link #isArray() Array}' attribute. + * + * + * @see #isArray() + * @generated + * @ordered + */ + protected boolean array = ARRAY_EDEFAULT; + + /** + * The cached value of the '{@link #getSize() Size}' containment reference. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected Expression size; + + /** + * + * + * @generated + */ + protected ParameterDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getParameterDeclaration(); + } + + /** + * + * + * @generated + */ + public boolean isReference() + { + return reference; + } + + /** + * + * + * @generated + */ + public void setReference(boolean newReference) + { + boolean oldReference = reference; + reference = newReference; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETER_DECLARATION__REFERENCE, oldReference, reference)); + } + + /** + * + * + * @generated + */ + public boolean isArray() + { + return array; + } + + /** + * + * + * @generated + */ + public void setArray(boolean newArray) + { + boolean oldArray = array; + array = newArray; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETER_DECLARATION__ARRAY, oldArray, array)); + } + + /** + * + * + * @generated + */ + public Expression getSize() + { + return size; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSize(Expression newSize, NotificationChain msgs) + { + Expression oldSize = size; + size = newSize; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETER_DECLARATION__SIZE, oldSize, newSize); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSize(Expression newSize) + { + if (newSize != size) + { + NotificationChain msgs = null; + if (size != null) + msgs = ((InternalEObject)size).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PARAMETER_DECLARATION__SIZE, null, msgs); + if (newSize != null) + msgs = ((InternalEObject)newSize).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PARAMETER_DECLARATION__SIZE, null, msgs); + msgs = basicSetSize(newSize, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETER_DECLARATION__SIZE, newSize, newSize)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + return basicSetSize(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PARAMETER_DECLARATION__REFERENCE: + return isReference(); + case FiacrePackage.PARAMETER_DECLARATION__ARRAY: + return isArray(); + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + return getSize(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PARAMETER_DECLARATION__REFERENCE: + setReference((Boolean)newValue); + return; + case FiacrePackage.PARAMETER_DECLARATION__ARRAY: + setArray((Boolean)newValue); + return; + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + setSize((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETER_DECLARATION__REFERENCE: + setReference(REFERENCE_EDEFAULT); + return; + case FiacrePackage.PARAMETER_DECLARATION__ARRAY: + setArray(ARRAY_EDEFAULT); + return; + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + setSize((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETER_DECLARATION__REFERENCE: + return reference != REFERENCE_EDEFAULT; + case FiacrePackage.PARAMETER_DECLARATION__ARRAY: + return array != ARRAY_EDEFAULT; + case FiacrePackage.PARAMETER_DECLARATION__SIZE: + return size != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (reference: "); + result.append(reference); + result.append(", array: "); + result.append(array); + result.append(')'); + return result.toString(); + } + +} //ParameterDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterizedDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterizedDeclarationImpl.java new file mode 100644 index 0000000..32ec2d4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParameterizedDeclarationImpl.java @@ -0,0 +1,215 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Parameterized Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParameterizedDeclarationImpl#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParameterizedDeclarationImpl#getVariables Variables}
  • + *
+ * + * @generated + */ +public class ParameterizedDeclarationImpl extends DeclarationImpl implements ParameterizedDeclaration +{ + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * + * + * @generated + */ + protected ParameterizedDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getParameterizedDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(ParametersDeclaration.class, this, FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + public EList getVariables() + { + if (variables == null) + { + variables = new EObjectContainmentEList(VariablesDeclaration.class, this, FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + return getParameters(); + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + return getVariables(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + getParameters().clear(); + return; + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + getVariables().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: + return variables != null && !variables.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ParameterizedDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParametersDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParametersDeclarationImpl.java new file mode 100644 index 0000000..ccc4b90 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ParametersDeclarationImpl.java @@ -0,0 +1,379 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ParameterDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.Type; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Parameters Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl#isRead Read}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl#isWrite Write}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ParametersDeclarationImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ParametersDeclarationImpl extends MinimalEObjectImpl.Container implements ParametersDeclaration +{ + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The default value of the '{@link #isRead() Read}' attribute. + * + * + * @see #isRead() + * @generated + * @ordered + */ + protected static final boolean READ_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRead() Read}' attribute. + * + * + * @see #isRead() + * @generated + * @ordered + */ + protected boolean read = READ_EDEFAULT; + + /** + * The default value of the '{@link #isWrite() Write}' attribute. + * + * + * @see #isWrite() + * @generated + * @ordered + */ + protected static final boolean WRITE_EDEFAULT = false; + + /** + * The cached value of the '{@link #isWrite() Write}' attribute. + * + * + * @see #isWrite() + * @generated + * @ordered + */ + protected boolean write = WRITE_EDEFAULT; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected ParametersDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getParametersDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(ParameterDeclaration.class, this, FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + public boolean isRead() + { + return read; + } + + /** + * + * + * @generated + */ + public void setRead(boolean newRead) + { + boolean oldRead = read; + read = newRead; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETERS_DECLARATION__READ, oldRead, read)); + } + + /** + * + * + * @generated + */ + public boolean isWrite() + { + return write; + } + + /** + * + * + * @generated + */ + public void setWrite(boolean newWrite) + { + boolean oldWrite = write; + write = newWrite; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETERS_DECLARATION__WRITE, oldWrite, write)); + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETERS_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PARAMETERS_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PARAMETERS_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PARAMETERS_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + return getParameters(); + case FiacrePackage.PARAMETERS_DECLARATION__READ: + return isRead(); + case FiacrePackage.PARAMETERS_DECLARATION__WRITE: + return isWrite(); + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case FiacrePackage.PARAMETERS_DECLARATION__READ: + setRead((Boolean)newValue); + return; + case FiacrePackage.PARAMETERS_DECLARATION__WRITE: + setWrite((Boolean)newValue); + return; + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + getParameters().clear(); + return; + case FiacrePackage.PARAMETERS_DECLARATION__READ: + setRead(READ_EDEFAULT); + return; + case FiacrePackage.PARAMETERS_DECLARATION__WRITE: + setWrite(WRITE_EDEFAULT); + return; + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PARAMETERS_DECLARATION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case FiacrePackage.PARAMETERS_DECLARATION__READ: + return read != READ_EDEFAULT; + case FiacrePackage.PARAMETERS_DECLARATION__WRITE: + return write != WRITE_EDEFAULT; + case FiacrePackage.PARAMETERS_DECLARATION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (read: "); + result.append(read); + result.append(", write: "); + result.append(write); + result.append(')'); + return result.toString(); + } + +} //ParametersDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathDeclarationUseImpl.java new file mode 100644 index 0000000..aca6a4d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PathDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Path Declaration Use'. + * + * + * @generated + */ +public class PathDeclarationUseImpl extends MinimalEObjectImpl.Container implements PathDeclarationUse +{ + /** + * + * + * @generated + */ + protected PathDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPathDeclarationUse(); + } + +} //PathDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathEventImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathEventImpl.java new file mode 100644 index 0000000..90ebae9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathEventImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Path; +import fr.irit.fiacre.xtext.fiacre.PathEvent; +import fr.irit.fiacre.xtext.fiacre.Subject; + +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; + +/** + * + * An implementation of the model object 'Path Event'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PathEventImpl#getPath Path}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PathEventImpl#getItem Item}
  • + *
+ * + * @generated + */ +public class PathEventImpl extends ObservableEventImpl implements PathEvent +{ + /** + * The cached value of the '{@link #getPath() Path}' containment reference. + * + * + * @see #getPath() + * @generated + * @ordered + */ + protected Path path; + + /** + * The cached value of the '{@link #getItem() Item}' containment reference. + * + * + * @see #getItem() + * @generated + * @ordered + */ + protected Subject item; + + /** + * + * + * @generated + */ + protected PathEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPathEvent(); + } + + /** + * + * + * @generated + */ + public Path getPath() + { + return path; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPath(Path newPath, NotificationChain msgs) + { + Path oldPath = path; + path = newPath; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PATH_EVENT__PATH, oldPath, newPath); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setPath(Path newPath) + { + if (newPath != path) + { + NotificationChain msgs = null; + if (path != null) + msgs = ((InternalEObject)path).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PATH_EVENT__PATH, null, msgs); + if (newPath != null) + msgs = ((InternalEObject)newPath).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PATH_EVENT__PATH, null, msgs); + msgs = basicSetPath(newPath, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PATH_EVENT__PATH, newPath, newPath)); + } + + /** + * + * + * @generated + */ + public Subject getItem() + { + return item; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetItem(Subject newItem, NotificationChain msgs) + { + Subject oldItem = item; + item = newItem; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PATH_EVENT__ITEM, oldItem, newItem); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setItem(Subject newItem) + { + if (newItem != item) + { + NotificationChain msgs = null; + if (item != null) + msgs = ((InternalEObject)item).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PATH_EVENT__ITEM, null, msgs); + if (newItem != null) + msgs = ((InternalEObject)newItem).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PATH_EVENT__ITEM, null, msgs); + msgs = basicSetItem(newItem, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PATH_EVENT__ITEM, newItem, newItem)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PATH_EVENT__PATH: + return basicSetPath(null, msgs); + case FiacrePackage.PATH_EVENT__ITEM: + return basicSetItem(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PATH_EVENT__PATH: + return getPath(); + case FiacrePackage.PATH_EVENT__ITEM: + return getItem(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PATH_EVENT__PATH: + setPath((Path)newValue); + return; + case FiacrePackage.PATH_EVENT__ITEM: + setItem((Subject)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PATH_EVENT__PATH: + setPath((Path)null); + return; + case FiacrePackage.PATH_EVENT__ITEM: + setItem((Subject)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PATH_EVENT__PATH: + return path != null; + case FiacrePackage.PATH_EVENT__ITEM: + return item != null; + } + return super.eIsSet(featureID); + } + +} //PathEventImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathImpl.java new file mode 100644 index 0000000..32dfd6e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathImpl.java @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Path; +import fr.irit.fiacre.xtext.fiacre.PathItem; + +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; + +/** + * + * An implementation of the model object 'Path'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PathImpl#getItems Items}
  • + *
+ * + * @generated + */ +public class PathImpl extends MinimalEObjectImpl.Container implements Path +{ + /** + * The cached value of the '{@link #getItems() Items}' containment reference list. + * + * + * @see #getItems() + * @generated + * @ordered + */ + protected EList items; + + /** + * + * + * @generated + */ + protected PathImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPath(); + } + + /** + * + * + * @generated + */ + public EList getItems() + { + if (items == null) + { + items = new EObjectContainmentEList(PathItem.class, this, FiacrePackage.PATH__ITEMS); + } + return items; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PATH__ITEMS: + return ((InternalEList)getItems()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PATH__ITEMS: + return getItems(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PATH__ITEMS: + getItems().clear(); + getItems().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PATH__ITEMS: + getItems().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PATH__ITEMS: + return items != null && !items.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //PathImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathItemImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathItemImpl.java new file mode 100644 index 0000000..30096ce --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PathItemImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PathItem; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Path Item'. + * + * + * @generated + */ +public class PathItemImpl extends MinimalEObjectImpl.Container implements PathItem +{ + /** + * + * + * @generated + */ + protected PathItemImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPathItem(); + } + +} //PathItemImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternDeclarationUseImpl.java new file mode 100644 index 0000000..95684c2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Pattern Declaration Use'. + * + * + * @generated + */ +public class PatternDeclarationUseImpl extends MinimalEObjectImpl.Container implements PatternDeclarationUse +{ + /** + * + * + * @generated + */ + protected PatternDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPatternDeclarationUse(); + } + +} //PatternDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternImpl.java new file mode 100644 index 0000000..16b58fd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Pattern'. + * + * + * @generated + */ +public class PatternImpl extends PatternStatementImpl implements Pattern +{ + /** + * + * + * @generated + */ + protected PatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPattern(); + } + +} //PatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternPropertyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternPropertyImpl.java new file mode 100644 index 0000000..c9ca86a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternPropertyImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PatternProperty; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Pattern Property'. + * + * + * @generated + */ +public class PatternPropertyImpl extends PropertyImpl implements PatternProperty +{ + /** + * + * + * @generated + */ + protected PatternPropertyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPatternProperty(); + } + +} //PatternPropertyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternStatementImpl.java new file mode 100644 index 0000000..e31eae1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PatternStatementImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PatternStatement; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Pattern Statement'. + * + * + * @generated + */ +public class PatternStatementImpl extends StatementImpl implements PatternStatement +{ + /** + * + * + * @generated + */ + protected PatternStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPatternStatement(); + } + +} //PatternStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortDeclarationImpl.java new file mode 100644 index 0000000..6059cb1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortDeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Port Declaration'. + * + * + * @generated + */ +public class PortDeclarationImpl extends NamedElementImpl implements PortDeclaration +{ + /** + * + * + * @generated + */ + protected PortDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPortDeclaration(); + } + +} //PortDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortSetImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortSetImpl.java new file mode 100644 index 0000000..39e0a34 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortSetImpl.java @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortSet; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Port Set'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PortSetImpl#isAllPorts All Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PortSetImpl#getPorts Ports}
  • + *
+ * + * @generated + */ +public class PortSetImpl extends MinimalEObjectImpl.Container implements PortSet +{ + /** + * The default value of the '{@link #isAllPorts() All Ports}' attribute. + * + * + * @see #isAllPorts() + * @generated + * @ordered + */ + protected static final boolean ALL_PORTS_EDEFAULT = false; + + /** + * The cached value of the '{@link #isAllPorts() All Ports}' attribute. + * + * + * @see #isAllPorts() + * @generated + * @ordered + */ + protected boolean allPorts = ALL_PORTS_EDEFAULT; + + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * + * + * @generated + */ + protected PortSetImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPortSet(); + } + + /** + * + * + * @generated + */ + public boolean isAllPorts() + { + return allPorts; + } + + /** + * + * + * @generated + */ + public void setAllPorts(boolean newAllPorts) + { + boolean oldAllPorts = allPorts; + allPorts = newAllPorts; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PORT_SET__ALL_PORTS, oldAllPorts, allPorts)); + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(Expression.class, this, FiacrePackage.PORT_SET__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PORT_SET__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PORT_SET__ALL_PORTS: + return isAllPorts(); + case FiacrePackage.PORT_SET__PORTS: + return getPorts(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PORT_SET__ALL_PORTS: + setAllPorts((Boolean)newValue); + return; + case FiacrePackage.PORT_SET__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PORT_SET__ALL_PORTS: + setAllPorts(ALL_PORTS_EDEFAULT); + return; + case FiacrePackage.PORT_SET__PORTS: + getPorts().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PORT_SET__ALL_PORTS: + return allPorts != ALL_PORTS_EDEFAULT; + case FiacrePackage.PORT_SET__PORTS: + return ports != null && !ports.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (allPorts: "); + result.append(allPorts); + result.append(')'); + return result.toString(); + } + +} //PortSetImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortsDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortsDeclarationImpl.java new file mode 100644 index 0000000..da027ba --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PortsDeclarationImpl.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; +import fr.irit.fiacre.xtext.fiacre.PortsDeclaration; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Ports Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PortsDeclarationImpl#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PortsDeclarationImpl#getType Type}
  • + *
+ * + * @generated + */ +public class PortsDeclarationImpl extends MinimalEObjectImpl.Container implements PortsDeclaration +{ + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected ChannelType type; + + /** + * + * + * @generated + */ + protected PortsDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPortsDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(PortDeclaration.class, this, FiacrePackage.PORTS_DECLARATION__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + public ChannelType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(ChannelType newType, NotificationChain msgs) + { + ChannelType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PORTS_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(ChannelType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PORTS_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PORTS_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PORTS_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PORTS_DECLARATION__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.PORTS_DECLARATION__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PORTS_DECLARATION__PORTS: + return getPorts(); + case FiacrePackage.PORTS_DECLARATION__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PORTS_DECLARATION__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + case FiacrePackage.PORTS_DECLARATION__TYPE: + setType((ChannelType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PORTS_DECLARATION__PORTS: + getPorts().clear(); + return; + case FiacrePackage.PORTS_DECLARATION__TYPE: + setType((ChannelType)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PORTS_DECLARATION__PORTS: + return ports != null && !ports.isEmpty(); + case FiacrePackage.PORTS_DECLARATION__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //PortsDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PrecedesPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PrecedesPatternImpl.java new file mode 100644 index 0000000..1c280eb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PrecedesPatternImpl.java @@ -0,0 +1,630 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.PrecedesPattern; + +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; + +/** + * + * An implementation of the model object 'Precedes Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getFollower Follower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PrecedesPatternImpl#getMax Max}
  • + *
+ * + * @generated + */ +public class PrecedesPatternImpl extends SequencePatternImpl implements PrecedesPattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * The cached value of the '{@link #getFollower() Follower}' containment reference. + * + * + * @see #getFollower() + * @generated + * @ordered + */ + protected Observable follower; + + /** + * The cached value of the '{@link #getBefore() Before}' containment reference. + * + * + * @see #getBefore() + * @generated + * @ordered + */ + protected Observable before; + + /** + * The cached value of the '{@link #getAfter() After}' containment reference. + * + * + * @see #getAfter() + * @generated + * @ordered + */ + protected Observable after; + + /** + * The cached value of the '{@link #getUntil() Until}' containment reference. + * + * + * @see #getUntil() + * @generated + * @ordered + */ + protected Observable until; + + /** + * The cached value of the '{@link #getMin() Min}' containment reference. + * + * + * @see #getMin() + * @generated + * @ordered + */ + protected Observable min; + + /** + * The cached value of the '{@link #getMax() Max}' containment reference. + * + * + * @see #getMax() + * @generated + * @ordered + */ + protected Observable max; + + /** + * + * + * @generated + */ + protected PrecedesPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPrecedesPattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + public Observable getFollower() + { + return follower; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetFollower(Observable newFollower, NotificationChain msgs) + { + Observable oldFollower = follower; + follower = newFollower; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__FOLLOWER, oldFollower, newFollower); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setFollower(Observable newFollower) + { + if (newFollower != follower) + { + NotificationChain msgs = null; + if (follower != null) + msgs = ((InternalEObject)follower).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__FOLLOWER, null, msgs); + if (newFollower != null) + msgs = ((InternalEObject)newFollower).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__FOLLOWER, null, msgs); + msgs = basicSetFollower(newFollower, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__FOLLOWER, newFollower, newFollower)); + } + + /** + * + * + * @generated + */ + public Observable getBefore() + { + return before; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBefore(Observable newBefore, NotificationChain msgs) + { + Observable oldBefore = before; + before = newBefore; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__BEFORE, oldBefore, newBefore); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBefore(Observable newBefore) + { + if (newBefore != before) + { + NotificationChain msgs = null; + if (before != null) + msgs = ((InternalEObject)before).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__BEFORE, null, msgs); + if (newBefore != null) + msgs = ((InternalEObject)newBefore).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__BEFORE, null, msgs); + msgs = basicSetBefore(newBefore, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__BEFORE, newBefore, newBefore)); + } + + /** + * + * + * @generated + */ + public Observable getAfter() + { + return after; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAfter(Observable newAfter, NotificationChain msgs) + { + Observable oldAfter = after; + after = newAfter; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__AFTER, oldAfter, newAfter); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAfter(Observable newAfter) + { + if (newAfter != after) + { + NotificationChain msgs = null; + if (after != null) + msgs = ((InternalEObject)after).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__AFTER, null, msgs); + if (newAfter != null) + msgs = ((InternalEObject)newAfter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__AFTER, null, msgs); + msgs = basicSetAfter(newAfter, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__AFTER, newAfter, newAfter)); + } + + /** + * + * + * @generated + */ + public Observable getUntil() + { + return until; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUntil(Observable newUntil, NotificationChain msgs) + { + Observable oldUntil = until; + until = newUntil; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__UNTIL, oldUntil, newUntil); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUntil(Observable newUntil) + { + if (newUntil != until) + { + NotificationChain msgs = null; + if (until != null) + msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__UNTIL, null, msgs); + if (newUntil != null) + msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__UNTIL, null, msgs); + msgs = basicSetUntil(newUntil, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__UNTIL, newUntil, newUntil)); + } + + /** + * + * + * @generated + */ + public Observable getMin() + { + return min; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMin(Observable newMin, NotificationChain msgs) + { + Observable oldMin = min; + min = newMin; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__MIN, oldMin, newMin); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMin(Observable newMin) + { + if (newMin != min) + { + NotificationChain msgs = null; + if (min != null) + msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__MIN, null, msgs); + if (newMin != null) + msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__MIN, null, msgs); + msgs = basicSetMin(newMin, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__MIN, newMin, newMin)); + } + + /** + * + * + * @generated + */ + public Observable getMax() + { + return max; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMax(Observable newMax, NotificationChain msgs) + { + Observable oldMax = max; + max = newMax; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__MAX, oldMax, newMax); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMax(Observable newMax) + { + if (newMax != max) + { + NotificationChain msgs = null; + if (max != null) + msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__MAX, null, msgs); + if (newMax != null) + msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRECEDES_PATTERN__MAX, null, msgs); + msgs = basicSetMax(newMax, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRECEDES_PATTERN__MAX, newMax, newMax)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + return basicSetFollower(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + return basicSetBefore(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__AFTER: + return basicSetAfter(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + return basicSetUntil(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__MIN: + return basicSetMin(null, msgs); + case FiacrePackage.PRECEDES_PATTERN__MAX: + return basicSetMax(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + return getSubject(); + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + return getFollower(); + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + return getBefore(); + case FiacrePackage.PRECEDES_PATTERN__AFTER: + return getAfter(); + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + return getUntil(); + case FiacrePackage.PRECEDES_PATTERN__MIN: + return getMin(); + case FiacrePackage.PRECEDES_PATTERN__MAX: + return getMax(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + setFollower((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + setBefore((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__AFTER: + setAfter((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + setUntil((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__MIN: + setMin((Observable)newValue); + return; + case FiacrePackage.PRECEDES_PATTERN__MAX: + setMax((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + setFollower((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + setBefore((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__AFTER: + setAfter((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + setUntil((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__MIN: + setMin((Observable)null); + return; + case FiacrePackage.PRECEDES_PATTERN__MAX: + setMax((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRECEDES_PATTERN__SUBJECT: + return subject != null; + case FiacrePackage.PRECEDES_PATTERN__FOLLOWER: + return follower != null; + case FiacrePackage.PRECEDES_PATTERN__BEFORE: + return before != null; + case FiacrePackage.PRECEDES_PATTERN__AFTER: + return after != null; + case FiacrePackage.PRECEDES_PATTERN__UNTIL: + return until != null; + case FiacrePackage.PRECEDES_PATTERN__MIN: + return min != null; + case FiacrePackage.PRECEDES_PATTERN__MAX: + return max != null; + } + return super.eIsSet(featureID); + } + +} //PrecedesPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PresencePatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PresencePatternImpl.java new file mode 100644 index 0000000..c7b689d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PresencePatternImpl.java @@ -0,0 +1,774 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LowerBound; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.PresencePattern; +import fr.irit.fiacre.xtext.fiacre.UpperBound; + +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; + +/** + * + * An implementation of the model object 'Presence Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getSubject Subject}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getLasting Lasting}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getAfter After}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getLower Lower}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getUpper Upper}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getUntil Until}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getBefore Before}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getMin Min}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PresencePatternImpl#getMax Max}
  • + *
+ * + * @generated + */ +public class PresencePatternImpl extends PatternPropertyImpl implements PresencePattern +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * The default value of the '{@link #getLasting() Lasting}' attribute. + * + * + * @see #getLasting() + * @generated + * @ordered + */ + protected static final int LASTING_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getLasting() Lasting}' attribute. + * + * + * @see #getLasting() + * @generated + * @ordered + */ + protected int lasting = LASTING_EDEFAULT; + + /** + * The cached value of the '{@link #getAfter() After}' containment reference. + * + * + * @see #getAfter() + * @generated + * @ordered + */ + protected Observable after; + + /** + * The cached value of the '{@link #getLower() Lower}' containment reference. + * + * + * @see #getLower() + * @generated + * @ordered + */ + protected LowerBound lower; + + /** + * The cached value of the '{@link #getUpper() Upper}' containment reference. + * + * + * @see #getUpper() + * @generated + * @ordered + */ + protected UpperBound upper; + + /** + * The cached value of the '{@link #getUntil() Until}' containment reference. + * + * + * @see #getUntil() + * @generated + * @ordered + */ + protected Observable until; + + /** + * The cached value of the '{@link #getBefore() Before}' containment reference. + * + * + * @see #getBefore() + * @generated + * @ordered + */ + protected Observable before; + + /** + * The cached value of the '{@link #getMin() Min}' containment reference. + * + * + * @see #getMin() + * @generated + * @ordered + */ + protected Observable min; + + /** + * The cached value of the '{@link #getMax() Max}' containment reference. + * + * + * @see #getMax() + * @generated + * @ordered + */ + protected Observable max; + + /** + * + * + * @generated + */ + protected PresencePatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPresencePattern(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + public int getLasting() + { + return lasting; + } + + /** + * + * + * @generated + */ + public void setLasting(int newLasting) + { + int oldLasting = lasting; + lasting = newLasting; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__LASTING, oldLasting, lasting)); + } + + /** + * + * + * @generated + */ + public Observable getAfter() + { + return after; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAfter(Observable newAfter, NotificationChain msgs) + { + Observable oldAfter = after; + after = newAfter; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__AFTER, oldAfter, newAfter); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAfter(Observable newAfter) + { + if (newAfter != after) + { + NotificationChain msgs = null; + if (after != null) + msgs = ((InternalEObject)after).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__AFTER, null, msgs); + if (newAfter != null) + msgs = ((InternalEObject)newAfter).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__AFTER, null, msgs); + msgs = basicSetAfter(newAfter, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__AFTER, newAfter, newAfter)); + } + + /** + * + * + * @generated + */ + public LowerBound getLower() + { + return lower; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLower(LowerBound newLower, NotificationChain msgs) + { + LowerBound oldLower = lower; + lower = newLower; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__LOWER, oldLower, newLower); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLower(LowerBound newLower) + { + if (newLower != lower) + { + NotificationChain msgs = null; + if (lower != null) + msgs = ((InternalEObject)lower).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__LOWER, null, msgs); + if (newLower != null) + msgs = ((InternalEObject)newLower).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__LOWER, null, msgs); + msgs = basicSetLower(newLower, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__LOWER, newLower, newLower)); + } + + /** + * + * + * @generated + */ + public UpperBound getUpper() + { + return upper; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUpper(UpperBound newUpper, NotificationChain msgs) + { + UpperBound oldUpper = upper; + upper = newUpper; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__UPPER, oldUpper, newUpper); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUpper(UpperBound newUpper) + { + if (newUpper != upper) + { + NotificationChain msgs = null; + if (upper != null) + msgs = ((InternalEObject)upper).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__UPPER, null, msgs); + if (newUpper != null) + msgs = ((InternalEObject)newUpper).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__UPPER, null, msgs); + msgs = basicSetUpper(newUpper, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__UPPER, newUpper, newUpper)); + } + + /** + * + * + * @generated + */ + public Observable getUntil() + { + return until; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetUntil(Observable newUntil, NotificationChain msgs) + { + Observable oldUntil = until; + until = newUntil; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__UNTIL, oldUntil, newUntil); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setUntil(Observable newUntil) + { + if (newUntil != until) + { + NotificationChain msgs = null; + if (until != null) + msgs = ((InternalEObject)until).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__UNTIL, null, msgs); + if (newUntil != null) + msgs = ((InternalEObject)newUntil).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__UNTIL, null, msgs); + msgs = basicSetUntil(newUntil, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__UNTIL, newUntil, newUntil)); + } + + /** + * + * + * @generated + */ + public Observable getBefore() + { + return before; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBefore(Observable newBefore, NotificationChain msgs) + { + Observable oldBefore = before; + before = newBefore; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__BEFORE, oldBefore, newBefore); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBefore(Observable newBefore) + { + if (newBefore != before) + { + NotificationChain msgs = null; + if (before != null) + msgs = ((InternalEObject)before).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__BEFORE, null, msgs); + if (newBefore != null) + msgs = ((InternalEObject)newBefore).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__BEFORE, null, msgs); + msgs = basicSetBefore(newBefore, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__BEFORE, newBefore, newBefore)); + } + + /** + * + * + * @generated + */ + public Observable getMin() + { + return min; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMin(Observable newMin, NotificationChain msgs) + { + Observable oldMin = min; + min = newMin; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__MIN, oldMin, newMin); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMin(Observable newMin) + { + if (newMin != min) + { + NotificationChain msgs = null; + if (min != null) + msgs = ((InternalEObject)min).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__MIN, null, msgs); + if (newMin != null) + msgs = ((InternalEObject)newMin).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__MIN, null, msgs); + msgs = basicSetMin(newMin, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__MIN, newMin, newMin)); + } + + /** + * + * + * @generated + */ + public Observable getMax() + { + return max; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMax(Observable newMax, NotificationChain msgs) + { + Observable oldMax = max; + max = newMax; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__MAX, oldMax, newMax); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMax(Observable newMax) + { + if (newMax != max) + { + NotificationChain msgs = null; + if (max != null) + msgs = ((InternalEObject)max).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__MAX, null, msgs); + if (newMax != null) + msgs = ((InternalEObject)newMax).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PRESENCE_PATTERN__MAX, null, msgs); + msgs = basicSetMax(newMax, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PRESENCE_PATTERN__MAX, newMax, newMax)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + return basicSetSubject(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__AFTER: + return basicSetAfter(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__LOWER: + return basicSetLower(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__UPPER: + return basicSetUpper(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + return basicSetUntil(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + return basicSetBefore(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__MIN: + return basicSetMin(null, msgs); + case FiacrePackage.PRESENCE_PATTERN__MAX: + return basicSetMax(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + return getSubject(); + case FiacrePackage.PRESENCE_PATTERN__LASTING: + return getLasting(); + case FiacrePackage.PRESENCE_PATTERN__AFTER: + return getAfter(); + case FiacrePackage.PRESENCE_PATTERN__LOWER: + return getLower(); + case FiacrePackage.PRESENCE_PATTERN__UPPER: + return getUpper(); + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + return getUntil(); + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + return getBefore(); + case FiacrePackage.PRESENCE_PATTERN__MIN: + return getMin(); + case FiacrePackage.PRESENCE_PATTERN__MAX: + return getMax(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + setSubject((Observable)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__LASTING: + setLasting((Integer)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__AFTER: + setAfter((Observable)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__LOWER: + setLower((LowerBound)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__UPPER: + setUpper((UpperBound)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + setUntil((Observable)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + setBefore((Observable)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__MIN: + setMin((Observable)newValue); + return; + case FiacrePackage.PRESENCE_PATTERN__MAX: + setMax((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + setSubject((Observable)null); + return; + case FiacrePackage.PRESENCE_PATTERN__LASTING: + setLasting(LASTING_EDEFAULT); + return; + case FiacrePackage.PRESENCE_PATTERN__AFTER: + setAfter((Observable)null); + return; + case FiacrePackage.PRESENCE_PATTERN__LOWER: + setLower((LowerBound)null); + return; + case FiacrePackage.PRESENCE_PATTERN__UPPER: + setUpper((UpperBound)null); + return; + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + setUntil((Observable)null); + return; + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + setBefore((Observable)null); + return; + case FiacrePackage.PRESENCE_PATTERN__MIN: + setMin((Observable)null); + return; + case FiacrePackage.PRESENCE_PATTERN__MAX: + setMax((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRESENCE_PATTERN__SUBJECT: + return subject != null; + case FiacrePackage.PRESENCE_PATTERN__LASTING: + return lasting != LASTING_EDEFAULT; + case FiacrePackage.PRESENCE_PATTERN__AFTER: + return after != null; + case FiacrePackage.PRESENCE_PATTERN__LOWER: + return lower != null; + case FiacrePackage.PRESENCE_PATTERN__UPPER: + return upper != null; + case FiacrePackage.PRESENCE_PATTERN__UNTIL: + return until != null; + case FiacrePackage.PRESENCE_PATTERN__BEFORE: + return before != null; + case FiacrePackage.PRESENCE_PATTERN__MIN: + return min != null; + case FiacrePackage.PRESENCE_PATTERN__MAX: + return max != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (lasting: "); + result.append(lasting); + result.append(')'); + return result.toString(); + } + +} //PresencePatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityDeclarationImpl.java new file mode 100644 index 0000000..f2649bc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityDeclarationImpl.java @@ -0,0 +1,178 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PriorityDeclaration; +import fr.irit.fiacre.xtext.fiacre.PriorityGroup; + +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; + +/** + * + * An implementation of the model object 'Priority Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PriorityDeclarationImpl#getGroups Groups}
  • + *
+ * + * @generated + */ +public class PriorityDeclarationImpl extends MinimalEObjectImpl.Container implements PriorityDeclaration +{ + /** + * The cached value of the '{@link #getGroups() Groups}' containment reference list. + * + * + * @see #getGroups() + * @generated + * @ordered + */ + protected EList groups; + + /** + * + * + * @generated + */ + protected PriorityDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPriorityDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getGroups() + { + if (groups == null) + { + groups = new EObjectContainmentEList(PriorityGroup.class, this, FiacrePackage.PRIORITY_DECLARATION__GROUPS); + } + return groups; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + return ((InternalEList)getGroups()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + return getGroups(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + getGroups().clear(); + getGroups().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + getGroups().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_DECLARATION__GROUPS: + return groups != null && !groups.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //PriorityDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityGroupImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityGroupImpl.java new file mode 100644 index 0000000..c948010 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PriorityGroupImpl.java @@ -0,0 +1,158 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; +import fr.irit.fiacre.xtext.fiacre.PriorityGroup; + +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; + +/** + * + * An implementation of the model object 'Priority Group'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PriorityGroupImpl#getPorts Ports}
  • + *
+ * + * @generated + */ +public class PriorityGroupImpl extends MinimalEObjectImpl.Container implements PriorityGroup +{ + /** + * The cached value of the '{@link #getPorts() Ports}' reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * + * + * @generated + */ + protected PriorityGroupImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPriorityGroup(); + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectResolvingEList(PortDeclaration.class, this, FiacrePackage.PRIORITY_GROUP__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_GROUP__PORTS: + return getPorts(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_GROUP__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_GROUP__PORTS: + getPorts().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PRIORITY_GROUP__PORTS: + return ports != null && !ports.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //PriorityGroupImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProcessDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProcessDeclarationImpl.java new file mode 100644 index 0000000..be6072d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProcessDeclarationImpl.java @@ -0,0 +1,643 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.PathDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.PortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.PriorityDeclaration; +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.Transition; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +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; + +/** + * + * An implementation of the model object 'Process Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getParameters Parameters}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getVariables Variables}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getPorts Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getLocalPorts Local Ports}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getPriorities Priorities}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getStates States}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getPrelude Prelude}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProcessDeclarationImpl#getTransitions Transitions}
  • + *
+ * + * @generated + */ +public class ProcessDeclarationImpl extends RootDeclarationImpl implements ProcessDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getParameters() Parameters}' containment reference list. + * + * + * @see #getParameters() + * @generated + * @ordered + */ + protected EList parameters; + + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * The cached value of the '{@link #getPorts() Ports}' containment reference list. + * + * + * @see #getPorts() + * @generated + * @ordered + */ + protected EList ports; + + /** + * The cached value of the '{@link #getLocalPorts() Local Ports}' containment reference list. + * + * + * @see #getLocalPorts() + * @generated + * @ordered + */ + protected EList localPorts; + + /** + * The cached value of the '{@link #getPriorities() Priorities}' containment reference list. + * + * + * @see #getPriorities() + * @generated + * @ordered + */ + protected EList priorities; + + /** + * The cached value of the '{@link #getStates() States}' containment reference list. + * + * + * @see #getStates() + * @generated + * @ordered + */ + protected EList states; + + /** + * The cached value of the '{@link #getPrelude() Prelude}' containment reference. + * + * + * @see #getPrelude() + * @generated + * @ordered + */ + protected Statement prelude; + + /** + * The cached value of the '{@link #getTransitions() Transitions}' containment reference list. + * + * + * @see #getTransitions() + * @generated + * @ordered + */ + protected EList transitions; + + /** + * + * + * @generated + */ + protected ProcessDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getProcessDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROCESS_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public EList getParameters() + { + if (parameters == null) + { + parameters = new EObjectContainmentEList(ParametersDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__PARAMETERS); + } + return parameters; + } + + /** + * + * + * @generated + */ + public EList getVariables() + { + if (variables == null) + { + variables = new EObjectContainmentEList(VariablesDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + public EList getPorts() + { + if (ports == null) + { + ports = new EObjectContainmentEList(PortsDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__PORTS); + } + return ports; + } + + /** + * + * + * @generated + */ + public EList getLocalPorts() + { + if (localPorts == null) + { + localPorts = new EObjectContainmentEList(PortsDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS); + } + return localPorts; + } + + /** + * + * + * @generated + */ + public EList getPriorities() + { + if (priorities == null) + { + priorities = new EObjectContainmentEList(PriorityDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__PRIORITIES); + } + return priorities; + } + + /** + * + * + * @generated + */ + public EList getStates() + { + if (states == null) + { + states = new EObjectContainmentEList(StateDeclaration.class, this, FiacrePackage.PROCESS_DECLARATION__STATES); + } + return states; + } + + /** + * + * + * @generated + */ + public Statement getPrelude() + { + return prelude; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPrelude(Statement newPrelude, NotificationChain msgs) + { + Statement oldPrelude = prelude; + prelude = newPrelude; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROCESS_DECLARATION__PRELUDE, oldPrelude, newPrelude); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setPrelude(Statement newPrelude) + { + if (newPrelude != prelude) + { + NotificationChain msgs = null; + if (prelude != null) + msgs = ((InternalEObject)prelude).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROCESS_DECLARATION__PRELUDE, null, msgs); + if (newPrelude != null) + msgs = ((InternalEObject)newPrelude).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROCESS_DECLARATION__PRELUDE, null, msgs); + msgs = basicSetPrelude(newPrelude, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROCESS_DECLARATION__PRELUDE, newPrelude, newPrelude)); + } + + /** + * + * + * @generated + */ + public EList getTransitions() + { + if (transitions == null) + { + transitions = new EObjectContainmentEList(Transition.class, this, FiacrePackage.PROCESS_DECLARATION__TRANSITIONS); + } + return transitions; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + return ((InternalEList)getParameters()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__PORTS: + return ((InternalEList)getPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + return ((InternalEList)getLocalPorts()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + return ((InternalEList)getPriorities()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__STATES: + return ((InternalEList)getStates()).basicRemove(otherEnd, msgs); + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + return basicSetPrelude(null, msgs); + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + return ((InternalEList)getTransitions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROCESS_DECLARATION__NAME: + return getName(); + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + return getParameters(); + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + return getVariables(); + case FiacrePackage.PROCESS_DECLARATION__PORTS: + return getPorts(); + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + return getLocalPorts(); + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + return getPriorities(); + case FiacrePackage.PROCESS_DECLARATION__STATES: + return getStates(); + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + return getPrelude(); + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + return getTransitions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROCESS_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + getParameters().clear(); + getParameters().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__PORTS: + getPorts().clear(); + getPorts().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + getLocalPorts().clear(); + getLocalPorts().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + getPriorities().clear(); + getPriorities().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__STATES: + getStates().clear(); + getStates().addAll((Collection)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + setPrelude((Statement)newValue); + return; + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + getTransitions().clear(); + getTransitions().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROCESS_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + getParameters().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + getVariables().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__PORTS: + getPorts().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + getLocalPorts().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + getPriorities().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__STATES: + getStates().clear(); + return; + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + setPrelude((Statement)null); + return; + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + getTransitions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROCESS_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: + return parameters != null && !parameters.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: + return variables != null && !variables.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__PORTS: + return ports != null && !ports.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__LOCAL_PORTS: + return localPorts != null && !localPorts.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__PRIORITIES: + return priorities != null && !priorities.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__STATES: + return states != null && !states.isEmpty(); + case FiacrePackage.PROCESS_DECLARATION__PRELUDE: + return prelude != null; + case FiacrePackage.PROCESS_DECLARATION__TRANSITIONS: + return transitions != null && !transitions.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == PathDeclarationUse.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.PROCESS_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.PROCESS_DECLARATION__PARAMETERS: return FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS; + case FiacrePackage.PROCESS_DECLARATION__VARIABLES: return FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == PathDeclarationUse.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.PROCESS_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + if (baseClass == ParameterizedDeclaration.class) + { + switch (baseFeatureID) + { + case FiacrePackage.PARAMETERIZED_DECLARATION__PARAMETERS: return FiacrePackage.PROCESS_DECLARATION__PARAMETERS; + case FiacrePackage.PARAMETERIZED_DECLARATION__VARIABLES: return FiacrePackage.PROCESS_DECLARATION__VARIABLES; + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ProcessDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProjectionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProjectionImpl.java new file mode 100644 index 0000000..f979e24 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ProjectionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Projection; + +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; + +/** + * + * An implementation of the model object 'Projection'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProjectionImpl#getChannel Channel}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ProjectionImpl#getField Field}
  • + *
+ * + * @generated + */ +public class ProjectionImpl extends ExpressionImpl implements Projection +{ + /** + * The cached value of the '{@link #getChannel() Channel}' containment reference. + * + * + * @see #getChannel() + * @generated + * @ordered + */ + protected Expression channel; + + /** + * The cached value of the '{@link #getField() Field}' containment reference. + * + * + * @see #getField() + * @generated + * @ordered + */ + protected Expression field; + + /** + * + * + * @generated + */ + protected ProjectionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getProjection(); + } + + /** + * + * + * @generated + */ + public Expression getChannel() + { + return channel; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChannel(Expression newChannel, NotificationChain msgs) + { + Expression oldChannel = channel; + channel = newChannel; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROJECTION__CHANNEL, oldChannel, newChannel); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChannel(Expression newChannel) + { + if (newChannel != channel) + { + NotificationChain msgs = null; + if (channel != null) + msgs = ((InternalEObject)channel).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROJECTION__CHANNEL, null, msgs); + if (newChannel != null) + msgs = ((InternalEObject)newChannel).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROJECTION__CHANNEL, null, msgs); + msgs = basicSetChannel(newChannel, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROJECTION__CHANNEL, newChannel, newChannel)); + } + + /** + * + * + * @generated + */ + public Expression getField() + { + return field; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetField(Expression newField, NotificationChain msgs) + { + Expression oldField = field; + field = newField; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROJECTION__FIELD, oldField, newField); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setField(Expression newField) + { + if (newField != field) + { + NotificationChain msgs = null; + if (field != null) + msgs = ((InternalEObject)field).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROJECTION__FIELD, null, msgs); + if (newField != null) + msgs = ((InternalEObject)newField).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROJECTION__FIELD, null, msgs); + msgs = basicSetField(newField, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROJECTION__FIELD, newField, newField)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROJECTION__CHANNEL: + return basicSetChannel(null, msgs); + case FiacrePackage.PROJECTION__FIELD: + return basicSetField(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROJECTION__CHANNEL: + return getChannel(); + case FiacrePackage.PROJECTION__FIELD: + return getField(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROJECTION__CHANNEL: + setChannel((Expression)newValue); + return; + case FiacrePackage.PROJECTION__FIELD: + setField((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROJECTION__CHANNEL: + setChannel((Expression)null); + return; + case FiacrePackage.PROJECTION__FIELD: + setField((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROJECTION__CHANNEL: + return channel != null; + case FiacrePackage.PROJECTION__FIELD: + return field != null; + } + return super.eIsSet(featureID); + } + +} //ProjectionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyConjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyConjunctionImpl.java new file mode 100644 index 0000000..6be8104 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyConjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.PropertyConjunction; + +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; + +/** + * + * An implementation of the model object 'Property Conjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyConjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyConjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class PropertyConjunctionImpl extends PropertyImpl implements PropertyConjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Property left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Property right; + + /** + * + * + * @generated + */ + protected PropertyConjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyConjunction(); + } + + /** + * + * + * @generated + */ + public Property getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Property newLeft, NotificationChain msgs) + { + Property oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_CONJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Property newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_CONJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_CONJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_CONJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Property getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Property newRight, NotificationChain msgs) + { + Property oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_CONJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Property newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_CONJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_CONJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_CONJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + setLeft((Property)newValue); + return; + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + setRight((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + setLeft((Property)null); + return; + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + setRight((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_CONJUNCTION__LEFT: + return left != null; + case FiacrePackage.PROPERTY_CONJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //PropertyConjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationImpl.java new file mode 100644 index 0000000..cb0b939 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationImpl.java @@ -0,0 +1,329 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclaration; + +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; + +/** + * + * An implementation of the model object 'Property Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDeclarationImpl#getProperty Property}
  • + *
+ * + * @generated + */ +public class PropertyDeclarationImpl extends PropertyDeclarationUseImpl implements PropertyDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getProperty() Property}' containment reference. + * + * + * @see #getProperty() + * @generated + * @ordered + */ + protected Property property; + + /** + * + * + * @generated + */ + protected PropertyDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public Property getProperty() + { + return property; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetProperty(Property newProperty, NotificationChain msgs) + { + Property oldProperty = property; + property = newProperty; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DECLARATION__PROPERTY, oldProperty, newProperty); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setProperty(Property newProperty) + { + if (newProperty != property) + { + NotificationChain msgs = null; + if (property != null) + msgs = ((InternalEObject)property).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DECLARATION__PROPERTY, null, msgs); + if (newProperty != null) + msgs = ((InternalEObject)newProperty).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DECLARATION__PROPERTY, null, msgs); + msgs = basicSetProperty(newProperty, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DECLARATION__PROPERTY, newProperty, newProperty)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + return basicSetProperty(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DECLARATION__NAME: + return getName(); + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + return getProperty(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + setProperty((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + setProperty((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.PROPERTY_DECLARATION__PROPERTY: + return property != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.PROPERTY_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.PROPERTY_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //PropertyDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationUseImpl.java new file mode 100644 index 0000000..22811ea --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Property Declaration Use'. + * + * + * @generated + */ +public class PropertyDeclarationUseImpl extends MinimalEObjectImpl.Container implements PropertyDeclarationUse +{ + /** + * + * + * @generated + */ + protected PropertyDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyDeclarationUse(); + } + +} //PropertyDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDisjunctionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDisjunctionImpl.java new file mode 100644 index 0000000..55e0aa8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyDisjunctionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.PropertyDisjunction; + +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; + +/** + * + * An implementation of the model object 'Property Disjunction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDisjunctionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyDisjunctionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class PropertyDisjunctionImpl extends PropertyImpl implements PropertyDisjunction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Property left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Property right; + + /** + * + * + * @generated + */ + protected PropertyDisjunctionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyDisjunction(); + } + + /** + * + * + * @generated + */ + public Property getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Property newLeft, NotificationChain msgs) + { + Property oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DISJUNCTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Property newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DISJUNCTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DISJUNCTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DISJUNCTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Property getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Property newRight, NotificationChain msgs) + { + Property oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DISJUNCTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Property newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DISJUNCTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_DISJUNCTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_DISJUNCTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + return getLeft(); + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + setLeft((Property)newValue); + return; + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + setRight((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + setLeft((Property)null); + return; + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + setRight((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_DISJUNCTION__LEFT: + return left != null; + case FiacrePackage.PROPERTY_DISJUNCTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //PropertyDisjunctionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImpl.java new file mode 100644 index 0000000..1285caa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Property'. + * + * + * @generated + */ +public class PropertyImpl extends MinimalEObjectImpl.Container implements Property +{ + /** + * + * + * @generated + */ + protected PropertyImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getProperty(); + } + +} //PropertyImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImplicationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImplicationImpl.java new file mode 100644 index 0000000..6dbe818 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyImplicationImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.PropertyImplication; + +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; + +/** + * + * An implementation of the model object 'Property Implication'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyImplicationImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyImplicationImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class PropertyImplicationImpl extends PropertyImpl implements PropertyImplication +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Property left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Property right; + + /** + * + * + * @generated + */ + protected PropertyImplicationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyImplication(); + } + + /** + * + * + * @generated + */ + public Property getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Property newLeft, NotificationChain msgs) + { + Property oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_IMPLICATION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Property newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_IMPLICATION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_IMPLICATION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_IMPLICATION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Property getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Property newRight, NotificationChain msgs) + { + Property oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_IMPLICATION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Property newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_IMPLICATION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_IMPLICATION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_IMPLICATION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + return getLeft(); + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + setLeft((Property)newValue); + return; + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + setRight((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + setLeft((Property)null); + return; + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + setRight((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_IMPLICATION__LEFT: + return left != null; + case FiacrePackage.PROPERTY_IMPLICATION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //PropertyImplicationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyNegationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyNegationImpl.java new file mode 100644 index 0000000..7323e14 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/PropertyNegationImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Property; +import fr.irit.fiacre.xtext.fiacre.PropertyNegation; + +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; + +/** + * + * An implementation of the model object 'Property Negation'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.PropertyNegationImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class PropertyNegationImpl extends PropertyImpl implements PropertyNegation +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Property child; + + /** + * + * + * @generated + */ + protected PropertyNegationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getPropertyNegation(); + } + + /** + * + * + * @generated + */ + public Property getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Property newChild, NotificationChain msgs) + { + Property oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_NEGATION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Property newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_NEGATION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.PROPERTY_NEGATION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.PROPERTY_NEGATION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + setChild((Property)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + setChild((Property)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.PROPERTY_NEGATION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //PropertyNegationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueExpressionImpl.java new file mode 100644 index 0000000..bf1b939 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueExpressionImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.QueueExpression; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Queue Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.QueueExpressionImpl#getValues Values}
  • + *
+ * + * @generated + */ +public class QueueExpressionImpl extends ValueExpressionImpl implements QueueExpression +{ + /** + * The cached value of the '{@link #getValues() Values}' containment reference list. + * + * + * @see #getValues() + * @generated + * @ordered + */ + protected EList values; + + /** + * + * + * @generated + */ + protected QueueExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getQueueExpression(); + } + + /** + * + * + * @generated + */ + public EList getValues() + { + if (values == null) + { + values = new EObjectContainmentEList(Expression.class, this, FiacrePackage.QUEUE_EXPRESSION__VALUES); + } + return values; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + return ((InternalEList)getValues()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + return getValues(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + getValues().clear(); + getValues().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + getValues().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.QUEUE_EXPRESSION__VALUES: + return values != null && !values.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //QueueExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueTypeImpl.java new file mode 100644 index 0000000..ab39460 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/QueueTypeImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.QueueType; +import fr.irit.fiacre.xtext.fiacre.Type; + +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; + +/** + * + * An implementation of the model object 'Queue Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.QueueTypeImpl#getSize Size}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.QueueTypeImpl#getType Type}
  • + *
+ * + * @generated + */ +public class QueueTypeImpl extends TypeImpl implements QueueType +{ + /** + * The cached value of the '{@link #getSize() Size}' containment reference. + * + * + * @see #getSize() + * @generated + * @ordered + */ + protected Expression size; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected QueueTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getQueueType(); + } + + /** + * + * + * @generated + */ + public Expression getSize() + { + return size; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSize(Expression newSize, NotificationChain msgs) + { + Expression oldSize = size; + size = newSize; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.QUEUE_TYPE__SIZE, oldSize, newSize); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSize(Expression newSize) + { + if (newSize != size) + { + NotificationChain msgs = null; + if (size != null) + msgs = ((InternalEObject)size).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.QUEUE_TYPE__SIZE, null, msgs); + if (newSize != null) + msgs = ((InternalEObject)newSize).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.QUEUE_TYPE__SIZE, null, msgs); + msgs = basicSetSize(newSize, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.QUEUE_TYPE__SIZE, newSize, newSize)); + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.QUEUE_TYPE__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.QUEUE_TYPE__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.QUEUE_TYPE__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.QUEUE_TYPE__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.QUEUE_TYPE__SIZE: + return basicSetSize(null, msgs); + case FiacrePackage.QUEUE_TYPE__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.QUEUE_TYPE__SIZE: + return getSize(); + case FiacrePackage.QUEUE_TYPE__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.QUEUE_TYPE__SIZE: + setSize((Expression)newValue); + return; + case FiacrePackage.QUEUE_TYPE__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.QUEUE_TYPE__SIZE: + setSize((Expression)null); + return; + case FiacrePackage.QUEUE_TYPE__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.QUEUE_TYPE__SIZE: + return size != null; + case FiacrePackage.QUEUE_TYPE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //QueueTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RangeTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RangeTypeImpl.java new file mode 100644 index 0000000..755c7d0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RangeTypeImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RangeType; + +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; + +/** + * + * An implementation of the model object 'Range Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RangeTypeImpl#getMinimum Minimum}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RangeTypeImpl#getMaximum Maximum}
  • + *
+ * + * @generated + */ +public class RangeTypeImpl extends TypeImpl implements RangeType +{ + /** + * The cached value of the '{@link #getMinimum() Minimum}' containment reference. + * + * + * @see #getMinimum() + * @generated + * @ordered + */ + protected Expression minimum; + + /** + * The cached value of the '{@link #getMaximum() Maximum}' containment reference. + * + * + * @see #getMaximum() + * @generated + * @ordered + */ + protected Expression maximum; + + /** + * + * + * @generated + */ + protected RangeTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRangeType(); + } + + /** + * + * + * @generated + */ + public Expression getMinimum() + { + return minimum; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMinimum(Expression newMinimum, NotificationChain msgs) + { + Expression oldMinimum = minimum; + minimum = newMinimum; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RANGE_TYPE__MINIMUM, oldMinimum, newMinimum); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMinimum(Expression newMinimum) + { + if (newMinimum != minimum) + { + NotificationChain msgs = null; + if (minimum != null) + msgs = ((InternalEObject)minimum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RANGE_TYPE__MINIMUM, null, msgs); + if (newMinimum != null) + msgs = ((InternalEObject)newMinimum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RANGE_TYPE__MINIMUM, null, msgs); + msgs = basicSetMinimum(newMinimum, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RANGE_TYPE__MINIMUM, newMinimum, newMinimum)); + } + + /** + * + * + * @generated + */ + public Expression getMaximum() + { + return maximum; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetMaximum(Expression newMaximum, NotificationChain msgs) + { + Expression oldMaximum = maximum; + maximum = newMaximum; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RANGE_TYPE__MAXIMUM, oldMaximum, newMaximum); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setMaximum(Expression newMaximum) + { + if (newMaximum != maximum) + { + NotificationChain msgs = null; + if (maximum != null) + msgs = ((InternalEObject)maximum).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RANGE_TYPE__MAXIMUM, null, msgs); + if (newMaximum != null) + msgs = ((InternalEObject)newMaximum).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RANGE_TYPE__MAXIMUM, null, msgs); + msgs = basicSetMaximum(newMaximum, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RANGE_TYPE__MAXIMUM, newMaximum, newMaximum)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RANGE_TYPE__MINIMUM: + return basicSetMinimum(null, msgs); + case FiacrePackage.RANGE_TYPE__MAXIMUM: + return basicSetMaximum(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RANGE_TYPE__MINIMUM: + return getMinimum(); + case FiacrePackage.RANGE_TYPE__MAXIMUM: + return getMaximum(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RANGE_TYPE__MINIMUM: + setMinimum((Expression)newValue); + return; + case FiacrePackage.RANGE_TYPE__MAXIMUM: + setMaximum((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RANGE_TYPE__MINIMUM: + setMinimum((Expression)null); + return; + case FiacrePackage.RANGE_TYPE__MAXIMUM: + setMaximum((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RANGE_TYPE__MINIMUM: + return minimum != null; + case FiacrePackage.RANGE_TYPE__MAXIMUM: + return maximum != null; + } + return super.eIsSet(featureID); + } + +} //RangeTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReceiveStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReceiveStatementImpl.java new file mode 100644 index 0000000..d0e1dbb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReceiveStatementImpl.java @@ -0,0 +1,322 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; +import fr.irit.fiacre.xtext.fiacre.ReceiveStatement; + +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; + +/** + * + * An implementation of the model object 'Receive Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReceiveStatementImpl#getPort Port}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReceiveStatementImpl#getPatterns Patterns}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReceiveStatementImpl#getExp Exp}
  • + *
+ * + * @generated + */ +public class ReceiveStatementImpl extends PatternStatementImpl implements ReceiveStatement +{ + /** + * The cached value of the '{@link #getPort() Port}' containment reference. + * + * + * @see #getPort() + * @generated + * @ordered + */ + protected Pattern port; + + /** + * The cached value of the '{@link #getPatterns() Patterns}' containment reference list. + * + * + * @see #getPatterns() + * @generated + * @ordered + */ + protected EList patterns; + + /** + * The cached value of the '{@link #getExp() Exp}' containment reference. + * + * + * @see #getExp() + * @generated + * @ordered + */ + protected Expression exp; + + /** + * + * + * @generated + */ + protected ReceiveStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getReceiveStatement(); + } + + /** + * + * + * @generated + */ + public Pattern getPort() + { + return port; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPort(Pattern newPort, NotificationChain msgs) + { + Pattern oldPort = port; + port = newPort; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RECEIVE_STATEMENT__PORT, oldPort, newPort); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setPort(Pattern newPort) + { + if (newPort != port) + { + NotificationChain msgs = null; + if (port != null) + msgs = ((InternalEObject)port).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECEIVE_STATEMENT__PORT, null, msgs); + if (newPort != null) + msgs = ((InternalEObject)newPort).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECEIVE_STATEMENT__PORT, null, msgs); + msgs = basicSetPort(newPort, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECEIVE_STATEMENT__PORT, newPort, newPort)); + } + + /** + * + * + * @generated + */ + public EList getPatterns() + { + if (patterns == null) + { + patterns = new EObjectContainmentEList(Pattern.class, this, FiacrePackage.RECEIVE_STATEMENT__PATTERNS); + } + return patterns; + } + + /** + * + * + * @generated + */ + public Expression getExp() + { + return exp; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetExp(Expression newExp, NotificationChain msgs) + { + Expression oldExp = exp; + exp = newExp; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RECEIVE_STATEMENT__EXP, oldExp, newExp); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setExp(Expression newExp) + { + if (newExp != exp) + { + NotificationChain msgs = null; + if (exp != null) + msgs = ((InternalEObject)exp).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECEIVE_STATEMENT__EXP, null, msgs); + if (newExp != null) + msgs = ((InternalEObject)newExp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECEIVE_STATEMENT__EXP, null, msgs); + msgs = basicSetExp(newExp, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECEIVE_STATEMENT__EXP, newExp, newExp)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + return basicSetPort(null, msgs); + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + return ((InternalEList)getPatterns()).basicRemove(otherEnd, msgs); + case FiacrePackage.RECEIVE_STATEMENT__EXP: + return basicSetExp(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + return getPort(); + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + return getPatterns(); + case FiacrePackage.RECEIVE_STATEMENT__EXP: + return getExp(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + setPort((Pattern)newValue); + return; + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + getPatterns().clear(); + getPatterns().addAll((Collection)newValue); + return; + case FiacrePackage.RECEIVE_STATEMENT__EXP: + setExp((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + setPort((Pattern)null); + return; + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + getPatterns().clear(); + return; + case FiacrePackage.RECEIVE_STATEMENT__EXP: + setExp((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECEIVE_STATEMENT__PORT: + return port != null; + case FiacrePackage.RECEIVE_STATEMENT__PATTERNS: + return patterns != null && !patterns.isEmpty(); + case FiacrePackage.RECEIVE_STATEMENT__EXP: + return exp != null; + } + return super.eIsSet(featureID); + } + +} //ReceiveStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessExpressionImpl.java new file mode 100644 index 0000000..141fdbb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessExpressionImpl.java @@ -0,0 +1,270 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; +import fr.irit.fiacre.xtext.fiacre.RecordAccessExpression; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; + +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; + +/** + * + * An implementation of the model object 'Record Access Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessExpressionImpl#getChild Child}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessExpressionImpl#getField Field}
  • + *
+ * + * @generated + */ +public class RecordAccessExpressionImpl extends IdentifierExpressionImpl implements RecordAccessExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected IdentifierExpression child; + + /** + * The cached value of the '{@link #getField() Field}' reference. + * + * + * @see #getField() + * @generated + * @ordered + */ + protected RecordFieldDeclaration field; + + /** + * + * + * @generated + */ + protected RecordAccessExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordAccessExpression(); + } + + /** + * + * + * @generated + */ + public IdentifierExpression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(IdentifierExpression newChild, NotificationChain msgs) + { + IdentifierExpression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(IdentifierExpression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + public RecordFieldDeclaration getField() + { + if (field != null && field.eIsProxy()) + { + InternalEObject oldField = (InternalEObject)field; + field = (RecordFieldDeclaration)eResolveProxy(oldField); + if (field != oldField) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD, oldField, field)); + } + } + return field; + } + + /** + * + * + * @generated + */ + public RecordFieldDeclaration basicGetField() + { + return field; + } + + /** + * + * + * @generated + */ + public void setField(RecordFieldDeclaration newField) + { + RecordFieldDeclaration oldField = field; + field = newField; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD, oldField, field)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + return getChild(); + case FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD: + if (resolve) return getField(); + return basicGetField(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + setChild((IdentifierExpression)newValue); + return; + case FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD: + setField((RecordFieldDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + setChild((IdentifierExpression)null); + return; + case FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD: + setField((RecordFieldDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_EXPRESSION__CHILD: + return child != null; + case FiacrePackage.RECORD_ACCESS_EXPRESSION__FIELD: + return field != null; + } + return super.eIsSet(featureID); + } + +} //RecordAccessExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessPatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessPatternImpl.java new file mode 100644 index 0000000..f8cca69 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordAccessPatternImpl.java @@ -0,0 +1,270 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern; +import fr.irit.fiacre.xtext.fiacre.RecordAccessPattern; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; + +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; + +/** + * + * An implementation of the model object 'Record Access Pattern'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessPatternImpl#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordAccessPatternImpl#getField Field}
  • + *
+ * + * @generated + */ +public class RecordAccessPatternImpl extends IdentifierPatternImpl implements RecordAccessPattern +{ + /** + * The cached value of the '{@link #getSource() Source}' containment reference. + * + * + * @see #getSource() + * @generated + * @ordered + */ + protected IdentifierPattern source; + + /** + * The cached value of the '{@link #getField() Field}' reference. + * + * + * @see #getField() + * @generated + * @ordered + */ + protected RecordFieldDeclaration field; + + /** + * + * + * @generated + */ + protected RecordAccessPatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordAccessPattern(); + } + + /** + * + * + * @generated + */ + public IdentifierPattern getSource() + { + return source; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSource(IdentifierPattern newSource, NotificationChain msgs) + { + IdentifierPattern oldSource = source; + source = newSource; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE, oldSource, newSource); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSource(IdentifierPattern newSource) + { + if (newSource != source) + { + NotificationChain msgs = null; + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE, null, msgs); + if (newSource != null) + msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE, null, msgs); + msgs = basicSetSource(newSource, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE, newSource, newSource)); + } + + /** + * + * + * @generated + */ + public RecordFieldDeclaration getField() + { + if (field != null && field.eIsProxy()) + { + InternalEObject oldField = (InternalEObject)field; + field = (RecordFieldDeclaration)eResolveProxy(oldField); + if (field != oldField) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.RECORD_ACCESS_PATTERN__FIELD, oldField, field)); + } + } + return field; + } + + /** + * + * + * @generated + */ + public RecordFieldDeclaration basicGetField() + { + return field; + } + + /** + * + * + * @generated + */ + public void setField(RecordFieldDeclaration newField) + { + RecordFieldDeclaration oldField = field; + field = newField; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_ACCESS_PATTERN__FIELD, oldField, field)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + return basicSetSource(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + return getSource(); + case FiacrePackage.RECORD_ACCESS_PATTERN__FIELD: + if (resolve) return getField(); + return basicGetField(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + setSource((IdentifierPattern)newValue); + return; + case FiacrePackage.RECORD_ACCESS_PATTERN__FIELD: + setField((RecordFieldDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + setSource((IdentifierPattern)null); + return; + case FiacrePackage.RECORD_ACCESS_PATTERN__FIELD: + setField((RecordFieldDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_ACCESS_PATTERN__SOURCE: + return source != null; + case FiacrePackage.RECORD_ACCESS_PATTERN__FIELD: + return field != null; + } + return super.eIsSet(featureID); + } + +} //RecordAccessPatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordExpressionImpl.java new file mode 100644 index 0000000..bbfb821 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordExpressionImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; +import fr.irit.fiacre.xtext.fiacre.RecordExpression; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Record Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordExpressionImpl#getFields Fields}
  • + *
+ * + * @generated + */ +public class RecordExpressionImpl extends ValueExpressionImpl implements RecordExpression +{ + /** + * The cached value of the '{@link #getFields() Fields}' containment reference list. + * + * + * @see #getFields() + * @generated + * @ordered + */ + protected EList fields; + + /** + * + * + * @generated + */ + protected RecordExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordExpression(); + } + + /** + * + * + * @generated + */ + public EList getFields() + { + if (fields == null) + { + fields = new EObjectContainmentEList(FieldExpression.class, this, FiacrePackage.RECORD_EXPRESSION__FIELDS); + } + return fields; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + return ((InternalEList)getFields()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + return getFields(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + getFields().clear(); + getFields().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + getFields().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_EXPRESSION__FIELDS: + return fields != null && !fields.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //RecordExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationImpl.java new file mode 100644 index 0000000..1214f4e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Record Field Declaration'. + * + * + * @generated + */ +public class RecordFieldDeclarationImpl extends NamedElementImpl implements RecordFieldDeclaration +{ + /** + * + * + * @generated + */ + protected RecordFieldDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordFieldDeclaration(); + } + +} //RecordFieldDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationUseImpl.java new file mode 100644 index 0000000..96d2f1d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Record Field Declaration Use'. + * + * + * @generated + */ +public class RecordFieldDeclarationUseImpl extends MinimalEObjectImpl.Container implements RecordFieldDeclarationUse +{ + /** + * + * + * @generated + */ + protected RecordFieldDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordFieldDeclarationUse(); + } + +} //RecordFieldDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldsImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldsImpl.java new file mode 100644 index 0000000..dbbdbfb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordFieldsImpl.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; +import fr.irit.fiacre.xtext.fiacre.RecordFields; +import fr.irit.fiacre.xtext.fiacre.Type; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Record Fields'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordFieldsImpl#getFields Fields}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordFieldsImpl#getType Type}
  • + *
+ * + * @generated + */ +public class RecordFieldsImpl extends MinimalEObjectImpl.Container implements RecordFields +{ + /** + * The cached value of the '{@link #getFields() Fields}' containment reference list. + * + * + * @see #getFields() + * @generated + * @ordered + */ + protected EList fields; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected RecordFieldsImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordFields(); + } + + /** + * + * + * @generated + */ + public EList getFields() + { + if (fields == null) + { + fields = new EObjectContainmentEList(RecordFieldDeclaration.class, this, FiacrePackage.RECORD_FIELDS__FIELDS); + } + return fields; + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_FIELDS__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_FIELDS__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RECORD_FIELDS__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RECORD_FIELDS__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECORD_FIELDS__FIELDS: + return ((InternalEList)getFields()).basicRemove(otherEnd, msgs); + case FiacrePackage.RECORD_FIELDS__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECORD_FIELDS__FIELDS: + return getFields(); + case FiacrePackage.RECORD_FIELDS__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECORD_FIELDS__FIELDS: + getFields().clear(); + getFields().addAll((Collection)newValue); + return; + case FiacrePackage.RECORD_FIELDS__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_FIELDS__FIELDS: + getFields().clear(); + return; + case FiacrePackage.RECORD_FIELDS__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_FIELDS__FIELDS: + return fields != null && !fields.isEmpty(); + case FiacrePackage.RECORD_FIELDS__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //RecordFieldsImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordTypeImpl.java new file mode 100644 index 0000000..1abb51e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RecordTypeImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RecordFields; +import fr.irit.fiacre.xtext.fiacre.RecordType; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Record Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RecordTypeImpl#getFields Fields}
  • + *
+ * + * @generated + */ +public class RecordTypeImpl extends TypeImpl implements RecordType +{ + /** + * The cached value of the '{@link #getFields() Fields}' containment reference list. + * + * + * @see #getFields() + * @generated + * @ordered + */ + protected EList fields; + + /** + * + * + * @generated + */ + protected RecordTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRecordType(); + } + + /** + * + * + * @generated + */ + public EList getFields() + { + if (fields == null) + { + fields = new EObjectContainmentEList(RecordFields.class, this, FiacrePackage.RECORD_TYPE__FIELDS); + } + return fields; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RECORD_TYPE__FIELDS: + return ((InternalEList)getFields()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RECORD_TYPE__FIELDS: + return getFields(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RECORD_TYPE__FIELDS: + getFields().clear(); + getFields().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_TYPE__FIELDS: + getFields().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RECORD_TYPE__FIELDS: + return fields != null && !fields.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //RecordTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceDeclarationUseImpl.java new file mode 100644 index 0000000..9df3412 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Reference Declaration Use'. + * + * + * @generated + */ +public class ReferenceDeclarationUseImpl extends MinimalEObjectImpl.Container implements ReferenceDeclarationUse +{ + /** + * + * + * @generated + */ + protected ReferenceDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getReferenceDeclarationUse(); + } + +} //ReferenceDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceExpressionImpl.java new file mode 100644 index 0000000..9011c85 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferenceExpressionImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.ReferenceExpression; + +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; + +/** + * + * An implementation of the model object 'Reference Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReferenceExpressionImpl#getDeclaration Declaration}
  • + *
+ * + * @generated + */ +public class ReferenceExpressionImpl extends ExpressionImpl implements ReferenceExpression +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected ReferenceDeclarationUse declaration; + + /** + * + * + * @generated + */ + protected ReferenceExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getReferenceExpression(); + } + + /** + * + * + * @generated + */ + public ReferenceDeclarationUse getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (ReferenceDeclarationUse)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.REFERENCE_EXPRESSION__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public ReferenceDeclarationUse basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(ReferenceDeclarationUse newDeclaration) + { + ReferenceDeclarationUse oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.REFERENCE_EXPRESSION__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.REFERENCE_EXPRESSION__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.REFERENCE_EXPRESSION__DECLARATION: + setDeclaration((ReferenceDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.REFERENCE_EXPRESSION__DECLARATION: + setDeclaration((ReferenceDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.REFERENCE_EXPRESSION__DECLARATION: + return declaration != null; + } + return super.eIsSet(featureID); + } + +} //ReferenceExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferencedTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferencedTypeImpl.java new file mode 100644 index 0000000..5926f87 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReferencedTypeImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReferencedType; +import fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse; + +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; + +/** + * + * An implementation of the model object 'Referenced Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReferencedTypeImpl#getType Type}
  • + *
+ * + * @generated + */ +public class ReferencedTypeImpl extends TypeImpl implements ReferencedType +{ + /** + * The cached value of the '{@link #getType() Type}' reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected TypeDeclarationUse type; + + /** + * + * + * @generated + */ + protected ReferencedTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getReferencedType(); + } + + /** + * + * + * @generated + */ + public TypeDeclarationUse getType() + { + if (type != null && type.eIsProxy()) + { + InternalEObject oldType = (InternalEObject)type; + type = (TypeDeclarationUse)eResolveProxy(oldType); + if (type != oldType) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.REFERENCED_TYPE__TYPE, oldType, type)); + } + } + return type; + } + + /** + * + * + * @generated + */ + public TypeDeclarationUse basicGetType() + { + return type; + } + + /** + * + * + * @generated + */ + public void setType(TypeDeclarationUse newType) + { + TypeDeclarationUse oldType = type; + type = newType; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.REFERENCED_TYPE__TYPE, oldType, type)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.REFERENCED_TYPE__TYPE: + if (resolve) return getType(); + return basicGetType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.REFERENCED_TYPE__TYPE: + setType((TypeDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.REFERENCED_TYPE__TYPE: + setType((TypeDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.REFERENCED_TYPE__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //ReferencedTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RequirementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RequirementImpl.java new file mode 100644 index 0000000..f7d1d16 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RequirementImpl.java @@ -0,0 +1,311 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclaration; +import fr.irit.fiacre.xtext.fiacre.Requirement; + +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; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Requirement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RequirementImpl#getProperty Property}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RequirementImpl#getPositive Positive}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RequirementImpl#getNegative Negative}
  • + *
+ * + * @generated + */ +public class RequirementImpl extends MinimalEObjectImpl.Container implements Requirement +{ + /** + * The cached value of the '{@link #getProperty() Property}' reference. + * + * + * @see #getProperty() + * @generated + * @ordered + */ + protected PropertyDeclaration property; + + /** + * The default value of the '{@link #getPositive() Positive}' attribute. + * + * + * @see #getPositive() + * @generated + * @ordered + */ + protected static final String POSITIVE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getPositive() Positive}' attribute. + * + * + * @see #getPositive() + * @generated + * @ordered + */ + protected String positive = POSITIVE_EDEFAULT; + + /** + * The default value of the '{@link #getNegative() Negative}' attribute. + * + * + * @see #getNegative() + * @generated + * @ordered + */ + protected static final String NEGATIVE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getNegative() Negative}' attribute. + * + * + * @see #getNegative() + * @generated + * @ordered + */ + protected String negative = NEGATIVE_EDEFAULT; + + /** + * + * + * @generated + */ + protected RequirementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRequirement(); + } + + /** + * + * + * @generated + */ + public PropertyDeclaration getProperty() + { + if (property != null && property.eIsProxy()) + { + InternalEObject oldProperty = (InternalEObject)property; + property = (PropertyDeclaration)eResolveProxy(oldProperty); + if (property != oldProperty) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.REQUIREMENT__PROPERTY, oldProperty, property)); + } + } + return property; + } + + /** + * + * + * @generated + */ + public PropertyDeclaration basicGetProperty() + { + return property; + } + + /** + * + * + * @generated + */ + public void setProperty(PropertyDeclaration newProperty) + { + PropertyDeclaration oldProperty = property; + property = newProperty; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.REQUIREMENT__PROPERTY, oldProperty, property)); + } + + /** + * + * + * @generated + */ + public String getPositive() + { + return positive; + } + + /** + * + * + * @generated + */ + public void setPositive(String newPositive) + { + String oldPositive = positive; + positive = newPositive; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.REQUIREMENT__POSITIVE, oldPositive, positive)); + } + + /** + * + * + * @generated + */ + public String getNegative() + { + return negative; + } + + /** + * + * + * @generated + */ + public void setNegative(String newNegative) + { + String oldNegative = negative; + negative = newNegative; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.REQUIREMENT__NEGATIVE, oldNegative, negative)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.REQUIREMENT__PROPERTY: + if (resolve) return getProperty(); + return basicGetProperty(); + case FiacrePackage.REQUIREMENT__POSITIVE: + return getPositive(); + case FiacrePackage.REQUIREMENT__NEGATIVE: + return getNegative(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.REQUIREMENT__PROPERTY: + setProperty((PropertyDeclaration)newValue); + return; + case FiacrePackage.REQUIREMENT__POSITIVE: + setPositive((String)newValue); + return; + case FiacrePackage.REQUIREMENT__NEGATIVE: + setNegative((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.REQUIREMENT__PROPERTY: + setProperty((PropertyDeclaration)null); + return; + case FiacrePackage.REQUIREMENT__POSITIVE: + setPositive(POSITIVE_EDEFAULT); + return; + case FiacrePackage.REQUIREMENT__NEGATIVE: + setNegative(NEGATIVE_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.REQUIREMENT__PROPERTY: + return property != null; + case FiacrePackage.REQUIREMENT__POSITIVE: + return POSITIVE_EDEFAULT == null ? positive != null : !POSITIVE_EDEFAULT.equals(positive); + case FiacrePackage.REQUIREMENT__NEGATIVE: + return NEGATIVE_EDEFAULT == null ? negative != null : !NEGATIVE_EDEFAULT.equals(negative); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (positive: "); + result.append(positive); + result.append(", negative: "); + result.append(negative); + result.append(')'); + return result.toString(); + } + +} //RequirementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReturnStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReturnStatementImpl.java new file mode 100644 index 0000000..99c88f4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ReturnStatementImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ReturnStatement; + +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; + +/** + * + * An implementation of the model object 'Return Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ReturnStatementImpl#getExpression Expression}
  • + *
+ * + * @generated + */ +public class ReturnStatementImpl extends StatementImpl implements ReturnStatement +{ + /** + * The cached value of the '{@link #getExpression() Expression}' containment reference. + * + * + * @see #getExpression() + * @generated + * @ordered + */ + protected Expression expression; + + /** + * + * + * @generated + */ + protected ReturnStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getReturnStatement(); + } + + /** + * + * + * @generated + */ + public Expression getExpression() + { + return expression; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs) + { + Expression oldExpression = expression; + expression = newExpression; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.RETURN_STATEMENT__EXPRESSION, oldExpression, newExpression); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setExpression(Expression newExpression) + { + if (newExpression != expression) + { + NotificationChain msgs = null; + if (expression != null) + msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RETURN_STATEMENT__EXPRESSION, null, msgs); + if (newExpression != null) + msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.RETURN_STATEMENT__EXPRESSION, null, msgs); + msgs = basicSetExpression(newExpression, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.RETURN_STATEMENT__EXPRESSION, newExpression, newExpression)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + return basicSetExpression(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + return getExpression(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + setExpression((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + setExpression((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.RETURN_STATEMENT__EXPRESSION: + return expression != null; + } + return super.eIsSet(featureID); + } + +} //ReturnStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootDeclarationImpl.java new file mode 100644 index 0000000..93c3780 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootDeclarationImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RootDeclaration; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Root Declaration'. + * + * + * @generated + */ +public class RootDeclarationImpl extends MinimalEObjectImpl.Container implements RootDeclaration +{ + /** + * + * + * @generated + */ + protected RootDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRootDeclaration(); + } + +} //RootDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootImpl.java new file mode 100644 index 0000000..5bba650 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/RootImpl.java @@ -0,0 +1,227 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Root; +import fr.irit.fiacre.xtext.fiacre.RootDeclaration; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * + * An implementation of the model object 'Root'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RootImpl#getDeclaration Declaration}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.RootImpl#getObserved Observed}
  • + *
+ * + * @generated + */ +public class RootImpl extends MinimalEObjectImpl.Container implements Root +{ + /** + * The cached value of the '{@link #getDeclaration() Declaration}' reference. + * + * + * @see #getDeclaration() + * @generated + * @ordered + */ + protected RootDeclaration declaration; + + /** + * The cached value of the '{@link #getObserved() Observed}' reference list. + * + * + * @see #getObserved() + * @generated + * @ordered + */ + protected EList observed; + + /** + * + * + * @generated + */ + protected RootImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getRoot(); + } + + /** + * + * + * @generated + */ + public RootDeclaration getDeclaration() + { + if (declaration != null && declaration.eIsProxy()) + { + InternalEObject oldDeclaration = (InternalEObject)declaration; + declaration = (RootDeclaration)eResolveProxy(oldDeclaration); + if (declaration != oldDeclaration) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.ROOT__DECLARATION, oldDeclaration, declaration)); + } + } + return declaration; + } + + /** + * + * + * @generated + */ + public RootDeclaration basicGetDeclaration() + { + return declaration; + } + + /** + * + * + * @generated + */ + public void setDeclaration(RootDeclaration newDeclaration) + { + RootDeclaration oldDeclaration = declaration; + declaration = newDeclaration; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.ROOT__DECLARATION, oldDeclaration, declaration)); + } + + /** + * + * + * @generated + */ + public EList getObserved() + { + if (observed == null) + { + observed = new EObjectResolvingEList(RootDeclaration.class, this, FiacrePackage.ROOT__OBSERVED); + } + return observed; + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.ROOT__DECLARATION: + if (resolve) return getDeclaration(); + return basicGetDeclaration(); + case FiacrePackage.ROOT__OBSERVED: + return getObserved(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.ROOT__DECLARATION: + setDeclaration((RootDeclaration)newValue); + return; + case FiacrePackage.ROOT__OBSERVED: + getObserved().clear(); + getObserved().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.ROOT__DECLARATION: + setDeclaration((RootDeclaration)null); + return; + case FiacrePackage.ROOT__OBSERVED: + getObserved().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.ROOT__DECLARATION: + return declaration != null; + case FiacrePackage.ROOT__OBSERVED: + return observed != null && !observed.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //RootImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SelectStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SelectStatementImpl.java new file mode 100644 index 0000000..38a252b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SelectStatementImpl.java @@ -0,0 +1,348 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.SelectStatement; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +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; + +/** + * + * An implementation of the model object 'Select Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SelectStatementImpl#getBody Body}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SelectStatementImpl#getIndex Index}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SelectStatementImpl#getType Type}
  • + *
+ * + * @generated + */ +public class SelectStatementImpl extends StatementImpl implements SelectStatement +{ + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Statement body; + + /** + * The cached value of the '{@link #getIndex() Index}' containment reference. + * + * + * @see #getIndex() + * @generated + * @ordered + */ + protected VariableDeclaration index; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected RangeType type; + + /** + * + * + * @generated + */ + protected SelectStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getSelectStatement(); + } + + /** + * + * + * @generated + */ + public Statement getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Statement newBody, NotificationChain msgs) + { + Statement oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Statement newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + public VariableDeclaration getIndex() + { + return index; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetIndex(VariableDeclaration newIndex, NotificationChain msgs) + { + VariableDeclaration oldIndex = index; + index = newIndex; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__INDEX, oldIndex, newIndex); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setIndex(VariableDeclaration newIndex) + { + if (newIndex != index) + { + NotificationChain msgs = null; + if (index != null) + msgs = ((InternalEObject)index).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__INDEX, null, msgs); + if (newIndex != null) + msgs = ((InternalEObject)newIndex).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__INDEX, null, msgs); + msgs = basicSetIndex(newIndex, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__INDEX, newIndex, newIndex)); + } + + /** + * + * + * @generated + */ + public RangeType getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(RangeType newType, NotificationChain msgs) + { + RangeType oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(RangeType newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SELECT_STATEMENT__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SELECT_STATEMENT__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.SELECT_STATEMENT__BODY: + return basicSetBody(null, msgs); + case FiacrePackage.SELECT_STATEMENT__INDEX: + return basicSetIndex(null, msgs); + case FiacrePackage.SELECT_STATEMENT__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.SELECT_STATEMENT__BODY: + return getBody(); + case FiacrePackage.SELECT_STATEMENT__INDEX: + return getIndex(); + case FiacrePackage.SELECT_STATEMENT__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.SELECT_STATEMENT__BODY: + setBody((Statement)newValue); + return; + case FiacrePackage.SELECT_STATEMENT__INDEX: + setIndex((VariableDeclaration)newValue); + return; + case FiacrePackage.SELECT_STATEMENT__TYPE: + setType((RangeType)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.SELECT_STATEMENT__BODY: + setBody((Statement)null); + return; + case FiacrePackage.SELECT_STATEMENT__INDEX: + setIndex((VariableDeclaration)null); + return; + case FiacrePackage.SELECT_STATEMENT__TYPE: + setType((RangeType)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.SELECT_STATEMENT__BODY: + return body != null; + case FiacrePackage.SELECT_STATEMENT__INDEX: + return index != null; + case FiacrePackage.SELECT_STATEMENT__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //SelectStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SendStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SendStatementImpl.java new file mode 100644 index 0000000..7fde85f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SendStatementImpl.java @@ -0,0 +1,251 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Pattern; +import fr.irit.fiacre.xtext.fiacre.SendStatement; + +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; + +/** + * + * An implementation of the model object 'Send Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SendStatementImpl#getPort Port}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SendStatementImpl#getValues Values}
  • + *
+ * + * @generated + */ +public class SendStatementImpl extends PatternStatementImpl implements SendStatement +{ + /** + * The cached value of the '{@link #getPort() Port}' containment reference. + * + * + * @see #getPort() + * @generated + * @ordered + */ + protected Pattern port; + + /** + * The cached value of the '{@link #getValues() Values}' containment reference list. + * + * + * @see #getValues() + * @generated + * @ordered + */ + protected EList values; + + /** + * + * + * @generated + */ + protected SendStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getSendStatement(); + } + + /** + * + * + * @generated + */ + public Pattern getPort() + { + return port; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPort(Pattern newPort, NotificationChain msgs) + { + Pattern oldPort = port; + port = newPort; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SEND_STATEMENT__PORT, oldPort, newPort); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setPort(Pattern newPort) + { + if (newPort != port) + { + NotificationChain msgs = null; + if (port != null) + msgs = ((InternalEObject)port).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SEND_STATEMENT__PORT, null, msgs); + if (newPort != null) + msgs = ((InternalEObject)newPort).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SEND_STATEMENT__PORT, null, msgs); + msgs = basicSetPort(newPort, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SEND_STATEMENT__PORT, newPort, newPort)); + } + + /** + * + * + * @generated + */ + public EList getValues() + { + if (values == null) + { + values = new EObjectContainmentEList(Expression.class, this, FiacrePackage.SEND_STATEMENT__VALUES); + } + return values; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.SEND_STATEMENT__PORT: + return basicSetPort(null, msgs); + case FiacrePackage.SEND_STATEMENT__VALUES: + return ((InternalEList)getValues()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.SEND_STATEMENT__PORT: + return getPort(); + case FiacrePackage.SEND_STATEMENT__VALUES: + return getValues(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.SEND_STATEMENT__PORT: + setPort((Pattern)newValue); + return; + case FiacrePackage.SEND_STATEMENT__VALUES: + getValues().clear(); + getValues().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.SEND_STATEMENT__PORT: + setPort((Pattern)null); + return; + case FiacrePackage.SEND_STATEMENT__VALUES: + getValues().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.SEND_STATEMENT__PORT: + return port != null; + case FiacrePackage.SEND_STATEMENT__VALUES: + return values != null && !values.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //SendStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SequencePatternImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SequencePatternImpl.java new file mode 100644 index 0000000..3344e76 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SequencePatternImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.SequencePattern; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Sequence Pattern'. + * + * + * @generated + */ +public class SequencePatternImpl extends PatternPropertyImpl implements SequencePattern +{ + /** + * + * + * @generated + */ + protected SequencePatternImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getSequencePattern(); + } + +} //SequencePatternImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateDeclarationImpl.java new file mode 100644 index 0000000..cca164b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateDeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'State Declaration'. + * + * + * @generated + */ +public class StateDeclarationImpl extends NamedElementImpl implements StateDeclaration +{ + /** + * + * + * @generated + */ + protected StateDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStateDeclaration(); + } + +} //StateDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateEventImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateEventImpl.java new file mode 100644 index 0000000..98e7a2c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateEventImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Observable; +import fr.irit.fiacre.xtext.fiacre.StateEvent; + +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; + +/** + * + * An implementation of the model object 'State Event'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.StateEventImpl#getSubject Subject}
  • + *
+ * + * @generated + */ +public class StateEventImpl extends ObservableEventImpl implements StateEvent +{ + /** + * The cached value of the '{@link #getSubject() Subject}' containment reference. + * + * + * @see #getSubject() + * @generated + * @ordered + */ + protected Observable subject; + + /** + * + * + * @generated + */ + protected StateEventImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStateEvent(); + } + + /** + * + * + * @generated + */ + public Observable getSubject() + { + return subject; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSubject(Observable newSubject, NotificationChain msgs) + { + Observable oldSubject = subject; + subject = newSubject; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.STATE_EVENT__SUBJECT, oldSubject, newSubject); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSubject(Observable newSubject) + { + if (newSubject != subject) + { + NotificationChain msgs = null; + if (subject != null) + msgs = ((InternalEObject)subject).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.STATE_EVENT__SUBJECT, null, msgs); + if (newSubject != null) + msgs = ((InternalEObject)newSubject).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.STATE_EVENT__SUBJECT, null, msgs); + msgs = basicSetSubject(newSubject, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.STATE_EVENT__SUBJECT, newSubject, newSubject)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.STATE_EVENT__SUBJECT: + return basicSetSubject(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.STATE_EVENT__SUBJECT: + return getSubject(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.STATE_EVENT__SUBJECT: + setSubject((Observable)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATE_EVENT__SUBJECT: + setSubject((Observable)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATE_EVENT__SUBJECT: + return subject != null; + } + return super.eIsSet(featureID); + } + +} //StateEventImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateSubjectImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateSubjectImpl.java new file mode 100644 index 0000000..830665d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StateSubjectImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateSubject; + +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; + +/** + * + * An implementation of the model object 'State Subject'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.StateSubjectImpl#getState State}
  • + *
+ * + * @generated + */ +public class StateSubjectImpl extends SubjectImpl implements StateSubject +{ + /** + * The cached value of the '{@link #getState() State}' reference. + * + * + * @see #getState() + * @generated + * @ordered + */ + protected StateDeclaration state; + + /** + * + * + * @generated + */ + protected StateSubjectImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStateSubject(); + } + + /** + * + * + * @generated + */ + public StateDeclaration getState() + { + if (state != null && state.eIsProxy()) + { + InternalEObject oldState = (InternalEObject)state; + state = (StateDeclaration)eResolveProxy(oldState); + if (state != oldState) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.STATE_SUBJECT__STATE, oldState, state)); + } + } + return state; + } + + /** + * + * + * @generated + */ + public StateDeclaration basicGetState() + { + return state; + } + + /** + * + * + * @generated + */ + public void setState(StateDeclaration newState) + { + StateDeclaration oldState = state; + state = newState; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.STATE_SUBJECT__STATE, oldState, state)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.STATE_SUBJECT__STATE: + if (resolve) return getState(); + return basicGetState(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.STATE_SUBJECT__STATE: + setState((StateDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATE_SUBJECT__STATE: + setState((StateDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATE_SUBJECT__STATE: + return state != null; + } + return super.eIsSet(featureID); + } + +} //StateSubjectImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementChoiceImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementChoiceImpl.java new file mode 100644 index 0000000..c57d700 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementChoiceImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.StatementChoice; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Statement Choice'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.StatementChoiceImpl#getChoices Choices}
  • + *
+ * + * @generated + */ +public class StatementChoiceImpl extends StatementImpl implements StatementChoice +{ + /** + * The cached value of the '{@link #getChoices() Choices}' containment reference list. + * + * + * @see #getChoices() + * @generated + * @ordered + */ + protected EList choices; + + /** + * + * + * @generated + */ + protected StatementChoiceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStatementChoice(); + } + + /** + * + * + * @generated + */ + public EList getChoices() + { + if (choices == null) + { + choices = new EObjectContainmentEList(Statement.class, this, FiacrePackage.STATEMENT_CHOICE__CHOICES); + } + return choices; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + return ((InternalEList)getChoices()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + return getChoices(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + getChoices().clear(); + getChoices().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + getChoices().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_CHOICE__CHOICES: + return choices != null && !choices.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //StatementChoiceImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementImpl.java new file mode 100644 index 0000000..2b73536 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Statement'. + * + * + * @generated + */ +public class StatementImpl extends MinimalEObjectImpl.Container implements Statement +{ + /** + * + * + * @generated + */ + protected StatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStatement(); + } + +} //StatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementSequenceImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementSequenceImpl.java new file mode 100644 index 0000000..d2e16e9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/StatementSequenceImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.StatementSequence; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Statement Sequence'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.StatementSequenceImpl#getStatements Statements}
  • + *
+ * + * @generated + */ +public class StatementSequenceImpl extends StatementImpl implements StatementSequence +{ + /** + * The cached value of the '{@link #getStatements() Statements}' containment reference list. + * + * + * @see #getStatements() + * @generated + * @ordered + */ + protected EList statements; + + /** + * + * + * @generated + */ + protected StatementSequenceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getStatementSequence(); + } + + /** + * + * + * @generated + */ + public EList getStatements() + { + if (statements == null) + { + statements = new EObjectContainmentEList(Statement.class, this, FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS); + } + return statements; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + return ((InternalEList)getStatements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + return getStatements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + getStatements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.STATEMENT_SEQUENCE__STATEMENTS: + return statements != null && !statements.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //StatementSequenceImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubjectImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubjectImpl.java new file mode 100644 index 0000000..dec8698 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubjectImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Subject; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Subject'. + * + * + * @generated + */ +public class SubjectImpl extends MinimalEObjectImpl.Container implements Subject +{ + /** + * + * + * @generated + */ + protected SubjectImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getSubject(); + } + +} //SubjectImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubstractionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubstractionImpl.java new file mode 100644 index 0000000..07a81da --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/SubstractionImpl.java @@ -0,0 +1,275 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Substraction; + +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; + +/** + * + * An implementation of the model object 'Substraction'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SubstractionImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.SubstractionImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class SubstractionImpl extends ExpressionImpl implements Substraction +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected Expression left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected Expression right; + + /** + * + * + * @generated + */ + protected SubstractionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getSubstraction(); + } + + /** + * + * + * @generated + */ + public Expression getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(Expression newLeft, NotificationChain msgs) + { + Expression oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SUBSTRACTION__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(Expression newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SUBSTRACTION__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SUBSTRACTION__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SUBSTRACTION__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public Expression getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(Expression newRight, NotificationChain msgs) + { + Expression oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.SUBSTRACTION__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(Expression newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SUBSTRACTION__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.SUBSTRACTION__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.SUBSTRACTION__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.SUBSTRACTION__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.SUBSTRACTION__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.SUBSTRACTION__LEFT: + return getLeft(); + case FiacrePackage.SUBSTRACTION__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.SUBSTRACTION__LEFT: + setLeft((Expression)newValue); + return; + case FiacrePackage.SUBSTRACTION__RIGHT: + setRight((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.SUBSTRACTION__LEFT: + setLeft((Expression)null); + return; + case FiacrePackage.SUBSTRACTION__RIGHT: + setRight((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.SUBSTRACTION__LEFT: + return left != null; + case FiacrePackage.SUBSTRACTION__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //SubstractionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TagSubjectImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TagSubjectImpl.java new file mode 100644 index 0000000..c50f112 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TagSubjectImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TagSubject; +import fr.irit.fiacre.xtext.fiacre.TaggedStatement; + +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; + +/** + * + * An implementation of the model object 'Tag Subject'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TagSubjectImpl#getTag Tag}
  • + *
+ * + * @generated + */ +public class TagSubjectImpl extends SubjectImpl implements TagSubject +{ + /** + * The cached value of the '{@link #getTag() Tag}' reference. + * + * + * @see #getTag() + * @generated + * @ordered + */ + protected TaggedStatement tag; + + /** + * + * + * @generated + */ + protected TagSubjectImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTagSubject(); + } + + /** + * + * + * @generated + */ + public TaggedStatement getTag() + { + if (tag != null && tag.eIsProxy()) + { + InternalEObject oldTag = (InternalEObject)tag; + tag = (TaggedStatement)eResolveProxy(oldTag); + if (tag != oldTag) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.TAG_SUBJECT__TAG, oldTag, tag)); + } + } + return tag; + } + + /** + * + * + * @generated + */ + public TaggedStatement basicGetTag() + { + return tag; + } + + /** + * + * + * @generated + */ + public void setTag(TaggedStatement newTag) + { + TaggedStatement oldTag = tag; + tag = newTag; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TAG_SUBJECT__TAG, oldTag, tag)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TAG_SUBJECT__TAG: + if (resolve) return getTag(); + return basicGetTag(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TAG_SUBJECT__TAG: + setTag((TaggedStatement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TAG_SUBJECT__TAG: + setTag((TaggedStatement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TAG_SUBJECT__TAG: + return tag != null; + } + return super.eIsSet(featureID); + } + +} //TagSubjectImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TaggedStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TaggedStatementImpl.java new file mode 100644 index 0000000..f5578e7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TaggedStatementImpl.java @@ -0,0 +1,187 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TaggedStatement; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * + * An implementation of the model object 'Tagged Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TaggedStatementImpl#getName Name}
  • + *
+ * + * @generated + */ +public class TaggedStatementImpl extends StatementImpl implements TaggedStatement +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * + * + * @generated + */ + protected TaggedStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTaggedStatement(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TAGGED_STATEMENT__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TAGGED_STATEMENT__NAME: + return getName(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TAGGED_STATEMENT__NAME: + setName((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TAGGED_STATEMENT__NAME: + setName(NAME_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TAGGED_STATEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //TaggedStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ToStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ToStatementImpl.java new file mode 100644 index 0000000..f7910bd --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ToStatementImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; +import fr.irit.fiacre.xtext.fiacre.ToStatement; + +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; + +/** + * + * An implementation of the model object 'To Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ToStatementImpl#getState State}
  • + *
+ * + * @generated + */ +public class ToStatementImpl extends StatementImpl implements ToStatement +{ + /** + * The cached value of the '{@link #getState() State}' reference. + * + * + * @see #getState() + * @generated + * @ordered + */ + protected StateDeclaration state; + + /** + * + * + * @generated + */ + protected ToStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getToStatement(); + } + + /** + * + * + * @generated + */ + public StateDeclaration getState() + { + if (state != null && state.eIsProxy()) + { + InternalEObject oldState = (InternalEObject)state; + state = (StateDeclaration)eResolveProxy(oldState); + if (state != oldState) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.TO_STATEMENT__STATE, oldState, state)); + } + } + return state; + } + + /** + * + * + * @generated + */ + public StateDeclaration basicGetState() + { + return state; + } + + /** + * + * + * @generated + */ + public void setState(StateDeclaration newState) + { + StateDeclaration oldState = state; + state = newState; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TO_STATEMENT__STATE, oldState, state)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TO_STATEMENT__STATE: + if (resolve) return getState(); + return basicGetState(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TO_STATEMENT__STATE: + setState((StateDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TO_STATEMENT__STATE: + setState((StateDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TO_STATEMENT__STATE: + return state != null; + } + return super.eIsSet(featureID); + } + +} //ToStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionImpl.java new file mode 100644 index 0000000..1bfe8b9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionImpl.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.Transition; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; + +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; + +/** + * + * An implementation of the model object 'Transition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TransitionImpl#getSource Source}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TransitionImpl#getAction Action}
  • + *
+ * + * @generated + */ +public class TransitionImpl extends MinimalEObjectImpl.Container implements Transition +{ + /** + * The cached value of the '{@link #getSource() Source}' containment reference. + * + * + * @see #getSource() + * @generated + * @ordered + */ + protected TransitionSource source; + + /** + * The cached value of the '{@link #getAction() Action}' containment reference. + * + * + * @see #getAction() + * @generated + * @ordered + */ + protected Statement action; + + /** + * + * + * @generated + */ + protected TransitionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTransition(); + } + + /** + * + * + * @generated + */ + public TransitionSource getSource() + { + return source; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetSource(TransitionSource newSource, NotificationChain msgs) + { + TransitionSource oldSource = source; + source = newSource; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.TRANSITION__SOURCE, oldSource, newSource); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setSource(TransitionSource newSource) + { + if (newSource != source) + { + NotificationChain msgs = null; + if (source != null) + msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TRANSITION__SOURCE, null, msgs); + if (newSource != null) + msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TRANSITION__SOURCE, null, msgs); + msgs = basicSetSource(newSource, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TRANSITION__SOURCE, newSource, newSource)); + } + + /** + * + * + * @generated + */ + public Statement getAction() + { + return action; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetAction(Statement newAction, NotificationChain msgs) + { + Statement oldAction = action; + action = newAction; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.TRANSITION__ACTION, oldAction, newAction); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setAction(Statement newAction) + { + if (newAction != action) + { + NotificationChain msgs = null; + if (action != null) + msgs = ((InternalEObject)action).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TRANSITION__ACTION, null, msgs); + if (newAction != null) + msgs = ((InternalEObject)newAction).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TRANSITION__ACTION, null, msgs); + msgs = basicSetAction(newAction, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TRANSITION__ACTION, newAction, newAction)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.TRANSITION__SOURCE: + return basicSetSource(null, msgs); + case FiacrePackage.TRANSITION__ACTION: + return basicSetAction(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TRANSITION__SOURCE: + return getSource(); + case FiacrePackage.TRANSITION__ACTION: + return getAction(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TRANSITION__SOURCE: + setSource((TransitionSource)newValue); + return; + case FiacrePackage.TRANSITION__ACTION: + setAction((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TRANSITION__SOURCE: + setSource((TransitionSource)null); + return; + case FiacrePackage.TRANSITION__ACTION: + setAction((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TRANSITION__SOURCE: + return source != null; + case FiacrePackage.TRANSITION__ACTION: + return action != null; + } + return super.eIsSet(featureID); + } + +} //TransitionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionSourceImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionSourceImpl.java new file mode 100644 index 0000000..109f6d3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TransitionSourceImpl.java @@ -0,0 +1,184 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; + +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; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Transition Source'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TransitionSourceImpl#getOrigin Origin}
  • + *
+ * + * @generated + */ +public class TransitionSourceImpl extends MinimalEObjectImpl.Container implements TransitionSource +{ + /** + * The cached value of the '{@link #getOrigin() Origin}' reference. + * + * + * @see #getOrigin() + * @generated + * @ordered + */ + protected StateDeclaration origin; + + /** + * + * + * @generated + */ + protected TransitionSourceImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTransitionSource(); + } + + /** + * + * + * @generated + */ + public StateDeclaration getOrigin() + { + if (origin != null && origin.eIsProxy()) + { + InternalEObject oldOrigin = (InternalEObject)origin; + origin = (StateDeclaration)eResolveProxy(oldOrigin); + if (origin != oldOrigin) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.TRANSITION_SOURCE__ORIGIN, oldOrigin, origin)); + } + } + return origin; + } + + /** + * + * + * @generated + */ + public StateDeclaration basicGetOrigin() + { + return origin; + } + + /** + * + * + * @generated + */ + public void setOrigin(StateDeclaration newOrigin) + { + StateDeclaration oldOrigin = origin; + origin = newOrigin; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TRANSITION_SOURCE__ORIGIN, oldOrigin, origin)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TRANSITION_SOURCE__ORIGIN: + if (resolve) return getOrigin(); + return basicGetOrigin(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TRANSITION_SOURCE__ORIGIN: + setOrigin((StateDeclaration)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TRANSITION_SOURCE__ORIGIN: + setOrigin((StateDeclaration)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TRANSITION_SOURCE__ORIGIN: + return origin != null; + } + return super.eIsSet(featureID); + } + +} //TransitionSourceImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TrueLiteralImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TrueLiteralImpl.java new file mode 100644 index 0000000..fb57192 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TrueLiteralImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TrueLiteral; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'True Literal'. + * + * + * @generated + */ +public class TrueLiteralImpl extends BooleanLiteralImpl implements TrueLiteral +{ + /** + * + * + * @generated + */ + protected TrueLiteralImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTrueLiteral(); + } + +} //TrueLiteralImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TupleTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TupleTypeImpl.java new file mode 100644 index 0000000..2cd2550 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TupleTypeImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TupleType; +import fr.irit.fiacre.xtext.fiacre.Type; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Tuple Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TupleTypeImpl#getTypes Types}
  • + *
+ * + * @generated + */ +public class TupleTypeImpl extends TypeImpl implements TupleType +{ + /** + * The cached value of the '{@link #getTypes() Types}' containment reference list. + * + * + * @see #getTypes() + * @generated + * @ordered + */ + protected EList types; + + /** + * + * + * @generated + */ + protected TupleTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTupleType(); + } + + /** + * + * + * @generated + */ + public EList getTypes() + { + if (types == null) + { + types = new EObjectContainmentEList(Type.class, this, FiacrePackage.TUPLE_TYPE__TYPES); + } + return types; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.TUPLE_TYPE__TYPES: + return ((InternalEList)getTypes()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TUPLE_TYPE__TYPES: + return getTypes(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TUPLE_TYPE__TYPES: + getTypes().clear(); + getTypes().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TUPLE_TYPE__TYPES: + getTypes().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TUPLE_TYPE__TYPES: + return types != null && !types.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //TupleTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationImpl.java new file mode 100644 index 0000000..bcf52a0 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationImpl.java @@ -0,0 +1,329 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Declaration; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.NamedElement; +import fr.irit.fiacre.xtext.fiacre.Type; +import fr.irit.fiacre.xtext.fiacre.TypeDeclaration; + +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; + +/** + * + * An implementation of the model object 'Type Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationImpl#getName Name}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.TypeDeclarationImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class TypeDeclarationImpl extends TypeDeclarationUseImpl implements TypeDeclaration +{ + /** + * The default value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() Name}' attribute. + * + * + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Type value; + + /** + * + * + * @generated + */ + protected TypeDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTypeDeclaration(); + } + + /** + * + * + * @generated + */ + public String getName() + { + return name; + } + + /** + * + * + * @generated + */ + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TYPE_DECLARATION__NAME, oldName, name)); + } + + /** + * + * + * @generated + */ + public Type getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Type newValue, NotificationChain msgs) + { + Type oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.TYPE_DECLARATION__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Type newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TYPE_DECLARATION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.TYPE_DECLARATION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.TYPE_DECLARATION__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.TYPE_DECLARATION__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.TYPE_DECLARATION__NAME: + return getName(); + case FiacrePackage.TYPE_DECLARATION__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.TYPE_DECLARATION__NAME: + setName((String)newValue); + return; + case FiacrePackage.TYPE_DECLARATION__VALUE: + setValue((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.TYPE_DECLARATION__NAME: + setName(NAME_EDEFAULT); + return; + case FiacrePackage.TYPE_DECLARATION__VALUE: + setValue((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.TYPE_DECLARATION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case FiacrePackage.TYPE_DECLARATION__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public int eBaseStructuralFeatureID(int derivedFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (derivedFeatureID) + { + case FiacrePackage.TYPE_DECLARATION__NAME: return FiacrePackage.NAMED_ELEMENT__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (derivedFeatureID) + { + default: return -1; + } + } + return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public int eDerivedStructuralFeatureID(int baseFeatureID, Class baseClass) + { + if (baseClass == NamedElement.class) + { + switch (baseFeatureID) + { + case FiacrePackage.NAMED_ELEMENT__NAME: return FiacrePackage.TYPE_DECLARATION__NAME; + default: return -1; + } + } + if (baseClass == Declaration.class) + { + switch (baseFeatureID) + { + default: return -1; + } + } + return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //TypeDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationUseImpl.java new file mode 100644 index 0000000..3c8ebd8 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Type Declaration Use'. + * + * + * @generated + */ +public class TypeDeclarationUseImpl extends MinimalEObjectImpl.Container implements TypeDeclarationUse +{ + /** + * + * + * @generated + */ + protected TypeDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getTypeDeclarationUse(); + } + +} //TypeDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeImpl.java new file mode 100644 index 0000000..94f1be9 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/TypeImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Type; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Type'. + * + * + * @generated + */ +public class TypeImpl extends MinimalEObjectImpl.Container implements Type +{ + /** + * + * + * @generated + */ + protected TypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getType(); + } + +} //TypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryCoerceExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryCoerceExpressionImpl.java new file mode 100644 index 0000000..9f1c2d6 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryCoerceExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Coerce Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryCoerceExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryCoerceExpressionImpl extends ExpressionImpl implements UnaryCoerceExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryCoerceExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryCoerceExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_COERCE_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryCoerceExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryDeQueueExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryDeQueueExpressionImpl.java new file mode 100644 index 0000000..9d4ad12 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryDeQueueExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression; + +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; + +/** + * + * An implementation of the model object 'Unary De Queue Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryDeQueueExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryDeQueueExpressionImpl extends ExpressionImpl implements UnaryDeQueueExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryDeQueueExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryDeQueueExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryDeQueueExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryEmptyExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryEmptyExpressionImpl.java new file mode 100644 index 0000000..43d6ac1 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryEmptyExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Empty Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryEmptyExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryEmptyExpressionImpl extends ExpressionImpl implements UnaryEmptyExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryEmptyExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryEmptyExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_EMPTY_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryEmptyExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFirstExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFirstExpressionImpl.java new file mode 100644 index 0000000..4537f6d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFirstExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression; + +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; + +/** + * + * An implementation of the model object 'Unary First Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryFirstExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryFirstExpressionImpl extends ExpressionImpl implements UnaryFirstExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryFirstExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryFirstExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_FIRST_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryFirstExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFullExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFullExpressionImpl.java new file mode 100644 index 0000000..0f3cd71 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryFullExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryFullExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Full Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryFullExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryFullExpressionImpl extends ExpressionImpl implements UnaryFullExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryFullExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryFullExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_FULL_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_FULL_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_FULL_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_FULL_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_FULL_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryFullExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryLengthExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryLengthExpressionImpl.java new file mode 100644 index 0000000..c0c0095 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryLengthExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Length Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryLengthExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryLengthExpressionImpl extends ExpressionImpl implements UnaryLengthExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryLengthExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryLengthExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_LENGTH_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryLengthExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryMinusExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryMinusExpressionImpl.java new file mode 100644 index 0000000..b0ced5c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryMinusExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Minus Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryMinusExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryMinusExpressionImpl extends ExpressionImpl implements UnaryMinusExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryMinusExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryMinusExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_MINUS_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryMinusExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryNegationExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryNegationExpressionImpl.java new file mode 100644 index 0000000..ac3ce68 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryNegationExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Negation Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryNegationExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryNegationExpressionImpl extends ExpressionImpl implements UnaryNegationExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryNegationExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryNegationExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_NEGATION_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryNegationExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryPlusExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryPlusExpressionImpl.java new file mode 100644 index 0000000..eeb0e24 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnaryPlusExpressionImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression; + +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; + +/** + * + * An implementation of the model object 'Unary Plus Expression'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnaryPlusExpressionImpl#getChild Child}
  • + *
+ * + * @generated + */ +public class UnaryPlusExpressionImpl extends ExpressionImpl implements UnaryPlusExpression +{ + /** + * The cached value of the '{@link #getChild() Child}' containment reference. + * + * + * @see #getChild() + * @generated + * @ordered + */ + protected Expression child; + + /** + * + * + * @generated + */ + protected UnaryPlusExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnaryPlusExpression(); + } + + /** + * + * + * @generated + */ + public Expression getChild() + { + return child; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetChild(Expression newChild, NotificationChain msgs) + { + Expression oldChild = child; + child = newChild; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD, oldChild, newChild); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setChild(Expression newChild) + { + if (newChild != child) + { + NotificationChain msgs = null; + if (child != null) + msgs = ((InternalEObject)child).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD, null, msgs); + if (newChild != null) + msgs = ((InternalEObject)newChild).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD, null, msgs); + msgs = basicSetChild(newChild, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD, newChild, newChild)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + return basicSetChild(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + return getChild(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + setChild((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + setChild((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNARY_PLUS_EXPRESSION__CHILD: + return child != null; + } + return super.eIsSet(featureID); + } + +} //UnaryPlusExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationImpl.java new file mode 100644 index 0000000..d2ec973 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Union Tag Declaration'. + * + * + * @generated + */ +public class UnionTagDeclarationImpl extends NamedElementImpl implements UnionTagDeclaration +{ + /** + * + * + * @generated + */ + protected UnionTagDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnionTagDeclaration(); + } + +} //UnionTagDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationUseImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationUseImpl.java new file mode 100644 index 0000000..328acf3 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagDeclarationUseImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Union Tag Declaration Use'. + * + * + * @generated + */ +public class UnionTagDeclarationUseImpl extends MinimalEObjectImpl.Container implements UnionTagDeclarationUse +{ + /** + * + * + * @generated + */ + protected UnionTagDeclarationUseImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnionTagDeclarationUse(); + } + +} //UnionTagDeclarationUseImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagsImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagsImpl.java new file mode 100644 index 0000000..11003d7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTagsImpl.java @@ -0,0 +1,252 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Type; +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration; +import fr.irit.fiacre.xtext.fiacre.UnionTags; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Union Tags'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnionTagsImpl#getTags Tags}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnionTagsImpl#getType Type}
  • + *
+ * + * @generated + */ +public class UnionTagsImpl extends MinimalEObjectImpl.Container implements UnionTags +{ + /** + * The cached value of the '{@link #getTags() Tags}' containment reference list. + * + * + * @see #getTags() + * @generated + * @ordered + */ + protected EList tags; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * + * + * @generated + */ + protected UnionTagsImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnionTags(); + } + + /** + * + * + * @generated + */ + public EList getTags() + { + if (tags == null) + { + tags = new EObjectContainmentEList(UnionTagDeclaration.class, this, FiacrePackage.UNION_TAGS__TAGS); + } + return tags; + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.UNION_TAGS__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNION_TAGS__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.UNION_TAGS__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.UNION_TAGS__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNION_TAGS__TAGS: + return ((InternalEList)getTags()).basicRemove(otherEnd, msgs); + case FiacrePackage.UNION_TAGS__TYPE: + return basicSetType(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNION_TAGS__TAGS: + return getTags(); + case FiacrePackage.UNION_TAGS__TYPE: + return getType(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNION_TAGS__TAGS: + getTags().clear(); + getTags().addAll((Collection)newValue); + return; + case FiacrePackage.UNION_TAGS__TYPE: + setType((Type)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNION_TAGS__TAGS: + getTags().clear(); + return; + case FiacrePackage.UNION_TAGS__TYPE: + setType((Type)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNION_TAGS__TAGS: + return tags != null && !tags.isEmpty(); + case FiacrePackage.UNION_TAGS__TYPE: + return type != null; + } + return super.eIsSet(featureID); + } + +} //UnionTagsImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTypeImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTypeImpl.java new file mode 100644 index 0000000..93a5b7d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnionTypeImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UnionTags; +import fr.irit.fiacre.xtext.fiacre.UnionType; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Union Type'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnionTypeImpl#getTags Tags}
  • + *
+ * + * @generated + */ +public class UnionTypeImpl extends TypeImpl implements UnionType +{ + /** + * The cached value of the '{@link #getTags() Tags}' containment reference list. + * + * + * @see #getTags() + * @generated + * @ordered + */ + protected EList tags; + + /** + * + * + * @generated + */ + protected UnionTypeImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnionType(); + } + + /** + * + * + * @generated + */ + public EList getTags() + { + if (tags == null) + { + tags = new EObjectContainmentEList(UnionTags.class, this, FiacrePackage.UNION_TYPE__TAGS); + } + return tags; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNION_TYPE__TAGS: + return ((InternalEList)getTags()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNION_TYPE__TAGS: + return getTags(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNION_TYPE__TAGS: + getTags().clear(); + getTags().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNION_TYPE__TAGS: + getTags().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNION_TYPE__TAGS: + return tags != null && !tags.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //UnionTypeImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnlessStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnlessStatementImpl.java new file mode 100644 index 0000000..585ebbc --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UnlessStatementImpl.java @@ -0,0 +1,176 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.UnlessStatement; + +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.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Unless Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.UnlessStatementImpl#getFollowers Followers}
  • + *
+ * + * @generated + */ +public class UnlessStatementImpl extends StatementImpl implements UnlessStatement +{ + /** + * The cached value of the '{@link #getFollowers() Followers}' containment reference list. + * + * + * @see #getFollowers() + * @generated + * @ordered + */ + protected EList followers; + + /** + * + * + * @generated + */ + protected UnlessStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUnlessStatement(); + } + + /** + * + * + * @generated + */ + public EList getFollowers() + { + if (followers == null) + { + followers = new EObjectContainmentEList(Statement.class, this, FiacrePackage.UNLESS_STATEMENT__FOLLOWERS); + } + return followers; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + return ((InternalEList)getFollowers()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + return getFollowers(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + getFollowers().clear(); + getFollowers().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + getFollowers().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.UNLESS_STATEMENT__FOLLOWERS: + return followers != null && !followers.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //UnlessStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UpperBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UpperBoundImpl.java new file mode 100644 index 0000000..6e108d4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/UpperBoundImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.UpperBound; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Upper Bound'. + * + * + * @generated + */ +public class UpperBoundImpl extends MinimalEObjectImpl.Container implements UpperBound +{ + /** + * + * + * @generated + */ + protected UpperBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getUpperBound(); + } + +} //UpperBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueExpressionImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueExpressionImpl.java new file mode 100644 index 0000000..830ebb7 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueExpressionImpl.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ValueExpression; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Value Expression'. + * + * + * @generated + */ +public class ValueExpressionImpl extends MinimalEObjectImpl.Container implements ValueExpression +{ + /** + * + * + * @generated + */ + protected ValueExpressionImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getValueExpression(); + } + +} //ValueExpressionImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueSubjectImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueSubjectImpl.java new file mode 100644 index 0000000..6b2df74 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/ValueSubjectImpl.java @@ -0,0 +1,204 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.ValueSubject; + +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; + +/** + * + * An implementation of the model object 'Value Subject'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.ValueSubjectImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class ValueSubjectImpl extends SubjectImpl implements ValueSubject +{ + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected ValueSubjectImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getValueSubject(); + } + + /** + * + * + * @generated + */ + public Expression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) + { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.VALUE_SUBJECT__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VALUE_SUBJECT__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VALUE_SUBJECT__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VALUE_SUBJECT__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.VALUE_SUBJECT__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.VALUE_SUBJECT__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.VALUE_SUBJECT__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.VALUE_SUBJECT__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.VALUE_SUBJECT__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //ValueSubjectImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableDeclarationImpl.java new file mode 100644 index 0000000..a41a000 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableDeclarationImpl.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; + +import org.eclipse.emf.ecore.EClass; + +/** + * + * An implementation of the model object 'Variable Declaration'. + * + * + * @generated + */ +public class VariableDeclarationImpl extends NamedElementImpl implements VariableDeclaration +{ + /** + * + * + * @generated + */ + protected VariableDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getVariableDeclaration(); + } + +} //VariableDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableLowerBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableLowerBoundImpl.java new file mode 100644 index 0000000..5b0ca2e --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableLowerBoundImpl.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariableLowerBound; + +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; + +/** + * + * An implementation of the model object 'Variable Lower Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariableLowerBoundImpl#getVariable Variable}
  • + *
+ * + * @generated + */ +public class VariableLowerBoundImpl extends LowerBoundImpl implements VariableLowerBound +{ + /** + * The cached value of the '{@link #getVariable() Variable}' reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected BoundDeclarationUse variable; + + /** + * + * + * @generated + */ + protected VariableLowerBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getVariableLowerBound(); + } + + /** + * + * + * @generated + */ + public BoundDeclarationUse getVariable() + { + if (variable != null && variable.eIsProxy()) + { + InternalEObject oldVariable = (InternalEObject)variable; + variable = (BoundDeclarationUse)eResolveProxy(oldVariable); + if (variable != oldVariable) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE, oldVariable, variable)); + } + } + return variable; + } + + /** + * + * + * @generated + */ + public BoundDeclarationUse basicGetVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + public void setVariable(BoundDeclarationUse newVariable) + { + BoundDeclarationUse oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE, oldVariable, variable)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE: + if (resolve) return getVariable(); + return basicGetVariable(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE: + setVariable((BoundDeclarationUse)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE: + setVariable((BoundDeclarationUse)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_LOWER_BOUND__VARIABLE: + return variable != null; + } + return super.eIsSet(featureID); + } + +} //VariableLowerBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableUpperBoundImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableUpperBoundImpl.java new file mode 100644 index 0000000..62f2f98 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariableUpperBoundImpl.java @@ -0,0 +1,310 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.VariableUpperBound; + +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; + +/** + * + * An implementation of the model object 'Variable Upper Bound'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariableUpperBoundImpl#getVariable Variable}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariableUpperBoundImpl#isLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariableUpperBoundImpl#isRight Right}
  • + *
+ * + * @generated + */ +public class VariableUpperBoundImpl extends UpperBoundImpl implements VariableUpperBound +{ + /** + * The cached value of the '{@link #getVariable() Variable}' reference. + * + * + * @see #getVariable() + * @generated + * @ordered + */ + protected BoundDeclarationUse variable; + + /** + * The default value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected static final boolean LEFT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isLeft() Left}' attribute. + * + * + * @see #isLeft() + * @generated + * @ordered + */ + protected boolean left = LEFT_EDEFAULT; + + /** + * The default value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected static final boolean RIGHT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isRight() Right}' attribute. + * + * + * @see #isRight() + * @generated + * @ordered + */ + protected boolean right = RIGHT_EDEFAULT; + + /** + * + * + * @generated + */ + protected VariableUpperBoundImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getVariableUpperBound(); + } + + /** + * + * + * @generated + */ + public BoundDeclarationUse getVariable() + { + if (variable != null && variable.eIsProxy()) + { + InternalEObject oldVariable = (InternalEObject)variable; + variable = (BoundDeclarationUse)eResolveProxy(oldVariable); + if (variable != oldVariable) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE, oldVariable, variable)); + } + } + return variable; + } + + /** + * + * + * @generated + */ + public BoundDeclarationUse basicGetVariable() + { + return variable; + } + + /** + * + * + * @generated + */ + public void setVariable(BoundDeclarationUse newVariable) + { + BoundDeclarationUse oldVariable = variable; + variable = newVariable; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE, oldVariable, variable)); + } + + /** + * + * + * @generated + */ + public boolean isLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public void setLeft(boolean newLeft) + { + boolean oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLE_UPPER_BOUND__LEFT, oldLeft, left)); + } + + /** + * + * + * @generated + */ + public boolean isRight() + { + return right; + } + + /** + * + * + * @generated + */ + public void setRight(boolean newRight) + { + boolean oldRight = right; + right = newRight; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT, oldRight, right)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE: + if (resolve) return getVariable(); + return basicGetVariable(); + case FiacrePackage.VARIABLE_UPPER_BOUND__LEFT: + return isLeft(); + case FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT: + return isRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE: + setVariable((BoundDeclarationUse)newValue); + return; + case FiacrePackage.VARIABLE_UPPER_BOUND__LEFT: + setLeft((Boolean)newValue); + return; + case FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT: + setRight((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE: + setVariable((BoundDeclarationUse)null); + return; + case FiacrePackage.VARIABLE_UPPER_BOUND__LEFT: + setLeft(LEFT_EDEFAULT); + return; + case FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT: + setRight(RIGHT_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLE_UPPER_BOUND__VARIABLE: + return variable != null; + case FiacrePackage.VARIABLE_UPPER_BOUND__LEFT: + return left != LEFT_EDEFAULT; + case FiacrePackage.VARIABLE_UPPER_BOUND__RIGHT: + return right != RIGHT_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuffer result = new StringBuffer(super.toString()); + result.append(" (left: "); + result.append(left); + result.append(", right: "); + result.append(right); + result.append(')'); + return result.toString(); + } + +} //VariableUpperBoundImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariablesDeclarationImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariablesDeclarationImpl.java new file mode 100644 index 0000000..ffc48e4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/VariablesDeclarationImpl.java @@ -0,0 +1,324 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Type; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; + +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.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * + * An implementation of the model object 'Variables Declaration'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariablesDeclarationImpl#getVariables Variables}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariablesDeclarationImpl#getType Type}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.VariablesDeclarationImpl#getValue Value}
  • + *
+ * + * @generated + */ +public class VariablesDeclarationImpl extends MinimalEObjectImpl.Container implements VariablesDeclaration +{ + /** + * The cached value of the '{@link #getVariables() Variables}' containment reference list. + * + * + * @see #getVariables() + * @generated + * @ordered + */ + protected EList variables; + + /** + * The cached value of the '{@link #getType() Type}' containment reference. + * + * + * @see #getType() + * @generated + * @ordered + */ + protected Type type; + + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected Expression value; + + /** + * + * + * @generated + */ + protected VariablesDeclarationImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getVariablesDeclaration(); + } + + /** + * + * + * @generated + */ + public EList getVariables() + { + if (variables == null) + { + variables = new EObjectContainmentEList(VariableDeclaration.class, this, FiacrePackage.VARIABLES_DECLARATION__VARIABLES); + } + return variables; + } + + /** + * + * + * @generated + */ + public Type getType() + { + return type; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetType(Type newType, NotificationChain msgs) + { + Type oldType = type; + type = newType; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLES_DECLARATION__TYPE, oldType, newType); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setType(Type newType) + { + if (newType != type) + { + NotificationChain msgs = null; + if (type != null) + msgs = ((InternalEObject)type).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VARIABLES_DECLARATION__TYPE, null, msgs); + if (newType != null) + msgs = ((InternalEObject)newType).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VARIABLES_DECLARATION__TYPE, null, msgs); + msgs = basicSetType(newType, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLES_DECLARATION__TYPE, newType, newType)); + } + + /** + * + * + * @generated + */ + public Expression getValue() + { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(Expression newValue, NotificationChain msgs) + { + Expression oldValue = value; + value = newValue; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLES_DECLARATION__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(Expression newValue) + { + if (newValue != value) + { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VARIABLES_DECLARATION__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.VARIABLES_DECLARATION__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.VARIABLES_DECLARATION__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + return ((InternalEList)getVariables()).basicRemove(otherEnd, msgs); + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + return basicSetType(null, msgs); + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + return basicSetValue(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + return getVariables(); + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + return getType(); + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + return getValue(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + getVariables().clear(); + getVariables().addAll((Collection)newValue); + return; + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + setType((Type)newValue); + return; + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + setValue((Expression)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + getVariables().clear(); + return; + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + setType((Type)null); + return; + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + setValue((Expression)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.VARIABLES_DECLARATION__VARIABLES: + return variables != null && !variables.isEmpty(); + case FiacrePackage.VARIABLES_DECLARATION__TYPE: + return type != null; + case FiacrePackage.VARIABLES_DECLARATION__VALUE: + return value != null; + } + return super.eIsSet(featureID); + } + +} //VariablesDeclarationImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WaitStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WaitStatementImpl.java new file mode 100644 index 0000000..ce54e9c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WaitStatementImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.LowerBound; +import fr.irit.fiacre.xtext.fiacre.UpperBound; +import fr.irit.fiacre.xtext.fiacre.WaitStatement; + +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; + +/** + * + * An implementation of the model object 'Wait Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.WaitStatementImpl#getLeft Left}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.WaitStatementImpl#getRight Right}
  • + *
+ * + * @generated + */ +public class WaitStatementImpl extends StatementImpl implements WaitStatement +{ + /** + * The cached value of the '{@link #getLeft() Left}' containment reference. + * + * + * @see #getLeft() + * @generated + * @ordered + */ + protected LowerBound left; + + /** + * The cached value of the '{@link #getRight() Right}' containment reference. + * + * + * @see #getRight() + * @generated + * @ordered + */ + protected UpperBound right; + + /** + * + * + * @generated + */ + protected WaitStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getWaitStatement(); + } + + /** + * + * + * @generated + */ + public LowerBound getLeft() + { + return left; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetLeft(LowerBound newLeft, NotificationChain msgs) + { + LowerBound oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.WAIT_STATEMENT__LEFT, oldLeft, newLeft); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setLeft(LowerBound newLeft) + { + if (newLeft != left) + { + NotificationChain msgs = null; + if (left != null) + msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WAIT_STATEMENT__LEFT, null, msgs); + if (newLeft != null) + msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WAIT_STATEMENT__LEFT, null, msgs); + msgs = basicSetLeft(newLeft, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.WAIT_STATEMENT__LEFT, newLeft, newLeft)); + } + + /** + * + * + * @generated + */ + public UpperBound getRight() + { + return right; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetRight(UpperBound newRight, NotificationChain msgs) + { + UpperBound oldRight = right; + right = newRight; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.WAIT_STATEMENT__RIGHT, oldRight, newRight); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setRight(UpperBound newRight) + { + if (newRight != right) + { + NotificationChain msgs = null; + if (right != null) + msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WAIT_STATEMENT__RIGHT, null, msgs); + if (newRight != null) + msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WAIT_STATEMENT__RIGHT, null, msgs); + msgs = basicSetRight(newRight, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.WAIT_STATEMENT__RIGHT, newRight, newRight)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.WAIT_STATEMENT__LEFT: + return basicSetLeft(null, msgs); + case FiacrePackage.WAIT_STATEMENT__RIGHT: + return basicSetRight(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.WAIT_STATEMENT__LEFT: + return getLeft(); + case FiacrePackage.WAIT_STATEMENT__RIGHT: + return getRight(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.WAIT_STATEMENT__LEFT: + setLeft((LowerBound)newValue); + return; + case FiacrePackage.WAIT_STATEMENT__RIGHT: + setRight((UpperBound)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.WAIT_STATEMENT__LEFT: + setLeft((LowerBound)null); + return; + case FiacrePackage.WAIT_STATEMENT__RIGHT: + setRight((UpperBound)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.WAIT_STATEMENT__LEFT: + return left != null; + case FiacrePackage.WAIT_STATEMENT__RIGHT: + return right != null; + } + return super.eIsSet(featureID); + } + +} //WaitStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WhileStatementImpl.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WhileStatementImpl.java new file mode 100644 index 0000000..73d53aa --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/WhileStatementImpl.java @@ -0,0 +1,276 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.impl; + +import fr.irit.fiacre.xtext.fiacre.Expression; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.Statement; +import fr.irit.fiacre.xtext.fiacre.WhileStatement; + +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; + +/** + * + * An implementation of the model object 'While Statement'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.WhileStatementImpl#getCondition Condition}
  • + *
  • {@link fr.irit.fiacre.xtext.fiacre.impl.WhileStatementImpl#getBody Body}
  • + *
+ * + * @generated + */ +public class WhileStatementImpl extends StatementImpl implements WhileStatement +{ + /** + * The cached value of the '{@link #getCondition() Condition}' containment reference. + * + * + * @see #getCondition() + * @generated + * @ordered + */ + protected Expression condition; + + /** + * The cached value of the '{@link #getBody() Body}' containment reference. + * + * + * @see #getBody() + * @generated + * @ordered + */ + protected Statement body; + + /** + * + * + * @generated + */ + protected WhileStatementImpl() + { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() + { + return FiacrePackage.eINSTANCE.getWhileStatement(); + } + + /** + * + * + * @generated + */ + public Expression getCondition() + { + return condition; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetCondition(Expression newCondition, NotificationChain msgs) + { + Expression oldCondition = condition; + condition = newCondition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.WHILE_STATEMENT__CONDITION, oldCondition, newCondition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setCondition(Expression newCondition) + { + if (newCondition != condition) + { + NotificationChain msgs = null; + if (condition != null) + msgs = ((InternalEObject)condition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WHILE_STATEMENT__CONDITION, null, msgs); + if (newCondition != null) + msgs = ((InternalEObject)newCondition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WHILE_STATEMENT__CONDITION, null, msgs); + msgs = basicSetCondition(newCondition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.WHILE_STATEMENT__CONDITION, newCondition, newCondition)); + } + + /** + * + * + * @generated + */ + public Statement getBody() + { + return body; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetBody(Statement newBody, NotificationChain msgs) + { + Statement oldBody = body; + body = newBody; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FiacrePackage.WHILE_STATEMENT__BODY, oldBody, newBody); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setBody(Statement newBody) + { + if (newBody != body) + { + NotificationChain msgs = null; + if (body != null) + msgs = ((InternalEObject)body).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WHILE_STATEMENT__BODY, null, msgs); + if (newBody != null) + msgs = ((InternalEObject)newBody).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FiacrePackage.WHILE_STATEMENT__BODY, null, msgs); + msgs = basicSetBody(newBody, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, FiacrePackage.WHILE_STATEMENT__BODY, newBody, newBody)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + return basicSetCondition(null, msgs); + case FiacrePackage.WHILE_STATEMENT__BODY: + return basicSetBody(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + return getCondition(); + case FiacrePackage.WHILE_STATEMENT__BODY: + return getBody(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + setCondition((Expression)newValue); + return; + case FiacrePackage.WHILE_STATEMENT__BODY: + setBody((Statement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + setCondition((Expression)null); + return; + case FiacrePackage.WHILE_STATEMENT__BODY: + setBody((Statement)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case FiacrePackage.WHILE_STATEMENT__CONDITION: + return condition != null; + case FiacrePackage.WHILE_STATEMENT__BODY: + return body != null; + } + return super.eIsSet(featureID); + } + +} //WhileStatementImpl diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/fiacre.loadinitialization_ecore b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/fiacre.loadinitialization_ecore new file mode 100644 index 0000000..fbbd71a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/impl/fiacre.loadinitialization_ecore @@ -0,0 +1,881 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreAdapterFactory.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreAdapterFactory.java new file mode 100644 index 0000000..38bb922 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreAdapterFactory.java @@ -0,0 +1,4023 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.util; + +import fr.irit.fiacre.xtext.fiacre.*; + +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; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage + * @generated + */ +public class FiacreAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * + * + * @generated + */ + protected static FiacrePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public FiacreAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = FiacrePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @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 createXXX methods. + * + * + * @generated + */ + protected FiacreSwitch modelSwitch = + new FiacreSwitch() + { + @Override + public Adapter caseModel(Model object) + { + return createModelAdapter(); + } + @Override + public Adapter caseRootDeclaration(RootDeclaration object) + { + return createRootDeclarationAdapter(); + } + @Override + public Adapter caseRoot(Root object) + { + return createRootAdapter(); + } + @Override + public Adapter caseNamedElement(NamedElement object) + { + return createNamedElementAdapter(); + } + @Override + public Adapter caseTypeDeclarationUse(TypeDeclarationUse object) + { + return createTypeDeclarationUseAdapter(); + } + @Override + public Adapter caseConstantDeclarationUse(ConstantDeclarationUse object) + { + return createConstantDeclarationUseAdapter(); + } + @Override + public Adapter caseExpressionDeclarationUse(ExpressionDeclarationUse object) + { + return createExpressionDeclarationUseAdapter(); + } + @Override + public Adapter caseReferenceDeclarationUse(ReferenceDeclarationUse object) + { + return createReferenceDeclarationUseAdapter(); + } + @Override + public Adapter caseUnionTagDeclarationUse(UnionTagDeclarationUse object) + { + return createUnionTagDeclarationUseAdapter(); + } + @Override + public Adapter caseRecordFieldDeclarationUse(RecordFieldDeclarationUse object) + { + return createRecordFieldDeclarationUseAdapter(); + } + @Override + public Adapter casePatternDeclarationUse(PatternDeclarationUse object) + { + return createPatternDeclarationUseAdapter(); + } + @Override + public Adapter caseBoundDeclarationUse(BoundDeclarationUse object) + { + return createBoundDeclarationUseAdapter(); + } + @Override + public Adapter casePathDeclarationUse(PathDeclarationUse object) + { + return createPathDeclarationUseAdapter(); + } + @Override + public Adapter casePropertyDeclarationUse(PropertyDeclarationUse object) + { + return createPropertyDeclarationUseAdapter(); + } + @Override + public Adapter caseImportDeclaration(ImportDeclaration object) + { + return createImportDeclarationAdapter(); + } + @Override + public Adapter caseDeclaration(Declaration object) + { + return createDeclarationAdapter(); + } + @Override + public Adapter caseParameterizedDeclaration(ParameterizedDeclaration object) + { + return createParameterizedDeclarationAdapter(); + } + @Override + public Adapter caseFunctionDeclaration(FunctionDeclaration object) + { + return createFunctionDeclarationAdapter(); + } + @Override + public Adapter caseTypeDeclaration(TypeDeclaration object) + { + return createTypeDeclarationAdapter(); + } + @Override + public Adapter caseChannelDeclaration(ChannelDeclaration object) + { + return createChannelDeclarationAdapter(); + } + @Override + public Adapter caseChannelType(ChannelType object) + { + return createChannelTypeAdapter(); + } + @Override + public Adapter caseType(Type object) + { + return createTypeAdapter(); + } + @Override + public Adapter caseBasicType(BasicType object) + { + return createBasicTypeAdapter(); + } + @Override + public Adapter caseRangeType(RangeType object) + { + return createRangeTypeAdapter(); + } + @Override + public Adapter caseUnionType(UnionType object) + { + return createUnionTypeAdapter(); + } + @Override + public Adapter caseUnionTags(UnionTags object) + { + return createUnionTagsAdapter(); + } + @Override + public Adapter caseUnionTagDeclaration(UnionTagDeclaration object) + { + return createUnionTagDeclarationAdapter(); + } + @Override + public Adapter caseRecordType(RecordType object) + { + return createRecordTypeAdapter(); + } + @Override + public Adapter caseRecordFields(RecordFields object) + { + return createRecordFieldsAdapter(); + } + @Override + public Adapter caseRecordFieldDeclaration(RecordFieldDeclaration object) + { + return createRecordFieldDeclarationAdapter(); + } + @Override + public Adapter caseQueueType(QueueType object) + { + return createQueueTypeAdapter(); + } + @Override + public Adapter caseArrayType(ArrayType object) + { + return createArrayTypeAdapter(); + } + @Override + public Adapter caseReferencedType(ReferencedType object) + { + return createReferencedTypeAdapter(); + } + @Override + public Adapter caseConstantDeclaration(ConstantDeclaration object) + { + return createConstantDeclarationAdapter(); + } + @Override + public Adapter caseProcessDeclaration(ProcessDeclaration object) + { + return createProcessDeclarationAdapter(); + } + @Override + public Adapter caseStateDeclaration(StateDeclaration object) + { + return createStateDeclarationAdapter(); + } + @Override + public Adapter caseTransitionSource(TransitionSource object) + { + return createTransitionSourceAdapter(); + } + @Override + public Adapter caseTransition(Transition object) + { + return createTransitionAdapter(); + } + @Override + public Adapter caseComponentDeclaration(ComponentDeclaration object) + { + return createComponentDeclarationAdapter(); + } + @Override + public Adapter casePortsDeclaration(PortsDeclaration object) + { + return createPortsDeclarationAdapter(); + } + @Override + public Adapter casePortDeclaration(PortDeclaration object) + { + return createPortDeclarationAdapter(); + } + @Override + public Adapter caseLocalPortsDeclaration(LocalPortsDeclaration object) + { + return createLocalPortsDeclarationAdapter(); + } + @Override + public Adapter caseParametersDeclaration(ParametersDeclaration object) + { + return createParametersDeclarationAdapter(); + } + @Override + public Adapter caseParameterDeclaration(ParameterDeclaration object) + { + return createParameterDeclarationAdapter(); + } + @Override + public Adapter caseVariablesDeclaration(VariablesDeclaration object) + { + return createVariablesDeclarationAdapter(); + } + @Override + public Adapter caseVariableDeclaration(VariableDeclaration object) + { + return createVariableDeclarationAdapter(); + } + @Override + public Adapter casePriorityDeclaration(PriorityDeclaration object) + { + return createPriorityDeclarationAdapter(); + } + @Override + public Adapter casePriorityGroup(PriorityGroup object) + { + return createPriorityGroupAdapter(); + } + @Override + public Adapter caseStatement(Statement object) + { + return createStatementAdapter(); + } + @Override + public Adapter caseBlockStatement(BlockStatement object) + { + return createBlockStatementAdapter(); + } + @Override + public Adapter caseReturnStatement(ReturnStatement object) + { + return createReturnStatementAdapter(); + } + @Override + public Adapter caseNullStatement(NullStatement object) + { + return createNullStatementAdapter(); + } + @Override + public Adapter caseTaggedStatement(TaggedStatement object) + { + return createTaggedStatementAdapter(); + } + @Override + public Adapter casePatternStatement(PatternStatement object) + { + return createPatternStatementAdapter(); + } + @Override + public Adapter casePattern(Pattern object) + { + return createPatternAdapter(); + } + @Override + public Adapter caseAnyPattern(AnyPattern object) + { + return createAnyPatternAdapter(); + } + @Override + public Adapter caseConstantPattern(ConstantPattern object) + { + return createConstantPatternAdapter(); + } + @Override + public Adapter caseIntegerPattern(IntegerPattern object) + { + return createIntegerPatternAdapter(); + } + @Override + public Adapter caseIdentifierPattern(IdentifierPattern object) + { + return createIdentifierPatternAdapter(); + } + @Override + public Adapter caseConditionalStatement(ConditionalStatement object) + { + return createConditionalStatementAdapter(); + } + @Override + public Adapter caseExtendedConditionalStatement(ExtendedConditionalStatement object) + { + return createExtendedConditionalStatementAdapter(); + } + @Override + public Adapter caseSelectStatement(SelectStatement object) + { + return createSelectStatementAdapter(); + } + @Override + public Adapter caseWhileStatement(WhileStatement object) + { + return createWhileStatementAdapter(); + } + @Override + public Adapter caseForeachStatement(ForeachStatement object) + { + return createForeachStatementAdapter(); + } + @Override + public Adapter caseToStatement(ToStatement object) + { + return createToStatementAdapter(); + } + @Override + public Adapter caseCaseStatement(CaseStatement object) + { + return createCaseStatementAdapter(); + } + @Override + public Adapter caseLoopStatement(LoopStatement object) + { + return createLoopStatementAdapter(); + } + @Override + public Adapter caseOnStatement(OnStatement object) + { + return createOnStatementAdapter(); + } + @Override + public Adapter caseWaitStatement(WaitStatement object) + { + return createWaitStatementAdapter(); + } + @Override + public Adapter caseComposition(Composition object) + { + return createCompositionAdapter(); + } + @Override + public Adapter caseBlock(Block object) + { + return createBlockAdapter(); + } + @Override + public Adapter caseCompositeBlock(CompositeBlock object) + { + return createCompositeBlockAdapter(); + } + @Override + public Adapter caseInstanceDeclaration(InstanceDeclaration object) + { + return createInstanceDeclarationAdapter(); + } + @Override + public Adapter casePortSet(PortSet object) + { + return createPortSetAdapter(); + } + @Override + public Adapter caseComponentInstance(ComponentInstance object) + { + return createComponentInstanceAdapter(); + } + @Override + public Adapter caseExpression(Expression object) + { + return createExpressionAdapter(); + } + @Override + public Adapter caseValueExpression(ValueExpression object) + { + return createValueExpressionAdapter(); + } + @Override + public Adapter caseReferenceExpression(ReferenceExpression object) + { + return createReferenceExpressionAdapter(); + } + @Override + public Adapter caseIdentifierExpression(IdentifierExpression object) + { + return createIdentifierExpressionAdapter(); + } + @Override + public Adapter caseRecordExpression(RecordExpression object) + { + return createRecordExpressionAdapter(); + } + @Override + public Adapter caseFieldExpression(FieldExpression object) + { + return createFieldExpressionAdapter(); + } + @Override + public Adapter caseArrayExpression(ArrayExpression object) + { + return createArrayExpressionAdapter(); + } + @Override + public Adapter caseQueueExpression(QueueExpression object) + { + return createQueueExpressionAdapter(); + } + @Override + public Adapter caseEnqueueExpression(EnqueueExpression object) + { + return createEnqueueExpressionAdapter(); + } + @Override + public Adapter caseAppendExpression(AppendExpression object) + { + return createAppendExpressionAdapter(); + } + @Override + public Adapter caseLiteralExpression(LiteralExpression object) + { + return createLiteralExpressionAdapter(); + } + @Override + public Adapter caseBooleanLiteral(BooleanLiteral object) + { + return createBooleanLiteralAdapter(); + } + @Override + public Adapter caseNaturalLiteral(NaturalLiteral object) + { + return createNaturalLiteralAdapter(); + } + @Override + public Adapter caseLowerBound(LowerBound object) + { + return createLowerBoundAdapter(); + } + @Override + public Adapter caseUpperBound(UpperBound object) + { + return createUpperBoundAdapter(); + } + @Override + public Adapter caseNaturalLowerBound(NaturalLowerBound object) + { + return createNaturalLowerBoundAdapter(); + } + @Override + public Adapter caseNaturalUpperBound(NaturalUpperBound object) + { + return createNaturalUpperBoundAdapter(); + } + @Override + public Adapter caseDecimalLowerBound(DecimalLowerBound object) + { + return createDecimalLowerBoundAdapter(); + } + @Override + public Adapter caseDecimalUpperBound(DecimalUpperBound object) + { + return createDecimalUpperBoundAdapter(); + } + @Override + public Adapter caseVariableLowerBound(VariableLowerBound object) + { + return createVariableLowerBoundAdapter(); + } + @Override + public Adapter caseVariableUpperBound(VariableUpperBound object) + { + return createVariableUpperBoundAdapter(); + } + @Override + public Adapter caseInfiniteUpperBound(InfiniteUpperBound object) + { + return createInfiniteUpperBoundAdapter(); + } + @Override + public Adapter caseRequirement(Requirement object) + { + return createRequirementAdapter(); + } + @Override + public Adapter casePropertyDeclaration(PropertyDeclaration object) + { + return createPropertyDeclarationAdapter(); + } + @Override + public Adapter caseProperty(Property object) + { + return createPropertyAdapter(); + } + @Override + public Adapter casePatternProperty(PatternProperty object) + { + return createPatternPropertyAdapter(); + } + @Override + public Adapter caseLTLPattern(LTLPattern object) + { + return createLTLPatternAdapter(); + } + @Override + public Adapter caseDeadlockFreePattern(DeadlockFreePattern object) + { + return createDeadlockFreePatternAdapter(); + } + @Override + public Adapter caseInfinitelyOftenPattern(InfinitelyOftenPattern object) + { + return createInfinitelyOftenPatternAdapter(); + } + @Override + public Adapter caseMortalPattern(MortalPattern object) + { + return createMortalPatternAdapter(); + } + @Override + public Adapter casePresencePattern(PresencePattern object) + { + return createPresencePatternAdapter(); + } + @Override + public Adapter caseAbsencePattern(AbsencePattern object) + { + return createAbsencePatternAdapter(); + } + @Override + public Adapter caseAlwaysPattern(AlwaysPattern object) + { + return createAlwaysPatternAdapter(); + } + @Override + public Adapter caseSequencePattern(SequencePattern object) + { + return createSequencePatternAdapter(); + } + @Override + public Adapter caseLTLProperty(LTLProperty object) + { + return createLTLPropertyAdapter(); + } + @Override + public Adapter caseStateEvent(StateEvent object) + { + return createStateEventAdapter(); + } + @Override + public Adapter caseEnterStateEvent(EnterStateEvent object) + { + return createEnterStateEventAdapter(); + } + @Override + public Adapter caseLeaveStateEvent(LeaveStateEvent object) + { + return createLeaveStateEventAdapter(); + } + @Override + public Adapter caseObservable(Observable object) + { + return createObservableAdapter(); + } + @Override + public Adapter caseObservableEvent(ObservableEvent object) + { + return createObservableEventAdapter(); + } + @Override + public Adapter casePathEvent(PathEvent object) + { + return createPathEventAdapter(); + } + @Override + public Adapter casePath(Path object) + { + return createPathAdapter(); + } + @Override + public Adapter casePathItem(PathItem object) + { + return createPathItemAdapter(); + } + @Override + public Adapter caseNaturalItem(NaturalItem object) + { + return createNaturalItemAdapter(); + } + @Override + public Adapter caseNamedItem(NamedItem object) + { + return createNamedItemAdapter(); + } + @Override + public Adapter caseSubject(Subject object) + { + return createSubjectAdapter(); + } + @Override + public Adapter caseStateSubject(StateSubject object) + { + return createStateSubjectAdapter(); + } + @Override + public Adapter caseValueSubject(ValueSubject object) + { + return createValueSubjectAdapter(); + } + @Override + public Adapter caseTagSubject(TagSubject object) + { + return createTagSubjectAdapter(); + } + @Override + public Adapter caseEventSubject(EventSubject object) + { + return createEventSubjectAdapter(); + } + @Override + public Adapter caseTupleType(TupleType object) + { + return createTupleTypeAdapter(); + } + @Override + public Adapter caseNaturalType(NaturalType object) + { + return createNaturalTypeAdapter(); + } + @Override + public Adapter caseIntegerType(IntegerType object) + { + return createIntegerTypeAdapter(); + } + @Override + public Adapter caseBooleanType(BooleanType object) + { + return createBooleanTypeAdapter(); + } + @Override + public Adapter caseUnlessStatement(UnlessStatement object) + { + return createUnlessStatementAdapter(); + } + @Override + public Adapter caseStatementChoice(StatementChoice object) + { + return createStatementChoiceAdapter(); + } + @Override + public Adapter caseStatementSequence(StatementSequence object) + { + return createStatementSequenceAdapter(); + } + @Override + public Adapter caseAssignStatement(AssignStatement object) + { + return createAssignStatementAdapter(); + } + @Override + public Adapter caseAssignAnyStatement(AssignAnyStatement object) + { + return createAssignAnyStatementAdapter(); + } + @Override + public Adapter caseSendStatement(SendStatement object) + { + return createSendStatementAdapter(); + } + @Override + public Adapter caseReceiveStatement(ReceiveStatement object) + { + return createReceiveStatementAdapter(); + } + @Override + public Adapter caseConstructorPattern(ConstructorPattern object) + { + return createConstructorPatternAdapter(); + } + @Override + public Adapter caseArrayAccessPattern(ArrayAccessPattern object) + { + return createArrayAccessPatternAdapter(); + } + @Override + public Adapter caseRecordAccessPattern(RecordAccessPattern object) + { + return createRecordAccessPatternAdapter(); + } + @Override + public Adapter caseAllExpression(AllExpression object) + { + return createAllExpressionAdapter(); + } + @Override + public Adapter caseExistsExpression(ExistsExpression object) + { + return createExistsExpressionAdapter(); + } + @Override + public Adapter caseConditional(Conditional object) + { + return createConditionalAdapter(); + } + @Override + public Adapter caseDisjunction(Disjunction object) + { + return createDisjunctionAdapter(); + } + @Override + public Adapter caseImplication(Implication object) + { + return createImplicationAdapter(); + } + @Override + public Adapter caseConjunction(Conjunction object) + { + return createConjunctionAdapter(); + } + @Override + public Adapter caseComparisonEqual(ComparisonEqual object) + { + return createComparisonEqualAdapter(); + } + @Override + public Adapter caseComparisonNotEqual(ComparisonNotEqual object) + { + return createComparisonNotEqualAdapter(); + } + @Override + public Adapter caseComparisonLesser(ComparisonLesser object) + { + return createComparisonLesserAdapter(); + } + @Override + public Adapter caseComparisonLesserEqual(ComparisonLesserEqual object) + { + return createComparisonLesserEqualAdapter(); + } + @Override + public Adapter caseComparisonGreater(ComparisonGreater object) + { + return createComparisonGreaterAdapter(); + } + @Override + public Adapter caseComparisonGreaterEqual(ComparisonGreaterEqual object) + { + return createComparisonGreaterEqualAdapter(); + } + @Override + public Adapter caseAddition(Addition object) + { + return createAdditionAdapter(); + } + @Override + public Adapter caseSubstraction(Substraction object) + { + return createSubstractionAdapter(); + } + @Override + public Adapter caseMultiplication(Multiplication object) + { + return createMultiplicationAdapter(); + } + @Override + public Adapter caseDivision(Division object) + { + return createDivisionAdapter(); + } + @Override + public Adapter caseModulo(Modulo object) + { + return createModuloAdapter(); + } + @Override + public Adapter caseUnaryPlusExpression(UnaryPlusExpression object) + { + return createUnaryPlusExpressionAdapter(); + } + @Override + public Adapter caseUnaryMinusExpression(UnaryMinusExpression object) + { + return createUnaryMinusExpressionAdapter(); + } + @Override + public Adapter caseUnaryNegationExpression(UnaryNegationExpression object) + { + return createUnaryNegationExpressionAdapter(); + } + @Override + public Adapter caseUnaryFirstExpression(UnaryFirstExpression object) + { + return createUnaryFirstExpressionAdapter(); + } + @Override + public Adapter caseUnaryLengthExpression(UnaryLengthExpression object) + { + return createUnaryLengthExpressionAdapter(); + } + @Override + public Adapter caseUnaryCoerceExpression(UnaryCoerceExpression object) + { + return createUnaryCoerceExpressionAdapter(); + } + @Override + public Adapter caseUnaryFullExpression(UnaryFullExpression object) + { + return createUnaryFullExpressionAdapter(); + } + @Override + public Adapter caseUnaryDeQueueExpression(UnaryDeQueueExpression object) + { + return createUnaryDeQueueExpressionAdapter(); + } + @Override + public Adapter caseUnaryEmptyExpression(UnaryEmptyExpression object) + { + return createUnaryEmptyExpressionAdapter(); + } + @Override + public Adapter caseProjection(Projection object) + { + return createProjectionAdapter(); + } + @Override + public Adapter caseConstructionExpression(ConstructionExpression object) + { + return createConstructionExpressionAdapter(); + } + @Override + public Adapter caseArrayAccessExpression(ArrayAccessExpression object) + { + return createArrayAccessExpressionAdapter(); + } + @Override + public Adapter caseRecordAccessExpression(RecordAccessExpression object) + { + return createRecordAccessExpressionAdapter(); + } + @Override + public Adapter caseTrueLiteral(TrueLiteral object) + { + return createTrueLiteralAdapter(); + } + @Override + public Adapter caseFalseLiteral(FalseLiteral object) + { + return createFalseLiteralAdapter(); + } + @Override + public Adapter caseAllProperty(AllProperty object) + { + return createAllPropertyAdapter(); + } + @Override + public Adapter caseExistsProperty(ExistsProperty object) + { + return createExistsPropertyAdapter(); + } + @Override + public Adapter casePropertyDisjunction(PropertyDisjunction object) + { + return createPropertyDisjunctionAdapter(); + } + @Override + public Adapter casePropertyImplication(PropertyImplication object) + { + return createPropertyImplicationAdapter(); + } + @Override + public Adapter casePropertyConjunction(PropertyConjunction object) + { + return createPropertyConjunctionAdapter(); + } + @Override + public Adapter casePropertyNegation(PropertyNegation object) + { + return createPropertyNegationAdapter(); + } + @Override + public Adapter caseLeadsToPattern(LeadsToPattern object) + { + return createLeadsToPatternAdapter(); + } + @Override + public Adapter casePrecedesPattern(PrecedesPattern object) + { + return createPrecedesPatternAdapter(); + } + @Override + public Adapter caseLTLAll(LTLAll object) + { + return createLTLAllAdapter(); + } + @Override + public Adapter caseLTLExists(LTLExists object) + { + return createLTLExistsAdapter(); + } + @Override + public Adapter caseLTLDisjunction(LTLDisjunction object) + { + return createLTLDisjunctionAdapter(); + } + @Override + public Adapter caseLTLImplication(LTLImplication object) + { + return createLTLImplicationAdapter(); + } + @Override + public Adapter caseLTLConjunction(LTLConjunction object) + { + return createLTLConjunctionAdapter(); + } + @Override + public Adapter caseLTLUntil(LTLUntil object) + { + return createLTLUntilAdapter(); + } + @Override + public Adapter caseLTLRelease(LTLRelease object) + { + return createLTLReleaseAdapter(); + } + @Override + public Adapter caseLTLUnaryNegation(LTLUnaryNegation object) + { + return createLTLUnaryNegationAdapter(); + } + @Override + public Adapter caseLTLUnaryNext(LTLUnaryNext object) + { + return createLTLUnaryNextAdapter(); + } + @Override + public Adapter caseLTLUnaryAlways(LTLUnaryAlways object) + { + return createLTLUnaryAlwaysAdapter(); + } + @Override + public Adapter caseLTLUnaryEventually(LTLUnaryEventually object) + { + return createLTLUnaryEventuallyAdapter(); + } + @Override + public Adapter caseLTLVariable(LTLVariable object) + { + return createLTLVariableAdapter(); + } + @Override + public Adapter caseObservableDisjunction(ObservableDisjunction object) + { + return createObservableDisjunctionAdapter(); + } + @Override + public Adapter caseObservableImplication(ObservableImplication object) + { + return createObservableImplicationAdapter(); + } + @Override + public Adapter caseObservableConjunction(ObservableConjunction object) + { + return createObservableConjunctionAdapter(); + } + @Override + public Adapter caseObservableNegation(ObservableNegation object) + { + return createObservableNegationAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Model Model}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Model + * @generated + */ + public Adapter createModelAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RootDeclaration Root Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RootDeclaration + * @generated + */ + public Adapter createRootDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Root Root}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Root + * @generated + */ + public Adapter createRootAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NamedElement Named Element}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NamedElement + * @generated + */ + public Adapter createNamedElementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse Type Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TypeDeclarationUse + * @generated + */ + public Adapter createTypeDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse Constant Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclarationUse + * @generated + */ + public Adapter createConstantDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse Expression Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ExpressionDeclarationUse + * @generated + */ + public Adapter createExpressionDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse Reference Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ReferenceDeclarationUse + * @generated + */ + public Adapter createReferenceDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse Union Tag Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnionTagDeclarationUse + * @generated + */ + public Adapter createUnionTagDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse Record Field Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordFieldDeclarationUse + * @generated + */ + public Adapter createRecordFieldDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse Pattern Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PatternDeclarationUse + * @generated + */ + public Adapter createPatternDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse Bound Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.BoundDeclarationUse + * @generated + */ + public Adapter createBoundDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PathDeclarationUse Path Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PathDeclarationUse + * @generated + */ + public Adapter createPathDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse Property Declaration Use}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDeclarationUse + * @generated + */ + public Adapter createPropertyDeclarationUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ImportDeclaration Import Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ImportDeclaration + * @generated + */ + public Adapter createImportDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Declaration Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Declaration + * @generated + */ + public Adapter createDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration Parameterized Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration + * @generated + */ + public Adapter createParameterizedDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.FunctionDeclaration Function Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.FunctionDeclaration + * @generated + */ + public Adapter createFunctionDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TypeDeclaration Type Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TypeDeclaration + * @generated + */ + public Adapter createTypeDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ChannelDeclaration Channel Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ChannelDeclaration + * @generated + */ + public Adapter createChannelDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ChannelType Channel Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ChannelType + * @generated + */ + public Adapter createChannelTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Type Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Type + * @generated + */ + public Adapter createTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.BasicType Basic Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.BasicType + * @generated + */ + public Adapter createBasicTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RangeType Range Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RangeType + * @generated + */ + public Adapter createRangeTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnionType Union Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnionType + * @generated + */ + public Adapter createUnionTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnionTags Union Tags}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnionTags + * @generated + */ + public Adapter createUnionTagsAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration Union Tag Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration + * @generated + */ + public Adapter createUnionTagDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordType Record Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordType + * @generated + */ + public Adapter createRecordTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordFields Record Fields}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordFields + * @generated + */ + public Adapter createRecordFieldsAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration Record Field Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration + * @generated + */ + public Adapter createRecordFieldDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.QueueType Queue Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.QueueType + * @generated + */ + public Adapter createQueueTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ArrayType Array Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ArrayType + * @generated + */ + public Adapter createArrayTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ReferencedType Referenced Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ReferencedType + * @generated + */ + public Adapter createReferencedTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConstantDeclaration Constant Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConstantDeclaration + * @generated + */ + public Adapter createConstantDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ProcessDeclaration Process Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ProcessDeclaration + * @generated + */ + public Adapter createProcessDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.StateDeclaration State Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.StateDeclaration + * @generated + */ + public Adapter createStateDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TransitionSource Transition Source}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TransitionSource + * @generated + */ + public Adapter createTransitionSourceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Transition Transition}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Transition + * @generated + */ + public Adapter createTransitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComponentDeclaration Component Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComponentDeclaration + * @generated + */ + public Adapter createComponentDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PortsDeclaration Ports Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PortsDeclaration + * @generated + */ + public Adapter createPortsDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PortDeclaration Port Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PortDeclaration + * @generated + */ + public Adapter createPortDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration Local Ports Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration + * @generated + */ + public Adapter createLocalPortsDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ParametersDeclaration Parameters Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ParametersDeclaration + * @generated + */ + public Adapter createParametersDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ParameterDeclaration Parameter Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ParameterDeclaration + * @generated + */ + public Adapter createParameterDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.VariablesDeclaration Variables Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.VariablesDeclaration + * @generated + */ + public Adapter createVariablesDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.VariableDeclaration Variable Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.VariableDeclaration + * @generated + */ + public Adapter createVariableDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PriorityDeclaration Priority Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PriorityDeclaration + * @generated + */ + public Adapter createPriorityDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PriorityGroup Priority Group}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PriorityGroup + * @generated + */ + public Adapter createPriorityGroupAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Statement Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Statement + * @generated + */ + public Adapter createStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.BlockStatement Block Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.BlockStatement + * @generated + */ + public Adapter createBlockStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ReturnStatement Return Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ReturnStatement + * @generated + */ + public Adapter createReturnStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NullStatement Null Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NullStatement + * @generated + */ + public Adapter createNullStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TaggedStatement Tagged Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TaggedStatement + * @generated + */ + public Adapter createTaggedStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PatternStatement Pattern Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PatternStatement + * @generated + */ + public Adapter createPatternStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Pattern Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Pattern + * @generated + */ + public Adapter createPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AnyPattern Any Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AnyPattern + * @generated + */ + public Adapter createAnyPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConstantPattern Constant Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConstantPattern + * @generated + */ + public Adapter createConstantPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.IntegerPattern Integer Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.IntegerPattern + * @generated + */ + public Adapter createIntegerPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.IdentifierPattern Identifier Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierPattern + * @generated + */ + public Adapter createIdentifierPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConditionalStatement Conditional Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConditionalStatement + * @generated + */ + public Adapter createConditionalStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement Extended Conditional Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement + * @generated + */ + public Adapter createExtendedConditionalStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.SelectStatement Select Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.SelectStatement + * @generated + */ + public Adapter createSelectStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.WhileStatement While Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.WhileStatement + * @generated + */ + public Adapter createWhileStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ForeachStatement Foreach Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ForeachStatement + * @generated + */ + public Adapter createForeachStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ToStatement To Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ToStatement + * @generated + */ + public Adapter createToStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.CaseStatement Case Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.CaseStatement + * @generated + */ + public Adapter createCaseStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LoopStatement Loop Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LoopStatement + * @generated + */ + public Adapter createLoopStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.OnStatement On Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.OnStatement + * @generated + */ + public Adapter createOnStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.WaitStatement Wait Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.WaitStatement + * @generated + */ + public Adapter createWaitStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Composition Composition}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Composition + * @generated + */ + public Adapter createCompositionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Block Block}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Block + * @generated + */ + public Adapter createBlockAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.CompositeBlock Composite Block}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.CompositeBlock + * @generated + */ + public Adapter createCompositeBlockAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.InstanceDeclaration Instance Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.InstanceDeclaration + * @generated + */ + public Adapter createInstanceDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PortSet Port Set}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PortSet + * @generated + */ + public Adapter createPortSetAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComponentInstance Component Instance}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComponentInstance + * @generated + */ + public Adapter createComponentInstanceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Expression Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Expression + * @generated + */ + public Adapter createExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ValueExpression Value Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ValueExpression + * @generated + */ + public Adapter createValueExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ReferenceExpression Reference Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ReferenceExpression + * @generated + */ + public Adapter createReferenceExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.IdentifierExpression Identifier Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.IdentifierExpression + * @generated + */ + public Adapter createIdentifierExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordExpression Record Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordExpression + * @generated + */ + public Adapter createRecordExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.FieldExpression Field Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.FieldExpression + * @generated + */ + public Adapter createFieldExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ArrayExpression Array Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ArrayExpression + * @generated + */ + public Adapter createArrayExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.QueueExpression Queue Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.QueueExpression + * @generated + */ + public Adapter createQueueExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.EnqueueExpression Enqueue Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.EnqueueExpression + * @generated + */ + public Adapter createEnqueueExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AppendExpression Append Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AppendExpression + * @generated + */ + public Adapter createAppendExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LiteralExpression Literal Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LiteralExpression + * @generated + */ + public Adapter createLiteralExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.BooleanLiteral Boolean Literal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.BooleanLiteral + * @generated + */ + public Adapter createBooleanLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NaturalLiteral Natural Literal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLiteral + * @generated + */ + public Adapter createNaturalLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LowerBound Lower Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LowerBound + * @generated + */ + public Adapter createLowerBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UpperBound Upper Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UpperBound + * @generated + */ + public Adapter createUpperBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NaturalLowerBound Natural Lower Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NaturalLowerBound + * @generated + */ + public Adapter createNaturalLowerBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NaturalUpperBound Natural Upper Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NaturalUpperBound + * @generated + */ + public Adapter createNaturalUpperBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.DecimalLowerBound Decimal Lower Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.DecimalLowerBound + * @generated + */ + public Adapter createDecimalLowerBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.DecimalUpperBound Decimal Upper Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.DecimalUpperBound + * @generated + */ + public Adapter createDecimalUpperBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.VariableLowerBound Variable Lower Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.VariableLowerBound + * @generated + */ + public Adapter createVariableLowerBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.VariableUpperBound Variable Upper Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.VariableUpperBound + * @generated + */ + public Adapter createVariableUpperBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound Infinite Upper Bound}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound + * @generated + */ + public Adapter createInfiniteUpperBoundAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Requirement Requirement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Requirement + * @generated + */ + public Adapter createRequirementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDeclaration Property Declaration}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDeclaration + * @generated + */ + public Adapter createPropertyDeclarationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Property Property}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Property + * @generated + */ + public Adapter createPropertyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PatternProperty Pattern Property}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PatternProperty + * @generated + */ + public Adapter createPatternPropertyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLPattern LTL Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLPattern + * @generated + */ + public Adapter createLTLPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern Deadlock Free Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern + * @generated + */ + public Adapter createDeadlockFreePatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern Infinitely Often Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern + * @generated + */ + public Adapter createInfinitelyOftenPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.MortalPattern Mortal Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.MortalPattern + * @generated + */ + public Adapter createMortalPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PresencePattern Presence Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PresencePattern + * @generated + */ + public Adapter createPresencePatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AbsencePattern Absence Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AbsencePattern + * @generated + */ + public Adapter createAbsencePatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AlwaysPattern Always Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AlwaysPattern + * @generated + */ + public Adapter createAlwaysPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.SequencePattern Sequence Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.SequencePattern + * @generated + */ + public Adapter createSequencePatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLProperty LTL Property}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLProperty + * @generated + */ + public Adapter createLTLPropertyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.StateEvent State Event}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.StateEvent + * @generated + */ + public Adapter createStateEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.EnterStateEvent Enter State Event}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.EnterStateEvent + * @generated + */ + public Adapter createEnterStateEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LeaveStateEvent Leave State Event}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LeaveStateEvent + * @generated + */ + public Adapter createLeaveStateEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Observable Observable}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Observable + * @generated + */ + public Adapter createObservableAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ObservableEvent Observable Event}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ObservableEvent + * @generated + */ + public Adapter createObservableEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PathEvent Path Event}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PathEvent + * @generated + */ + public Adapter createPathEventAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Path Path}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Path + * @generated + */ + public Adapter createPathAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PathItem Path Item}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PathItem + * @generated + */ + public Adapter createPathItemAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NaturalItem Natural Item}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NaturalItem + * @generated + */ + public Adapter createNaturalItemAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NamedItem Named Item}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NamedItem + * @generated + */ + public Adapter createNamedItemAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Subject Subject}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Subject + * @generated + */ + public Adapter createSubjectAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.StateSubject State Subject}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.StateSubject + * @generated + */ + public Adapter createStateSubjectAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ValueSubject Value Subject}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ValueSubject + * @generated + */ + public Adapter createValueSubjectAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TagSubject Tag Subject}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TagSubject + * @generated + */ + public Adapter createTagSubjectAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.EventSubject Event Subject}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.EventSubject + * @generated + */ + public Adapter createEventSubjectAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TupleType Tuple Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TupleType + * @generated + */ + public Adapter createTupleTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.NaturalType Natural Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.NaturalType + * @generated + */ + public Adapter createNaturalTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.IntegerType Integer Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.IntegerType + * @generated + */ + public Adapter createIntegerTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.BooleanType Boolean Type}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.BooleanType + * @generated + */ + public Adapter createBooleanTypeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnlessStatement Unless Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnlessStatement + * @generated + */ + public Adapter createUnlessStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.StatementChoice Statement Choice}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.StatementChoice + * @generated + */ + public Adapter createStatementChoiceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.StatementSequence Statement Sequence}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.StatementSequence + * @generated + */ + public Adapter createStatementSequenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AssignStatement Assign Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AssignStatement + * @generated + */ + public Adapter createAssignStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AssignAnyStatement Assign Any Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AssignAnyStatement + * @generated + */ + public Adapter createAssignAnyStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.SendStatement Send Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.SendStatement + * @generated + */ + public Adapter createSendStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ReceiveStatement Receive Statement}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ReceiveStatement + * @generated + */ + public Adapter createReceiveStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConstructorPattern Constructor Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConstructorPattern + * @generated + */ + public Adapter createConstructorPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern Array Access Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern + * @generated + */ + public Adapter createArrayAccessPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessPattern Record Access Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessPattern + * @generated + */ + public Adapter createRecordAccessPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AllExpression All Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AllExpression + * @generated + */ + public Adapter createAllExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ExistsExpression Exists Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ExistsExpression + * @generated + */ + public Adapter createExistsExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Conditional Conditional}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Conditional + * @generated + */ + public Adapter createConditionalAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Disjunction Disjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Disjunction + * @generated + */ + public Adapter createDisjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Implication Implication}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Implication + * @generated + */ + public Adapter createImplicationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Conjunction Conjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Conjunction + * @generated + */ + public Adapter createConjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonEqual Comparison Equal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonEqual + * @generated + */ + public Adapter createComparisonEqualAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual Comparison Not Equal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual + * @generated + */ + public Adapter createComparisonNotEqualAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesser Comparison Lesser}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesser + * @generated + */ + public Adapter createComparisonLesserAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual Comparison Lesser Equal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual + * @generated + */ + public Adapter createComparisonLesserEqualAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreater Comparison Greater}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreater + * @generated + */ + public Adapter createComparisonGreaterAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual Comparison Greater Equal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual + * @generated + */ + public Adapter createComparisonGreaterEqualAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Addition Addition}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Addition + * @generated + */ + public Adapter createAdditionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Substraction Substraction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Substraction + * @generated + */ + public Adapter createSubstractionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Multiplication Multiplication}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Multiplication + * @generated + */ + public Adapter createMultiplicationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Division Division}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Division + * @generated + */ + public Adapter createDivisionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Modulo Modulo}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Modulo + * @generated + */ + public Adapter createModuloAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression Unary Plus Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression + * @generated + */ + public Adapter createUnaryPlusExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression Unary Minus Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression + * @generated + */ + public Adapter createUnaryMinusExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression Unary Negation Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression + * @generated + */ + public Adapter createUnaryNegationExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression Unary First Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression + * @generated + */ + public Adapter createUnaryFirstExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression Unary Length Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression + * @generated + */ + public Adapter createUnaryLengthExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression Unary Coerce Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression + * @generated + */ + public Adapter createUnaryCoerceExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryFullExpression Unary Full Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryFullExpression + * @generated + */ + public Adapter createUnaryFullExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression Unary De Queue Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression + * @generated + */ + public Adapter createUnaryDeQueueExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression Unary Empty Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression + * @generated + */ + public Adapter createUnaryEmptyExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.Projection Projection}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.Projection + * @generated + */ + public Adapter createProjectionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ConstructionExpression Construction Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ConstructionExpression + * @generated + */ + public Adapter createConstructionExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression Array Access Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression + * @generated + */ + public Adapter createArrayAccessExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.RecordAccessExpression Record Access Expression}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.RecordAccessExpression + * @generated + */ + public Adapter createRecordAccessExpressionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.TrueLiteral True Literal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.TrueLiteral + * @generated + */ + public Adapter createTrueLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.FalseLiteral False Literal}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.FalseLiteral + * @generated + */ + public Adapter createFalseLiteralAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.AllProperty All Property}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.AllProperty + * @generated + */ + public Adapter createAllPropertyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ExistsProperty Exists Property}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ExistsProperty + * @generated + */ + public Adapter createExistsPropertyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyDisjunction Property Disjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyDisjunction + * @generated + */ + public Adapter createPropertyDisjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyImplication Property Implication}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyImplication + * @generated + */ + public Adapter createPropertyImplicationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyConjunction Property Conjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyConjunction + * @generated + */ + public Adapter createPropertyConjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PropertyNegation Property Negation}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PropertyNegation + * @generated + */ + public Adapter createPropertyNegationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LeadsToPattern Leads To Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LeadsToPattern + * @generated + */ + public Adapter createLeadsToPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.PrecedesPattern Precedes Pattern}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.PrecedesPattern + * @generated + */ + public Adapter createPrecedesPatternAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLAll LTL All}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLAll + * @generated + */ + public Adapter createLTLAllAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLExists LTL Exists}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLExists + * @generated + */ + public Adapter createLTLExistsAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLDisjunction LTL Disjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLDisjunction + * @generated + */ + public Adapter createLTLDisjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLImplication LTL Implication}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLImplication + * @generated + */ + public Adapter createLTLImplicationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLConjunction LTL Conjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLConjunction + * @generated + */ + public Adapter createLTLConjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLUntil LTL Until}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLUntil + * @generated + */ + public Adapter createLTLUntilAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLRelease LTL Release}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLRelease + * @generated + */ + public Adapter createLTLReleaseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation LTL Unary Negation}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation + * @generated + */ + public Adapter createLTLUnaryNegationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryNext LTL Unary Next}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryNext + * @generated + */ + public Adapter createLTLUnaryNextAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways LTL Unary Always}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways + * @generated + */ + public Adapter createLTLUnaryAlwaysAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually LTL Unary Eventually}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually + * @generated + */ + public Adapter createLTLUnaryEventuallyAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.LTLVariable LTL Variable}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.LTLVariable + * @generated + */ + public Adapter createLTLVariableAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ObservableDisjunction Observable Disjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ObservableDisjunction + * @generated + */ + public Adapter createObservableDisjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ObservableImplication Observable Implication}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ObservableImplication + * @generated + */ + public Adapter createObservableImplicationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ObservableConjunction Observable Conjunction}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ObservableConjunction + * @generated + */ + public Adapter createObservableConjunctionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link fr.irit.fiacre.xtext.fiacre.ObservableNegation Observable Negation}'. + * + * 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. + * + * @return the new adapter. + * @see fr.irit.fiacre.xtext.fiacre.ObservableNegation + * @generated + */ + public Adapter createObservableNegationAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //FiacreAdapterFactory diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreSwitch.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreSwitch.java new file mode 100644 index 0000000..22616b2 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/fiacre/util/FiacreSwitch.java @@ -0,0 +1,4878 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.fiacre.util; + +import fr.irit.fiacre.xtext.fiacre.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX 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. + * + * @see fr.irit.fiacre.xtext.fiacre.FiacrePackage + * @generated + */ +public class FiacreSwitch extends Switch +{ + /** + * The cached model package + * + * + * @generated + */ + protected static FiacrePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public FiacreSwitch() + { + if (modelPackage == null) + { + modelPackage = FiacrePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @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 caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case FiacrePackage.MODEL: + { + Model model = (Model)theEObject; + T result = caseModel(model); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ROOT_DECLARATION: + { + RootDeclaration rootDeclaration = (RootDeclaration)theEObject; + T result = caseRootDeclaration(rootDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ROOT: + { + Root root = (Root)theEObject; + T result = caseRoot(root); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NAMED_ELEMENT: + { + NamedElement namedElement = (NamedElement)theEObject; + T result = caseNamedElement(namedElement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TYPE_DECLARATION_USE: + { + TypeDeclarationUse typeDeclarationUse = (TypeDeclarationUse)theEObject; + T result = caseTypeDeclarationUse(typeDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONSTANT_DECLARATION_USE: + { + ConstantDeclarationUse constantDeclarationUse = (ConstantDeclarationUse)theEObject; + T result = caseConstantDeclarationUse(constantDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EXPRESSION_DECLARATION_USE: + { + ExpressionDeclarationUse expressionDeclarationUse = (ExpressionDeclarationUse)theEObject; + T result = caseExpressionDeclarationUse(expressionDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.REFERENCE_DECLARATION_USE: + { + ReferenceDeclarationUse referenceDeclarationUse = (ReferenceDeclarationUse)theEObject; + T result = caseReferenceDeclarationUse(referenceDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNION_TAG_DECLARATION_USE: + { + UnionTagDeclarationUse unionTagDeclarationUse = (UnionTagDeclarationUse)theEObject; + T result = caseUnionTagDeclarationUse(unionTagDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_FIELD_DECLARATION_USE: + { + RecordFieldDeclarationUse recordFieldDeclarationUse = (RecordFieldDeclarationUse)theEObject; + T result = caseRecordFieldDeclarationUse(recordFieldDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATTERN_DECLARATION_USE: + { + PatternDeclarationUse patternDeclarationUse = (PatternDeclarationUse)theEObject; + T result = casePatternDeclarationUse(patternDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BOUND_DECLARATION_USE: + { + BoundDeclarationUse boundDeclarationUse = (BoundDeclarationUse)theEObject; + T result = caseBoundDeclarationUse(boundDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATH_DECLARATION_USE: + { + PathDeclarationUse pathDeclarationUse = (PathDeclarationUse)theEObject; + T result = casePathDeclarationUse(pathDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_DECLARATION_USE: + { + PropertyDeclarationUse propertyDeclarationUse = (PropertyDeclarationUse)theEObject; + T result = casePropertyDeclarationUse(propertyDeclarationUse); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.IMPORT_DECLARATION: + { + ImportDeclaration importDeclaration = (ImportDeclaration)theEObject; + T result = caseImportDeclaration(importDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DECLARATION: + { + Declaration declaration = (Declaration)theEObject; + T result = caseDeclaration(declaration); + if (result == null) result = caseNamedElement(declaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PARAMETERIZED_DECLARATION: + { + ParameterizedDeclaration parameterizedDeclaration = (ParameterizedDeclaration)theEObject; + T result = caseParameterizedDeclaration(parameterizedDeclaration); + if (result == null) result = caseDeclaration(parameterizedDeclaration); + if (result == null) result = caseNamedElement(parameterizedDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.FUNCTION_DECLARATION: + { + FunctionDeclaration functionDeclaration = (FunctionDeclaration)theEObject; + T result = caseFunctionDeclaration(functionDeclaration); + if (result == null) result = caseExpressionDeclarationUse(functionDeclaration); + if (result == null) result = caseParameterizedDeclaration(functionDeclaration); + if (result == null) result = caseDeclaration(functionDeclaration); + if (result == null) result = caseNamedElement(functionDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TYPE_DECLARATION: + { + TypeDeclaration typeDeclaration = (TypeDeclaration)theEObject; + T result = caseTypeDeclaration(typeDeclaration); + if (result == null) result = caseTypeDeclarationUse(typeDeclaration); + if (result == null) result = caseDeclaration(typeDeclaration); + if (result == null) result = caseNamedElement(typeDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CHANNEL_DECLARATION: + { + ChannelDeclaration channelDeclaration = (ChannelDeclaration)theEObject; + T result = caseChannelDeclaration(channelDeclaration); + if (result == null) result = caseTypeDeclarationUse(channelDeclaration); + if (result == null) result = caseDeclaration(channelDeclaration); + if (result == null) result = caseNamedElement(channelDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CHANNEL_TYPE: + { + ChannelType channelType = (ChannelType)theEObject; + T result = caseChannelType(channelType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TYPE: + { + Type type = (Type)theEObject; + T result = caseType(type); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BASIC_TYPE: + { + BasicType basicType = (BasicType)theEObject; + T result = caseBasicType(basicType); + if (result == null) result = caseType(basicType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RANGE_TYPE: + { + RangeType rangeType = (RangeType)theEObject; + T result = caseRangeType(rangeType); + if (result == null) result = caseType(rangeType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNION_TYPE: + { + UnionType unionType = (UnionType)theEObject; + T result = caseUnionType(unionType); + if (result == null) result = caseType(unionType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNION_TAGS: + { + UnionTags unionTags = (UnionTags)theEObject; + T result = caseUnionTags(unionTags); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNION_TAG_DECLARATION: + { + UnionTagDeclaration unionTagDeclaration = (UnionTagDeclaration)theEObject; + T result = caseUnionTagDeclaration(unionTagDeclaration); + if (result == null) result = caseNamedElement(unionTagDeclaration); + if (result == null) result = caseExpressionDeclarationUse(unionTagDeclaration); + if (result == null) result = caseUnionTagDeclarationUse(unionTagDeclaration); + if (result == null) result = casePatternDeclarationUse(unionTagDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_TYPE: + { + RecordType recordType = (RecordType)theEObject; + T result = caseRecordType(recordType); + if (result == null) result = caseType(recordType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_FIELDS: + { + RecordFields recordFields = (RecordFields)theEObject; + T result = caseRecordFields(recordFields); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_FIELD_DECLARATION: + { + RecordFieldDeclaration recordFieldDeclaration = (RecordFieldDeclaration)theEObject; + T result = caseRecordFieldDeclaration(recordFieldDeclaration); + if (result == null) result = caseNamedElement(recordFieldDeclaration); + if (result == null) result = caseRecordFieldDeclarationUse(recordFieldDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.QUEUE_TYPE: + { + QueueType queueType = (QueueType)theEObject; + T result = caseQueueType(queueType); + if (result == null) result = caseType(queueType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ARRAY_TYPE: + { + ArrayType arrayType = (ArrayType)theEObject; + T result = caseArrayType(arrayType); + if (result == null) result = caseType(arrayType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.REFERENCED_TYPE: + { + ReferencedType referencedType = (ReferencedType)theEObject; + T result = caseReferencedType(referencedType); + if (result == null) result = caseType(referencedType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONSTANT_DECLARATION: + { + ConstantDeclaration constantDeclaration = (ConstantDeclaration)theEObject; + T result = caseConstantDeclaration(constantDeclaration); + if (result == null) result = caseConstantDeclarationUse(constantDeclaration); + if (result == null) result = caseExpressionDeclarationUse(constantDeclaration); + if (result == null) result = caseBoundDeclarationUse(constantDeclaration); + if (result == null) result = caseDeclaration(constantDeclaration); + if (result == null) result = caseNamedElement(constantDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROCESS_DECLARATION: + { + ProcessDeclaration processDeclaration = (ProcessDeclaration)theEObject; + T result = caseProcessDeclaration(processDeclaration); + if (result == null) result = caseRootDeclaration(processDeclaration); + if (result == null) result = casePathDeclarationUse(processDeclaration); + if (result == null) result = caseParameterizedDeclaration(processDeclaration); + if (result == null) result = caseDeclaration(processDeclaration); + if (result == null) result = caseNamedElement(processDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATE_DECLARATION: + { + StateDeclaration stateDeclaration = (StateDeclaration)theEObject; + T result = caseStateDeclaration(stateDeclaration); + if (result == null) result = caseNamedElement(stateDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TRANSITION_SOURCE: + { + TransitionSource transitionSource = (TransitionSource)theEObject; + T result = caseTransitionSource(transitionSource); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TRANSITION: + { + Transition transition = (Transition)theEObject; + T result = caseTransition(transition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPONENT_DECLARATION: + { + ComponentDeclaration componentDeclaration = (ComponentDeclaration)theEObject; + T result = caseComponentDeclaration(componentDeclaration); + if (result == null) result = caseRootDeclaration(componentDeclaration); + if (result == null) result = casePathDeclarationUse(componentDeclaration); + if (result == null) result = caseParameterizedDeclaration(componentDeclaration); + if (result == null) result = caseDeclaration(componentDeclaration); + if (result == null) result = caseNamedElement(componentDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PORTS_DECLARATION: + { + PortsDeclaration portsDeclaration = (PortsDeclaration)theEObject; + T result = casePortsDeclaration(portsDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PORT_DECLARATION: + { + PortDeclaration portDeclaration = (PortDeclaration)theEObject; + T result = casePortDeclaration(portDeclaration); + if (result == null) result = caseNamedElement(portDeclaration); + if (result == null) result = caseExpressionDeclarationUse(portDeclaration); + if (result == null) result = casePatternDeclarationUse(portDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LOCAL_PORTS_DECLARATION: + { + LocalPortsDeclaration localPortsDeclaration = (LocalPortsDeclaration)theEObject; + T result = caseLocalPortsDeclaration(localPortsDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PARAMETERS_DECLARATION: + { + ParametersDeclaration parametersDeclaration = (ParametersDeclaration)theEObject; + T result = caseParametersDeclaration(parametersDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PARAMETER_DECLARATION: + { + ParameterDeclaration parameterDeclaration = (ParameterDeclaration)theEObject; + T result = caseParameterDeclaration(parameterDeclaration); + if (result == null) result = caseNamedElement(parameterDeclaration); + if (result == null) result = caseExpressionDeclarationUse(parameterDeclaration); + if (result == null) result = caseReferenceDeclarationUse(parameterDeclaration); + if (result == null) result = casePatternDeclarationUse(parameterDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VARIABLES_DECLARATION: + { + VariablesDeclaration variablesDeclaration = (VariablesDeclaration)theEObject; + T result = caseVariablesDeclaration(variablesDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VARIABLE_DECLARATION: + { + VariableDeclaration variableDeclaration = (VariableDeclaration)theEObject; + T result = caseVariableDeclaration(variableDeclaration); + if (result == null) result = caseNamedElement(variableDeclaration); + if (result == null) result = caseExpressionDeclarationUse(variableDeclaration); + if (result == null) result = caseReferenceDeclarationUse(variableDeclaration); + if (result == null) result = casePatternDeclarationUse(variableDeclaration); + if (result == null) result = caseBoundDeclarationUse(variableDeclaration); + if (result == null) result = casePropertyDeclarationUse(variableDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PRIORITY_DECLARATION: + { + PriorityDeclaration priorityDeclaration = (PriorityDeclaration)theEObject; + T result = casePriorityDeclaration(priorityDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PRIORITY_GROUP: + { + PriorityGroup priorityGroup = (PriorityGroup)theEObject; + T result = casePriorityGroup(priorityGroup); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATEMENT: + { + Statement statement = (Statement)theEObject; + T result = caseStatement(statement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BLOCK_STATEMENT: + { + BlockStatement blockStatement = (BlockStatement)theEObject; + T result = caseBlockStatement(blockStatement); + if (result == null) result = caseStatement(blockStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RETURN_STATEMENT: + { + ReturnStatement returnStatement = (ReturnStatement)theEObject; + T result = caseReturnStatement(returnStatement); + if (result == null) result = caseStatement(returnStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NULL_STATEMENT: + { + NullStatement nullStatement = (NullStatement)theEObject; + T result = caseNullStatement(nullStatement); + if (result == null) result = caseStatement(nullStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TAGGED_STATEMENT: + { + TaggedStatement taggedStatement = (TaggedStatement)theEObject; + T result = caseTaggedStatement(taggedStatement); + if (result == null) result = caseStatement(taggedStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATTERN_STATEMENT: + { + PatternStatement patternStatement = (PatternStatement)theEObject; + T result = casePatternStatement(patternStatement); + if (result == null) result = caseStatement(patternStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATTERN: + { + Pattern pattern = (Pattern)theEObject; + T result = casePattern(pattern); + if (result == null) result = casePatternStatement(pattern); + if (result == null) result = caseStatement(pattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ANY_PATTERN: + { + AnyPattern anyPattern = (AnyPattern)theEObject; + T result = caseAnyPattern(anyPattern); + if (result == null) result = casePattern(anyPattern); + if (result == null) result = casePatternStatement(anyPattern); + if (result == null) result = caseStatement(anyPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONSTANT_PATTERN: + { + ConstantPattern constantPattern = (ConstantPattern)theEObject; + T result = caseConstantPattern(constantPattern); + if (result == null) result = casePattern(constantPattern); + if (result == null) result = casePatternStatement(constantPattern); + if (result == null) result = caseStatement(constantPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.INTEGER_PATTERN: + { + IntegerPattern integerPattern = (IntegerPattern)theEObject; + T result = caseIntegerPattern(integerPattern); + if (result == null) result = casePattern(integerPattern); + if (result == null) result = casePatternStatement(integerPattern); + if (result == null) result = caseStatement(integerPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.IDENTIFIER_PATTERN: + { + IdentifierPattern identifierPattern = (IdentifierPattern)theEObject; + T result = caseIdentifierPattern(identifierPattern); + if (result == null) result = casePattern(identifierPattern); + if (result == null) result = casePatternStatement(identifierPattern); + if (result == null) result = caseStatement(identifierPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONDITIONAL_STATEMENT: + { + ConditionalStatement conditionalStatement = (ConditionalStatement)theEObject; + T result = caseConditionalStatement(conditionalStatement); + if (result == null) result = caseStatement(conditionalStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT: + { + ExtendedConditionalStatement extendedConditionalStatement = (ExtendedConditionalStatement)theEObject; + T result = caseExtendedConditionalStatement(extendedConditionalStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.SELECT_STATEMENT: + { + SelectStatement selectStatement = (SelectStatement)theEObject; + T result = caseSelectStatement(selectStatement); + if (result == null) result = caseStatement(selectStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.WHILE_STATEMENT: + { + WhileStatement whileStatement = (WhileStatement)theEObject; + T result = caseWhileStatement(whileStatement); + if (result == null) result = caseStatement(whileStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.FOREACH_STATEMENT: + { + ForeachStatement foreachStatement = (ForeachStatement)theEObject; + T result = caseForeachStatement(foreachStatement); + if (result == null) result = caseStatement(foreachStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TO_STATEMENT: + { + ToStatement toStatement = (ToStatement)theEObject; + T result = caseToStatement(toStatement); + if (result == null) result = caseStatement(toStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CASE_STATEMENT: + { + CaseStatement caseStatement = (CaseStatement)theEObject; + T result = caseCaseStatement(caseStatement); + if (result == null) result = caseStatement(caseStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LOOP_STATEMENT: + { + LoopStatement loopStatement = (LoopStatement)theEObject; + T result = caseLoopStatement(loopStatement); + if (result == null) result = caseStatement(loopStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ON_STATEMENT: + { + OnStatement onStatement = (OnStatement)theEObject; + T result = caseOnStatement(onStatement); + if (result == null) result = caseStatement(onStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.WAIT_STATEMENT: + { + WaitStatement waitStatement = (WaitStatement)theEObject; + T result = caseWaitStatement(waitStatement); + if (result == null) result = caseStatement(waitStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPOSITION: + { + Composition composition = (Composition)theEObject; + T result = caseComposition(composition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BLOCK: + { + Block block = (Block)theEObject; + T result = caseBlock(block); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPOSITE_BLOCK: + { + CompositeBlock compositeBlock = (CompositeBlock)theEObject; + T result = caseCompositeBlock(compositeBlock); + if (result == null) result = caseBlock(compositeBlock); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.INSTANCE_DECLARATION: + { + InstanceDeclaration instanceDeclaration = (InstanceDeclaration)theEObject; + T result = caseInstanceDeclaration(instanceDeclaration); + if (result == null) result = casePathDeclarationUse(instanceDeclaration); + if (result == null) result = caseBlock(instanceDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PORT_SET: + { + PortSet portSet = (PortSet)theEObject; + T result = casePortSet(portSet); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPONENT_INSTANCE: + { + ComponentInstance componentInstance = (ComponentInstance)theEObject; + T result = caseComponentInstance(componentInstance); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EXPRESSION: + { + Expression expression = (Expression)theEObject; + T result = caseExpression(expression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VALUE_EXPRESSION: + { + ValueExpression valueExpression = (ValueExpression)theEObject; + T result = caseValueExpression(valueExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.REFERENCE_EXPRESSION: + { + ReferenceExpression referenceExpression = (ReferenceExpression)theEObject; + T result = caseReferenceExpression(referenceExpression); + if (result == null) result = caseExpression(referenceExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.IDENTIFIER_EXPRESSION: + { + IdentifierExpression identifierExpression = (IdentifierExpression)theEObject; + T result = caseIdentifierExpression(identifierExpression); + if (result == null) result = caseValueExpression(identifierExpression); + if (result == null) result = caseExpression(identifierExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_EXPRESSION: + { + RecordExpression recordExpression = (RecordExpression)theEObject; + T result = caseRecordExpression(recordExpression); + if (result == null) result = caseValueExpression(recordExpression); + if (result == null) result = caseExpression(recordExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.FIELD_EXPRESSION: + { + FieldExpression fieldExpression = (FieldExpression)theEObject; + T result = caseFieldExpression(fieldExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ARRAY_EXPRESSION: + { + ArrayExpression arrayExpression = (ArrayExpression)theEObject; + T result = caseArrayExpression(arrayExpression); + if (result == null) result = caseValueExpression(arrayExpression); + if (result == null) result = caseExpression(arrayExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.QUEUE_EXPRESSION: + { + QueueExpression queueExpression = (QueueExpression)theEObject; + T result = caseQueueExpression(queueExpression); + if (result == null) result = caseValueExpression(queueExpression); + if (result == null) result = caseExpression(queueExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ENQUEUE_EXPRESSION: + { + EnqueueExpression enqueueExpression = (EnqueueExpression)theEObject; + T result = caseEnqueueExpression(enqueueExpression); + if (result == null) result = caseExpression(enqueueExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.APPEND_EXPRESSION: + { + AppendExpression appendExpression = (AppendExpression)theEObject; + T result = caseAppendExpression(appendExpression); + if (result == null) result = caseExpression(appendExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LITERAL_EXPRESSION: + { + LiteralExpression literalExpression = (LiteralExpression)theEObject; + T result = caseLiteralExpression(literalExpression); + if (result == null) result = caseValueExpression(literalExpression); + if (result == null) result = caseExpression(literalExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BOOLEAN_LITERAL: + { + BooleanLiteral booleanLiteral = (BooleanLiteral)theEObject; + T result = caseBooleanLiteral(booleanLiteral); + if (result == null) result = caseLiteralExpression(booleanLiteral); + if (result == null) result = caseValueExpression(booleanLiteral); + if (result == null) result = caseExpression(booleanLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NATURAL_LITERAL: + { + NaturalLiteral naturalLiteral = (NaturalLiteral)theEObject; + T result = caseNaturalLiteral(naturalLiteral); + if (result == null) result = caseLiteralExpression(naturalLiteral); + if (result == null) result = caseValueExpression(naturalLiteral); + if (result == null) result = caseExpression(naturalLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LOWER_BOUND: + { + LowerBound lowerBound = (LowerBound)theEObject; + T result = caseLowerBound(lowerBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UPPER_BOUND: + { + UpperBound upperBound = (UpperBound)theEObject; + T result = caseUpperBound(upperBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NATURAL_LOWER_BOUND: + { + NaturalLowerBound naturalLowerBound = (NaturalLowerBound)theEObject; + T result = caseNaturalLowerBound(naturalLowerBound); + if (result == null) result = caseLowerBound(naturalLowerBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NATURAL_UPPER_BOUND: + { + NaturalUpperBound naturalUpperBound = (NaturalUpperBound)theEObject; + T result = caseNaturalUpperBound(naturalUpperBound); + if (result == null) result = caseUpperBound(naturalUpperBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DECIMAL_LOWER_BOUND: + { + DecimalLowerBound decimalLowerBound = (DecimalLowerBound)theEObject; + T result = caseDecimalLowerBound(decimalLowerBound); + if (result == null) result = caseLowerBound(decimalLowerBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DECIMAL_UPPER_BOUND: + { + DecimalUpperBound decimalUpperBound = (DecimalUpperBound)theEObject; + T result = caseDecimalUpperBound(decimalUpperBound); + if (result == null) result = caseUpperBound(decimalUpperBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VARIABLE_LOWER_BOUND: + { + VariableLowerBound variableLowerBound = (VariableLowerBound)theEObject; + T result = caseVariableLowerBound(variableLowerBound); + if (result == null) result = caseLowerBound(variableLowerBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VARIABLE_UPPER_BOUND: + { + VariableUpperBound variableUpperBound = (VariableUpperBound)theEObject; + T result = caseVariableUpperBound(variableUpperBound); + if (result == null) result = caseUpperBound(variableUpperBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.INFINITE_UPPER_BOUND: + { + InfiniteUpperBound infiniteUpperBound = (InfiniteUpperBound)theEObject; + T result = caseInfiniteUpperBound(infiniteUpperBound); + if (result == null) result = caseUpperBound(infiniteUpperBound); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.REQUIREMENT: + { + Requirement requirement = (Requirement)theEObject; + T result = caseRequirement(requirement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_DECLARATION: + { + PropertyDeclaration propertyDeclaration = (PropertyDeclaration)theEObject; + T result = casePropertyDeclaration(propertyDeclaration); + if (result == null) result = casePropertyDeclarationUse(propertyDeclaration); + if (result == null) result = caseDeclaration(propertyDeclaration); + if (result == null) result = caseNamedElement(propertyDeclaration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY: + { + Property property = (Property)theEObject; + T result = caseProperty(property); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATTERN_PROPERTY: + { + PatternProperty patternProperty = (PatternProperty)theEObject; + T result = casePatternProperty(patternProperty); + if (result == null) result = caseProperty(patternProperty); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_PATTERN: + { + LTLPattern ltlPattern = (LTLPattern)theEObject; + T result = caseLTLPattern(ltlPattern); + if (result == null) result = casePatternProperty(ltlPattern); + if (result == null) result = caseProperty(ltlPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DEADLOCK_FREE_PATTERN: + { + DeadlockFreePattern deadlockFreePattern = (DeadlockFreePattern)theEObject; + T result = caseDeadlockFreePattern(deadlockFreePattern); + if (result == null) result = casePatternProperty(deadlockFreePattern); + if (result == null) result = caseProperty(deadlockFreePattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.INFINITELY_OFTEN_PATTERN: + { + InfinitelyOftenPattern infinitelyOftenPattern = (InfinitelyOftenPattern)theEObject; + T result = caseInfinitelyOftenPattern(infinitelyOftenPattern); + if (result == null) result = casePatternProperty(infinitelyOftenPattern); + if (result == null) result = caseProperty(infinitelyOftenPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.MORTAL_PATTERN: + { + MortalPattern mortalPattern = (MortalPattern)theEObject; + T result = caseMortalPattern(mortalPattern); + if (result == null) result = casePatternProperty(mortalPattern); + if (result == null) result = caseProperty(mortalPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PRESENCE_PATTERN: + { + PresencePattern presencePattern = (PresencePattern)theEObject; + T result = casePresencePattern(presencePattern); + if (result == null) result = casePatternProperty(presencePattern); + if (result == null) result = caseProperty(presencePattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ABSENCE_PATTERN: + { + AbsencePattern absencePattern = (AbsencePattern)theEObject; + T result = caseAbsencePattern(absencePattern); + if (result == null) result = casePatternProperty(absencePattern); + if (result == null) result = caseProperty(absencePattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ALWAYS_PATTERN: + { + AlwaysPattern alwaysPattern = (AlwaysPattern)theEObject; + T result = caseAlwaysPattern(alwaysPattern); + if (result == null) result = casePatternProperty(alwaysPattern); + if (result == null) result = caseProperty(alwaysPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.SEQUENCE_PATTERN: + { + SequencePattern sequencePattern = (SequencePattern)theEObject; + T result = caseSequencePattern(sequencePattern); + if (result == null) result = casePatternProperty(sequencePattern); + if (result == null) result = caseProperty(sequencePattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_PROPERTY: + { + LTLProperty ltlProperty = (LTLProperty)theEObject; + T result = caseLTLProperty(ltlProperty); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATE_EVENT: + { + StateEvent stateEvent = (StateEvent)theEObject; + T result = caseStateEvent(stateEvent); + if (result == null) result = caseObservableEvent(stateEvent); + if (result == null) result = caseLTLProperty(stateEvent); + if (result == null) result = caseObservable(stateEvent); + if (result == null) result = caseSequencePattern(stateEvent); + if (result == null) result = casePatternProperty(stateEvent); + if (result == null) result = caseProperty(stateEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ENTER_STATE_EVENT: + { + EnterStateEvent enterStateEvent = (EnterStateEvent)theEObject; + T result = caseEnterStateEvent(enterStateEvent); + if (result == null) result = caseStateEvent(enterStateEvent); + if (result == null) result = caseObservableEvent(enterStateEvent); + if (result == null) result = caseLTLProperty(enterStateEvent); + if (result == null) result = caseObservable(enterStateEvent); + if (result == null) result = caseSequencePattern(enterStateEvent); + if (result == null) result = casePatternProperty(enterStateEvent); + if (result == null) result = caseProperty(enterStateEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LEAVE_STATE_EVENT: + { + LeaveStateEvent leaveStateEvent = (LeaveStateEvent)theEObject; + T result = caseLeaveStateEvent(leaveStateEvent); + if (result == null) result = caseStateEvent(leaveStateEvent); + if (result == null) result = caseObservableEvent(leaveStateEvent); + if (result == null) result = caseLTLProperty(leaveStateEvent); + if (result == null) result = caseObservable(leaveStateEvent); + if (result == null) result = caseSequencePattern(leaveStateEvent); + if (result == null) result = casePatternProperty(leaveStateEvent); + if (result == null) result = caseProperty(leaveStateEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE: + { + Observable observable = (Observable)theEObject; + T result = caseObservable(observable); + if (result == null) result = caseSequencePattern(observable); + if (result == null) result = casePatternProperty(observable); + if (result == null) result = caseProperty(observable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE_EVENT: + { + ObservableEvent observableEvent = (ObservableEvent)theEObject; + T result = caseObservableEvent(observableEvent); + if (result == null) result = caseLTLProperty(observableEvent); + if (result == null) result = caseObservable(observableEvent); + if (result == null) result = caseSequencePattern(observableEvent); + if (result == null) result = casePatternProperty(observableEvent); + if (result == null) result = caseProperty(observableEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATH_EVENT: + { + PathEvent pathEvent = (PathEvent)theEObject; + T result = casePathEvent(pathEvent); + if (result == null) result = caseObservableEvent(pathEvent); + if (result == null) result = caseLTLProperty(pathEvent); + if (result == null) result = caseObservable(pathEvent); + if (result == null) result = caseSequencePattern(pathEvent); + if (result == null) result = casePatternProperty(pathEvent); + if (result == null) result = caseProperty(pathEvent); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATH: + { + Path path = (Path)theEObject; + T result = casePath(path); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PATH_ITEM: + { + PathItem pathItem = (PathItem)theEObject; + T result = casePathItem(pathItem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NATURAL_ITEM: + { + NaturalItem naturalItem = (NaturalItem)theEObject; + T result = caseNaturalItem(naturalItem); + if (result == null) result = casePathItem(naturalItem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NAMED_ITEM: + { + NamedItem namedItem = (NamedItem)theEObject; + T result = caseNamedItem(namedItem); + if (result == null) result = casePathItem(namedItem); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.SUBJECT: + { + Subject subject = (Subject)theEObject; + T result = caseSubject(subject); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATE_SUBJECT: + { + StateSubject stateSubject = (StateSubject)theEObject; + T result = caseStateSubject(stateSubject); + if (result == null) result = caseSubject(stateSubject); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.VALUE_SUBJECT: + { + ValueSubject valueSubject = (ValueSubject)theEObject; + T result = caseValueSubject(valueSubject); + if (result == null) result = caseSubject(valueSubject); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TAG_SUBJECT: + { + TagSubject tagSubject = (TagSubject)theEObject; + T result = caseTagSubject(tagSubject); + if (result == null) result = caseSubject(tagSubject); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EVENT_SUBJECT: + { + EventSubject eventSubject = (EventSubject)theEObject; + T result = caseEventSubject(eventSubject); + if (result == null) result = caseSubject(eventSubject); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TUPLE_TYPE: + { + TupleType tupleType = (TupleType)theEObject; + T result = caseTupleType(tupleType); + if (result == null) result = caseType(tupleType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.NATURAL_TYPE: + { + NaturalType naturalType = (NaturalType)theEObject; + T result = caseNaturalType(naturalType); + if (result == null) result = caseBasicType(naturalType); + if (result == null) result = caseType(naturalType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.INTEGER_TYPE: + { + IntegerType integerType = (IntegerType)theEObject; + T result = caseIntegerType(integerType); + if (result == null) result = caseBasicType(integerType); + if (result == null) result = caseType(integerType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.BOOLEAN_TYPE: + { + BooleanType booleanType = (BooleanType)theEObject; + T result = caseBooleanType(booleanType); + if (result == null) result = caseBasicType(booleanType); + if (result == null) result = caseType(booleanType); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNLESS_STATEMENT: + { + UnlessStatement unlessStatement = (UnlessStatement)theEObject; + T result = caseUnlessStatement(unlessStatement); + if (result == null) result = caseStatement(unlessStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATEMENT_CHOICE: + { + StatementChoice statementChoice = (StatementChoice)theEObject; + T result = caseStatementChoice(statementChoice); + if (result == null) result = caseStatement(statementChoice); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.STATEMENT_SEQUENCE: + { + StatementSequence statementSequence = (StatementSequence)theEObject; + T result = caseStatementSequence(statementSequence); + if (result == null) result = caseStatement(statementSequence); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ASSIGN_STATEMENT: + { + AssignStatement assignStatement = (AssignStatement)theEObject; + T result = caseAssignStatement(assignStatement); + if (result == null) result = casePatternStatement(assignStatement); + if (result == null) result = caseStatement(assignStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ASSIGN_ANY_STATEMENT: + { + AssignAnyStatement assignAnyStatement = (AssignAnyStatement)theEObject; + T result = caseAssignAnyStatement(assignAnyStatement); + if (result == null) result = casePatternStatement(assignAnyStatement); + if (result == null) result = caseStatement(assignAnyStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.SEND_STATEMENT: + { + SendStatement sendStatement = (SendStatement)theEObject; + T result = caseSendStatement(sendStatement); + if (result == null) result = casePatternStatement(sendStatement); + if (result == null) result = caseStatement(sendStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECEIVE_STATEMENT: + { + ReceiveStatement receiveStatement = (ReceiveStatement)theEObject; + T result = caseReceiveStatement(receiveStatement); + if (result == null) result = casePatternStatement(receiveStatement); + if (result == null) result = caseStatement(receiveStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONSTRUCTOR_PATTERN: + { + ConstructorPattern constructorPattern = (ConstructorPattern)theEObject; + T result = caseConstructorPattern(constructorPattern); + if (result == null) result = caseIdentifierPattern(constructorPattern); + if (result == null) result = casePattern(constructorPattern); + if (result == null) result = casePatternStatement(constructorPattern); + if (result == null) result = caseStatement(constructorPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ARRAY_ACCESS_PATTERN: + { + ArrayAccessPattern arrayAccessPattern = (ArrayAccessPattern)theEObject; + T result = caseArrayAccessPattern(arrayAccessPattern); + if (result == null) result = caseIdentifierPattern(arrayAccessPattern); + if (result == null) result = casePattern(arrayAccessPattern); + if (result == null) result = casePatternStatement(arrayAccessPattern); + if (result == null) result = caseStatement(arrayAccessPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_ACCESS_PATTERN: + { + RecordAccessPattern recordAccessPattern = (RecordAccessPattern)theEObject; + T result = caseRecordAccessPattern(recordAccessPattern); + if (result == null) result = caseIdentifierPattern(recordAccessPattern); + if (result == null) result = casePattern(recordAccessPattern); + if (result == null) result = casePatternStatement(recordAccessPattern); + if (result == null) result = caseStatement(recordAccessPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ALL_EXPRESSION: + { + AllExpression allExpression = (AllExpression)theEObject; + T result = caseAllExpression(allExpression); + if (result == null) result = caseExpression(allExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EXISTS_EXPRESSION: + { + ExistsExpression existsExpression = (ExistsExpression)theEObject; + T result = caseExistsExpression(existsExpression); + if (result == null) result = caseExpression(existsExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONDITIONAL: + { + Conditional conditional = (Conditional)theEObject; + T result = caseConditional(conditional); + if (result == null) result = caseExpression(conditional); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DISJUNCTION: + { + Disjunction disjunction = (Disjunction)theEObject; + T result = caseDisjunction(disjunction); + if (result == null) result = caseExpression(disjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.IMPLICATION: + { + Implication implication = (Implication)theEObject; + T result = caseImplication(implication); + if (result == null) result = caseExpression(implication); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONJUNCTION: + { + Conjunction conjunction = (Conjunction)theEObject; + T result = caseConjunction(conjunction); + if (result == null) result = caseExpression(conjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_EQUAL: + { + ComparisonEqual comparisonEqual = (ComparisonEqual)theEObject; + T result = caseComparisonEqual(comparisonEqual); + if (result == null) result = caseExpression(comparisonEqual); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_NOT_EQUAL: + { + ComparisonNotEqual comparisonNotEqual = (ComparisonNotEqual)theEObject; + T result = caseComparisonNotEqual(comparisonNotEqual); + if (result == null) result = caseExpression(comparisonNotEqual); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_LESSER: + { + ComparisonLesser comparisonLesser = (ComparisonLesser)theEObject; + T result = caseComparisonLesser(comparisonLesser); + if (result == null) result = caseExpression(comparisonLesser); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_LESSER_EQUAL: + { + ComparisonLesserEqual comparisonLesserEqual = (ComparisonLesserEqual)theEObject; + T result = caseComparisonLesserEqual(comparisonLesserEqual); + if (result == null) result = caseExpression(comparisonLesserEqual); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_GREATER: + { + ComparisonGreater comparisonGreater = (ComparisonGreater)theEObject; + T result = caseComparisonGreater(comparisonGreater); + if (result == null) result = caseExpression(comparisonGreater); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.COMPARISON_GREATER_EQUAL: + { + ComparisonGreaterEqual comparisonGreaterEqual = (ComparisonGreaterEqual)theEObject; + T result = caseComparisonGreaterEqual(comparisonGreaterEqual); + if (result == null) result = caseExpression(comparisonGreaterEqual); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ADDITION: + { + Addition addition = (Addition)theEObject; + T result = caseAddition(addition); + if (result == null) result = caseExpression(addition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.SUBSTRACTION: + { + Substraction substraction = (Substraction)theEObject; + T result = caseSubstraction(substraction); + if (result == null) result = caseExpression(substraction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.MULTIPLICATION: + { + Multiplication multiplication = (Multiplication)theEObject; + T result = caseMultiplication(multiplication); + if (result == null) result = caseExpression(multiplication); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.DIVISION: + { + Division division = (Division)theEObject; + T result = caseDivision(division); + if (result == null) result = caseExpression(division); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.MODULO: + { + Modulo modulo = (Modulo)theEObject; + T result = caseModulo(modulo); + if (result == null) result = caseExpression(modulo); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_PLUS_EXPRESSION: + { + UnaryPlusExpression unaryPlusExpression = (UnaryPlusExpression)theEObject; + T result = caseUnaryPlusExpression(unaryPlusExpression); + if (result == null) result = caseExpression(unaryPlusExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_MINUS_EXPRESSION: + { + UnaryMinusExpression unaryMinusExpression = (UnaryMinusExpression)theEObject; + T result = caseUnaryMinusExpression(unaryMinusExpression); + if (result == null) result = caseExpression(unaryMinusExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_NEGATION_EXPRESSION: + { + UnaryNegationExpression unaryNegationExpression = (UnaryNegationExpression)theEObject; + T result = caseUnaryNegationExpression(unaryNegationExpression); + if (result == null) result = caseExpression(unaryNegationExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_FIRST_EXPRESSION: + { + UnaryFirstExpression unaryFirstExpression = (UnaryFirstExpression)theEObject; + T result = caseUnaryFirstExpression(unaryFirstExpression); + if (result == null) result = caseExpression(unaryFirstExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_LENGTH_EXPRESSION: + { + UnaryLengthExpression unaryLengthExpression = (UnaryLengthExpression)theEObject; + T result = caseUnaryLengthExpression(unaryLengthExpression); + if (result == null) result = caseExpression(unaryLengthExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_COERCE_EXPRESSION: + { + UnaryCoerceExpression unaryCoerceExpression = (UnaryCoerceExpression)theEObject; + T result = caseUnaryCoerceExpression(unaryCoerceExpression); + if (result == null) result = caseExpression(unaryCoerceExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_FULL_EXPRESSION: + { + UnaryFullExpression unaryFullExpression = (UnaryFullExpression)theEObject; + T result = caseUnaryFullExpression(unaryFullExpression); + if (result == null) result = caseExpression(unaryFullExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION: + { + UnaryDeQueueExpression unaryDeQueueExpression = (UnaryDeQueueExpression)theEObject; + T result = caseUnaryDeQueueExpression(unaryDeQueueExpression); + if (result == null) result = caseExpression(unaryDeQueueExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.UNARY_EMPTY_EXPRESSION: + { + UnaryEmptyExpression unaryEmptyExpression = (UnaryEmptyExpression)theEObject; + T result = caseUnaryEmptyExpression(unaryEmptyExpression); + if (result == null) result = caseExpression(unaryEmptyExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROJECTION: + { + Projection projection = (Projection)theEObject; + T result = caseProjection(projection); + if (result == null) result = caseExpression(projection); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.CONSTRUCTION_EXPRESSION: + { + ConstructionExpression constructionExpression = (ConstructionExpression)theEObject; + T result = caseConstructionExpression(constructionExpression); + if (result == null) result = caseIdentifierExpression(constructionExpression); + if (result == null) result = caseValueExpression(constructionExpression); + if (result == null) result = caseExpression(constructionExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ARRAY_ACCESS_EXPRESSION: + { + ArrayAccessExpression arrayAccessExpression = (ArrayAccessExpression)theEObject; + T result = caseArrayAccessExpression(arrayAccessExpression); + if (result == null) result = caseIdentifierExpression(arrayAccessExpression); + if (result == null) result = caseValueExpression(arrayAccessExpression); + if (result == null) result = caseExpression(arrayAccessExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.RECORD_ACCESS_EXPRESSION: + { + RecordAccessExpression recordAccessExpression = (RecordAccessExpression)theEObject; + T result = caseRecordAccessExpression(recordAccessExpression); + if (result == null) result = caseIdentifierExpression(recordAccessExpression); + if (result == null) result = caseValueExpression(recordAccessExpression); + if (result == null) result = caseExpression(recordAccessExpression); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.TRUE_LITERAL: + { + TrueLiteral trueLiteral = (TrueLiteral)theEObject; + T result = caseTrueLiteral(trueLiteral); + if (result == null) result = caseBooleanLiteral(trueLiteral); + if (result == null) result = caseLiteralExpression(trueLiteral); + if (result == null) result = caseValueExpression(trueLiteral); + if (result == null) result = caseExpression(trueLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.FALSE_LITERAL: + { + FalseLiteral falseLiteral = (FalseLiteral)theEObject; + T result = caseFalseLiteral(falseLiteral); + if (result == null) result = caseBooleanLiteral(falseLiteral); + if (result == null) result = caseLiteralExpression(falseLiteral); + if (result == null) result = caseValueExpression(falseLiteral); + if (result == null) result = caseExpression(falseLiteral); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.ALL_PROPERTY: + { + AllProperty allProperty = (AllProperty)theEObject; + T result = caseAllProperty(allProperty); + if (result == null) result = caseProperty(allProperty); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.EXISTS_PROPERTY: + { + ExistsProperty existsProperty = (ExistsProperty)theEObject; + T result = caseExistsProperty(existsProperty); + if (result == null) result = caseProperty(existsProperty); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_DISJUNCTION: + { + PropertyDisjunction propertyDisjunction = (PropertyDisjunction)theEObject; + T result = casePropertyDisjunction(propertyDisjunction); + if (result == null) result = caseProperty(propertyDisjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_IMPLICATION: + { + PropertyImplication propertyImplication = (PropertyImplication)theEObject; + T result = casePropertyImplication(propertyImplication); + if (result == null) result = caseProperty(propertyImplication); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_CONJUNCTION: + { + PropertyConjunction propertyConjunction = (PropertyConjunction)theEObject; + T result = casePropertyConjunction(propertyConjunction); + if (result == null) result = caseProperty(propertyConjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PROPERTY_NEGATION: + { + PropertyNegation propertyNegation = (PropertyNegation)theEObject; + T result = casePropertyNegation(propertyNegation); + if (result == null) result = caseProperty(propertyNegation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LEADS_TO_PATTERN: + { + LeadsToPattern leadsToPattern = (LeadsToPattern)theEObject; + T result = caseLeadsToPattern(leadsToPattern); + if (result == null) result = caseSequencePattern(leadsToPattern); + if (result == null) result = casePatternProperty(leadsToPattern); + if (result == null) result = caseProperty(leadsToPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.PRECEDES_PATTERN: + { + PrecedesPattern precedesPattern = (PrecedesPattern)theEObject; + T result = casePrecedesPattern(precedesPattern); + if (result == null) result = caseSequencePattern(precedesPattern); + if (result == null) result = casePatternProperty(precedesPattern); + if (result == null) result = caseProperty(precedesPattern); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_ALL: + { + LTLAll ltlAll = (LTLAll)theEObject; + T result = caseLTLAll(ltlAll); + if (result == null) result = caseLTLProperty(ltlAll); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_EXISTS: + { + LTLExists ltlExists = (LTLExists)theEObject; + T result = caseLTLExists(ltlExists); + if (result == null) result = caseLTLProperty(ltlExists); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_DISJUNCTION: + { + LTLDisjunction ltlDisjunction = (LTLDisjunction)theEObject; + T result = caseLTLDisjunction(ltlDisjunction); + if (result == null) result = caseLTLProperty(ltlDisjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_IMPLICATION: + { + LTLImplication ltlImplication = (LTLImplication)theEObject; + T result = caseLTLImplication(ltlImplication); + if (result == null) result = caseLTLProperty(ltlImplication); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_CONJUNCTION: + { + LTLConjunction ltlConjunction = (LTLConjunction)theEObject; + T result = caseLTLConjunction(ltlConjunction); + if (result == null) result = caseLTLProperty(ltlConjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_UNTIL: + { + LTLUntil ltlUntil = (LTLUntil)theEObject; + T result = caseLTLUntil(ltlUntil); + if (result == null) result = caseLTLProperty(ltlUntil); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_RELEASE: + { + LTLRelease ltlRelease = (LTLRelease)theEObject; + T result = caseLTLRelease(ltlRelease); + if (result == null) result = caseLTLProperty(ltlRelease); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_UNARY_NEGATION: + { + LTLUnaryNegation ltlUnaryNegation = (LTLUnaryNegation)theEObject; + T result = caseLTLUnaryNegation(ltlUnaryNegation); + if (result == null) result = caseLTLProperty(ltlUnaryNegation); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_UNARY_NEXT: + { + LTLUnaryNext ltlUnaryNext = (LTLUnaryNext)theEObject; + T result = caseLTLUnaryNext(ltlUnaryNext); + if (result == null) result = caseLTLProperty(ltlUnaryNext); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_UNARY_ALWAYS: + { + LTLUnaryAlways ltlUnaryAlways = (LTLUnaryAlways)theEObject; + T result = caseLTLUnaryAlways(ltlUnaryAlways); + if (result == null) result = caseLTLProperty(ltlUnaryAlways); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_UNARY_EVENTUALLY: + { + LTLUnaryEventually ltlUnaryEventually = (LTLUnaryEventually)theEObject; + T result = caseLTLUnaryEventually(ltlUnaryEventually); + if (result == null) result = caseLTLProperty(ltlUnaryEventually); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.LTL_VARIABLE: + { + LTLVariable ltlVariable = (LTLVariable)theEObject; + T result = caseLTLVariable(ltlVariable); + if (result == null) result = caseLTLProperty(ltlVariable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE_DISJUNCTION: + { + ObservableDisjunction observableDisjunction = (ObservableDisjunction)theEObject; + T result = caseObservableDisjunction(observableDisjunction); + if (result == null) result = caseObservable(observableDisjunction); + if (result == null) result = caseSequencePattern(observableDisjunction); + if (result == null) result = casePatternProperty(observableDisjunction); + if (result == null) result = caseProperty(observableDisjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE_IMPLICATION: + { + ObservableImplication observableImplication = (ObservableImplication)theEObject; + T result = caseObservableImplication(observableImplication); + if (result == null) result = caseObservable(observableImplication); + if (result == null) result = caseSequencePattern(observableImplication); + if (result == null) result = casePatternProperty(observableImplication); + if (result == null) result = caseProperty(observableImplication); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE_CONJUNCTION: + { + ObservableConjunction observableConjunction = (ObservableConjunction)theEObject; + T result = caseObservableConjunction(observableConjunction); + if (result == null) result = caseObservable(observableConjunction); + if (result == null) result = caseSequencePattern(observableConjunction); + if (result == null) result = casePatternProperty(observableConjunction); + if (result == null) result = caseProperty(observableConjunction); + if (result == null) result = defaultCase(theEObject); + return result; + } + case FiacrePackage.OBSERVABLE_NEGATION: + { + ObservableNegation observableNegation = (ObservableNegation)theEObject; + T result = caseObservableNegation(observableNegation); + if (result == null) result = caseObservable(observableNegation); + if (result == null) result = caseSequencePattern(observableNegation); + if (result == null) result = casePatternProperty(observableNegation); + if (result == null) result = caseProperty(observableNegation); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Model'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Model'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseModel(Model object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Root Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Root Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRootDeclaration(RootDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Root'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Root'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRoot(Root object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Named Element'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Named Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamedElement(NamedElement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Type Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Type Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypeDeclarationUse(TypeDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Constant Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constant Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstantDeclarationUse(ConstantDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpressionDeclarationUse(ExpressionDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Reference Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Reference Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReferenceDeclarationUse(ReferenceDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Union Tag Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Union Tag Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnionTagDeclarationUse(UnionTagDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Field Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Field Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordFieldDeclarationUse(RecordFieldDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Pattern Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Pattern Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePatternDeclarationUse(PatternDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Bound Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Bound Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBoundDeclarationUse(BoundDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Path Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Path Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePathDeclarationUse(PathDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Declaration Use'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Declaration Use'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyDeclarationUse(PropertyDeclarationUse object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Import Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Import Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImportDeclaration(ImportDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDeclaration(Declaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Parameterized Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Parameterized Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParameterizedDeclaration(ParameterizedDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Function Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Function Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionDeclaration(FunctionDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Type Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Type Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTypeDeclaration(TypeDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Channel Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Channel Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseChannelDeclaration(ChannelDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Channel Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Channel Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseChannelType(ChannelType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseType(Type object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Basic Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Basic Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBasicType(BasicType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Range Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Range Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRangeType(RangeType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Union Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Union Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnionType(UnionType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Union Tags'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Union Tags'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnionTags(UnionTags object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Union Tag Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Union Tag Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnionTagDeclaration(UnionTagDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordType(RecordType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Fields'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Fields'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordFields(RecordFields object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Field Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Field Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordFieldDeclaration(RecordFieldDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Queue Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Queue Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseQueueType(QueueType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Array Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Array Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArrayType(ArrayType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Referenced Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Referenced Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReferencedType(ReferencedType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Constant Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constant Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstantDeclaration(ConstantDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Process Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Process Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProcessDeclaration(ProcessDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'State Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'State Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStateDeclaration(StateDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Transition Source'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Transition Source'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransitionSource(TransitionSource object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Transition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Transition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTransition(Transition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Component Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentDeclaration(ComponentDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Ports Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Ports Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePortsDeclaration(PortsDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Port Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Port Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePortDeclaration(PortDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Local Ports Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Local Ports Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLocalPortsDeclaration(LocalPortsDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Parameters Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Parameters Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParametersDeclaration(ParametersDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Parameter Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Parameter Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParameterDeclaration(ParameterDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variables Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variables Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariablesDeclaration(VariablesDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariableDeclaration(VariableDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Priority Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Priority Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePriorityDeclaration(PriorityDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Priority Group'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Priority Group'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePriorityGroup(PriorityGroup object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Statement'. + * @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 'Block Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Block Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBlockStatement(BlockStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Return Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Return Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReturnStatement(ReturnStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Null Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Null Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNullStatement(NullStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Tagged Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Tagged Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTaggedStatement(TaggedStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Pattern Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Pattern Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePatternStatement(PatternStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePattern(Pattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Any Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Any Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAnyPattern(AnyPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Constant Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constant Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstantPattern(ConstantPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Integer Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Integer Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIntegerPattern(IntegerPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Identifier Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Identifier Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIdentifierPattern(IdentifierPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Conditional Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Conditional Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConditionalStatement(ConditionalStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Extended Conditional Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Extended Conditional Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExtendedConditionalStatement(ExtendedConditionalStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Select Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Select Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSelectStatement(SelectStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'While Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'While Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseWhileStatement(WhileStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Foreach Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Foreach Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseForeachStatement(ForeachStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'To Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'To Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseToStatement(ToStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Case Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Case Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCaseStatement(CaseStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Loop Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Loop Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLoopStatement(LoopStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'On Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'On Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseOnStatement(OnStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Wait Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Wait Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseWaitStatement(WaitStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Composition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Composition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComposition(Composition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBlock(Block object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Composite Block'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Composite Block'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCompositeBlock(CompositeBlock object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Instance Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Instance Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInstanceDeclaration(InstanceDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Port Set'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Port Set'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePortSet(PortSet object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Component Instance'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Component Instance'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComponentInstance(ComponentInstance object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExpression(Expression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Value Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Value Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseValueExpression(ValueExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Reference Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Reference Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReferenceExpression(ReferenceExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Identifier Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Identifier Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIdentifierExpression(IdentifierExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordExpression(RecordExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Field Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Field Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFieldExpression(FieldExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Array Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Array Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArrayExpression(ArrayExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Queue Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Queue Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseQueueExpression(QueueExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enqueue Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Enqueue Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnqueueExpression(EnqueueExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Append Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Append Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAppendExpression(AppendExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Literal Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Literal Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLiteralExpression(LiteralExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Boolean Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Boolean Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBooleanLiteral(BooleanLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Natural Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Natural Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalLiteral(NaturalLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Lower Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Lower Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLowerBound(LowerBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Upper Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Upper Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUpperBound(UpperBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Natural Lower Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Natural Lower Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalLowerBound(NaturalLowerBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Natural Upper Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Natural Upper Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalUpperBound(NaturalUpperBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Decimal Lower Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Decimal Lower Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDecimalLowerBound(DecimalLowerBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Decimal Upper Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Decimal Upper Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDecimalUpperBound(DecimalUpperBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable Lower Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable Lower Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariableLowerBound(VariableLowerBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Variable Upper Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Variable Upper Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseVariableUpperBound(VariableUpperBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Infinite Upper Bound'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Infinite Upper Bound'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInfiniteUpperBound(InfiniteUpperBound object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Requirement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Requirement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRequirement(Requirement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Declaration'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Declaration'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyDeclaration(PropertyDeclaration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProperty(Property object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Pattern Property'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Pattern Property'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePatternProperty(PatternProperty object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLPattern(LTLPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Deadlock Free Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Deadlock Free Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDeadlockFreePattern(DeadlockFreePattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Infinitely Often Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Infinitely Often Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInfinitelyOftenPattern(InfinitelyOftenPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Mortal Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Mortal Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMortalPattern(MortalPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Presence Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Presence Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePresencePattern(PresencePattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Absence Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Absence Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAbsencePattern(AbsencePattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Always Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Always Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAlwaysPattern(AlwaysPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Sequence Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Sequence Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSequencePattern(SequencePattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Property'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Property'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLProperty(LTLProperty object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'State Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'State Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStateEvent(StateEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Enter State Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Enter State Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEnterStateEvent(EnterStateEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Leave State Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Leave State Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLeaveStateEvent(LeaveStateEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservable(Observable object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservableEvent(ObservableEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Path Event'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Path Event'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePathEvent(PathEvent object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Path'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Path'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePath(Path object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Path Item'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Path Item'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePathItem(PathItem object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Natural Item'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Natural Item'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalItem(NaturalItem object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Named Item'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Named Item'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNamedItem(NamedItem object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Subject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Subject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSubject(Subject object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'State Subject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'State Subject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStateSubject(StateSubject object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Value Subject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Value Subject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseValueSubject(ValueSubject object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Tag Subject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Tag Subject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTagSubject(TagSubject object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Event Subject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Event Subject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseEventSubject(EventSubject object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Tuple Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Tuple Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTupleType(TupleType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Natural Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Natural Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseNaturalType(NaturalType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Integer Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Integer Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseIntegerType(IntegerType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Boolean Type'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Boolean Type'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseBooleanType(BooleanType object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unless Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unless Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnlessStatement(UnlessStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement Choice'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Statement Choice'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatementChoice(StatementChoice object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Statement Sequence'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Statement Sequence'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatementSequence(StatementSequence object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Assign Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Assign Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAssignStatement(AssignStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Assign Any Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Assign Any Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAssignAnyStatement(AssignAnyStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Send Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Send Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSendStatement(SendStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Receive Statement'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Receive Statement'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseReceiveStatement(ReceiveStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Constructor Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constructor Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstructorPattern(ConstructorPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Array Access Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Array Access Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArrayAccessPattern(ArrayAccessPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Access Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Access Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordAccessPattern(RecordAccessPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'All Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'All Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAllExpression(AllExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exists Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Exists Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExistsExpression(ExistsExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Conditional'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Conditional'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConditional(Conditional object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Disjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDisjunction(Disjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Implication'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Implication'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseImplication(Implication object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Conjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConjunction(Conjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Equal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Equal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonEqual(ComparisonEqual object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Not Equal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Not Equal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonNotEqual(ComparisonNotEqual object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Lesser'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Lesser'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonLesser(ComparisonLesser object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Lesser Equal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Lesser Equal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonLesserEqual(ComparisonLesserEqual object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Greater'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Greater'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonGreater(ComparisonGreater object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comparison Greater Equal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comparison Greater Equal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseComparisonGreaterEqual(ComparisonGreaterEqual object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Addition'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Addition'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAddition(Addition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Substraction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Substraction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSubstraction(Substraction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Multiplication'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Multiplication'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseMultiplication(Multiplication object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Division'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Division'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseDivision(Division object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Modulo'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Modulo'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseModulo(Modulo object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Plus Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Plus Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryPlusExpression(UnaryPlusExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Minus Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Minus Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryMinusExpression(UnaryMinusExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Negation Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Negation Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryNegationExpression(UnaryNegationExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary First Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary First Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryFirstExpression(UnaryFirstExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Length Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Length Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryLengthExpression(UnaryLengthExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Coerce Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Coerce Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryCoerceExpression(UnaryCoerceExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Full Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Full Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryFullExpression(UnaryFullExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary De Queue Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary De Queue Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryDeQueueExpression(UnaryDeQueueExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Unary Empty Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Unary Empty Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUnaryEmptyExpression(UnaryEmptyExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Projection'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Projection'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseProjection(Projection object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Construction Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Construction Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstructionExpression(ConstructionExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Array Access Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Array Access Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseArrayAccessExpression(ArrayAccessExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Record Access Expression'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Record Access Expression'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRecordAccessExpression(RecordAccessExpression object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'True Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'True Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseTrueLiteral(TrueLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'False Literal'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'False Literal'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFalseLiteral(FalseLiteral object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'All Property'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'All Property'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseAllProperty(AllProperty object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Exists Property'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Exists Property'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseExistsProperty(ExistsProperty object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Disjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyDisjunction(PropertyDisjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Implication'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Implication'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyImplication(PropertyImplication object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Conjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyConjunction(PropertyConjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Property Negation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Property Negation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePropertyNegation(PropertyNegation object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Leads To Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Leads To Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLeadsToPattern(LeadsToPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Precedes Pattern'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Precedes Pattern'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePrecedesPattern(PrecedesPattern object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL All'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL All'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLAll(LTLAll object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Exists'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Exists'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLExists(LTLExists object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Disjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLDisjunction(LTLDisjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Implication'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Implication'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLImplication(LTLImplication object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Conjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLConjunction(LTLConjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Until'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Until'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLUntil(LTLUntil object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Release'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Release'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLRelease(LTLRelease object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Unary Negation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Unary Negation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLUnaryNegation(LTLUnaryNegation object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Unary Next'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Unary Next'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLUnaryNext(LTLUnaryNext object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Unary Always'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Unary Always'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLUnaryAlways(LTLUnaryAlways object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Unary Eventually'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Unary Eventually'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLUnaryEventually(LTLUnaryEventually object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'LTL Variable'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'LTL Variable'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLTLVariable(LTLVariable object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable Disjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable Disjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservableDisjunction(ObservableDisjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable Implication'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable Implication'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservableImplication(ObservableImplication object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable Conjunction'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable Conjunction'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservableConjunction(ObservableConjunction object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Observable Negation'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Observable Negation'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObservableNegation(ObservableNegation object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //FiacreSwitch diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreAntlrTokenFileProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreAntlrTokenFileProvider.java new file mode 100644 index 0000000..064ce21 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreAntlrTokenFileProvider.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.parser.antlr; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class FiacreAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + @Override + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = getClass().getClassLoader(); + return classLoader.getResourceAsStream("fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.tokens"); + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreParser.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreParser.java new file mode 100644 index 0000000..f335e22 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/FiacreParser.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.parser.antlr; + +import com.google.inject.Inject; +import fr.irit.fiacre.xtext.parser.antlr.internal.InternalFiacreParser; +import fr.irit.fiacre.xtext.services.FiacreGrammarAccess; +import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; + +public class FiacreParser extends AbstractAntlrParser { + + @Inject + private FiacreGrammarAccess grammarAccess; + + @Override + protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { + tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); + } + + + @Override + protected InternalFiacreParser createParser(XtextTokenStream stream) { + return new InternalFiacreParser(stream, getGrammarAccess()); + } + + @Override + protected String getDefaultRuleName() { + return "Model"; + } + + public FiacreGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(FiacreGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.g b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.g new file mode 100644 index 0000000..29b74ee --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.g @@ -0,0 +1,12643 @@ +/* + * generated by Xtext 2.10.0 + */ +grammar InternalFiacre; + +options { + superClass=AbstractInternalAntlrParser; + backtrack=true; +} + +@lexer::header { +package fr.irit.fiacre.xtext.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 fr.irit.fiacre.xtext.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.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 fr.irit.fiacre.xtext.services.FiacreGrammarAccess; + +} + +@parser::members { + +/* + This grammar contains a lot of empty actions to work around a bug in ANTLR. + Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases. +*/ + + private FiacreGrammarAccess grammarAccess; + + public InternalFiacreParser(TokenStream input, FiacreGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Model"; + } + + @Override + protected FiacreGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleModel +entryRuleModel returns [EObject current=null]: + { newCompositeNode(grammarAccess.getModelRule()); } + iv_ruleModel=ruleModel + { $current=$iv_ruleModel.current; } + EOF; + +// Rule Model +ruleModel returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getModelAccess().getModelAction_0(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); + } + lv_imports_1_0=ruleImportDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + $current, + "imports", + lv_imports_1_0, + "fr.irit.fiacre.xtext.Fiacre.ImportDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + ( + { + newCompositeNode(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); + } + lv_declarations_2_0=ruleDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + $current, + "declarations", + lv_declarations_2_0, + "fr.irit.fiacre.xtext.Fiacre.Declaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); + } + lv_requirements_3_0=ruleRequirement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + $current, + "requirements", + lv_requirements_3_0, + "fr.irit.fiacre.xtext.Fiacre.Requirement"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + ( + ( + { + newCompositeNode(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); + } + lv_root_4_0=ruleRoot + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + $current, + "root", + lv_root_4_0, + "fr.irit.fiacre.xtext.Fiacre.Root"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleRoot +entryRuleRoot returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRootRule()); } + iv_ruleRoot=ruleRoot + { $current=$iv_ruleRoot.current; } + EOF; + +// Rule Root +ruleRoot returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getRootAccess().getRootAction_0(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRootRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); + } + ) + ) + ( + otherlv_2='>' + { + newLeafNode(otherlv_2, grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); + } + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRootRule()); + } + } + otherlv_3=RULE_ID + { + newLeafNode(otherlv_3, grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); + } + ) + ) + ( + otherlv_4='|' + { + newLeafNode(otherlv_4, grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRootRule()); + } + } + otherlv_5=RULE_ID + { + newLeafNode(otherlv_5, grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); + } + ) + ) + )* + ) + )? + ) +; + +// Entry rule entryRuleImportDeclaration +entryRuleImportDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getImportDeclarationRule()); } + iv_ruleImportDeclaration=ruleImportDeclaration + { $current=$iv_ruleImportDeclaration.current; } + EOF; + +// Rule ImportDeclaration +ruleImportDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='#include' + { + newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); + } + ( + ( + lv_importURI_1_0=RULE_STRING + { + newLeafNode(lv_importURI_1_0, grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getImportDeclarationRule()); + } + setWithLastConsumed( + $current, + "importURI", + lv_importURI_1_0, + "org.eclipse.xtext.common.Terminals.STRING"); + } + ) + ) + ) +; + +// Entry rule entryRuleDeclaration +entryRuleDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDeclarationRule()); } + iv_ruleDeclaration=ruleDeclaration + { $current=$iv_ruleDeclaration.current; } + EOF; + +// Rule Declaration +ruleDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); + } + this_TypeDeclaration_0=ruleTypeDeclaration + { + $current = $this_TypeDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); + } + this_ChannelDeclaration_1=ruleChannelDeclaration + { + $current = $this_ChannelDeclaration_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); + } + this_ConstantDeclaration_2=ruleConstantDeclaration + { + $current = $this_ConstantDeclaration_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); + } + this_ParameterizedDeclaration_3=ruleParameterizedDeclaration + { + $current = $this_ParameterizedDeclaration_3.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); + } + this_PropertyDeclaration_4=rulePropertyDeclaration + { + $current = $this_PropertyDeclaration_4.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleParameterizedDeclaration +entryRuleParameterizedDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParameterizedDeclarationRule()); } + iv_ruleParameterizedDeclaration=ruleParameterizedDeclaration + { $current=$iv_ruleParameterizedDeclaration.current; } + EOF; + +// Rule ParameterizedDeclaration +ruleParameterizedDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); + } + this_ProcessDeclaration_0=ruleProcessDeclaration + { + $current = $this_ProcessDeclaration_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); + } + this_ComponentDeclaration_1=ruleComponentDeclaration + { + $current = $this_ComponentDeclaration_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); + } + this_FunctionDeclaration_2=ruleFunctionDeclaration + { + $current = $this_FunctionDeclaration_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleFunctionDeclaration +entryRuleFunctionDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionDeclarationRule()); } + iv_ruleFunctionDeclaration=ruleFunctionDeclaration + { $current=$iv_ruleFunctionDeclaration.current; } + EOF; + +// Rule FunctionDeclaration +ruleFunctionDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='function' + { + newLeafNode(otherlv_0, grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFunctionDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ( + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); + } + lv_parameters_3_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); + } + lv_parameters_5_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); + } + ) + otherlv_7=':' + { + newLeafNode(otherlv_7, grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); + } + lv_type_8_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + set( + $current, + "type", + lv_type_8_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_9='is' + { + newLeafNode(otherlv_9, grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); + } + ( + otherlv_10='var' + { + newLeafNode(otherlv_10, grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); + } + lv_variables_11_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_11_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_12=',' + { + newLeafNode(otherlv_12, grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); + } + lv_variables_13_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_13_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + ( + { + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); + } + lv_statement_14_0=ruleStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + set( + $current, + "statement", + lv_statement_14_0, + "fr.irit.fiacre.xtext.Fiacre.Statement"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleTypeDeclaration +entryRuleTypeDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypeDeclarationRule()); } + iv_ruleTypeDeclaration=ruleTypeDeclaration + { $current=$iv_ruleTypeDeclaration.current; } + EOF; + +// Rule TypeDeclaration +ruleTypeDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='type' + { + newLeafNode(otherlv_0, grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTypeDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + otherlv_2='is' + { + newLeafNode(otherlv_2, grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); + } + lv_value_3_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTypeDeclarationRule()); + } + set( + $current, + "value", + lv_value_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleChannelDeclaration +entryRuleChannelDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getChannelDeclarationRule()); } + iv_ruleChannelDeclaration=ruleChannelDeclaration + { $current=$iv_ruleChannelDeclaration.current; } + EOF; + +// Rule ChannelDeclaration +ruleChannelDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='channel' + { + newLeafNode(otherlv_0, grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getChannelDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + otherlv_2='is' + { + newLeafNode(otherlv_2, grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); + } + lv_value_3_0=ruleChannelType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getChannelDeclarationRule()); + } + set( + $current, + "value", + lv_value_3_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleChannelType +entryRuleChannelType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getChannelTypeRule()); } + iv_ruleChannelType=ruleChannelType + { $current=$iv_ruleChannelType.current; } + EOF; + +// Rule ChannelType +ruleChannelType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getChannelTypeAccess().getChannelTypeAction_0(), + $current); + } + ) + ( + otherlv_1='array' + { + newLeafNode(otherlv_1, grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); + } + lv_size_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getChannelTypeRule()); + } + set( + $current, + "size", + lv_size_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3='of' + { + newLeafNode(otherlv_3, grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); + } + )? + ( + ( + ( + ( + ( + ( + lv_in_4_0='in' + { + newLeafNode(lv_in_4_0, grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed($current, "in", true, "in"); + } + ) + ) + ( + ( + lv_out_5_0='out' + { + newLeafNode(lv_out_5_0, grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed($current, "out", true, "out"); + } + ) + )? + ) + | + ( + ( + lv_out_6_0='out' + { + newLeafNode(lv_out_6_0, grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed($current, "out", true, "out"); + } + ) + ) + )? + ( + ( + ( + { + newCompositeNode(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); + } + lv_type_7_0=ruleTupleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getChannelTypeRule()); + } + set( + $current, + "type", + lv_type_7_0, + "fr.irit.fiacre.xtext.Fiacre.TupleType"); + afterParserOrEnumRuleCall(); + } + ) + ) + | + otherlv_8='none' + { + newLeafNode(otherlv_8, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); + } + ) + ) + | + otherlv_9='none' + { + newLeafNode(otherlv_9, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); + } + | + otherlv_10='sync' + { + newLeafNode(otherlv_10, grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); + } + ) + ) +; + +// Entry rule entryRuleType +entryRuleType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTypeRule()); } + iv_ruleType=ruleType + { $current=$iv_ruleType.current; } + EOF; + +// Rule Type +ruleType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); + } + this_BasicType_0=ruleBasicType + { + $current = $this_BasicType_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); + } + this_RangeType_1=ruleRangeType + { + $current = $this_RangeType_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); + } + this_UnionType_2=ruleUnionType + { + $current = $this_UnionType_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); + } + this_RecordType_3=ruleRecordType + { + $current = $this_RecordType_3.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); + } + this_QueueType_4=ruleQueueType + { + $current = $this_QueueType_4.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); + } + this_ArrayType_5=ruleArrayType + { + $current = $this_ArrayType_5.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); + } + this_ReferencedType_6=ruleReferencedType + { + $current = $this_ReferencedType_6.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleTupleType +entryRuleTupleType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTupleTypeRule()); } + iv_ruleTupleType=ruleTupleType + { $current=$iv_ruleTupleType.current; } + EOF; + +// Rule TupleType +ruleTupleType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); + } + this_Type_0=ruleType + { + $current = $this_Type_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0(), + $current); + } + ) + otherlv_2='#' + { + newLeafNode(otherlv_2, grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); + } + lv_types_3_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTupleTypeRule()); + } + add( + $current, + "types", + lv_types_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleBasicType +entryRuleBasicType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBasicTypeRule()); } + iv_ruleBasicType=ruleBasicType + { $current=$iv_ruleBasicType.current; } + EOF; + +// Rule BasicType +ruleBasicType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0(), + $current); + } + ) + otherlv_1='nat' + { + newLeafNode(otherlv_1, grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0(), + $current); + } + ) + otherlv_3='int' + { + newLeafNode(otherlv_3, grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0(), + $current); + } + ) + otherlv_5='bool' + { + newLeafNode(otherlv_5, grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); + } + ) + ) +; + +// Entry rule entryRuleRangeType +entryRuleRangeType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRangeTypeRule()); } + iv_ruleRangeType=ruleRangeType + { $current=$iv_ruleRangeType.current; } + EOF; + +// Rule RangeType +ruleRangeType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); + } + lv_minimum_0_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRangeTypeRule()); + } + set( + $current, + "minimum", + lv_minimum_0_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1='..' + { + newLeafNode(otherlv_1, grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); + } + lv_maximum_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRangeTypeRule()); + } + set( + $current, + "maximum", + lv_maximum_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleUnionType +entryRuleUnionType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnionTypeRule()); } + iv_ruleUnionType=ruleUnionType + { $current=$iv_ruleUnionType.current; } + EOF; + +// Rule UnionType +ruleUnionType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='union' + { + newLeafNode(otherlv_0, grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); + } + lv_tags_1_0=ruleUnionTags + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnionTypeRule()); + } + add( + $current, + "tags", + lv_tags_1_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTags"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2='|' + { + newLeafNode(otherlv_2, grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); + } + lv_tags_3_0=ruleUnionTags + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnionTypeRule()); + } + add( + $current, + "tags", + lv_tags_3_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTags"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4='end' + { + newLeafNode(otherlv_4, grammarAccess.getUnionTypeAccess().getEndKeyword_3()); + } + ( + otherlv_5='union' + { + newLeafNode(otherlv_5, grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); + } + )? + ) +; + +// Entry rule entryRuleUnionTags +entryRuleUnionTags returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnionTagsRule()); } + iv_ruleUnionTags=ruleUnionTags + { $current=$iv_ruleUnionTags.current; } + EOF; + +// Rule UnionTags +ruleUnionTags returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); + } + lv_tags_0_0=ruleUnionTagDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + add( + $current, + "tags", + lv_tags_0_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); + } + lv_tags_2_0=ruleUnionTagDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + add( + $current, + "tags", + lv_tags_2_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ( + otherlv_3='of' + { + newLeafNode(otherlv_3, grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); + } + lv_type_4_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + set( + $current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleUnionTagDeclaration +entryRuleUnionTagDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnionTagDeclarationRule()); } + iv_ruleUnionTagDeclaration=ruleUnionTagDeclaration + { $current=$iv_ruleUnionTagDeclaration.current; } + EOF; + +// Rule UnionTagDeclaration +ruleUnionTagDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getUnionTagDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) +; + +// Entry rule entryRuleRecordType +entryRuleRecordType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRecordTypeRule()); } + iv_ruleRecordType=ruleRecordType + { $current=$iv_ruleRecordType.current; } + EOF; + +// Rule RecordType +ruleRecordType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='record' + { + newLeafNode(otherlv_0, grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); + } + lv_fields_1_0=ruleRecordFields + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordTypeRule()); + } + add( + $current, + "fields", + lv_fields_1_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFields"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); + } + lv_fields_3_0=ruleRecordFields + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordTypeRule()); + } + add( + $current, + "fields", + lv_fields_3_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFields"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4='end' + { + newLeafNode(otherlv_4, grammarAccess.getRecordTypeAccess().getEndKeyword_3()); + } + ( + otherlv_5='record' + { + newLeafNode(otherlv_5, grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); + } + )? + ) +; + +// Entry rule entryRuleRecordFields +entryRuleRecordFields returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRecordFieldsRule()); } + iv_ruleRecordFields=ruleRecordFields + { $current=$iv_ruleRecordFields.current; } + EOF; + +// Rule RecordFields +ruleRecordFields returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); + } + lv_fields_0_0=ruleRecordFieldDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + add( + $current, + "fields", + lv_fields_0_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); + } + lv_fields_2_0=ruleRecordFieldDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + add( + $current, + "fields", + lv_fields_2_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_3=':' + { + newLeafNode(otherlv_3, grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); + } + lv_type_4_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + set( + $current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleRecordFieldDeclaration +entryRuleRecordFieldDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRecordFieldDeclarationRule()); } + iv_ruleRecordFieldDeclaration=ruleRecordFieldDeclaration + { $current=$iv_ruleRecordFieldDeclaration.current; } + EOF; + +// Rule RecordFieldDeclaration +ruleRecordFieldDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRecordFieldDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) +; + +// Entry rule entryRuleQueueType +entryRuleQueueType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getQueueTypeRule()); } + iv_ruleQueueType=ruleQueueType + { $current=$iv_ruleQueueType.current; } + EOF; + +// Rule QueueType +ruleQueueType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='queue' + { + newLeafNode(otherlv_0, grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + lv_size_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQueueTypeRule()); + } + set( + $current, + "size", + lv_size_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='of' + { + newLeafNode(otherlv_2, grammarAccess.getQueueTypeAccess().getOfKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + lv_type_3_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQueueTypeRule()); + } + set( + $current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleArrayType +entryRuleArrayType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArrayTypeRule()); } + iv_ruleArrayType=ruleArrayType + { $current=$iv_ruleArrayType.current; } + EOF; + +// Rule ArrayType +ruleArrayType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='array' + { + newLeafNode(otherlv_0, grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); + } + lv_size_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayTypeRule()); + } + set( + $current, + "size", + lv_size_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='of' + { + newLeafNode(otherlv_2, grammarAccess.getArrayTypeAccess().getOfKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); + } + lv_type_3_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayTypeRule()); + } + set( + $current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleReferencedType +entryRuleReferencedType returns [EObject current=null]: + { newCompositeNode(grammarAccess.getReferencedTypeRule()); } + iv_ruleReferencedType=ruleReferencedType + { $current=$iv_ruleReferencedType.current; } + EOF; + +// Rule ReferencedType +ruleReferencedType returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReferencedTypeRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); + } + ) + ) +; + +// Entry rule entryRuleConstantDeclaration +entryRuleConstantDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConstantDeclarationRule()); } + iv_ruleConstantDeclaration=ruleConstantDeclaration + { $current=$iv_ruleConstantDeclaration.current; } + EOF; + +// Rule ConstantDeclaration +ruleConstantDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='const' + { + newLeafNode(otherlv_0, grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getConstantDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + otherlv_2=':' + { + newLeafNode(otherlv_2, grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + lv_type_3_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstantDeclarationRule()); + } + set( + $current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='is' + { + newLeafNode(otherlv_4, grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); + } + lv_value_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstantDeclarationRule()); + } + set( + $current, + "value", + lv_value_5_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleProcessDeclaration +entryRuleProcessDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getProcessDeclarationRule()); } + iv_ruleProcessDeclaration=ruleProcessDeclaration + { $current=$iv_ruleProcessDeclaration.current; } + EOF; + +// Rule ProcessDeclaration +ruleProcessDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='process' + { + newLeafNode(otherlv_0, grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getProcessDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ( + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + lv_ports_3_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + lv_ports_5_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_5_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + )? + ( + otherlv_7='(' + { + newLeafNode(otherlv_7, grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + lv_parameters_8_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_8_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + lv_parameters_10_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_10_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_11=')' + { + newLeafNode(otherlv_11, grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + )? + otherlv_12='is' + { + newLeafNode(otherlv_12, grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); + } + ( + otherlv_13='port' + { + newLeafNode(otherlv_13, grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); + } + lv_localPorts_14_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "localPorts", + lv_localPorts_14_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_15=',' + { + newLeafNode(otherlv_15, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); + } + lv_localPorts_16_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "localPorts", + lv_localPorts_16_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_17='priority' + { + newLeafNode(otherlv_17, grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); + } + lv_priorities_18_0=rulePriorityDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "priorities", + lv_priorities_18_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_19=',' + { + newLeafNode(otherlv_19, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); + } + lv_priorities_20_0=rulePriorityDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "priorities", + lv_priorities_20_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_21='states' + { + newLeafNode(otherlv_21, grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); + } + lv_states_22_0=ruleStateDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "states", + lv_states_22_0, + "fr.irit.fiacre.xtext.Fiacre.StateDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_23=',' + { + newLeafNode(otherlv_23, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); + } + lv_states_24_0=ruleStateDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "states", + lv_states_24_0, + "fr.irit.fiacre.xtext.Fiacre.StateDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ( + otherlv_25='var' + { + newLeafNode(otherlv_25, grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); + } + lv_variables_26_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_26_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_27=',' + { + newLeafNode(otherlv_27, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); + } + lv_variables_28_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_28_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_29='init' + { + newLeafNode(otherlv_29, grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); + } + lv_prelude_30_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + set( + $current, + "prelude", + lv_prelude_30_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); + } + lv_transitions_31_0=ruleTransition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + $current, + "transitions", + lv_transitions_31_0, + "fr.irit.fiacre.xtext.Fiacre.Transition"); + afterParserOrEnumRuleCall(); + } + ) + )+ + ) +; + +// Entry rule entryRuleStateDeclaration +entryRuleStateDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStateDeclarationRule()); } + iv_ruleStateDeclaration=ruleStateDeclaration + { $current=$iv_ruleStateDeclaration.current; } + EOF; + +// Rule StateDeclaration +ruleStateDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStateDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) +; + +// Entry rule entryRuleTransitionSource +entryRuleTransitionSource returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTransitionSourceRule()); } + iv_ruleTransitionSource=ruleTransitionSource + { $current=$iv_ruleTransitionSource.current; } + EOF; + +// Rule TransitionSource +ruleTransitionSource returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='from' + { + newLeafNode(otherlv_0, grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTransitionSourceRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleTransition +entryRuleTransition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTransitionRule()); } + iv_ruleTransition=ruleTransition + { $current=$iv_ruleTransition.current; } + EOF; + +// Rule Transition +ruleTransition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); + } + lv_source_0_0=ruleTransitionSource + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "source", + lv_source_0_0, + "fr.irit.fiacre.xtext.Fiacre.TransitionSource"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); + } + lv_action_1_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + $current, + "action", + lv_action_1_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleComponentDeclaration +entryRuleComponentDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComponentDeclarationRule()); } + iv_ruleComponentDeclaration=ruleComponentDeclaration + { $current=$iv_ruleComponentDeclaration.current; } + EOF; + +// Rule ComponentDeclaration +ruleComponentDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='component' + { + newLeafNode(otherlv_0, grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ( + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + } + lv_ports_3_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + } + lv_ports_5_0=rulePortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_5_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_6=']' + { + newLeafNode(otherlv_6, grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); + } + )? + ( + otherlv_7='(' + { + newLeafNode(otherlv_7, grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + } + lv_parameters_8_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_8_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + } + lv_parameters_10_0=ruleParametersDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_10_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_11=')' + { + newLeafNode(otherlv_11, grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); + } + )? + otherlv_12='is' + { + newLeafNode(otherlv_12, grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); + } + ( + otherlv_13='var' + { + newLeafNode(otherlv_13, grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); + } + lv_variables_14_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_14_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_15=',' + { + newLeafNode(otherlv_15, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); + } + lv_variables_16_0=ruleVariablesDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_16_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_17='port' + { + newLeafNode(otherlv_17, grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); + } + lv_localPorts_18_0=ruleLocalPortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "localPorts", + lv_localPorts_18_0, + "fr.irit.fiacre.xtext.Fiacre.LocalPortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_19=',' + { + newLeafNode(otherlv_19, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); + } + lv_localPorts_20_0=ruleLocalPortsDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "localPorts", + lv_localPorts_20_0, + "fr.irit.fiacre.xtext.Fiacre.LocalPortsDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_21='priority' + { + newLeafNode(otherlv_21, grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); + } + lv_priorities_22_0=rulePriorityDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "priorities", + lv_priorities_22_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_23=',' + { + newLeafNode(otherlv_23, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); + } + lv_priorities_24_0=rulePriorityDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + $current, + "priorities", + lv_priorities_24_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + ( + otherlv_25='init' + { + newLeafNode(otherlv_25, grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); + } + lv_prelude_26_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + set( + $current, + "prelude", + lv_prelude_26_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); + } + lv_body_27_0=ruleComposition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + set( + $current, + "body", + lv_body_27_0, + "fr.irit.fiacre.xtext.Fiacre.Composition"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRulePortsDeclaration +entryRulePortsDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPortsDeclarationRule()); } + iv_rulePortsDeclaration=rulePortsDeclaration + { $current=$iv_rulePortsDeclaration.current; } + EOF; + +// Rule PortsDeclaration +rulePortsDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + lv_ports_0_0=rulePortDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + lv_ports_2_0=rulePortDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_3=':' + { + newLeafNode(otherlv_3, grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + lv_type_4_0=ruleChannelType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + set( + $current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRulePortDeclaration +entryRulePortDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPortDeclarationRule()); } + iv_rulePortDeclaration=rulePortDeclaration + { $current=$iv_rulePortDeclaration.current; } + EOF; + +// Rule PortDeclaration +rulePortDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPortDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) +; + +// Entry rule entryRuleLocalPortsDeclaration +entryRuleLocalPortsDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLocalPortsDeclarationRule()); } + iv_ruleLocalPortsDeclaration=ruleLocalPortsDeclaration + { $current=$iv_ruleLocalPortsDeclaration.current; } + EOF; + +// Rule LocalPortsDeclaration +ruleLocalPortsDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + } + lv_ports_0_0=rulePortDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + } + lv_ports_2_0=rulePortDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + add( + $current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_3=':' + { + newLeafNode(otherlv_3, grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + } + lv_type_4_0=ruleChannelType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + $current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5='in' + { + newLeafNode(otherlv_5, grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); + } + lv_left_6_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + $current, + "left", + lv_left_6_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7=',' + { + newLeafNode(otherlv_7, grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); + } + lv_right_8_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + $current, + "right", + lv_right_8_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleParametersDeclaration +entryRuleParametersDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParametersDeclarationRule()); } + iv_ruleParametersDeclaration=ruleParametersDeclaration + { $current=$iv_ruleParametersDeclaration.current; } + EOF; + +// Rule ParametersDeclaration +ruleParametersDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); + } + lv_parameters_0_0=ruleParameterDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_0_0, + "fr.irit.fiacre.xtext.Fiacre.ParameterDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); + } + lv_parameters_2_0=ruleParameterDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + add( + $current, + "parameters", + lv_parameters_2_0, + "fr.irit.fiacre.xtext.Fiacre.ParameterDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_3=':' + { + newLeafNode(otherlv_3, grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); + } + ( + ( + lv_read_4_0='read' + { + newLeafNode(lv_read_4_0, grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParametersDeclarationRule()); + } + setWithLastConsumed($current, "read", true, "read"); + } + ) + )? + ( + ( + lv_write_5_0='write' + { + newLeafNode(lv_write_5_0, grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParametersDeclarationRule()); + } + setWithLastConsumed($current, "write", true, "write"); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); + } + lv_type_6_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + set( + $current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleParameterDeclaration +entryRuleParameterDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParameterDeclarationRule()); } + iv_ruleParameterDeclaration=ruleParameterDeclaration + { $current=$iv_ruleParameterDeclaration.current; } + EOF; + +// Rule ParameterDeclaration +ruleParameterDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + lv_reference_0_0='&' + { + newLeafNode(lv_reference_0_0, grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed($current, "reference", true, "&"); + } + ) + ) + ( + ( + ( + lv_array_1_0='[' + { + newLeafNode(lv_array_1_0, grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed($current, "array", true, "["); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); + } + lv_size_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParameterDeclarationRule()); + } + set( + $current, + "size", + lv_size_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=']' + { + newLeafNode(otherlv_3, grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); + } + )? + )? + ( + ( + lv_name_4_0=RULE_ID + { + newLeafNode(lv_name_4_0, grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_4_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ) +; + +// Entry rule entryRuleVariablesDeclaration +entryRuleVariablesDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getVariablesDeclarationRule()); } + iv_ruleVariablesDeclaration=ruleVariablesDeclaration + { $current=$iv_ruleVariablesDeclaration.current; } + EOF; + +// Rule VariablesDeclaration +ruleVariablesDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); + } + lv_variables_0_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_0_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); + } + lv_variables_2_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + add( + $current, + "variables", + lv_variables_2_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_3=':' + { + newLeafNode(otherlv_3, grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + } + lv_type_4_0=ruleType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + set( + $current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5=':=' + { + newLeafNode(otherlv_5, grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); + } + lv_value_6_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + set( + $current, + "value", + lv_value_6_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleVariableDeclaration +entryRuleVariableDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getVariableDeclarationRule()); } + iv_ruleVariableDeclaration=ruleVariableDeclaration + { $current=$iv_ruleVariableDeclaration.current; } + EOF; + +// Rule VariableDeclaration +ruleVariableDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_ID + { + newLeafNode(lv_name_0_0, grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) +; + +// Entry rule entryRulePriorityDeclaration +entryRulePriorityDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPriorityDeclarationRule()); } + iv_rulePriorityDeclaration=rulePriorityDeclaration + { $current=$iv_rulePriorityDeclaration.current; } + EOF; + +// Rule PriorityDeclaration +rulePriorityDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); + } + lv_groups_0_0=rulePriorityGroup + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPriorityDeclarationRule()); + } + add( + $current, + "groups", + lv_groups_0_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityGroup"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='>' + { + newLeafNode(otherlv_1, grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); + } + lv_groups_2_0=rulePriorityGroup + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPriorityDeclarationRule()); + } + add( + $current, + "groups", + lv_groups_2_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityGroup"); + afterParserOrEnumRuleCall(); + } + ) + ) + )+ + ) +; + +// Entry rule entryRulePriorityGroup +entryRulePriorityGroup returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPriorityGroupRule()); } + iv_rulePriorityGroup=rulePriorityGroup + { $current=$iv_rulePriorityGroup.current; } + EOF; + +// Rule PriorityGroup +rulePriorityGroup returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPriorityGroupRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); + } + ) + ) + ( + otherlv_1='|' + { + newLeafNode(otherlv_1, grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPriorityGroupRule()); + } + } + otherlv_2=RULE_ID + { + newLeafNode(otherlv_2, grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleUnlessStatement +entryRuleUnlessStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnlessStatementRule()); } + iv_ruleUnlessStatement=ruleUnlessStatement + { $current=$iv_ruleUnlessStatement.current; } + EOF; + +// Rule UnlessStatement +ruleUnlessStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); + } + this_StatementChoice_0=ruleStatementChoice + { + $current = $this_StatementChoice_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0(), + $current); + } + ) + otherlv_2='unless' + { + newLeafNode(otherlv_2, grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); + } + lv_followers_3_0=ruleStatementChoice + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnlessStatementRule()); + } + add( + $current, + "followers", + lv_followers_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementChoice"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleStatementChoice +entryRuleStatementChoice returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStatementChoiceRule()); } + iv_ruleStatementChoice=ruleStatementChoice + { $current=$iv_ruleStatementChoice.current; } + EOF; + +// Rule StatementChoice +ruleStatementChoice returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); + } + this_StatementSequence_0=ruleStatementSequence + { + $current = $this_StatementSequence_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0(), + $current); + } + ) + otherlv_2='[]' + { + newLeafNode(otherlv_2, grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); + } + lv_choices_3_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStatementChoiceRule()); + } + add( + $current, + "choices", + lv_choices_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleStatementSequence +entryRuleStatementSequence returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStatementSequenceRule()); } + iv_ruleStatementSequence=ruleStatementSequence + { $current=$iv_ruleStatementSequence.current; } + EOF; + +// Rule StatementSequence +ruleStatementSequence returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); + } + this_Statement_0=ruleStatement + { + $current = $this_Statement_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0(), + $current); + } + ) + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); + } + lv_statements_3_0=ruleStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getStatementSequenceRule()); + } + add( + $current, + "statements", + lv_statements_3_0, + "fr.irit.fiacre.xtext.Fiacre.Statement"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleStatement +entryRuleStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStatementRule()); } + iv_ruleStatement=ruleStatement + { $current=$iv_ruleStatement.current; } + EOF; + +// Rule Statement +ruleStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); + } + this_NullStatement_0=ruleNullStatement + { + $current = $this_NullStatement_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); + } + this_TaggedStatement_1=ruleTaggedStatement + { + $current = $this_TaggedStatement_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); + } + this_PatternStatement_2=rulePatternStatement + { + $current = $this_PatternStatement_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); + } + this_ConditionalStatement_3=ruleConditionalStatement + { + $current = $this_ConditionalStatement_3.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); + } + this_SelectStatement_4=ruleSelectStatement + { + $current = $this_SelectStatement_4.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); + } + this_WhileStatement_5=ruleWhileStatement + { + $current = $this_WhileStatement_5.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); + } + this_ForeachStatement_6=ruleForeachStatement + { + $current = $this_ForeachStatement_6.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); + } + this_ToStatement_7=ruleToStatement + { + $current = $this_ToStatement_7.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); + } + this_CaseStatement_8=ruleCaseStatement + { + $current = $this_CaseStatement_8.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); + } + this_LoopStatement_9=ruleLoopStatement + { + $current = $this_LoopStatement_9.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); + } + this_OnStatement_10=ruleOnStatement + { + $current = $this_OnStatement_10.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); + } + this_WaitStatement_11=ruleWaitStatement + { + $current = $this_WaitStatement_11.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); + } + this_ReturnStatement_12=ruleReturnStatement + { + $current = $this_ReturnStatement_12.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); + } + this_BlockStatement_13=ruleBlockStatement + { + $current = $this_BlockStatement_13.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleBlockStatement +entryRuleBlockStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBlockStatementRule()); } + iv_ruleBlockStatement=ruleBlockStatement + { $current=$iv_ruleBlockStatement.current; } + EOF; + +// Rule BlockStatement +ruleBlockStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='begin' + { + newLeafNode(otherlv_0, grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); + } + lv_body_1_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBlockStatementRule()); + } + set( + $current, + "body", + lv_body_1_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='end' + { + newLeafNode(otherlv_2, grammarAccess.getBlockStatementAccess().getEndKeyword_2()); + } + ) +; + +// Entry rule entryRuleReturnStatement +entryRuleReturnStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getReturnStatementRule()); } + iv_ruleReturnStatement=ruleReturnStatement + { $current=$iv_ruleReturnStatement.current; } + EOF; + +// Rule ReturnStatement +ruleReturnStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='return' + { + newLeafNode(otherlv_0, grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); + } + lv_expression_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getReturnStatementRule()); + } + set( + $current, + "expression", + lv_expression_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleNullStatement +entryRuleNullStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNullStatementRule()); } + iv_ruleNullStatement=ruleNullStatement + { $current=$iv_ruleNullStatement.current; } + EOF; + +// Rule NullStatement +ruleNullStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getNullStatementAccess().getNullStatementAction_0(), + $current); + } + ) + otherlv_1='null' + { + newLeafNode(otherlv_1, grammarAccess.getNullStatementAccess().getNullKeyword_1()); + } + ) +; + +// Entry rule entryRuleTaggedStatement +entryRuleTaggedStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTaggedStatementRule()); } + iv_ruleTaggedStatement=ruleTaggedStatement + { $current=$iv_ruleTaggedStatement.current; } + EOF; + +// Rule TaggedStatement +ruleTaggedStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='#' + { + newLeafNode(otherlv_0, grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTaggedStatementRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ) +; + +// Entry rule entryRulePatternStatement +entryRulePatternStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPatternStatementRule()); } + iv_rulePatternStatement=rulePatternStatement + { $current=$iv_rulePatternStatement.current; } + EOF; + +// Rule PatternStatement +rulePatternStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); + } + this_Pattern_0=rulePattern + { + $current = $this_Pattern_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + otherlv_1=',' + { + newLeafNode(otherlv_1, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); + } + lv_patterns_3_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); + } + lv_patterns_5_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_5_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_6=':=' + { + newLeafNode(otherlv_6, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); + } + lv_values_7_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_7_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); + } + lv_values_9_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_9_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + | + ( + otherlv_10=':=' + { + newLeafNode(otherlv_10, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1(), + $current); + } + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); + } + lv_values_12_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_12_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_13=',' + { + newLeafNode(otherlv_13, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); + } + lv_values_14_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_14_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + ) + | + ( + otherlv_15=',' + { + newLeafNode(otherlv_15, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); + } + lv_patterns_17_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_17_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_18=',' + { + newLeafNode(otherlv_18, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); + } + lv_patterns_19_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_19_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_20=':=' + { + newLeafNode(otherlv_20, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); + } + otherlv_21='any' + { + newLeafNode(otherlv_21, grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); + } + ( + otherlv_22='where' + { + newLeafNode(otherlv_22, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); + } + lv_exp_23_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + $current, + "exp", + lv_exp_23_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_24=':=' + { + newLeafNode(otherlv_24, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1(), + $current); + } + ) + otherlv_26='any' + { + newLeafNode(otherlv_26, grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); + } + ( + otherlv_27='where' + { + newLeafNode(otherlv_27, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); + } + lv_exp_28_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + $current, + "exp", + lv_exp_28_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_29='!' + { + newLeafNode(otherlv_29, grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); + } + lv_values_31_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_31_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_32=',' + { + newLeafNode(otherlv_32, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); + } + lv_values_33_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "values", + lv_values_33_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + | + ( + otherlv_34='?' + { + newLeafNode(otherlv_34, grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); + } + lv_patterns_36_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_36_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_37=',' + { + newLeafNode(otherlv_37, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); + } + lv_patterns_38_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + $current, + "patterns", + lv_patterns_38_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ( + otherlv_39='where' + { + newLeafNode(otherlv_39, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); + } + lv_exp_40_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + $current, + "exp", + lv_exp_40_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + )? + ) +; + +// Entry rule entryRulePattern +entryRulePattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPatternRule()); } + iv_rulePattern=rulePattern + { $current=$iv_rulePattern.current; } + EOF; + +// Rule Pattern +rulePattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); + } + this_AnyPattern_0=ruleAnyPattern + { + $current = $this_AnyPattern_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); + } + this_IntegerPattern_1=ruleIntegerPattern + { + $current = $this_IntegerPattern_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); + } + this_ConstantPattern_2=ruleConstantPattern + { + $current = $this_ConstantPattern_2.current; + afterParserOrEnumRuleCall(); + } + | + ( + otherlv_3='(' + { + newLeafNode(otherlv_3, grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); + } + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); + } + this_Pattern_4=rulePattern + { + $current = $this_Pattern_4.current; + afterParserOrEnumRuleCall(); + } + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); + } + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); + } + this_IdentifierPattern_6=ruleIdentifierPattern + { + $current = $this_IdentifierPattern_6.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleAnyPattern +entryRuleAnyPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAnyPatternRule()); } + iv_ruleAnyPattern=ruleAnyPattern + { $current=$iv_ruleAnyPattern.current; } + EOF; + +// Rule AnyPattern +ruleAnyPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getAnyPatternAccess().getAnyPatternAction_0(), + $current); + } + ) + otherlv_1='any' + { + newLeafNode(otherlv_1, grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); + } + ) +; + +// Entry rule entryRuleConstantPattern +entryRuleConstantPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConstantPatternRule()); } + iv_ruleConstantPattern=ruleConstantPattern + { $current=$iv_ruleConstantPattern.current; } + EOF; + +// Rule ConstantPattern +ruleConstantPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); + } + lv_value_0_0=ruleLiteralExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConstantPatternRule()); + } + set( + $current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.LiteralExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleIntegerPattern +entryRuleIntegerPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIntegerPatternRule()); } + iv_ruleIntegerPattern=ruleIntegerPattern + { $current=$iv_ruleIntegerPattern.current; } + EOF; + +// Rule IntegerPattern +ruleIntegerPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + otherlv_0='+' + { + newLeafNode(otherlv_0, grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); + } + | + ( + ( + lv_negative_1_0='-' + { + newLeafNode(lv_negative_1_0, grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIntegerPatternRule()); + } + setWithLastConsumed($current, "negative", true, "-"); + } + ) + ) + ) + ( + ( + lv_value_2_0=RULE_INT + { + newLeafNode(lv_value_2_0, grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIntegerPatternRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) + ) +; + +// Entry rule entryRuleIdentifierPattern +entryRuleIdentifierPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIdentifierPatternRule()); } + iv_ruleIdentifierPattern=ruleIdentifierPattern + { $current=$iv_ruleIdentifierPattern.current; } + EOF; + +// Rule IdentifierPattern +ruleIdentifierPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); + } + ) + ) + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); + } + lv_parameters_3_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + add( + $current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); + } + lv_parameters_5_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + add( + $current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); + } + ) + | + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + } + otherlv_7=RULE_ID + { + newLeafNode(otherlv_7, grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); + } + ) + ) + ( + ( + otherlv_8='[' + { + newLeafNode(otherlv_8, grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); + } + lv_index_10_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + set( + $current, + "index", + lv_index_10_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_11=']' + { + newLeafNode(otherlv_11, grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); + } + ) + | + ( + otherlv_12='.' + { + newLeafNode(otherlv_12, grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + } + otherlv_14=RULE_ID + { + newLeafNode(otherlv_14, grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + ) + ) + ) + )* + ) + ) +; + +// Entry rule entryRuleConditionalStatement +entryRuleConditionalStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConditionalStatementRule()); } + iv_ruleConditionalStatement=ruleConditionalStatement + { $current=$iv_ruleConditionalStatement.current; } + EOF; + +// Rule ConditionalStatement +ruleConditionalStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='if' + { + newLeafNode(otherlv_0, grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='then' + { + newLeafNode(otherlv_2, grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + lv_then_3_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + $current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); + } + lv_elseif_4_0=ruleExtendedConditionalStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + add( + $current, + "elseif", + lv_elseif_4_0, + "fr.irit.fiacre.xtext.Fiacre.ExtendedConditionalStatement"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + otherlv_5='else' + { + newLeafNode(otherlv_5, grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); + } + lv_else_6_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + $current, + "else", + lv_else_6_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_7='end' + { + newLeafNode(otherlv_7, grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); + } + ( + otherlv_8='if' + { + newLeafNode(otherlv_8, grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); + } + )? + ) +; + +// Entry rule entryRuleExtendedConditionalStatement +entryRuleExtendedConditionalStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExtendedConditionalStatementRule()); } + iv_ruleExtendedConditionalStatement=ruleExtendedConditionalStatement + { $current=$iv_ruleExtendedConditionalStatement.current; } + EOF; + +// Rule ExtendedConditionalStatement +ruleExtendedConditionalStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='elsif' + { + newLeafNode(otherlv_0, grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExtendedConditionalStatementRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='then' + { + newLeafNode(otherlv_2, grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + } + lv_then_3_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExtendedConditionalStatementRule()); + } + set( + $current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleSelectStatement +entryRuleSelectStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getSelectStatementRule()); } + iv_ruleSelectStatement=ruleSelectStatement + { $current=$iv_ruleSelectStatement.current; } + EOF; + +// Rule SelectStatement +ruleSelectStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='select' + { + newLeafNode(otherlv_0, grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); + } + lv_body_1_0=ruleUnlessStatement + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + $current, + "body", + lv_body_1_0, + "fr.irit.fiacre.xtext.Fiacre.UnlessStatement"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2='|' + { + newLeafNode(otherlv_2, grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); + } + lv_index_3_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + $current, + "index", + lv_index_3_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='in' + { + newLeafNode(otherlv_4, grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); + } + lv_type_5_0=ruleRangeType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + $current, + "type", + lv_type_5_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_6='end' + { + newLeafNode(otherlv_6, grammarAccess.getSelectStatementAccess().getEndKeyword_3()); + } + ( + otherlv_7='select' + { + newLeafNode(otherlv_7, grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); + } + )? + ) +; + +// Entry rule entryRuleWhileStatement +entryRuleWhileStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getWhileStatementRule()); } + iv_ruleWhileStatement=ruleWhileStatement + { $current=$iv_ruleWhileStatement.current; } + EOF; + +// Rule WhileStatement +ruleWhileStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='while' + { + newLeafNode(otherlv_0, grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWhileStatementRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='do' + { + newLeafNode(otherlv_2, grammarAccess.getWhileStatementAccess().getDoKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + lv_body_3_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWhileStatementRule()); + } + set( + $current, + "body", + lv_body_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='end' + { + newLeafNode(otherlv_4, grammarAccess.getWhileStatementAccess().getEndKeyword_4()); + } + ( + otherlv_5='while' + { + newLeafNode(otherlv_5, grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); + } + )? + ) +; + +// Entry rule entryRuleForeachStatement +entryRuleForeachStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getForeachStatementRule()); } + iv_ruleForeachStatement=ruleForeachStatement + { $current=$iv_ruleForeachStatement.current; } + EOF; + +// Rule ForeachStatement +ruleForeachStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='foreach' + { + newLeafNode(otherlv_0, grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); + } + lv_variable_1_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForeachStatementRule()); + } + set( + $current, + "variable", + lv_variable_1_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='do' + { + newLeafNode(otherlv_2, grammarAccess.getForeachStatementAccess().getDoKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + } + lv_body_3_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForeachStatementRule()); + } + set( + $current, + "body", + lv_body_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='end' + { + newLeafNode(otherlv_4, grammarAccess.getForeachStatementAccess().getEndKeyword_4()); + } + ( + otherlv_5='foreach' + { + newLeafNode(otherlv_5, grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); + } + )? + ) +; + +// Entry rule entryRuleToStatement +entryRuleToStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getToStatementRule()); } + iv_ruleToStatement=ruleToStatement + { $current=$iv_ruleToStatement.current; } + EOF; + +// Rule ToStatement +ruleToStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='to' + { + newLeafNode(otherlv_0, grammarAccess.getToStatementAccess().getToKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getToStatementRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleCaseStatement +entryRuleCaseStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCaseStatementRule()); } + iv_ruleCaseStatement=ruleCaseStatement + { $current=$iv_ruleCaseStatement.current; } + EOF; + +// Rule CaseStatement +ruleCaseStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='case' + { + newLeafNode(otherlv_0, grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); + } + lv_value_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + set( + $current, + "value", + lv_value_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='of' + { + newLeafNode(otherlv_2, grammarAccess.getCaseStatementAccess().getOfKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); + } + lv_pattern_3_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + $current, + "pattern", + lv_pattern_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='->' + { + newLeafNode(otherlv_4, grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); + } + lv_body_5_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + $current, + "body", + lv_body_5_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_6='|' + { + newLeafNode(otherlv_6, grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); + } + lv_pattern_7_0=rulePattern + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + $current, + "pattern", + lv_pattern_7_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8='->' + { + newLeafNode(otherlv_8, grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); + } + lv_body_9_0=ruleStatementSequence + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + $current, + "body", + lv_body_9_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_10='end' + { + newLeafNode(otherlv_10, grammarAccess.getCaseStatementAccess().getEndKeyword_7()); + } + ( + otherlv_11='case' + { + newLeafNode(otherlv_11, grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); + } + )? + ) +; + +// Entry rule entryRuleLoopStatement +entryRuleLoopStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLoopStatementRule()); } + iv_ruleLoopStatement=ruleLoopStatement + { $current=$iv_ruleLoopStatement.current; } + EOF; + +// Rule LoopStatement +ruleLoopStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLoopStatementAccess().getLoopStatementAction_0(), + $current); + } + ) + otherlv_1='loop' + { + newLeafNode(otherlv_1, grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); + } + ) +; + +// Entry rule entryRuleOnStatement +entryRuleOnStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getOnStatementRule()); } + iv_ruleOnStatement=ruleOnStatement + { $current=$iv_ruleOnStatement.current; } + EOF; + +// Rule OnStatement +ruleOnStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='on' + { + newLeafNode(otherlv_0, grammarAccess.getOnStatementAccess().getOnKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); + } + lv_condition_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getOnStatementRule()); + } + set( + $current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleWaitStatement +entryRuleWaitStatement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getWaitStatementRule()); } + iv_ruleWaitStatement=ruleWaitStatement + { $current=$iv_ruleWaitStatement.current; } + EOF; + +// Rule WaitStatement +ruleWaitStatement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='wait' + { + newLeafNode(otherlv_0, grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); + } + lv_left_1_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWaitStatementRule()); + } + set( + $current, + "left", + lv_left_1_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); + } + lv_right_3_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getWaitStatementRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleComposition +entryRuleComposition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCompositionRule()); } + iv_ruleComposition=ruleComposition + { $current=$iv_ruleComposition.current; } + EOF; + +// Rule Composition +ruleComposition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='par' + { + newLeafNode(otherlv_0, grammarAccess.getCompositionAccess().getParKeyword_0()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); + } + lv_global_1_0=rulePortSet + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + set( + $current, + "global", + lv_global_1_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='in' + { + newLeafNode(otherlv_2, grammarAccess.getCompositionAccess().getInKeyword_1_1()); + } + )? + ( + ( + { + newCompositeNode(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); + } + lv_blocks_3_0=ruleBlock + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + add( + $current, + "blocks", + lv_blocks_3_0, + "fr.irit.fiacre.xtext.Fiacre.Block"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4='||' + { + newLeafNode(otherlv_4, grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); + } + lv_blocks_5_0=ruleBlock + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + add( + $current, + "blocks", + lv_blocks_5_0, + "fr.irit.fiacre.xtext.Fiacre.Block"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_6='end' + { + newLeafNode(otherlv_6, grammarAccess.getCompositionAccess().getEndKeyword_4()); + } + ( + otherlv_7='par' + { + newLeafNode(otherlv_7, grammarAccess.getCompositionAccess().getParKeyword_5()); + } + )? + ) +; + +// Entry rule entryRuleBlock +entryRuleBlock returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBlockRule()); } + iv_ruleBlock=ruleBlock + { $current=$iv_ruleBlock.current; } + EOF; + +// Rule Block +ruleBlock returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); + } + this_CompositeBlock_0=ruleCompositeBlock + { + $current = $this_CompositeBlock_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); + } + this_InstanceDeclaration_1=ruleInstanceDeclaration + { + $current = $this_InstanceDeclaration_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleCompositeBlock +entryRuleCompositeBlock returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCompositeBlockRule()); } + iv_ruleCompositeBlock=ruleCompositeBlock + { $current=$iv_ruleCompositeBlock.current; } + EOF; + +// Rule CompositeBlock +ruleCompositeBlock returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + lv_local_0_0=rulePortSet + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeBlockRule()); + } + set( + $current, + "local", + lv_local_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1='->' + { + newLeafNode(otherlv_1, grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + ) + | + otherlv_2='->' + { + newLeafNode(otherlv_2, grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + )? + ( + ( + { + newCompositeNode(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); + } + lv_composition_3_0=ruleComposition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeBlockRule()); + } + set( + $current, + "composition", + lv_composition_3_0, + "fr.irit.fiacre.xtext.Fiacre.Composition"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleInstanceDeclaration +entryRuleInstanceDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInstanceDeclarationRule()); } + iv_ruleInstanceDeclaration=ruleInstanceDeclaration + { $current=$iv_ruleInstanceDeclaration.current; } + EOF; + +// Rule InstanceDeclaration +ruleInstanceDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + newCompositeNode(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + } + lv_local_0_0=rulePortSet + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInstanceDeclarationRule()); + } + set( + $current, + "local", + lv_local_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1='->' + { + newLeafNode(otherlv_1, grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + } + ) + | + otherlv_2='->' + { + newLeafNode(otherlv_2, grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + } + )? + ( + ( + { + newCompositeNode(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); + } + lv_instance_3_0=ruleComponentInstance + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInstanceDeclarationRule()); + } + set( + $current, + "instance", + lv_instance_3_0, + "fr.irit.fiacre.xtext.Fiacre.ComponentInstance"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRulePortSet +entryRulePortSet returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPortSetRule()); } + iv_rulePortSet=rulePortSet + { $current=$iv_rulePortSet.current; } + EOF; + +// Rule PortSet +rulePortSet returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_allPorts_0_0='*' + { + newLeafNode(lv_allPorts_0_0, grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPortSetRule()); + } + setWithLastConsumed($current, "allPorts", true, "*"); + } + ) + ) + | + ( + ( + ( + { + newCompositeNode(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); + } + lv_ports_1_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPortSetRule()); + } + add( + $current, + "ports", + lv_ports_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); + } + lv_ports_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPortSetRule()); + } + add( + $current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) + ) +; + +// Entry rule entryRuleComponentInstance +entryRuleComponentInstance returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComponentInstanceRule()); } + iv_ruleComponentInstance=ruleComponentInstance + { $current=$iv_ruleComponentInstance.current; } + EOF; + +// Rule ComponentInstance +ruleComponentInstance returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); + } + ) + ) + ( + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); + } + lv_ports_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + $current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); + } + lv_ports_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + $current, + "ports", + lv_ports_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_5=']' + { + newLeafNode(otherlv_5, grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); + } + )? + ( + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); + } + lv_parameters_7_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + $current, + "parameters", + lv_parameters_7_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); + } + lv_parameters_9_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + $current, + "parameters", + lv_parameters_9_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); + } + )? + ) +; + +// Entry rule entryRuleExpression +entryRuleExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionRule()); } + iv_ruleExpression=ruleExpression + { $current=$iv_ruleExpression.current; } + EOF; + +// Rule Expression +ruleExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + /* */ + } + { + newCompositeNode(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); + } + this_QuantifiedExpression_0=ruleQuantifiedExpression + { + $current = $this_QuantifiedExpression_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleQuantifiedExpression +entryRuleQuantifiedExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); } + iv_ruleQuantifiedExpression=ruleQuantifiedExpression + { $current=$iv_ruleQuantifiedExpression.current; } + EOF; + +// Rule QuantifiedExpression +ruleQuantifiedExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0(), + $current); + } + ) + otherlv_1='all' + { + newLeafNode(otherlv_1, grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0(), + $current); + } + ) + otherlv_3='exists' + { + newLeafNode(otherlv_3, grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + lv_index_4_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + $current, + "index", + lv_index_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_5='in' + { + newLeafNode(otherlv_5, grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); + } + lv_type_6_0=ruleRangeType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + $current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); + } + lv_child_8_0=ruleQuantifiedExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + $current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.QuantifiedExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); + } + this_Conditional_9=ruleConditional + { + $current = $this_Conditional_9.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleConditional +entryRuleConditional returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConditionalRule()); } + iv_ruleConditional=ruleConditional + { $current=$iv_ruleConditional.current; } + EOF; + +// Rule Conditional +ruleConditional returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); + } + this_Disjunction_0=ruleDisjunction + { + $current = $this_Disjunction_0.current; + afterParserOrEnumRuleCall(); + } + ( + otherlv_1='?' + { + newLeafNode(otherlv_1, grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); + } + lv_then_3_0=ruleDisjunction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalRule()); + } + set( + $current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.Disjunction"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=':' + { + newLeafNode(otherlv_4, grammarAccess.getConditionalAccess().getColonKeyword_1_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); + } + lv_else_5_0=ruleDisjunction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConditionalRule()); + } + set( + $current, + "else", + lv_else_5_0, + "fr.irit.fiacre.xtext.Fiacre.Disjunction"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleDisjunction +entryRuleDisjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDisjunctionRule()); } + iv_ruleDisjunction=ruleDisjunction + { $current=$iv_ruleDisjunction.current; } + EOF; + +// Rule Disjunction +ruleDisjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); + } + this_Implication_0=ruleImplication + { + $current = $this_Implication_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='or' + { + newLeafNode(otherlv_2, grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDisjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Implication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleImplication +entryRuleImplication returns [EObject current=null]: + { newCompositeNode(grammarAccess.getImplicationRule()); } + iv_ruleImplication=ruleImplication + { $current=$iv_ruleImplication.current; } + EOF; + +// Rule Implication +ruleImplication returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); + } + this_Conjunction_0=ruleConjunction + { + $current = $this_Conjunction_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0(), + $current); + } + ) + otherlv_2='=>' + { + newLeafNode(otherlv_2, grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getImplicationRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Implication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleConjunction +entryRuleConjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConjunctionRule()); } + iv_ruleConjunction=ruleConjunction + { $current=$iv_ruleConjunction.current; } + EOF; + +// Rule Conjunction +ruleConjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); + } + this_Comparison_0=ruleComparison + { + $current = $this_Comparison_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='and' + { + newLeafNode(otherlv_2, grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleComparison + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Comparison"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleComparison +entryRuleComparison returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComparisonRule()); } + iv_ruleComparison=ruleComparison + { $current=$iv_ruleComparison.current; } + EOF; + +// Rule Comparison +ruleComparison returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); + } + this_Addition_0=ruleAddition + { + $current = $this_Addition_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0(), + $current); + } + ) + otherlv_2='=' + { + newLeafNode(otherlv_2, grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0(), + $current); + } + ) + otherlv_4='<>' + { + newLeafNode(otherlv_4, grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0(), + $current); + } + ) + otherlv_6='<' + { + newLeafNode(otherlv_6, grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0(), + $current); + } + ) + otherlv_8='<=' + { + newLeafNode(otherlv_8, grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0(), + $current); + } + ) + otherlv_10='>' + { + newLeafNode(otherlv_10, grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0(), + $current); + } + ) + otherlv_12='>=' + { + newLeafNode(otherlv_12, grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); + } + lv_right_13_0=ruleAddition + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + $current, + "right", + lv_right_13_0, + "fr.irit.fiacre.xtext.Fiacre.Addition"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleAddition +entryRuleAddition returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAdditionRule()); } + iv_ruleAddition=ruleAddition + { $current=$iv_ruleAddition.current; } + EOF; + +// Rule Addition +ruleAddition returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); + } + this_Substraction_0=ruleSubstraction + { + $current = $this_Substraction_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0(), + $current); + } + ) + otherlv_2='+' + { + newLeafNode(otherlv_2, grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleSubstraction + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAdditionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Substraction"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleSubstraction +entryRuleSubstraction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getSubstractionRule()); } + iv_ruleSubstraction=ruleSubstraction + { $current=$iv_ruleSubstraction.current; } + EOF; + +// Rule Substraction +ruleSubstraction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); + } + this_Multiplication_0=ruleMultiplication + { + $current = $this_Multiplication_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0(), + $current); + } + ) + otherlv_2='-' + { + newLeafNode(otherlv_2, grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleMultiplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubstractionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Multiplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleMultiplication +entryRuleMultiplication returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplicationRule()); } + iv_ruleMultiplication=ruleMultiplication + { $current=$iv_ruleMultiplication.current; } + EOF; + +// Rule Multiplication +ruleMultiplication returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); + } + this_Division_0=ruleDivision + { + $current = $this_Division_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0(), + $current); + } + ) + otherlv_2='*' + { + newLeafNode(otherlv_2, grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleDivision + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplicationRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Division"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleDivision +entryRuleDivision returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDivisionRule()); } + iv_ruleDivision=ruleDivision + { $current=$iv_ruleDivision.current; } + EOF; + +// Rule Division +ruleDivision returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); + } + this_Modulo_0=ruleModulo + { + $current = $this_Modulo_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0(), + $current); + } + ) + otherlv_2='/' + { + newLeafNode(otherlv_2, grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleModulo + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDivisionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Modulo"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleModulo +entryRuleModulo returns [EObject current=null]: + { newCompositeNode(grammarAccess.getModuloRule()); } + iv_ruleModulo=ruleModulo + { $current=$iv_ruleModulo.current; } + EOF; + +// Rule Modulo +ruleModulo returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); + } + this_UnaryExpression_0=ruleUnaryExpression + { + $current = $this_UnaryExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getModuloAccess().getModuloLeftAction_1_0(), + $current); + } + ) + otherlv_2='%' + { + newLeafNode(otherlv_2, grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleUnaryExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getModuloRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.UnaryExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleUnaryExpression +entryRuleUnaryExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnaryExpressionRule()); } + iv_ruleUnaryExpression=ruleUnaryExpression + { $current=$iv_ruleUnaryExpression.current; } + EOF; + +// Rule UnaryExpression +ruleUnaryExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0(), + $current); + } + ) + otherlv_1='+' + { + newLeafNode(otherlv_1, grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0(), + $current); + } + ) + otherlv_3='-' + { + newLeafNode(otherlv_3, grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0(), + $current); + } + ) + otherlv_5='not' + { + newLeafNode(otherlv_5, grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0(), + $current); + } + ) + otherlv_7='first' + { + newLeafNode(otherlv_7, grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0(), + $current); + } + ) + otherlv_9='length' + { + newLeafNode(otherlv_9, grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0(), + $current); + } + ) + otherlv_11='$' + { + newLeafNode(otherlv_11, grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0(), + $current); + } + ) + otherlv_13='full' + { + newLeafNode(otherlv_13, grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0(), + $current); + } + ) + otherlv_15='dequeue' + { + newLeafNode(otherlv_15, grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0(), + $current); + } + ) + otherlv_17='empty' + { + newLeafNode(otherlv_17, grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); + } + lv_child_18_0=ruleUnaryExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + $current, + "child", + lv_child_18_0, + "fr.irit.fiacre.xtext.Fiacre.UnaryExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); + } + this_Projection_19=ruleProjection + { + $current = $this_Projection_19.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleProjection +entryRuleProjection returns [EObject current=null]: + { newCompositeNode(grammarAccess.getProjectionRule()); } + iv_ruleProjection=ruleProjection + { $current=$iv_ruleProjection.current; } + EOF; + +// Rule Projection +ruleProjection returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); + } + this_AtomicExpression_0=ruleAtomicExpression + { + $current = $this_AtomicExpression_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0(), + $current); + } + ) + otherlv_2='^' + { + newLeafNode(otherlv_2, grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); + } + lv_field_3_0=ruleAtomicExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProjectionRule()); + } + set( + $current, + "field", + lv_field_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleAtomicExpression +entryRuleAtomicExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicExpressionRule()); } + iv_ruleAtomicExpression=ruleAtomicExpression + { $current=$iv_ruleAtomicExpression.current; } + EOF; + +// Rule AtomicExpression +ruleAtomicExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); + } + this_IdentifierExpression_0=ruleIdentifierExpression + { + $current = $this_IdentifierExpression_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); + } + this_ReferenceExpression_1=ruleReferenceExpression + { + $current = $this_ReferenceExpression_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); + } + this_LiteralExpression_2=ruleLiteralExpression + { + $current = $this_LiteralExpression_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); + } + this_RecordExpression_3=ruleRecordExpression + { + $current = $this_RecordExpression_3.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); + } + this_ArrayExpression_4=ruleArrayExpression + { + $current = $this_ArrayExpression_4.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); + } + this_QueueExpression_5=ruleQueueExpression + { + $current = $this_QueueExpression_5.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); + } + this_EnqueueExpression_6=ruleEnqueueExpression + { + $current = $this_EnqueueExpression_6.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); + } + this_AppendExpression_7=ruleAppendExpression + { + $current = $this_AppendExpression_7.current; + afterParserOrEnumRuleCall(); + } + | + ( + otherlv_8='(' + { + newLeafNode(otherlv_8, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + } + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); + } + this_Expression_9=ruleExpression + { + $current = $this_Expression_9.current; + afterParserOrEnumRuleCall(); + } + otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); + } + ) + ) +; + +// Entry rule entryRuleReferenceExpression +entryRuleReferenceExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getReferenceExpressionRule()); } + iv_ruleReferenceExpression=ruleReferenceExpression + { $current=$iv_ruleReferenceExpression.current; } + EOF; + +// Rule ReferenceExpression +ruleReferenceExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='&' + { + newLeafNode(otherlv_0, grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReferenceExpressionRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleIdentifierExpression +entryRuleIdentifierExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIdentifierExpressionRule()); } + iv_ruleIdentifierExpression=ruleIdentifierExpression + { $current=$iv_ruleIdentifierExpression.current; } + EOF; + +// Rule IdentifierExpression +ruleIdentifierExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); + } + ) + ) + otherlv_2='(' + { + newLeafNode(otherlv_2, grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); + } + lv_parameters_3_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + $current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_4=',' + { + newLeafNode(otherlv_4, grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); + } + lv_parameters_5_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + $current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_6=')' + { + newLeafNode(otherlv_6, grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); + } + ) + | + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + } + otherlv_7=RULE_ID + { + newLeafNode(otherlv_7, grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); + } + ) + ) + ( + ( + otherlv_8='[' + { + newLeafNode(otherlv_8, grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); + } + lv_indexes_10_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + $current, + "indexes", + lv_indexes_10_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_11=',' + { + newLeafNode(otherlv_11, grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); + } + lv_indexes_12_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + $current, + "indexes", + lv_indexes_12_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_13=']' + { + newLeafNode(otherlv_13, grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); + } + ) + | + ( + otherlv_14='.' + { + newLeafNode(otherlv_14, grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + } + otherlv_16=RULE_ID + { + newLeafNode(otherlv_16, grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + } + ) + ) + ) + )* + ) + ) +; + +// Entry rule entryRuleRecordExpression +entryRuleRecordExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRecordExpressionRule()); } + iv_ruleRecordExpression=ruleRecordExpression + { $current=$iv_ruleRecordExpression.current; } + EOF; + +// Rule RecordExpression +ruleRecordExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='{' + { + newLeafNode(otherlv_0, grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); + } + lv_fields_1_0=ruleFieldExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordExpressionRule()); + } + add( + $current, + "fields", + lv_fields_1_0, + "fr.irit.fiacre.xtext.Fiacre.FieldExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); + } + lv_fields_3_0=ruleFieldExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRecordExpressionRule()); + } + add( + $current, + "fields", + lv_fields_3_0, + "fr.irit.fiacre.xtext.Fiacre.FieldExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleFieldExpression +entryRuleFieldExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFieldExpressionRule()); } + iv_ruleFieldExpression=ruleFieldExpression + { $current=$iv_ruleFieldExpression.current; } + EOF; + +// Rule FieldExpression +ruleFieldExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFieldExpressionRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); + } + ) + ) + otherlv_1='=' + { + newLeafNode(otherlv_1, grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); + } + lv_value_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFieldExpressionRule()); + } + set( + $current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleArrayExpression +entryRuleArrayExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArrayExpressionRule()); } + iv_ruleArrayExpression=ruleArrayExpression + { $current=$iv_ruleArrayExpression.current; } + EOF; + +// Rule ArrayExpression +ruleArrayExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + lv_values_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayExpressionRule()); + } + add( + $current, + "values", + lv_values_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + lv_values_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayExpressionRule()); + } + add( + $current, + "values", + lv_values_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=']' + { + newLeafNode(otherlv_5, grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleQueueExpression +entryRuleQueueExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getQueueExpressionRule()); } + iv_ruleQueueExpression=ruleQueueExpression + { $current=$iv_ruleQueueExpression.current; } + EOF; + +// Rule QueueExpression +ruleQueueExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0(), + $current); + } + ) + otherlv_1='{|' + { + newLeafNode(otherlv_1, grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + } + lv_values_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQueueExpressionRule()); + } + add( + $current, + "values", + lv_values_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + } + lv_values_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQueueExpressionRule()); + } + add( + $current, + "values", + lv_values_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5='|}' + { + newLeafNode(otherlv_5, grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleEnqueueExpression +entryRuleEnqueueExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEnqueueExpressionRule()); } + iv_ruleEnqueueExpression=ruleEnqueueExpression + { $current=$iv_ruleEnqueueExpression.current; } + EOF; + +// Rule EnqueueExpression +ruleEnqueueExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='enqueue' + { + newLeafNode(otherlv_0, grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); + } + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); + } + lv_element_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getEnqueueExpressionRule()); + } + set( + $current, + "element", + lv_element_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); + } + lv_queue_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getEnqueueExpressionRule()); + } + set( + $current, + "queue", + lv_queue_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); + } + ) +; + +// Entry rule entryRuleAppendExpression +entryRuleAppendExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAppendExpressionRule()); } + iv_ruleAppendExpression=ruleAppendExpression + { $current=$iv_ruleAppendExpression.current; } + EOF; + +// Rule AppendExpression +ruleAppendExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='append' + { + newLeafNode(otherlv_0, grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); + } + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); + } + lv_left_2_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAppendExpressionRule()); + } + set( + $current, + "left", + lv_left_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); + } + lv_right_4_0=ruleExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAppendExpressionRule()); + } + set( + $current, + "right", + lv_right_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); + } + ) +; + +// Entry rule entryRuleLiteralExpression +entryRuleLiteralExpression returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralExpressionRule()); } + iv_ruleLiteralExpression=ruleLiteralExpression + { $current=$iv_ruleLiteralExpression.current; } + EOF; + +// Rule LiteralExpression +ruleLiteralExpression returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); + } + this_BooleanLiteral_0=ruleBooleanLiteral + { + $current = $this_BooleanLiteral_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); + } + this_NaturalLiteral_1=ruleNaturalLiteral + { + $current = $this_NaturalLiteral_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleBooleanLiteral +entryRuleBooleanLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBooleanLiteralRule()); } + iv_ruleBooleanLiteral=ruleBooleanLiteral + { $current=$iv_ruleBooleanLiteral.current; } + EOF; + +// Rule BooleanLiteral +ruleBooleanLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0(), + $current); + } + ) + otherlv_1='true' + { + newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0(), + $current); + } + ) + otherlv_3='false' + { + newLeafNode(otherlv_3, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); + } + ) + ) +; + +// Entry rule entryRuleNaturalLiteral +entryRuleNaturalLiteral returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNaturalLiteralRule()); } + iv_ruleNaturalLiteral=ruleNaturalLiteral + { $current=$iv_ruleNaturalLiteral.current; } + EOF; + +// Rule NaturalLiteral +ruleNaturalLiteral returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_INT + { + newLeafNode(lv_value_0_0, grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalLiteralRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) +; + +// Entry rule entryRuleLowerBound +entryRuleLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLowerBoundRule()); } + iv_ruleLowerBound=ruleLowerBound + { $current=$iv_ruleLowerBound.current; } + EOF; + +// Rule LowerBound +ruleLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); + } + this_NaturalLowerBound_0=ruleNaturalLowerBound + { + $current = $this_NaturalLowerBound_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); + } + this_DecimalLowerBound_1=ruleDecimalLowerBound + { + $current = $this_DecimalLowerBound_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); + } + this_VariableLowerBound_2=ruleVariableLowerBound + { + $current = $this_VariableLowerBound_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleUpperBound +entryRuleUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUpperBoundRule()); } + iv_ruleUpperBound=ruleUpperBound + { $current=$iv_ruleUpperBound.current; } + EOF; + +// Rule UpperBound +ruleUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); + } + this_NaturalUpperBound_0=ruleNaturalUpperBound + { + $current = $this_NaturalUpperBound_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); + } + this_DecimalUpperBound_1=ruleDecimalUpperBound + { + $current = $this_DecimalUpperBound_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); + } + this_VariableUpperBound_2=ruleVariableUpperBound + { + $current = $this_VariableUpperBound_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); + } + this_InfiniteUpperBound_3=ruleInfiniteUpperBound + { + $current = $this_InfiniteUpperBound_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleNaturalLowerBound +entryRuleNaturalLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNaturalLowerBoundRule()); } + iv_ruleNaturalLowerBound=ruleNaturalLowerBound + { $current=$iv_ruleNaturalLowerBound.current; } + EOF; + +// Rule NaturalLowerBound +ruleNaturalLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + lv_left_0_0='[' + { + newLeafNode(lv_left_0_0, grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_1_0=']' + { + newLeafNode(lv_right_1_0, grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ( + ( + lv_value_2_0=RULE_INT + { + newLeafNode(lv_value_2_0, grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) + ) +; + +// Entry rule entryRuleNaturalUpperBound +entryRuleNaturalUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNaturalUpperBoundRule()); } + iv_ruleNaturalUpperBound=ruleNaturalUpperBound + { $current=$iv_ruleNaturalUpperBound.current; } + EOF; + +// Rule NaturalUpperBound +ruleNaturalUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_value_0_0=RULE_INT + { + newLeafNode(lv_value_0_0, grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) + ( + ( + ( + lv_left_1_0='[' + { + newLeafNode(lv_left_1_0, grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_2_0=']' + { + newLeafNode(lv_right_2_0, grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleDecimalLowerBound +entryRuleDecimalLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDecimalLowerBoundRule()); } + iv_ruleDecimalLowerBound=ruleDecimalLowerBound + { $current=$iv_ruleDecimalLowerBound.current; } + EOF; + +// Rule DecimalLowerBound +ruleDecimalLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + lv_left_0_0='[' + { + newLeafNode(lv_left_0_0, grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_1_0=']' + { + newLeafNode(lv_right_1_0, grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ( + ( + lv_value_2_0=RULE_FLT + { + newLeafNode(lv_value_2_0, grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.FLT"); + } + ) + ) + ) +; + +// Entry rule entryRuleDecimalUpperBound +entryRuleDecimalUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDecimalUpperBoundRule()); } + iv_ruleDecimalUpperBound=ruleDecimalUpperBound + { $current=$iv_ruleDecimalUpperBound.current; } + EOF; + +// Rule DecimalUpperBound +ruleDecimalUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_value_0_0=RULE_FLT + { + newLeafNode(lv_value_0_0, grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.FLT"); + } + ) + ) + ( + ( + ( + lv_left_1_0='[' + { + newLeafNode(lv_left_1_0, grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_2_0=']' + { + newLeafNode(lv_right_2_0, grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleVariableLowerBound +entryRuleVariableLowerBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getVariableLowerBoundRule()); } + iv_ruleVariableLowerBound=ruleVariableLowerBound + { $current=$iv_ruleVariableLowerBound.current; } + EOF; + +// Rule VariableLowerBound +ruleVariableLowerBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + lv_left_0_0='[' + { + newLeafNode(lv_left_0_0, grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_1_0=']' + { + newLeafNode(lv_right_1_0, grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + } + otherlv_2=RULE_ID + { + newLeafNode(otherlv_2, grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleVariableUpperBound +entryRuleVariableUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getVariableUpperBoundRule()); } + iv_ruleVariableUpperBound=ruleVariableUpperBound + { $current=$iv_ruleVariableUpperBound.current; } + EOF; + +// Rule VariableUpperBound +ruleVariableUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); + } + ) + ) + ( + ( + ( + lv_left_1_0='[' + { + newLeafNode(lv_left_1_0, grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + setWithLastConsumed($current, "left", true, "["); + } + ) + ) + | + ( + ( + lv_right_2_0=']' + { + newLeafNode(lv_right_2_0, grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + setWithLastConsumed($current, "right", true, "]"); + } + ) + ) + ) + ) +; + +// Entry rule entryRuleInfiniteUpperBound +entryRuleInfiniteUpperBound returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInfiniteUpperBoundRule()); } + iv_ruleInfiniteUpperBound=ruleInfiniteUpperBound + { $current=$iv_ruleInfiniteUpperBound.current; } + EOF; + +// Rule InfiniteUpperBound +ruleInfiniteUpperBound returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0(), + $current); + } + ) + otherlv_1='...' + { + newLeafNode(otherlv_1, grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); + } + otherlv_2='[' + { + newLeafNode(otherlv_2, grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); + } + ) +; + +// Entry rule entryRuleRequirement +entryRuleRequirement returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRequirementRule()); } + iv_ruleRequirement=ruleRequirement + { $current=$iv_ruleRequirement.current; } + EOF; + +// Rule Requirement +ruleRequirement returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='assert' + { + newLeafNode(otherlv_0, grammarAccess.getRequirementAccess().getAssertKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequirementRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); + } + ) + ) + ( + otherlv_2='-true' + { + newLeafNode(otherlv_2, grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); + } + ( + ( + lv_positive_3_0=RULE_STRING + { + newLeafNode(lv_positive_3_0, grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequirementRule()); + } + setWithLastConsumed( + $current, + "positive", + lv_positive_3_0, + "org.eclipse.xtext.common.Terminals.STRING"); + } + ) + ) + )? + ( + otherlv_4='-false' + { + newLeafNode(otherlv_4, grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); + } + ( + ( + lv_negative_5_0=RULE_STRING + { + newLeafNode(lv_negative_5_0, grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequirementRule()); + } + setWithLastConsumed( + $current, + "negative", + lv_negative_5_0, + "org.eclipse.xtext.common.Terminals.STRING"); + } + ) + ) + )? + ) +; + +// Entry rule entryRulePropertyDeclaration +entryRulePropertyDeclaration returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyDeclarationRule()); } + iv_rulePropertyDeclaration=rulePropertyDeclaration + { $current=$iv_rulePropertyDeclaration.current; } + EOF; + +// Rule PropertyDeclaration +rulePropertyDeclaration returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='property' + { + newLeafNode(otherlv_0, grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPropertyDeclarationRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + otherlv_2='is' + { + newLeafNode(otherlv_2, grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); + } + lv_property_3_0=ruleProperty + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPropertyDeclarationRule()); + } + set( + $current, + "property", + lv_property_3_0, + "fr.irit.fiacre.xtext.Fiacre.Property"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleProperty +entryRuleProperty returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyRule()); } + iv_ruleProperty=ruleProperty + { $current=$iv_ruleProperty.current; } + EOF; + +// Rule Property +ruleProperty returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + /* */ + } + { + newCompositeNode(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); + } + this_QuantifiedProperty_0=ruleQuantifiedProperty + { + $current = $this_QuantifiedProperty_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleQuantifiedProperty +entryRuleQuantifiedProperty returns [EObject current=null]: + { newCompositeNode(grammarAccess.getQuantifiedPropertyRule()); } + iv_ruleQuantifiedProperty=ruleQuantifiedProperty + { $current=$iv_ruleQuantifiedProperty.current; } + EOF; + +// Rule QuantifiedProperty +ruleQuantifiedProperty returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0(), + $current); + } + ) + otherlv_1='all' + { + newLeafNode(otherlv_1, grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0(), + $current); + } + ) + otherlv_3='exists' + { + newLeafNode(otherlv_3, grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); + } + lv_variable_4_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + $current, + "variable", + lv_variable_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5='in' + { + newLeafNode(otherlv_5, grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + lv_type_6_0=ruleRangeType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + $current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); + } + lv_child_8_0=ruleQuantifiedProperty + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + $current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.QuantifiedProperty"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); + } + this_PropertyDisjunction_9=rulePropertyDisjunction + { + $current = $this_PropertyDisjunction_9.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRulePropertyDisjunction +entryRulePropertyDisjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyDisjunctionRule()); } + iv_rulePropertyDisjunction=rulePropertyDisjunction + { $current=$iv_rulePropertyDisjunction.current; } + EOF; + +// Rule PropertyDisjunction +rulePropertyDisjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); + } + this_PropertyImplication_0=rulePropertyImplication + { + $current = $this_PropertyImplication_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='or' + { + newLeafNode(otherlv_2, grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=rulePropertyImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPropertyDisjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRulePropertyImplication +entryRulePropertyImplication returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyImplicationRule()); } + iv_rulePropertyImplication=rulePropertyImplication + { $current=$iv_rulePropertyImplication.current; } + EOF; + +// Rule PropertyImplication +rulePropertyImplication returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); + } + this_PropertyConjunction_0=rulePropertyConjunction + { + $current = $this_PropertyConjunction_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0(), + $current); + } + ) + otherlv_2='=>' + { + newLeafNode(otherlv_2, grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=rulePropertyImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPropertyImplicationRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRulePropertyConjunction +entryRulePropertyConjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyConjunctionRule()); } + iv_rulePropertyConjunction=rulePropertyConjunction + { $current=$iv_rulePropertyConjunction.current; } + EOF; + +// Rule PropertyConjunction +rulePropertyConjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); + } + this_PropertyNegation_0=rulePropertyNegation + { + $current = $this_PropertyNegation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='and' + { + newLeafNode(otherlv_2, grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); + } + lv_right_3_0=rulePropertyNegation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPropertyConjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyNegation"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRulePropertyNegation +entryRulePropertyNegation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPropertyNegationRule()); } + iv_rulePropertyNegation=rulePropertyNegation + { $current=$iv_rulePropertyNegation.current; } + EOF; + +// Rule PropertyNegation +rulePropertyNegation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0(), + $current); + } + ) + otherlv_1='not' + { + newLeafNode(otherlv_1, grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); + } + lv_child_2_0=rulePropertyNegation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPropertyNegationRule()); + } + set( + $current, + "child", + lv_child_2_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyNegation"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); + } + this_AtomicProperty_3=ruleAtomicProperty + { + $current = $this_AtomicProperty_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleAtomicProperty +entryRuleAtomicProperty returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicPropertyRule()); } + iv_ruleAtomicProperty=ruleAtomicProperty + { $current=$iv_ruleAtomicProperty.current; } + EOF; + +// Rule AtomicProperty +ruleAtomicProperty returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); + } + this_PatternProperty_0=rulePatternProperty + { + $current = $this_PatternProperty_0.current; + afterParserOrEnumRuleCall(); + } + | + ( + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + } + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); + } + this_Property_2=ruleProperty + { + $current = $this_Property_2.current; + afterParserOrEnumRuleCall(); + } + otherlv_3=')' + { + newLeafNode(otherlv_3, grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); + } + ) + ) +; + +// Entry rule entryRulePatternProperty +entryRulePatternProperty returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPatternPropertyRule()); } + iv_rulePatternProperty=rulePatternProperty + { $current=$iv_rulePatternProperty.current; } + EOF; + +// Rule PatternProperty +rulePatternProperty returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); + } + this_LTLPattern_0=ruleLTLPattern + { + $current = $this_LTLPattern_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); + } + this_DeadlockFreePattern_1=ruleDeadlockFreePattern + { + $current = $this_DeadlockFreePattern_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); + } + this_InfinitelyOftenPattern_2=ruleInfinitelyOftenPattern + { + $current = $this_InfinitelyOftenPattern_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); + } + this_MortalPattern_3=ruleMortalPattern + { + $current = $this_MortalPattern_3.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); + } + this_PresencePattern_4=rulePresencePattern + { + $current = $this_PresencePattern_4.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); + } + this_AbsencePattern_5=ruleAbsencePattern + { + $current = $this_AbsencePattern_5.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); + } + this_AlwaysPattern_6=ruleAlwaysPattern + { + $current = $this_AlwaysPattern_6.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); + } + this_SequencePattern_7=ruleSequencePattern + { + $current = $this_SequencePattern_7.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleLTLPattern +entryRuleLTLPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLPatternRule()); } + iv_ruleLTLPattern=ruleLTLPattern + { $current=$iv_ruleLTLPattern.current; } + EOF; + +// Rule LTLPattern +ruleLTLPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='ltl' + { + newLeafNode(otherlv_0, grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); + } + lv_property_1_0=ruleLTLUnary + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLPatternRule()); + } + set( + $current, + "property", + lv_property_1_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleDeadlockFreePattern +entryRuleDeadlockFreePattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDeadlockFreePatternRule()); } + iv_ruleDeadlockFreePattern=ruleDeadlockFreePattern + { $current=$iv_ruleDeadlockFreePattern.current; } + EOF; + +// Rule DeadlockFreePattern +ruleDeadlockFreePattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0(), + $current); + } + ) + otherlv_1='deadlockfree' + { + newLeafNode(otherlv_1, grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); + } + ) +; + +// Entry rule entryRuleInfinitelyOftenPattern +entryRuleInfinitelyOftenPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInfinitelyOftenPatternRule()); } + iv_ruleInfinitelyOftenPattern=ruleInfinitelyOftenPattern + { $current=$iv_ruleInfinitelyOftenPattern.current; } + EOF; + +// Rule InfinitelyOftenPattern +ruleInfinitelyOftenPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='infinitelyoften' + { + newLeafNode(otherlv_0, grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInfinitelyOftenPatternRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleMortalPattern +entryRuleMortalPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMortalPatternRule()); } + iv_ruleMortalPattern=ruleMortalPattern + { $current=$iv_ruleMortalPattern.current; } + EOF; + +// Rule MortalPattern +ruleMortalPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='mortal' + { + newLeafNode(otherlv_0, grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMortalPatternRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRulePresencePattern +entryRulePresencePattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPresencePatternRule()); } + iv_rulePresencePattern=rulePresencePattern + { $current=$iv_rulePresencePattern.current; } + EOF; + +// Rule PresencePattern +rulePresencePattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='present' + { + newLeafNode(otherlv_0, grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_2='lasting' + { + newLeafNode(otherlv_2, grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); + } + ( + ( + lv_lasting_3_0=RULE_INT + { + newLeafNode(lv_lasting_3_0, grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPresencePatternRule()); + } + setWithLastConsumed( + $current, + "lasting", + lv_lasting_3_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) + ) + | + ( + ( + otherlv_4='after' + { + newLeafNode(otherlv_4, grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); + } + lv_after_5_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "after", + lv_after_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + ( + otherlv_6='within' + { + newLeafNode(otherlv_6, grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); + } + lv_lower_7_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "lower", + lv_lower_7_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); + } + lv_upper_9_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "upper", + lv_upper_9_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_10='until' + { + newLeafNode(otherlv_10, grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); + } + lv_until_11_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "until", + lv_until_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) + | + ( + ( + otherlv_12='before' + { + newLeafNode(otherlv_12, grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); + } + lv_before_13_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "before", + lv_before_13_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_14='within' + { + newLeafNode(otherlv_14, grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); + } + lv_lower_15_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "lower", + lv_lower_15_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_16=',' + { + newLeafNode(otherlv_16, grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); + } + lv_upper_17_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "upper", + lv_upper_17_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_18='between' + { + newLeafNode(otherlv_18, grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); + } + lv_min_19_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "min", + lv_min_19_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_20='and' + { + newLeafNode(otherlv_20, grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); + } + lv_max_21_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + $current, + "max", + lv_max_21_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleAbsencePattern +entryRuleAbsencePattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAbsencePatternRule()); } + iv_ruleAbsencePattern=ruleAbsencePattern + { $current=$iv_ruleAbsencePattern.current; } + EOF; + +// Rule AbsencePattern +ruleAbsencePattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='absent' + { + newLeafNode(otherlv_0, grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + otherlv_2='after' + { + newLeafNode(otherlv_2, grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); + } + lv_after_3_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "after", + lv_after_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + ( + otherlv_4='within' + { + newLeafNode(otherlv_4, grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); + } + lv_lower_5_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "lower", + lv_lower_5_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_6=',' + { + newLeafNode(otherlv_6, grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); + } + lv_upper_7_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "upper", + lv_upper_7_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_8='until' + { + newLeafNode(otherlv_8, grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); + } + lv_until_9_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "until", + lv_until_9_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) + | + ( + ( + otherlv_10='before' + { + newLeafNode(otherlv_10, grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); + } + lv_before_11_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "before", + lv_before_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + ( + otherlv_12='for' + { + newLeafNode(otherlv_12, grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); + } + lv_lower_13_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "lower", + lv_lower_13_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); + } + lv_upper_15_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "upper", + lv_upper_15_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_16='between' + { + newLeafNode(otherlv_16, grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + lv_min_17_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "min", + lv_min_17_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_18='and' + { + newLeafNode(otherlv_18, grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + lv_max_19_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + $current, + "max", + lv_max_19_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleAlwaysPattern +entryRuleAlwaysPattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAlwaysPatternRule()); } + iv_ruleAlwaysPattern=ruleAlwaysPattern + { $current=$iv_ruleAlwaysPattern.current; } + EOF; + +// Rule AlwaysPattern +ruleAlwaysPattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='always' + { + newLeafNode(otherlv_0, grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_2='before' + { + newLeafNode(otherlv_2, grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); + } + lv_before_3_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "before", + lv_before_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_4='after' + { + newLeafNode(otherlv_4, grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); + } + lv_after_5_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "after", + lv_after_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_6='until' + { + newLeafNode(otherlv_6, grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); + } + lv_until_7_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "until", + lv_until_7_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_8='between' + { + newLeafNode(otherlv_8, grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + } + lv_min_9_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "min", + lv_min_9_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_10='and' + { + newLeafNode(otherlv_10, grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + } + lv_max_11_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + $current, + "max", + lv_max_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleSequencePattern +entryRuleSequencePattern returns [EObject current=null]: + { newCompositeNode(grammarAccess.getSequencePatternRule()); } + iv_ruleSequencePattern=ruleSequencePattern + { $current=$iv_ruleSequencePattern.current; } + EOF; + +// Rule SequencePattern +ruleSequencePattern returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); + } + this_AtomicObservable_0=ruleAtomicObservable + { + $current = $this_AtomicObservable_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + otherlv_1='leadsto' + { + newLeafNode(otherlv_1, grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); + } + lv_follower_3_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "follower", + lv_follower_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_4='before' + { + newLeafNode(otherlv_4, grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); + } + lv_before_5_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "before", + lv_before_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_6='within' + { + newLeafNode(otherlv_6, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); + } + lv_lower_7_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "lower", + lv_lower_7_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); + } + lv_upper_9_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "upper", + lv_upper_9_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_10='within' + { + newLeafNode(otherlv_10, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); + } + lv_lower_11_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "lower", + lv_lower_11_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_12=',' + { + newLeafNode(otherlv_12, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); + } + lv_upper_13_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "upper", + lv_upper_13_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_14='after' + { + newLeafNode(otherlv_14, grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); + } + lv_after_15_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "after", + lv_after_15_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_16='within' + { + newLeafNode(otherlv_16, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); + } + lv_lower_17_0=ruleLowerBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "lower", + lv_lower_17_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_18=',' + { + newLeafNode(otherlv_18, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); + } + lv_upper_19_0=ruleUpperBound + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "upper", + lv_upper_19_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_20='until' + { + newLeafNode(otherlv_20, grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); + } + lv_until_21_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "until", + lv_until_21_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) + | + ( + otherlv_22='between' + { + newLeafNode(otherlv_22, grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); + } + lv_min_23_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "min", + lv_min_23_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_24='and' + { + newLeafNode(otherlv_24, grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); + } + lv_max_25_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "max", + lv_max_25_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) + | + ( + otherlv_26='precedes' + { + newLeafNode(otherlv_26, grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); + } + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1(), + $current); + } + ) + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); + } + lv_follower_28_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "follower", + lv_follower_28_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + otherlv_29='before' + { + newLeafNode(otherlv_29, grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); + } + lv_before_30_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "before", + lv_before_30_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + otherlv_31='after' + { + newLeafNode(otherlv_31, grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); + } + lv_after_32_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "after", + lv_after_32_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_33='until' + { + newLeafNode(otherlv_33, grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); + } + lv_until_34_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "until", + lv_until_34_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) + | + ( + otherlv_35='between' + { + newLeafNode(otherlv_35, grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); + } + lv_min_36_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "min", + lv_min_36_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_37='and' + { + newLeafNode(otherlv_37, grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); + } + lv_max_38_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + $current, + "max", + lv_max_38_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) + ) + ) +; + +// Entry rule entryRuleLTLProperty +entryRuleLTLProperty returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLPropertyRule()); } + iv_ruleLTLProperty=ruleLTLProperty + { $current=$iv_ruleLTLProperty.current; } + EOF; + +// Rule LTLProperty +ruleLTLProperty returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); + } + this_LTLQuantified_0=ruleLTLQuantified + { + $current = $this_LTLQuantified_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleLTLQuantified +entryRuleLTLQuantified returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLQuantifiedRule()); } + iv_ruleLTLQuantified=ruleLTLQuantified + { $current=$iv_ruleLTLQuantified.current; } + EOF; + +// Rule LTLQuantified +ruleLTLQuantified returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0(), + $current); + } + ) + otherlv_1='all' + { + newLeafNode(otherlv_1, grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0(), + $current); + } + ) + otherlv_3='exists' + { + newLeafNode(otherlv_3, grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + } + lv_index_4_0=ruleVariableDeclaration + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + $current, + "index", + lv_index_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_5='in' + { + newLeafNode(otherlv_5, grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + } + lv_type_6_0=ruleRangeType + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + $current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_7='.' + { + newLeafNode(otherlv_7, grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); + } + lv_child_8_0=ruleLTLQuantified + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + $current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.LTLQuantified"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); + } + this_LTLDisjunction_9=ruleLTLDisjunction + { + $current = $this_LTLDisjunction_9.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleLTLDisjunction +entryRuleLTLDisjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLDisjunctionRule()); } + iv_ruleLTLDisjunction=ruleLTLDisjunction + { $current=$iv_ruleLTLDisjunction.current; } + EOF; + +// Rule LTLDisjunction +ruleLTLDisjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); + } + this_LTLImplication_0=ruleLTLImplication + { + $current = $this_LTLImplication_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='or' + { + newLeafNode(otherlv_2, grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleLTLImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLDisjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleLTLImplication +entryRuleLTLImplication returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLImplicationRule()); } + iv_ruleLTLImplication=ruleLTLImplication + { $current=$iv_ruleLTLImplication.current; } + EOF; + +// Rule LTLImplication +ruleLTLImplication returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); + } + this_LTLConjunction_0=ruleLTLConjunction + { + $current = $this_LTLConjunction_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0(), + $current); + } + ) + otherlv_2='=>' + { + newLeafNode(otherlv_2, grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleLTLImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLImplicationRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleLTLConjunction +entryRuleLTLConjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLConjunctionRule()); } + iv_ruleLTLConjunction=ruleLTLConjunction + { $current=$iv_ruleLTLConjunction.current; } + EOF; + +// Rule LTLConjunction +ruleLTLConjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); + } + this_LTLBinary_0=ruleLTLBinary + { + $current = $this_LTLBinary_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='and' + { + newLeafNode(otherlv_2, grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleLTLBinary + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLConjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLBinary"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleLTLBinary +entryRuleLTLBinary returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLBinaryRule()); } + iv_ruleLTLBinary=ruleLTLBinary + { $current=$iv_ruleLTLBinary.current; } + EOF; + +// Rule LTLBinary +ruleLTLBinary returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); + } + this_LTLUnary_0=ruleLTLUnary + { + $current = $this_LTLUnary_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0(), + $current); + } + ) + otherlv_2='until' + { + newLeafNode(otherlv_2, grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); + } + lv_right_3_0=ruleLTLUnary + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLBinaryRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0(), + $current); + } + ) + otherlv_5='release' + { + newLeafNode(otherlv_5, grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); + } + lv_right_6_0=ruleLTLUnary + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLBinaryRule()); + } + set( + $current, + "right", + lv_right_6_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + )? + ) +; + +// Entry rule entryRuleLTLUnary +entryRuleLTLUnary returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLTLUnaryRule()); } + iv_ruleLTLUnary=ruleLTLUnary + { $current=$iv_ruleLTLUnary.current; } + EOF; + +// Rule LTLUnary +ruleLTLUnary returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0(), + $current); + } + ) + otherlv_1='not' + { + newLeafNode(otherlv_1, grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0(), + $current); + } + ) + otherlv_3='next' + { + newLeafNode(otherlv_3, grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0(), + $current); + } + ) + otherlv_5='[]' + { + newLeafNode(otherlv_5, grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); + } + ) + | + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0(), + $current); + } + ) + otherlv_7='<>' + { + newLeafNode(otherlv_7, grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); + } + lv_operand_8_0=ruleLTLUnary + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLTLUnaryRule()); + } + set( + $current, + "operand", + lv_operand_8_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); + } + this_AtomicLTL_9=ruleAtomicLTL + { + $current = $this_AtomicLTL_9.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleAtomicLTL +entryRuleAtomicLTL returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicLTLRule()); } + iv_ruleAtomicLTL=ruleAtomicLTL + { $current=$iv_ruleAtomicLTL.current; } + EOF; + +// Rule AtomicLTL +ruleAtomicLTL returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0(), + $current); + } + ) + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAtomicLTLRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); + } + this_ObservableEvent_2=ruleObservableEvent + { + $current = $this_ObservableEvent_2.current; + afterParserOrEnumRuleCall(); + } + | + ( + otherlv_3='(' + { + newLeafNode(otherlv_3, grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + } + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); + } + this_LTLProperty_4=ruleLTLProperty + { + $current = $this_LTLProperty_4.current; + afterParserOrEnumRuleCall(); + } + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); + } + ) + ) +; + +// Entry rule entryRuleStateEvent +entryRuleStateEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStateEventRule()); } + iv_ruleStateEvent=ruleStateEvent + { $current=$iv_ruleStateEvent.current; } + EOF; + +// Rule StateEvent +ruleStateEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); + } + this_EnterStateEvent_0=ruleEnterStateEvent + { + $current = $this_EnterStateEvent_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); + } + this_LeaveStateEvent_1=ruleLeaveStateEvent + { + $current = $this_LeaveStateEvent_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleEnterStateEvent +entryRuleEnterStateEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEnterStateEventRule()); } + iv_ruleEnterStateEvent=ruleEnterStateEvent + { $current=$iv_ruleEnterStateEvent.current; } + EOF; + +// Rule EnterStateEvent +ruleEnterStateEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='enter' + { + newLeafNode(otherlv_0, grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getEnterStateEventRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleLeaveStateEvent +entryRuleLeaveStateEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLeaveStateEventRule()); } + iv_ruleLeaveStateEvent=ruleLeaveStateEvent + { $current=$iv_ruleLeaveStateEvent.current; } + EOF; + +// Rule LeaveStateEvent +ruleLeaveStateEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='leave' + { + newLeafNode(otherlv_0, grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + } + lv_subject_1_0=ruleAtomicObservable + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLeaveStateEventRule()); + } + set( + $current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleObservable +entryRuleObservable returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableRule()); } + iv_ruleObservable=ruleObservable + { $current=$iv_ruleObservable.current; } + EOF; + +// Rule Observable +ruleObservable returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); + } + this_ObservableDisjunction_0=ruleObservableDisjunction + { + $current = $this_ObservableDisjunction_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleObservableDisjunction +entryRuleObservableDisjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableDisjunctionRule()); } + iv_ruleObservableDisjunction=ruleObservableDisjunction + { $current=$iv_ruleObservableDisjunction.current; } + EOF; + +// Rule ObservableDisjunction +ruleObservableDisjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); + } + this_ObservableImplication_0=ruleObservableImplication + { + $current = $this_ObservableImplication_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='or' + { + newLeafNode(otherlv_2, grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleObservableImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObservableDisjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleObservableImplication +entryRuleObservableImplication returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableImplicationRule()); } + iv_ruleObservableImplication=ruleObservableImplication + { $current=$iv_ruleObservableImplication.current; } + EOF; + +// Rule ObservableImplication +ruleObservableImplication returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); + } + this_ObservableConjunction_0=ruleObservableConjunction + { + $current = $this_ObservableConjunction_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0(), + $current); + } + ) + otherlv_2='=>' + { + newLeafNode(otherlv_2, grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleObservableImplication + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObservableImplicationRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableImplication"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleObservableConjunction +entryRuleObservableConjunction returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableConjunctionRule()); } + iv_ruleObservableConjunction=ruleObservableConjunction + { $current=$iv_ruleObservableConjunction.current; } + EOF; + +// Rule ObservableConjunction +ruleObservableConjunction returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); + } + this_ObservableNegation_0=ruleObservableNegation + { + $current = $this_ObservableNegation_0.current; + afterParserOrEnumRuleCall(); + } + ( + ( + { + /* */ + } + { + $current = forceCreateModelElementAndSet( + grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0(), + $current); + } + ) + otherlv_2='and' + { + newLeafNode(otherlv_2, grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); + } + lv_right_3_0=ruleObservableNegation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObservableConjunctionRule()); + } + set( + $current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableNegation"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleObservableNegation +entryRuleObservableNegation returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableNegationRule()); } + iv_ruleObservableNegation=ruleObservableNegation + { $current=$iv_ruleObservableNegation.current; } + EOF; + +// Rule ObservableNegation +ruleObservableNegation returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + /* */ + } + { + $current = forceCreateModelElement( + grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0(), + $current); + } + ) + otherlv_1='not' + { + newLeafNode(otherlv_1, grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); + } + lv_child_2_0=ruleObservableNegation + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getObservableNegationRule()); + } + set( + $current, + "child", + lv_child_2_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableNegation"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); + } + this_AtomicObservable_3=ruleAtomicObservable + { + $current = $this_AtomicObservable_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleAtomicObservable +entryRuleAtomicObservable returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAtomicObservableRule()); } + iv_ruleAtomicObservable=ruleAtomicObservable + { $current=$iv_ruleAtomicObservable.current; } + EOF; + +// Rule AtomicObservable +ruleAtomicObservable returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + } + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); + } + this_Observable_1=ruleObservable + { + $current = $this_Observable_1.current; + afterParserOrEnumRuleCall(); + } + otherlv_2=')' + { + newLeafNode(otherlv_2, grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); + } + ) + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); + } + this_ObservableEvent_3=ruleObservableEvent + { + $current = $this_ObservableEvent_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleObservableEvent +entryRuleObservableEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getObservableEventRule()); } + iv_ruleObservableEvent=ruleObservableEvent + { $current=$iv_ruleObservableEvent.current; } + EOF; + +// Rule ObservableEvent +ruleObservableEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); + } + this_PathEvent_0=rulePathEvent + { + $current = $this_PathEvent_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); + } + this_StateEvent_1=ruleStateEvent + { + $current = $this_StateEvent_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRulePathEvent +entryRulePathEvent returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPathEventRule()); } + iv_rulePathEvent=rulePathEvent + { $current=$iv_rulePathEvent.current; } + EOF; + +// Rule PathEvent +rulePathEvent returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); + } + lv_path_0_0=rulePath + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPathEventRule()); + } + set( + $current, + "path", + lv_path_0_0, + "fr.irit.fiacre.xtext.Fiacre.Path"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); + } + lv_item_1_0=ruleSubject + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPathEventRule()); + } + set( + $current, + "item", + lv_item_1_0, + "fr.irit.fiacre.xtext.Fiacre.Subject"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRulePath +entryRulePath returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPathRule()); } + iv_rulePath=rulePath + { $current=$iv_rulePath.current; } + EOF; + +// Rule Path +rulePath returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); + } + lv_items_0_0=rulePathItem + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPathRule()); + } + add( + $current, + "items", + lv_items_0_0, + "fr.irit.fiacre.xtext.Fiacre.PathItem"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1='/' + { + newLeafNode(otherlv_1, grammarAccess.getPathAccess().getSolidusKeyword_1()); + } + )+ +; + +// Entry rule entryRulePathItem +entryRulePathItem returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPathItemRule()); } + iv_rulePathItem=rulePathItem + { $current=$iv_rulePathItem.current; } + EOF; + +// Rule PathItem +rulePathItem returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); + } + this_NaturalItem_0=ruleNaturalItem + { + $current = $this_NaturalItem_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); + } + this_NamedItem_1=ruleNamedItem + { + $current = $this_NamedItem_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleNaturalItem +entryRuleNaturalItem returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNaturalItemRule()); } + iv_ruleNaturalItem=ruleNaturalItem + { $current=$iv_ruleNaturalItem.current; } + EOF; + +// Rule NaturalItem +ruleNaturalItem returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_INT + { + newLeafNode(lv_value_0_0, grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNaturalItemRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + } + ) + ) +; + +// Entry rule entryRuleNamedItem +entryRuleNamedItem returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNamedItemRule()); } + iv_ruleNamedItem=ruleNamedItem + { $current=$iv_ruleNamedItem.current; } + EOF; + +// Rule NamedItem +ruleNamedItem returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNamedItemRule()); + } + } + otherlv_0=RULE_ID + { + newLeafNode(otherlv_0, grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); + } + ) + ) +; + +// Entry rule entryRuleSubject +entryRuleSubject returns [EObject current=null]: + { newCompositeNode(grammarAccess.getSubjectRule()); } + iv_ruleSubject=ruleSubject + { $current=$iv_ruleSubject.current; } + EOF; + +// Rule Subject +ruleSubject returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + /* */ + } + { + newCompositeNode(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); + } + this_StateSubject_0=ruleStateSubject + { + $current = $this_StateSubject_0.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); + } + this_ValueSubject_1=ruleValueSubject + { + $current = $this_ValueSubject_1.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); + } + this_TagSubject_2=ruleTagSubject + { + $current = $this_TagSubject_2.current; + afterParserOrEnumRuleCall(); + } + | + { + /* */ + } + { + newCompositeNode(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); + } + this_EventSubject_3=ruleEventSubject + { + $current = $this_EventSubject_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleStateSubject +entryRuleStateSubject returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStateSubjectRule()); } + iv_ruleStateSubject=ruleStateSubject + { $current=$iv_ruleStateSubject.current; } + EOF; + +// Rule StateSubject +ruleStateSubject returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='state' + { + newLeafNode(otherlv_0, grammarAccess.getStateSubjectAccess().getStateKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStateSubjectRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleValueSubject +entryRuleValueSubject returns [EObject current=null]: + { newCompositeNode(grammarAccess.getValueSubjectRule()); } + iv_ruleValueSubject=ruleValueSubject + { $current=$iv_ruleValueSubject.current; } + EOF; + +// Rule ValueSubject +ruleValueSubject returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='value' + { + newLeafNode(otherlv_0, grammarAccess.getValueSubjectAccess().getValueKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); + } + lv_value_1_0=ruleAtomicExpression + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getValueSubjectRule()); + } + set( + $current, + "value", + lv_value_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicExpression"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleTagSubject +entryRuleTagSubject returns [EObject current=null]: + { newCompositeNode(grammarAccess.getTagSubjectRule()); } + iv_ruleTagSubject=ruleTagSubject + { $current=$iv_ruleTagSubject.current; } + EOF; + +// Rule TagSubject +ruleTagSubject returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='tag' + { + newLeafNode(otherlv_0, grammarAccess.getTagSubjectAccess().getTagKeyword_0()); + } + ( + ( + { + /* */ + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getTagSubjectRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleEventSubject +entryRuleEventSubject returns [EObject current=null]: + { newCompositeNode(grammarAccess.getEventSubjectRule()); } + iv_ruleEventSubject=ruleEventSubject + { $current=$iv_ruleEventSubject.current; } + EOF; + +// Rule EventSubject +ruleEventSubject returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='event' + { + newLeafNode(otherlv_0, grammarAccess.getEventSubjectAccess().getEventKeyword_0()); + } + ( + ( + lv_event_1_0=RULE_ID + { + newLeafNode(lv_event_1_0, grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getEventSubjectRule()); + } + setWithLastConsumed( + $current, + "event", + lv_event_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + } + ) + ) + ) +; + +RULE_INT : ('0'..'9')+; + +RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*; + +RULE_FLT : RULE_INT '.' RULE_INT; + +RULE_STRING : ('"' ('\\' .|~(('\\'|'"')))* '"'|'\'' ('\\' .|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.tokens b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.tokens new file mode 100644 index 0000000..3a75b1f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacre.tokens @@ -0,0 +1,264 @@ +'!'=61 +'#'=30 +'#include'=14 +'$'=98 +'%'=94 +'&'=51 +'('=16 +')'=18 +'*'=82 +'+'=63 +','=17 +'-'=64 +'->'=76 +'-false'=114 +'-true'=113 +'.'=65 +'..'=34 +'...'=111 +'/'=93 +':'=19 +':='=52 +';'=55 +'<'=90 +'<='=91 +'<>'=89 +'='=88 +'=>'=86 +'>'=12 +'>='=92 +'?'=62 +'['=41 +'[]'=54 +']'=42 +'^'=102 +'absent'=127 +'after'=122 +'all'=83 +'always'=129 +'and'=87 +'any'=59 +'append'=108 +'array'=24 +'assert'=112 +'before'=125 +'begin'=56 +'between'=126 +'bool'=33 +'case'=75 +'channel'=23 +'component'=48 +'const'=39 +'deadlockfree'=117 +'dequeue'=100 +'do'=72 +'else'=68 +'elsif'=69 +'empty'=101 +'end'=36 +'enqueue'=107 +'enter'=134 +'event'=139 +'exists'=84 +'false'=110 +'first'=96 +'for'=128 +'foreach'=73 +'from'=47 +'full'=99 +'function'=15 +'if'=66 +'in'=26 +'infinitelyoften'=118 +'init'=46 +'int'=32 +'is'=20 +'lasting'=121 +'leadsto'=130 +'leave'=135 +'length'=97 +'loop'=77 +'ltl'=116 +'mortal'=119 +'nat'=31 +'next'=133 +'none'=28 +'not'=95 +'null'=58 +'of'=25 +'on'=78 +'or'=85 +'out'=27 +'par'=80 +'port'=43 +'precedes'=131 +'present'=120 +'priority'=44 +'process'=40 +'property'=115 +'queue'=38 +'read'=49 +'record'=37 +'release'=132 +'return'=57 +'select'=70 +'state'=136 +'states'=45 +'sync'=29 +'tag'=138 +'then'=67 +'to'=74 +'true'=109 +'type'=22 +'union'=35 +'unless'=53 +'until'=124 +'value'=137 +'var'=21 +'wait'=79 +'where'=60 +'while'=71 +'within'=123 +'write'=50 +'{'=103 +'{|'=105 +'|'=13 +'||'=81 +'|}'=106 +'}'=104 +RULE_ANY_OTHER=11 +RULE_FLT=7 +RULE_ID=4 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_SL_COMMENT=9 +RULE_STRING=5 +RULE_WS=10 +T__100=100 +T__101=101 +T__102=102 +T__103=103 +T__104=104 +T__105=105 +T__106=106 +T__107=107 +T__108=108 +T__109=109 +T__110=110 +T__111=111 +T__112=112 +T__113=113 +T__114=114 +T__115=115 +T__116=116 +T__117=117 +T__118=118 +T__119=119 +T__120=120 +T__121=121 +T__122=122 +T__123=123 +T__124=124 +T__125=125 +T__126=126 +T__127=127 +T__128=128 +T__129=129 +T__12=12 +T__130=130 +T__131=131 +T__132=132 +T__133=133 +T__134=134 +T__135=135 +T__136=136 +T__137=137 +T__138=138 +T__139=139 +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 +T__61=61 +T__62=62 +T__63=63 +T__64=64 +T__65=65 +T__66=66 +T__67=67 +T__68=68 +T__69=69 +T__70=70 +T__71=71 +T__72=72 +T__73=73 +T__74=74 +T__75=75 +T__76=76 +T__77=77 +T__78=78 +T__79=79 +T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__84=84 +T__85=85 +T__86=86 +T__87=87 +T__88=88 +T__89=89 +T__90=90 +T__91=91 +T__92=92 +T__93=93 +T__94=94 +T__95=95 +T__96=96 +T__97=97 +T__98=98 +T__99=99 diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreLexer.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreLexer.java new file mode 100644 index 0000000..6cff729 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreLexer.java @@ -0,0 +1,4994 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.fiacre.xtext.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 InternalFiacreLexer extends Lexer { + public static final int T__50=50; + public static final int T__59=59; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__137=137; + public static final int T__52=52; + public static final int T__136=136; + public static final int T__53=53; + public static final int T__139=139; + public static final int T__54=54; + public static final int T__138=138; + public static final int T__133=133; + public static final int T__132=132; + public static final int T__60=60; + public static final int T__135=135; + public static final int T__61=61; + public static final int T__134=134; + public static final int RULE_ID=4; + public static final int T__131=131; + public static final int T__130=130; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=8; + public static final int T__67=67; + public static final int T__129=129; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__126=126; + public static final int T__63=63; + public static final int T__125=125; + public static final int T__64=64; + public static final int T__128=128; + public static final int T__65=65; + public static final int T__127=127; + 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 T__30=30; + public static final int T__31=31; + public static final int T__32=32; + 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; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + 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__99=99; + public static final int T__12=12; + public static final int T__13=13; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_FLT=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 T__29=29; + public static final int T__22=22; + 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 T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__124=124; + public static final int T__72=72; + public static final int T__123=123; + public static final int T__120=120; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=9; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; + + // delegates + // delegators + + public InternalFiacreLexer() {;} + public InternalFiacreLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalFiacreLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalFiacre.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:11:7: ( '>' ) + // InternalFiacre.g:11:9: '>' + { + match('>'); + + } + + 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; + // InternalFiacre.g:12:7: ( '|' ) + // InternalFiacre.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; + // InternalFiacre.g:13:7: ( '#include' ) + // InternalFiacre.g:13:9: '#include' + { + match("#include"); + + + } + + 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; + // InternalFiacre.g:14:7: ( 'function' ) + // InternalFiacre.g:14:9: 'function' + { + match("function"); + + + } + + 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; + // InternalFiacre.g:15:7: ( '(' ) + // InternalFiacre.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; + // InternalFiacre.g:16:7: ( ',' ) + // InternalFiacre.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; + // InternalFiacre.g:17:7: ( ')' ) + // InternalFiacre.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; + // InternalFiacre.g:18:7: ( ':' ) + // InternalFiacre.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; + // InternalFiacre.g:19:7: ( 'is' ) + // InternalFiacre.g:19:9: 'is' + { + match("is"); + + + } + + 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; + // InternalFiacre.g:20:7: ( 'var' ) + // InternalFiacre.g:20:9: 'var' + { + match("var"); + + + } + + 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; + // InternalFiacre.g:21:7: ( 'type' ) + // InternalFiacre.g:21:9: 'type' + { + match("type"); + + + } + + 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; + // InternalFiacre.g:22:7: ( 'channel' ) + // InternalFiacre.g:22:9: 'channel' + { + match("channel"); + + + } + + 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; + // InternalFiacre.g:23:7: ( 'array' ) + // InternalFiacre.g:23:9: 'array' + { + match("array"); + + + } + + 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; + // InternalFiacre.g:24:7: ( 'of' ) + // InternalFiacre.g:24:9: 'of' + { + match("of"); + + + } + + 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; + // InternalFiacre.g:25:7: ( 'in' ) + // InternalFiacre.g:25:9: 'in' + { + match("in"); + + + } + + 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; + // InternalFiacre.g:26:7: ( 'out' ) + // InternalFiacre.g:26:9: 'out' + { + match("out"); + + + } + + 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; + // InternalFiacre.g:27:7: ( 'none' ) + // InternalFiacre.g:27:9: 'none' + { + match("none"); + + + } + + 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; + // InternalFiacre.g:28:7: ( 'sync' ) + // InternalFiacre.g:28:9: 'sync' + { + match("sync"); + + + } + + 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; + // InternalFiacre.g:29:7: ( '#' ) + // InternalFiacre.g:29:9: '#' + { + match('#'); + + } + + 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; + // InternalFiacre.g:30:7: ( 'nat' ) + // InternalFiacre.g:30:9: 'nat' + { + match("nat"); + + + } + + 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; + // InternalFiacre.g:31:7: ( 'int' ) + // InternalFiacre.g:31:9: 'int' + { + match("int"); + + + } + + 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; + // InternalFiacre.g:32:7: ( 'bool' ) + // InternalFiacre.g:32:9: 'bool' + { + match("bool"); + + + } + + 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; + // InternalFiacre.g:33:7: ( '..' ) + // InternalFiacre.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; + // InternalFiacre.g:34:7: ( 'union' ) + // InternalFiacre.g:34:9: 'union' + { + match("union"); + + + } + + 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; + // InternalFiacre.g:35:7: ( 'end' ) + // InternalFiacre.g:35:9: 'end' + { + match("end"); + + + } + + 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; + // InternalFiacre.g:36:7: ( 'record' ) + // InternalFiacre.g:36:9: 'record' + { + match("record"); + + + } + + 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; + // InternalFiacre.g:37:7: ( 'queue' ) + // InternalFiacre.g:37:9: 'queue' + { + match("queue"); + + + } + + 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; + // InternalFiacre.g:38:7: ( 'const' ) + // InternalFiacre.g:38:9: 'const' + { + match("const"); + + + } + + 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; + // InternalFiacre.g:39:7: ( 'process' ) + // InternalFiacre.g:39:9: 'process' + { + match("process"); + + + } + + 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; + // InternalFiacre.g:40:7: ( '[' ) + // InternalFiacre.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; + // InternalFiacre.g:41:7: ( ']' ) + // InternalFiacre.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; + // InternalFiacre.g:42:7: ( 'port' ) + // InternalFiacre.g:42:9: 'port' + { + match("port"); + + + } + + 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; + // InternalFiacre.g:43:7: ( 'priority' ) + // InternalFiacre.g:43:9: 'priority' + { + match("priority"); + + + } + + 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; + // InternalFiacre.g:44:7: ( 'states' ) + // InternalFiacre.g:44:9: 'states' + { + match("states"); + + + } + + 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; + // InternalFiacre.g:45:7: ( 'init' ) + // InternalFiacre.g:45:9: 'init' + { + match("init"); + + + } + + 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; + // InternalFiacre.g:46:7: ( 'from' ) + // InternalFiacre.g:46:9: 'from' + { + match("from"); + + + } + + 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; + // InternalFiacre.g:47:7: ( 'component' ) + // InternalFiacre.g:47:9: 'component' + { + match("component"); + + + } + + 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; + // InternalFiacre.g:48:7: ( 'read' ) + // InternalFiacre.g:48:9: 'read' + { + match("read"); + + + } + + 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; + // InternalFiacre.g:49:7: ( 'write' ) + // InternalFiacre.g:49:9: 'write' + { + match("write"); + + + } + + 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; + // InternalFiacre.g:50:7: ( '&' ) + // InternalFiacre.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; + // InternalFiacre.g:51:7: ( ':=' ) + // InternalFiacre.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; + // InternalFiacre.g:52:7: ( 'unless' ) + // InternalFiacre.g:52:9: 'unless' + { + match("unless"); + + + } + + 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; + // InternalFiacre.g:53:7: ( '[]' ) + // InternalFiacre.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; + // InternalFiacre.g:54:7: ( ';' ) + // InternalFiacre.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; + // InternalFiacre.g:55:7: ( 'begin' ) + // InternalFiacre.g:55:9: 'begin' + { + match("begin"); + + + } + + 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; + // InternalFiacre.g:56:7: ( 'return' ) + // InternalFiacre.g:56:9: 'return' + { + match("return"); + + + } + + 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; + // InternalFiacre.g:57:7: ( 'null' ) + // InternalFiacre.g:57:9: 'null' + { + match("null"); + + + } + + 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; + // InternalFiacre.g:58:7: ( 'any' ) + // InternalFiacre.g:58:9: 'any' + { + match("any"); + + + } + + 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; + // InternalFiacre.g:59:7: ( 'where' ) + // InternalFiacre.g:59:9: 'where' + { + match("where"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "T__61" + public final void mT__61() throws RecognitionException { + try { + int _type = T__61; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:60:7: ( '!' ) + // InternalFiacre.g:60:9: '!' + { + match('!'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__61" + + // $ANTLR start "T__62" + public final void mT__62() throws RecognitionException { + try { + int _type = T__62; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:61:7: ( '?' ) + // InternalFiacre.g:61:9: '?' + { + match('?'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__62" + + // $ANTLR start "T__63" + public final void mT__63() throws RecognitionException { + try { + int _type = T__63; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:62:7: ( '+' ) + // InternalFiacre.g:62:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__63" + + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { + try { + int _type = T__64; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:63:7: ( '-' ) + // InternalFiacre.g:63:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:64:7: ( '.' ) + // InternalFiacre.g:64:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:65:7: ( 'if' ) + // InternalFiacre.g:65:9: 'if' + { + match("if"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" + + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:66:7: ( 'then' ) + // InternalFiacre.g:66:9: 'then' + { + match("then"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:67:7: ( 'else' ) + // InternalFiacre.g:67:9: 'else' + { + match("else"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:68:7: ( 'elsif' ) + // InternalFiacre.g:68:9: 'elsif' + { + match("elsif"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:69:7: ( 'select' ) + // InternalFiacre.g:69:9: 'select' + { + match("select"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:70:7: ( 'while' ) + // InternalFiacre.g:70:9: 'while' + { + match("while"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:71:7: ( 'do' ) + // InternalFiacre.g:71:9: 'do' + { + match("do"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:72:7: ( 'foreach' ) + // InternalFiacre.g:72:9: 'foreach' + { + match("foreach"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:73:7: ( 'to' ) + // InternalFiacre.g:73:9: 'to' + { + match("to"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "T__75" + public final void mT__75() throws RecognitionException { + try { + int _type = T__75; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:74:7: ( 'case' ) + // InternalFiacre.g:74:9: 'case' + { + match("case"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__75" + + // $ANTLR start "T__76" + public final void mT__76() throws RecognitionException { + try { + int _type = T__76; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:75:7: ( '->' ) + // InternalFiacre.g:75:9: '->' + { + match("->"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__76" + + // $ANTLR start "T__77" + public final void mT__77() throws RecognitionException { + try { + int _type = T__77; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:76:7: ( 'loop' ) + // InternalFiacre.g:76:9: 'loop' + { + match("loop"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__77" + + // $ANTLR start "T__78" + public final void mT__78() throws RecognitionException { + try { + int _type = T__78; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:77:7: ( 'on' ) + // InternalFiacre.g:77:9: 'on' + { + match("on"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__78" + + // $ANTLR start "T__79" + public final void mT__79() throws RecognitionException { + try { + int _type = T__79; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:78:7: ( 'wait' ) + // InternalFiacre.g:78:9: 'wait' + { + match("wait"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__79" + + // $ANTLR start "T__80" + public final void mT__80() throws RecognitionException { + try { + int _type = T__80; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:79:7: ( 'par' ) + // InternalFiacre.g:79:9: 'par' + { + match("par"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:80:7: ( '||' ) + // InternalFiacre.g:80:9: '||' + { + match("||"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:81:7: ( '*' ) + // InternalFiacre.g:81:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:82:7: ( 'all' ) + // InternalFiacre.g:82:9: 'all' + { + match("all"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:83:7: ( 'exists' ) + // InternalFiacre.g:83:9: 'exists' + { + match("exists"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:84:7: ( 'or' ) + // InternalFiacre.g:84:9: 'or' + { + match("or"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:85:7: ( '=>' ) + // InternalFiacre.g:85:9: '=>' + { + match("=>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:86:7: ( 'and' ) + // InternalFiacre.g:86:9: 'and' + { + match("and"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:87:7: ( '=' ) + // InternalFiacre.g:87:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:88:7: ( '<>' ) + // InternalFiacre.g:88:9: '<>' + { + match("<>"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:89:7: ( '<' ) + // InternalFiacre.g:89:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:90:7: ( '<=' ) + // InternalFiacre.g:90:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:91:7: ( '>=' ) + // InternalFiacre.g:91:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:92:7: ( '/' ) + // InternalFiacre.g:92:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:93:7: ( '%' ) + // InternalFiacre.g:93:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:94:7: ( 'not' ) + // InternalFiacre.g:94:9: 'not' + { + match("not"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:95:7: ( 'first' ) + // InternalFiacre.g:95:9: 'first' + { + match("first"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:96:7: ( 'length' ) + // InternalFiacre.g:96:9: 'length' + { + match("length"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:97:7: ( '$' ) + // InternalFiacre.g:97:9: '$' + { + match('$'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:98:7: ( 'full' ) + // InternalFiacre.g:98:9: 'full' + { + match("full"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:99:8: ( 'dequeue' ) + // InternalFiacre.g:99:10: 'dequeue' + { + match("dequeue"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:100:8: ( 'empty' ) + // InternalFiacre.g:100:10: 'empty' + { + match("empty"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:101:8: ( '^' ) + // InternalFiacre.g:101:10: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:102:8: ( '{' ) + // InternalFiacre.g:102:10: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:103:8: ( '}' ) + // InternalFiacre.g:103:10: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:104:8: ( '{|' ) + // InternalFiacre.g:104:10: '{|' + { + match("{|"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:105:8: ( '|}' ) + // InternalFiacre.g:105:10: '|}' + { + match("|}"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:106:8: ( 'enqueue' ) + // InternalFiacre.g:106:10: 'enqueue' + { + match("enqueue"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:107:8: ( 'append' ) + // InternalFiacre.g:107:10: 'append' + { + match("append"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:108:8: ( 'true' ) + // InternalFiacre.g:108:10: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:109:8: ( 'false' ) + // InternalFiacre.g:109:10: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:110:8: ( '...' ) + // InternalFiacre.g:110:10: '...' + { + match("..."); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:111:8: ( 'assert' ) + // InternalFiacre.g:111:10: 'assert' + { + match("assert"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:112:8: ( '-true' ) + // InternalFiacre.g:112:10: '-true' + { + match("-true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:113:8: ( '-false' ) + // InternalFiacre.g:113:10: '-false' + { + match("-false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:114:8: ( 'property' ) + // InternalFiacre.g:114:10: 'property' + { + match("property"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:115:8: ( 'ltl' ) + // InternalFiacre.g:115:10: 'ltl' + { + match("ltl"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:116:8: ( 'deadlockfree' ) + // InternalFiacre.g:116:10: 'deadlockfree' + { + match("deadlockfree"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "T__118" + public final void mT__118() throws RecognitionException { + try { + int _type = T__118; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:117:8: ( 'infinitelyoften' ) + // InternalFiacre.g:117:10: 'infinitelyoften' + { + match("infinitelyoften"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__118" + + // $ANTLR start "T__119" + public final void mT__119() throws RecognitionException { + try { + int _type = T__119; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:118:8: ( 'mortal' ) + // InternalFiacre.g:118:10: 'mortal' + { + match("mortal"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__119" + + // $ANTLR start "T__120" + public final void mT__120() throws RecognitionException { + try { + int _type = T__120; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:119:8: ( 'present' ) + // InternalFiacre.g:119:10: 'present' + { + match("present"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__120" + + // $ANTLR start "T__121" + public final void mT__121() throws RecognitionException { + try { + int _type = T__121; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:120:8: ( 'lasting' ) + // InternalFiacre.g:120:10: 'lasting' + { + match("lasting"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__121" + + // $ANTLR start "T__122" + public final void mT__122() throws RecognitionException { + try { + int _type = T__122; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:121:8: ( 'after' ) + // InternalFiacre.g:121:10: 'after' + { + match("after"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__122" + + // $ANTLR start "T__123" + public final void mT__123() throws RecognitionException { + try { + int _type = T__123; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:122:8: ( 'within' ) + // InternalFiacre.g:122:10: 'within' + { + match("within"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__123" + + // $ANTLR start "T__124" + public final void mT__124() throws RecognitionException { + try { + int _type = T__124; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:123:8: ( 'until' ) + // InternalFiacre.g:123:10: 'until' + { + match("until"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__124" + + // $ANTLR start "T__125" + public final void mT__125() throws RecognitionException { + try { + int _type = T__125; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:124:8: ( 'before' ) + // InternalFiacre.g:124:10: 'before' + { + match("before"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__125" + + // $ANTLR start "T__126" + public final void mT__126() throws RecognitionException { + try { + int _type = T__126; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:125:8: ( 'between' ) + // InternalFiacre.g:125:10: 'between' + { + match("between"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__126" + + // $ANTLR start "T__127" + public final void mT__127() throws RecognitionException { + try { + int _type = T__127; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:126:8: ( 'absent' ) + // InternalFiacre.g:126:10: 'absent' + { + match("absent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__127" + + // $ANTLR start "T__128" + public final void mT__128() throws RecognitionException { + try { + int _type = T__128; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:127:8: ( 'for' ) + // InternalFiacre.g:127:10: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__128" + + // $ANTLR start "T__129" + public final void mT__129() throws RecognitionException { + try { + int _type = T__129; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:128:8: ( 'always' ) + // InternalFiacre.g:128:10: 'always' + { + match("always"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__129" + + // $ANTLR start "T__130" + public final void mT__130() throws RecognitionException { + try { + int _type = T__130; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:129:8: ( 'leadsto' ) + // InternalFiacre.g:129:10: 'leadsto' + { + match("leadsto"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__130" + + // $ANTLR start "T__131" + public final void mT__131() throws RecognitionException { + try { + int _type = T__131; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:130:8: ( 'precedes' ) + // InternalFiacre.g:130:10: 'precedes' + { + match("precedes"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__131" + + // $ANTLR start "T__132" + public final void mT__132() throws RecognitionException { + try { + int _type = T__132; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:131:8: ( 'release' ) + // InternalFiacre.g:131:10: 'release' + { + match("release"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__132" + + // $ANTLR start "T__133" + public final void mT__133() throws RecognitionException { + try { + int _type = T__133; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:132:8: ( 'next' ) + // InternalFiacre.g:132:10: 'next' + { + match("next"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__133" + + // $ANTLR start "T__134" + public final void mT__134() throws RecognitionException { + try { + int _type = T__134; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:133:8: ( 'enter' ) + // InternalFiacre.g:133:10: 'enter' + { + match("enter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__134" + + // $ANTLR start "T__135" + public final void mT__135() throws RecognitionException { + try { + int _type = T__135; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:134:8: ( 'leave' ) + // InternalFiacre.g:134:10: 'leave' + { + match("leave"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__135" + + // $ANTLR start "T__136" + public final void mT__136() throws RecognitionException { + try { + int _type = T__136; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:135:8: ( 'state' ) + // InternalFiacre.g:135:10: 'state' + { + match("state"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__136" + + // $ANTLR start "T__137" + public final void mT__137() throws RecognitionException { + try { + int _type = T__137; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:136:8: ( 'value' ) + // InternalFiacre.g:136:10: 'value' + { + match("value"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__137" + + // $ANTLR start "T__138" + public final void mT__138() throws RecognitionException { + try { + int _type = T__138; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:137:8: ( 'tag' ) + // InternalFiacre.g:137:10: 'tag' + { + match("tag"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__138" + + // $ANTLR start "T__139" + public final void mT__139() throws RecognitionException { + try { + int _type = T__139; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:138:8: ( 'event' ) + // InternalFiacre.g:138:10: 'event' + { + match("event"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__139" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:12629:10: ( ( '0' .. '9' )+ ) + // InternalFiacre.g:12629:12: ( '0' .. '9' )+ + { + // InternalFiacre.g:12629:12: ( '0' .. '9' )+ + int cnt1=0; + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( ((LA1_0>='0' && LA1_0<='9')) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalFiacre.g:12629:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt1 >= 1 ) break loop1; + EarlyExitException eee = + new EarlyExitException(1, input); + throw eee; + } + cnt1++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:12631:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* ) + // InternalFiacre.g:12631:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + { + 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;} + + // InternalFiacre.g:12631:35: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalFiacre.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 loop2; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_FLT" + public final void mRULE_FLT() throws RecognitionException { + try { + int _type = RULE_FLT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:12633:10: ( RULE_INT '.' RULE_INT ) + // InternalFiacre.g:12633:12: RULE_INT '.' RULE_INT + { + mRULE_INT(); + match('.'); + mRULE_INT(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_FLT" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:12635:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // InternalFiacre.g:12635:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // InternalFiacre.g:12635:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\"') ) { + alt5=1; + } + else if ( (LA5_0=='\'') ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalFiacre.g:12635:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalFiacre.g:12635:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop3: + do { + int alt3=3; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='\\') ) { + alt3=1; + } + else if ( ((LA3_0>='\u0000' && LA3_0<='!')||(LA3_0>='#' && LA3_0<='[')||(LA3_0>=']' && LA3_0<='\uFFFF')) ) { + alt3=2; + } + + + switch (alt3) { + case 1 : + // InternalFiacre.g:12635:21: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalFiacre.g:12635:28: ~ ( ( '\\\\' | '\"' ) ) + { + 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 loop3; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // InternalFiacre.g:12635:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalFiacre.g:12635:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='&')||(LA4_0>='(' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // InternalFiacre.g:12635:54: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalFiacre.g:12635:61: ~ ( ( '\\\\' | '\\'' ) ) + { + 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 loop4; + } + } while (true); + + match('\''); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalFiacre.g:12637:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalFiacre.g:12637:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalFiacre.g:12637: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 : + // InternalFiacre.g:12637: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; + // InternalFiacre.g:12639:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalFiacre.g:12639:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalFiacre.g:12639: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 : + // InternalFiacre.g:12639: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); + + // InternalFiacre.g:12639: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 : + // InternalFiacre.g:12639:41: ( '\\r' )? '\\n' + { + // InternalFiacre.g:12639:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\r') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalFiacre.g:12639: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; + // InternalFiacre.g:12641:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalFiacre.g:12641:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalFiacre.g:12641: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 : + // InternalFiacre.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; + // InternalFiacre.g:12643:16: ( . ) + // InternalFiacre.g:12643:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalFiacre.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 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | RULE_INT | RULE_ID | RULE_FLT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt11=136; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalFiacre.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalFiacre.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalFiacre.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalFiacre.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalFiacre.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalFiacre.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalFiacre.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalFiacre.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalFiacre.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalFiacre.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalFiacre.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalFiacre.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalFiacre.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalFiacre.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalFiacre.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalFiacre.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalFiacre.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalFiacre.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalFiacre.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalFiacre.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalFiacre.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalFiacre.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalFiacre.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalFiacre.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalFiacre.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalFiacre.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalFiacre.g:1:166: T__38 + { + mT__38(); + + } + break; + case 28 : + // InternalFiacre.g:1:172: T__39 + { + mT__39(); + + } + break; + case 29 : + // InternalFiacre.g:1:178: T__40 + { + mT__40(); + + } + break; + case 30 : + // InternalFiacre.g:1:184: T__41 + { + mT__41(); + + } + break; + case 31 : + // InternalFiacre.g:1:190: T__42 + { + mT__42(); + + } + break; + case 32 : + // InternalFiacre.g:1:196: T__43 + { + mT__43(); + + } + break; + case 33 : + // InternalFiacre.g:1:202: T__44 + { + mT__44(); + + } + break; + case 34 : + // InternalFiacre.g:1:208: T__45 + { + mT__45(); + + } + break; + case 35 : + // InternalFiacre.g:1:214: T__46 + { + mT__46(); + + } + break; + case 36 : + // InternalFiacre.g:1:220: T__47 + { + mT__47(); + + } + break; + case 37 : + // InternalFiacre.g:1:226: T__48 + { + mT__48(); + + } + break; + case 38 : + // InternalFiacre.g:1:232: T__49 + { + mT__49(); + + } + break; + case 39 : + // InternalFiacre.g:1:238: T__50 + { + mT__50(); + + } + break; + case 40 : + // InternalFiacre.g:1:244: T__51 + { + mT__51(); + + } + break; + case 41 : + // InternalFiacre.g:1:250: T__52 + { + mT__52(); + + } + break; + case 42 : + // InternalFiacre.g:1:256: T__53 + { + mT__53(); + + } + break; + case 43 : + // InternalFiacre.g:1:262: T__54 + { + mT__54(); + + } + break; + case 44 : + // InternalFiacre.g:1:268: T__55 + { + mT__55(); + + } + break; + case 45 : + // InternalFiacre.g:1:274: T__56 + { + mT__56(); + + } + break; + case 46 : + // InternalFiacre.g:1:280: T__57 + { + mT__57(); + + } + break; + case 47 : + // InternalFiacre.g:1:286: T__58 + { + mT__58(); + + } + break; + case 48 : + // InternalFiacre.g:1:292: T__59 + { + mT__59(); + + } + break; + case 49 : + // InternalFiacre.g:1:298: T__60 + { + mT__60(); + + } + break; + case 50 : + // InternalFiacre.g:1:304: T__61 + { + mT__61(); + + } + break; + case 51 : + // InternalFiacre.g:1:310: T__62 + { + mT__62(); + + } + break; + case 52 : + // InternalFiacre.g:1:316: T__63 + { + mT__63(); + + } + break; + case 53 : + // InternalFiacre.g:1:322: T__64 + { + mT__64(); + + } + break; + case 54 : + // InternalFiacre.g:1:328: T__65 + { + mT__65(); + + } + break; + case 55 : + // InternalFiacre.g:1:334: T__66 + { + mT__66(); + + } + break; + case 56 : + // InternalFiacre.g:1:340: T__67 + { + mT__67(); + + } + break; + case 57 : + // InternalFiacre.g:1:346: T__68 + { + mT__68(); + + } + break; + case 58 : + // InternalFiacre.g:1:352: T__69 + { + mT__69(); + + } + break; + case 59 : + // InternalFiacre.g:1:358: T__70 + { + mT__70(); + + } + break; + case 60 : + // InternalFiacre.g:1:364: T__71 + { + mT__71(); + + } + break; + case 61 : + // InternalFiacre.g:1:370: T__72 + { + mT__72(); + + } + break; + case 62 : + // InternalFiacre.g:1:376: T__73 + { + mT__73(); + + } + break; + case 63 : + // InternalFiacre.g:1:382: T__74 + { + mT__74(); + + } + break; + case 64 : + // InternalFiacre.g:1:388: T__75 + { + mT__75(); + + } + break; + case 65 : + // InternalFiacre.g:1:394: T__76 + { + mT__76(); + + } + break; + case 66 : + // InternalFiacre.g:1:400: T__77 + { + mT__77(); + + } + break; + case 67 : + // InternalFiacre.g:1:406: T__78 + { + mT__78(); + + } + break; + case 68 : + // InternalFiacre.g:1:412: T__79 + { + mT__79(); + + } + break; + case 69 : + // InternalFiacre.g:1:418: T__80 + { + mT__80(); + + } + break; + case 70 : + // InternalFiacre.g:1:424: T__81 + { + mT__81(); + + } + break; + case 71 : + // InternalFiacre.g:1:430: T__82 + { + mT__82(); + + } + break; + case 72 : + // InternalFiacre.g:1:436: T__83 + { + mT__83(); + + } + break; + case 73 : + // InternalFiacre.g:1:442: T__84 + { + mT__84(); + + } + break; + case 74 : + // InternalFiacre.g:1:448: T__85 + { + mT__85(); + + } + break; + case 75 : + // InternalFiacre.g:1:454: T__86 + { + mT__86(); + + } + break; + case 76 : + // InternalFiacre.g:1:460: T__87 + { + mT__87(); + + } + break; + case 77 : + // InternalFiacre.g:1:466: T__88 + { + mT__88(); + + } + break; + case 78 : + // InternalFiacre.g:1:472: T__89 + { + mT__89(); + + } + break; + case 79 : + // InternalFiacre.g:1:478: T__90 + { + mT__90(); + + } + break; + case 80 : + // InternalFiacre.g:1:484: T__91 + { + mT__91(); + + } + break; + case 81 : + // InternalFiacre.g:1:490: T__92 + { + mT__92(); + + } + break; + case 82 : + // InternalFiacre.g:1:496: T__93 + { + mT__93(); + + } + break; + case 83 : + // InternalFiacre.g:1:502: T__94 + { + mT__94(); + + } + break; + case 84 : + // InternalFiacre.g:1:508: T__95 + { + mT__95(); + + } + break; + case 85 : + // InternalFiacre.g:1:514: T__96 + { + mT__96(); + + } + break; + case 86 : + // InternalFiacre.g:1:520: T__97 + { + mT__97(); + + } + break; + case 87 : + // InternalFiacre.g:1:526: T__98 + { + mT__98(); + + } + break; + case 88 : + // InternalFiacre.g:1:532: T__99 + { + mT__99(); + + } + break; + case 89 : + // InternalFiacre.g:1:538: T__100 + { + mT__100(); + + } + break; + case 90 : + // InternalFiacre.g:1:545: T__101 + { + mT__101(); + + } + break; + case 91 : + // InternalFiacre.g:1:552: T__102 + { + mT__102(); + + } + break; + case 92 : + // InternalFiacre.g:1:559: T__103 + { + mT__103(); + + } + break; + case 93 : + // InternalFiacre.g:1:566: T__104 + { + mT__104(); + + } + break; + case 94 : + // InternalFiacre.g:1:573: T__105 + { + mT__105(); + + } + break; + case 95 : + // InternalFiacre.g:1:580: T__106 + { + mT__106(); + + } + break; + case 96 : + // InternalFiacre.g:1:587: T__107 + { + mT__107(); + + } + break; + case 97 : + // InternalFiacre.g:1:594: T__108 + { + mT__108(); + + } + break; + case 98 : + // InternalFiacre.g:1:601: T__109 + { + mT__109(); + + } + break; + case 99 : + // InternalFiacre.g:1:608: T__110 + { + mT__110(); + + } + break; + case 100 : + // InternalFiacre.g:1:615: T__111 + { + mT__111(); + + } + break; + case 101 : + // InternalFiacre.g:1:622: T__112 + { + mT__112(); + + } + break; + case 102 : + // InternalFiacre.g:1:629: T__113 + { + mT__113(); + + } + break; + case 103 : + // InternalFiacre.g:1:636: T__114 + { + mT__114(); + + } + break; + case 104 : + // InternalFiacre.g:1:643: T__115 + { + mT__115(); + + } + break; + case 105 : + // InternalFiacre.g:1:650: T__116 + { + mT__116(); + + } + break; + case 106 : + // InternalFiacre.g:1:657: T__117 + { + mT__117(); + + } + break; + case 107 : + // InternalFiacre.g:1:664: T__118 + { + mT__118(); + + } + break; + case 108 : + // InternalFiacre.g:1:671: T__119 + { + mT__119(); + + } + break; + case 109 : + // InternalFiacre.g:1:678: T__120 + { + mT__120(); + + } + break; + case 110 : + // InternalFiacre.g:1:685: T__121 + { + mT__121(); + + } + break; + case 111 : + // InternalFiacre.g:1:692: T__122 + { + mT__122(); + + } + break; + case 112 : + // InternalFiacre.g:1:699: T__123 + { + mT__123(); + + } + break; + case 113 : + // InternalFiacre.g:1:706: T__124 + { + mT__124(); + + } + break; + case 114 : + // InternalFiacre.g:1:713: T__125 + { + mT__125(); + + } + break; + case 115 : + // InternalFiacre.g:1:720: T__126 + { + mT__126(); + + } + break; + case 116 : + // InternalFiacre.g:1:727: T__127 + { + mT__127(); + + } + break; + case 117 : + // InternalFiacre.g:1:734: T__128 + { + mT__128(); + + } + break; + case 118 : + // InternalFiacre.g:1:741: T__129 + { + mT__129(); + + } + break; + case 119 : + // InternalFiacre.g:1:748: T__130 + { + mT__130(); + + } + break; + case 120 : + // InternalFiacre.g:1:755: T__131 + { + mT__131(); + + } + break; + case 121 : + // InternalFiacre.g:1:762: T__132 + { + mT__132(); + + } + break; + case 122 : + // InternalFiacre.g:1:769: T__133 + { + mT__133(); + + } + break; + case 123 : + // InternalFiacre.g:1:776: T__134 + { + mT__134(); + + } + break; + case 124 : + // InternalFiacre.g:1:783: T__135 + { + mT__135(); + + } + break; + case 125 : + // InternalFiacre.g:1:790: T__136 + { + mT__136(); + + } + break; + case 126 : + // InternalFiacre.g:1:797: T__137 + { + mT__137(); + + } + break; + case 127 : + // InternalFiacre.g:1:804: T__138 + { + mT__138(); + + } + break; + case 128 : + // InternalFiacre.g:1:811: T__139 + { + mT__139(); + + } + break; + case 129 : + // InternalFiacre.g:1:818: RULE_INT + { + mRULE_INT(); + + } + break; + case 130 : + // InternalFiacre.g:1:827: RULE_ID + { + mRULE_ID(); + + } + break; + case 131 : + // InternalFiacre.g:1:835: RULE_FLT + { + mRULE_FLT(); + + } + break; + case 132 : + // InternalFiacre.g:1:844: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 133 : + // InternalFiacre.g:1:856: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 134 : + // InternalFiacre.g:1:872: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 135 : + // InternalFiacre.g:1:888: RULE_WS + { + mRULE_WS(); + + } + break; + case 136 : + // InternalFiacre.g:1:896: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\1\uffff\1\64\1\67\1\71\1\77\3\uffff\1\104\11\77\1\146\5\77\1\163\1\uffff\1\77\5\uffff\1\u0081\2\77\1\uffff\1\u008a\1\u008d\1\u0090\3\uffff\1\u0095\1\uffff\1\77\1\u0098\1\uffff\2\62\11\uffff\5\77\6\uffff\1\u00a3\1\u00a7\1\u00a8\3\77\1\u00ad\14\77\1\u00bd\1\77\1\u00bf\1\u00c0\11\77\1\u00ce\1\uffff\13\77\3\uffff\4\77\11\uffff\1\u00e8\5\77\17\uffff\1\77\1\uffff\1\u0098\3\uffff\3\77\1\u00f5\2\77\1\uffff\1\u00f8\2\77\2\uffff\1\u00fb\3\77\1\uffff\1\77\1\u0100\5\77\1\u0106\1\u0107\1\u0108\5\77\1\uffff\1\u010e\2\uffff\1\77\1\u0110\1\u0111\11\77\2\uffff\3\77\1\u011e\17\77\1\u0131\5\77\1\uffff\5\77\1\u013d\3\77\1\u0141\1\u0142\1\77\1\uffff\2\77\1\uffff\1\u0146\1\77\1\uffff\1\77\1\u0149\1\u014a\1\u014b\1\uffff\3\77\1\u014f\1\77\3\uffff\5\77\1\uffff\1\u0156\2\uffff\1\u0157\1\u0158\1\u0159\2\77\1\u015c\6\77\1\uffff\2\77\1\u0165\5\77\1\u016b\10\77\1\u0174\1\uffff\3\77\1\u0178\3\77\1\u017c\3\77\1\uffff\3\77\2\uffff\1\77\1\u0184\1\u0185\1\uffff\1\77\1\u0187\3\uffff\1\77\1\u0189\1\77\1\uffff\1\u018b\3\77\1\u018f\1\77\4\uffff\1\u0192\1\77\1\uffff\1\u0194\2\77\1\u0197\1\77\1\u0199\1\77\1\u019b\1\uffff\1\u019c\1\77\1\u019e\1\u019f\1\77\1\uffff\2\77\1\u01a3\5\77\1\uffff\1\u01a9\1\u01aa\1\u01ab\1\uffff\3\77\1\uffff\2\77\1\u01b1\4\77\2\uffff\1\77\1\uffff\1\77\1\uffff\1\77\1\uffff\1\u01b9\1\u01ba\1\u01bb\1\uffff\1\u01bc\1\u01bd\1\uffff\1\u01be\1\uffff\1\u01bf\1\77\1\uffff\1\u01c1\1\uffff\1\77\2\uffff\1\u01c3\2\uffff\1\u01c4\1\u01c5\1\77\1\uffff\5\77\3\uffff\1\u01cc\2\77\1\u01cf\1\77\1\uffff\1\77\1\u01d2\1\77\1\u01d4\1\77\1\u01d6\1\77\7\uffff\1\u01d8\1\uffff\1\u01d9\3\uffff\1\u01da\1\u01db\2\77\1\u01de\1\77\1\uffff\1\u01e0\1\77\1\uffff\1\u01e2\1\u01e3\1\uffff\1\u01e4\1\uffff\1\77\1\uffff\1\77\4\uffff\1\u01e7\1\u01e8\1\uffff\1\u01e9\1\uffff\1\77\3\uffff\1\77\1\u01ec\3\uffff\2\77\1\uffff\4\77\1\u01f3\1\77\1\uffff\1\77\1\u01f6\1\uffff"; + static final String DFA11_eofS = + "\u01f7\uffff"; + static final String DFA11_minS = + "\1\0\1\75\1\174\1\151\1\141\3\uffff\1\75\1\146\3\141\1\142\1\146\1\141\2\145\1\56\1\156\1\154\1\145\1\165\1\141\1\135\1\uffff\1\141\5\uffff\1\76\1\145\1\141\1\uffff\1\76\1\75\1\52\3\uffff\1\174\1\uffff\1\157\1\56\1\uffff\2\0\11\uffff\1\154\1\157\2\162\1\154\6\uffff\3\60\1\154\1\160\1\145\1\60\1\165\1\147\1\141\1\155\1\163\1\162\1\144\1\154\1\160\1\163\1\164\1\163\1\60\1\164\2\60\1\156\1\164\1\154\1\170\1\156\1\141\1\154\1\157\1\146\1\56\1\uffff\1\151\1\144\1\163\1\151\1\160\1\145\1\141\2\145\2\162\3\uffff\1\151\1\145\1\151\1\164\11\uffff\1\60\1\141\1\157\1\141\1\154\1\163\17\uffff\1\162\1\uffff\1\56\3\uffff\1\143\1\154\1\155\1\60\2\163\1\uffff\1\60\1\164\1\151\2\uffff\1\60\1\165\1\145\1\156\1\uffff\1\145\1\60\1\156\1\163\1\160\1\145\1\141\3\60\1\141\4\145\1\uffff\1\60\2\uffff\1\145\2\60\1\154\1\164\1\143\1\164\1\145\1\154\1\151\1\157\1\167\2\uffff\1\157\1\145\1\151\1\60\1\165\2\145\1\163\1\164\1\156\1\157\1\144\1\165\1\145\1\165\1\143\1\157\1\143\1\164\1\60\1\164\1\162\1\154\1\164\1\150\1\uffff\1\165\1\144\1\160\1\147\1\144\1\60\3\164\2\60\1\141\1\uffff\1\164\1\145\1\uffff\1\60\1\156\1\uffff\1\145\3\60\1\uffff\1\156\1\164\1\157\1\60\1\171\3\uffff\1\171\1\156\2\162\1\156\1\uffff\1\60\2\uffff\3\60\1\145\1\143\1\60\1\156\1\162\1\145\1\156\1\163\1\154\1\uffff\1\145\1\162\1\60\1\146\1\164\1\171\1\164\1\162\1\60\1\162\1\141\3\145\1\162\2\145\1\60\1\uffff\3\145\1\60\1\151\1\145\1\154\1\60\1\164\1\163\1\145\1\uffff\1\151\1\141\1\151\2\uffff\1\143\2\60\1\uffff\1\151\1\60\3\uffff\1\145\1\60\1\156\1\uffff\1\60\1\163\1\144\1\164\1\60\1\164\4\uffff\1\60\1\164\1\uffff\1\60\2\145\1\60\1\163\1\60\1\165\1\60\1\uffff\1\60\1\163\2\60\1\144\1\uffff\1\156\1\163\1\60\1\163\1\162\1\151\1\156\1\144\1\uffff\3\60\1\uffff\1\156\1\165\1\157\1\uffff\1\150\1\164\1\60\1\156\1\154\1\157\1\150\2\uffff\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\3\60\1\uffff\2\60\1\uffff\1\60\1\uffff\1\60\1\156\1\uffff\1\60\1\uffff\1\145\2\uffff\1\60\2\uffff\2\60\1\145\1\uffff\1\163\3\164\1\145\3\uffff\1\60\1\145\1\143\1\60\1\157\1\uffff\1\147\1\60\1\156\1\60\1\145\1\60\1\156\7\uffff\1\60\1\uffff\1\60\3\uffff\2\60\2\171\1\60\1\163\1\uffff\1\60\1\153\1\uffff\2\60\1\uffff\1\60\1\uffff\1\154\1\uffff\1\164\4\uffff\2\60\1\uffff\1\60\1\uffff\1\146\3\uffff\1\171\1\60\3\uffff\1\162\1\157\1\uffff\1\145\1\146\1\145\1\164\1\60\1\145\1\uffff\1\156\1\60\1\uffff"; + static final String DFA11_maxS = + "\1\uffff\1\75\1\175\1\151\1\165\3\uffff\1\75\1\163\1\141\1\171\1\157\1\163\2\165\1\171\1\157\1\56\1\156\1\170\1\145\1\165\1\162\1\135\1\uffff\1\162\5\uffff\1\164\1\157\1\164\1\uffff\2\76\1\57\3\uffff\1\174\1\uffff\1\157\1\71\1\uffff\2\uffff\11\uffff\1\156\1\157\2\162\1\154\6\uffff\3\172\1\162\1\160\1\145\1\172\1\165\1\147\1\141\1\156\1\163\1\162\1\171\1\167\1\160\1\163\1\164\1\163\1\172\1\164\2\172\2\164\1\154\1\170\1\156\1\141\1\154\1\157\1\164\1\56\1\uffff\2\164\1\163\1\151\1\160\1\145\1\164\1\145\1\157\2\162\3\uffff\3\151\1\164\11\uffff\1\172\1\161\1\157\1\156\1\154\1\163\17\uffff\1\162\1\uffff\1\71\3\uffff\1\143\1\154\1\155\1\172\2\163\1\uffff\1\172\1\164\1\151\2\uffff\1\172\1\165\1\145\1\156\1\uffff\1\145\1\172\1\156\1\163\1\160\1\145\1\141\3\172\1\141\4\145\1\uffff\1\172\2\uffff\1\145\2\172\1\154\1\164\1\143\1\164\1\145\1\154\1\151\1\157\1\167\2\uffff\1\157\1\145\1\151\1\172\1\165\1\145\1\151\1\163\1\164\1\156\1\157\1\144\1\165\1\145\1\165\1\160\1\157\1\163\1\164\1\172\1\164\1\162\1\154\1\164\1\150\1\uffff\1\165\1\144\1\160\1\147\1\166\1\172\3\164\2\172\1\141\1\uffff\1\164\1\145\1\uffff\1\172\1\156\1\uffff\1\145\3\172\1\uffff\1\156\1\164\1\157\1\172\1\171\3\uffff\1\171\1\156\2\162\1\156\1\uffff\1\172\2\uffff\3\172\1\145\1\143\1\172\1\156\1\162\1\145\1\156\1\163\1\154\1\uffff\1\145\1\162\1\172\1\146\1\164\1\171\1\164\1\162\1\172\1\162\1\141\3\145\1\162\2\145\1\172\1\uffff\3\145\1\172\1\151\1\145\1\154\1\172\1\164\1\163\1\145\1\uffff\1\151\1\141\1\151\2\uffff\1\143\2\172\1\uffff\1\151\1\172\3\uffff\1\145\1\172\1\156\1\uffff\1\172\1\163\1\144\1\164\1\172\1\164\4\uffff\1\172\1\164\1\uffff\1\172\2\145\1\172\1\163\1\172\1\165\1\172\1\uffff\1\172\1\163\2\172\1\144\1\uffff\1\156\1\163\1\172\1\163\1\162\1\151\1\156\1\144\1\uffff\3\172\1\uffff\1\156\1\165\1\157\1\uffff\1\150\1\164\1\172\1\156\1\154\1\157\1\150\2\uffff\1\164\1\uffff\1\154\1\uffff\1\145\1\uffff\3\172\1\uffff\2\172\1\uffff\1\172\1\uffff\1\172\1\156\1\uffff\1\172\1\uffff\1\145\2\uffff\1\172\2\uffff\2\172\1\145\1\uffff\1\163\3\164\1\145\3\uffff\1\172\1\145\1\143\1\172\1\157\1\uffff\1\147\1\172\1\156\1\172\1\145\1\172\1\156\7\uffff\1\172\1\uffff\1\172\3\uffff\2\172\2\171\1\172\1\163\1\uffff\1\172\1\153\1\uffff\2\172\1\uffff\1\172\1\uffff\1\154\1\uffff\1\164\4\uffff\2\172\1\uffff\1\172\1\uffff\1\146\3\uffff\1\171\1\172\3\uffff\1\162\1\157\1\uffff\1\145\1\146\1\145\1\164\1\172\1\145\1\uffff\1\156\1\172\1\uffff"; + static final String DFA11_acceptS = + "\5\uffff\1\5\1\6\1\7\21\uffff\1\37\1\uffff\1\50\1\54\1\62\1\63\1\64\3\uffff\1\107\3\uffff\1\123\1\127\1\133\1\uffff\1\135\2\uffff\1\u0082\2\uffff\1\u0087\1\u0088\1\121\1\1\1\106\1\137\1\2\1\3\1\23\5\uffff\1\u0082\1\5\1\6\1\7\1\51\1\10\41\uffff\1\66\13\uffff\1\53\1\36\1\37\4\uffff\1\50\1\54\1\62\1\63\1\64\1\101\1\146\1\147\1\65\6\uffff\1\107\1\113\1\115\1\116\1\120\1\117\1\u0085\1\u0086\1\122\1\123\1\127\1\133\1\136\1\134\1\135\1\uffff\1\u0081\1\uffff\1\u0083\1\u0084\1\u0087\6\uffff\1\11\3\uffff\1\17\1\67\4\uffff\1\77\17\uffff\1\16\1\uffff\1\103\1\112\14\uffff\1\144\1\27\31\uffff\1\75\14\uffff\1\165\2\uffff\1\25\2\uffff\1\12\4\uffff\1\177\5\uffff\1\60\1\114\1\110\5\uffff\1\20\1\uffff\1\124\1\24\14\uffff\1\31\22\uffff\1\105\13\uffff\1\151\3\uffff\1\130\1\44\3\uffff\1\43\2\uffff\1\13\1\70\1\142\3\uffff\1\100\6\uffff\1\21\1\57\1\172\1\22\2\uffff\1\26\10\uffff\1\71\5\uffff\1\46\10\uffff\1\40\3\uffff\1\104\3\uffff\1\102\7\uffff\1\125\1\143\1\uffff\1\176\1\uffff\1\34\1\uffff\1\15\3\uffff\1\157\2\uffff\1\175\1\uffff\1\55\2\uffff\1\30\1\uffff\1\161\1\uffff\1\173\1\72\1\uffff\1\132\1\u0080\3\uffff\1\33\5\uffff\1\47\1\61\1\74\5\uffff\1\174\7\uffff\1\166\1\141\1\145\1\164\1\42\1\73\1\162\1\uffff\1\52\1\uffff\1\111\1\32\1\56\6\uffff\1\160\2\uffff\1\126\2\uffff\1\154\1\uffff\1\76\1\uffff\1\14\1\uffff\1\163\1\140\1\171\1\35\2\uffff\1\155\1\uffff\1\131\1\uffff\1\167\1\156\1\4\2\uffff\1\150\1\41\1\170\2\uffff\1\45\6\uffff\1\152\2\uffff\1\153"; + static final String DFA11_specialS = + "\1\0\56\uffff\1\1\1\2\u01c6\uffff}>"; + static final String[] DFA11_transitionS = { + "\11\62\2\61\2\62\1\61\22\62\1\61\1\35\1\57\1\3\1\50\1\47\1\33\1\60\1\5\1\7\1\43\1\37\1\6\1\40\1\22\1\46\12\55\1\10\1\34\1\45\1\44\1\1\1\36\1\62\32\56\1\30\1\62\1\31\1\51\1\56\1\62\1\15\1\21\1\14\1\41\1\24\1\4\2\56\1\11\2\56\1\42\1\54\1\17\1\16\1\27\1\26\1\25\1\20\1\13\1\23\1\12\1\32\3\56\1\52\1\2\1\53\uff82\62", + "\1\63", + "\1\65\1\66", + "\1\70", + "\1\76\7\uffff\1\75\5\uffff\1\74\2\uffff\1\73\2\uffff\1\72", + "", + "", + "", + "\1\103", + "\1\107\7\uffff\1\106\4\uffff\1\105", + "\1\110", + "\1\115\6\uffff\1\112\6\uffff\1\113\2\uffff\1\114\6\uffff\1\111", + "\1\120\6\uffff\1\116\6\uffff\1\117", + "\1\127\3\uffff\1\126\5\uffff\1\123\1\uffff\1\122\1\uffff\1\124\1\uffff\1\121\1\125", + "\1\130\7\uffff\1\132\3\uffff\1\133\2\uffff\1\131", + "\1\135\3\uffff\1\137\11\uffff\1\134\5\uffff\1\136", + "\1\142\16\uffff\1\141\4\uffff\1\140", + "\1\144\11\uffff\1\143", + "\1\145", + "\1\147", + "\1\151\1\153\1\150\7\uffff\1\154\1\uffff\1\152", + "\1\155", + "\1\156", + "\1\161\15\uffff\1\160\2\uffff\1\157", + "\1\162", + "", + "\1\167\6\uffff\1\166\1\170\10\uffff\1\165", + "", + "", + "", + "", + "", + "\1\176\47\uffff\1\u0080\15\uffff\1\177", + "\1\u0083\11\uffff\1\u0082", + "\1\u0087\3\uffff\1\u0085\11\uffff\1\u0084\4\uffff\1\u0086", + "", + "\1\u0089", + "\1\u008c\1\u008b", + "\1\u008e\4\uffff\1\u008f", + "", + "", + "", + "\1\u0094", + "", + "\1\u0097", + "\1\u009a\1\uffff\12\u0099", + "", + "\0\u009b", + "\0\u009b", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u009e\1\uffff\1\u009d", + "\1\u009f", + "\1\u00a0", + "\1\u00a1", + "\1\u00a2", + "", + "", + "", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\5\77\1\u00a6\2\77\1\u00a5\12\77\1\u00a4\6\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00aa\5\uffff\1\u00a9", + "\1\u00ab", + "\1\u00ac", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00ae", + "\1\u00af", + "\1\u00b0", + "\1\u00b2\1\u00b1", + "\1\u00b3", + "\1\u00b4", + "\1\u00b6\24\uffff\1\u00b5", + "\1\u00b7\12\uffff\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\1\u00bb", + "\1\u00bc", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00be", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00c1\5\uffff\1\u00c2", + "\1\u00c3", + "\1\u00c4", + "\1\u00c5", + "\1\u00c6", + "\1\u00c7", + "\1\u00c8", + "\1\u00c9", + "\1\u00cb\1\u00ca\14\uffff\1\u00cc", + "\1\u00cd", + "", + "\1\u00cf\2\uffff\1\u00d0\7\uffff\1\u00d1", + "\1\u00d2\14\uffff\1\u00d3\2\uffff\1\u00d4", + "\1\u00d5", + "\1\u00d6", + "\1\u00d7", + "\1\u00d8", + "\1\u00da\1\uffff\1\u00d9\10\uffff\1\u00dc\7\uffff\1\u00db", + "\1\u00dd", + "\1\u00e0\3\uffff\1\u00df\5\uffff\1\u00de", + "\1\u00e1", + "\1\u00e2", + "", + "", + "", + "\1\u00e3", + "\1\u00e4\3\uffff\1\u00e5", + "\1\u00e6", + "\1\u00e7", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00ea\17\uffff\1\u00e9", + "\1\u00eb", + "\1\u00ed\14\uffff\1\u00ec", + "\1\u00ee", + "\1\u00ef", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\u00f0", + "", + "\1\u009a\1\uffff\12\u0099", + "", + "", + "", + "\1\u00f1", + "\1\u00f2", + "\1\u00f3", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\4\77\1\u00f4\25\77", + "\1\u00f6", + "\1\u00f7", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00f9", + "\1\u00fa", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u00fc", + "\1\u00fd", + "\1\u00fe", + "", + "\1\u00ff", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0101", + "\1\u0102", + "\1\u0103", + "\1\u0104", + "\1\u0105", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0109", + "\1\u010a", + "\1\u010b", + "\1\u010c", + "\1\u010d", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "\1\u010f", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0112", + "\1\u0113", + "\1\u0114", + "\1\u0115", + "\1\u0116", + "\1\u0117", + "\1\u0118", + "\1\u0119", + "\1\u011a", + "", + "", + "\1\u011b", + "\1\u011c", + "\1\u011d", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u011f", + "\1\u0120", + "\1\u0121\3\uffff\1\u0122", + "\1\u0123", + "\1\u0124", + "\1\u0125", + "\1\u0126", + "\1\u0127", + "\1\u0128", + "\1\u0129", + "\1\u012a", + "\1\u012b\14\uffff\1\u012c", + "\1\u012d", + "\1\u012f\17\uffff\1\u012e", + "\1\u0130", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0132", + "\1\u0133", + "\1\u0134", + "\1\u0135", + "\1\u0136", + "", + "\1\u0137", + "\1\u0138", + "\1\u0139", + "\1\u013a", + "\1\u013b\21\uffff\1\u013c", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u013e", + "\1\u013f", + "\1\u0140", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0143", + "", + "\1\u0144", + "\1\u0145", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0147", + "", + "\1\u0148", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u014c", + "\1\u014d", + "\1\u014e", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0150", + "", + "", + "", + "\1\u0151", + "\1\u0152", + "\1\u0153", + "\1\u0154", + "\1\u0155", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u015a", + "\1\u015b", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u015d", + "\1\u015e", + "\1\u015f", + "\1\u0160", + "\1\u0161", + "\1\u0162", + "", + "\1\u0163", + "\1\u0164", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0166", + "\1\u0167", + "\1\u0168", + "\1\u0169", + "\1\u016a", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u016c", + "\1\u016d", + "\1\u016e", + "\1\u016f", + "\1\u0170", + "\1\u0171", + "\1\u0172", + "\1\u0173", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u0175", + "\1\u0176", + "\1\u0177", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0179", + "\1\u017a", + "\1\u017b", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u017d", + "\1\u017e", + "\1\u017f", + "", + "\1\u0180", + "\1\u0181", + "\1\u0182", + "", + "", + "\1\u0183", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u0186", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "", + "\1\u0188", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u018a", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u018c", + "\1\u018d", + "\1\u018e", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0190", + "", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\22\77\1\u0191\7\77", + "\1\u0193", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0195", + "\1\u0196", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u0198", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u019a", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u019d", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01a0", + "", + "\1\u01a1", + "\1\u01a2", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01a4", + "\1\u01a5", + "\1\u01a6", + "\1\u01a7", + "\1\u01a8", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u01ac", + "\1\u01ad", + "\1\u01ae", + "", + "\1\u01af", + "\1\u01b0", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01b2", + "\1\u01b3", + "\1\u01b4", + "\1\u01b5", + "", + "", + "\1\u01b6", + "", + "\1\u01b7", + "", + "\1\u01b8", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01c0", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u01c2", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01c6", + "", + "\1\u01c7", + "\1\u01c8", + "\1\u01c9", + "\1\u01ca", + "\1\u01cb", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01cd", + "\1\u01ce", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01d0", + "", + "\1\u01d1", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01d3", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01d5", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01d7", + "", + "", + "", + "", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01dc", + "\1\u01dd", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01df", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01e1", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u01e5", + "", + "\1\u01e6", + "", + "", + "", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "\1\u01ea", + "", + "", + "", + "\1\u01eb", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "", + "", + "", + "\1\u01ed", + "\1\u01ee", + "", + "\1\u01ef", + "\1\u01f0", + "\1\u01f1", + "\1\u01f2", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "\1\u01f4", + "", + "\1\u01f5", + "\12\77\7\uffff\32\77\4\uffff\1\77\1\uffff\32\77", + "" + }; + + 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') ) {s = 1;} + + else if ( (LA11_0=='|') ) {s = 2;} + + else if ( (LA11_0=='#') ) {s = 3;} + + else if ( (LA11_0=='f') ) {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=='i') ) {s = 9;} + + else if ( (LA11_0=='v') ) {s = 10;} + + else if ( (LA11_0=='t') ) {s = 11;} + + else if ( (LA11_0=='c') ) {s = 12;} + + else if ( (LA11_0=='a') ) {s = 13;} + + else if ( (LA11_0=='o') ) {s = 14;} + + else if ( (LA11_0=='n') ) {s = 15;} + + else if ( (LA11_0=='s') ) {s = 16;} + + else if ( (LA11_0=='b') ) {s = 17;} + + else if ( (LA11_0=='.') ) {s = 18;} + + else if ( (LA11_0=='u') ) {s = 19;} + + else if ( (LA11_0=='e') ) {s = 20;} + + else if ( (LA11_0=='r') ) {s = 21;} + + else if ( (LA11_0=='q') ) {s = 22;} + + else if ( (LA11_0=='p') ) {s = 23;} + + else if ( (LA11_0=='[') ) {s = 24;} + + else if ( (LA11_0==']') ) {s = 25;} + + else if ( (LA11_0=='w') ) {s = 26;} + + else if ( (LA11_0=='&') ) {s = 27;} + + else if ( (LA11_0==';') ) {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=='d') ) {s = 33;} + + else if ( (LA11_0=='l') ) {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=='$') ) {s = 40;} + + else if ( (LA11_0=='^') ) {s = 41;} + + else if ( (LA11_0=='{') ) {s = 42;} + + else if ( (LA11_0=='}') ) {s = 43;} + + else if ( (LA11_0=='m') ) {s = 44;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 45;} + + else if ( ((LA11_0>='A' && LA11_0<='Z')||LA11_0=='_'||(LA11_0>='g' && LA11_0<='h')||(LA11_0>='j' && LA11_0<='k')||(LA11_0>='x' && LA11_0<='z')) ) {s = 46;} + + else if ( (LA11_0=='\"') ) {s = 47;} + + else if ( (LA11_0=='\'') ) {s = 48;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 49;} + + 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<='\uFFFF')) ) {s = 50;} + + if ( s>=0 ) return s; + break; + case 1 : + int LA11_47 = input.LA(1); + + s = -1; + if ( ((LA11_47>='\u0000' && LA11_47<='\uFFFF')) ) {s = 155;} + + else s = 50; + + if ( s>=0 ) return s; + break; + case 2 : + int LA11_48 = input.LA(1); + + s = -1; + if ( ((LA11_48>='\u0000' && LA11_48<='\uFFFF')) ) {s = 155;} + + else s = 50; + + 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/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreParser.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreParser.java new file mode 100644 index 0000000..9d73ade --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/parser/antlr/internal/InternalFiacreParser.java @@ -0,0 +1,38063 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.fiacre.xtext.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.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 fr.irit.fiacre.xtext.services.FiacreGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +@SuppressWarnings("all") +public class InternalFiacreParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "", "", "", "", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_FLT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'>'", "'|'", "'#include'", "'function'", "'('", "','", "')'", "':'", "'is'", "'var'", "'type'", "'channel'", "'array'", "'of'", "'in'", "'out'", "'none'", "'sync'", "'#'", "'nat'", "'int'", "'bool'", "'..'", "'union'", "'end'", "'record'", "'queue'", "'const'", "'process'", "'['", "']'", "'port'", "'priority'", "'states'", "'init'", "'from'", "'component'", "'read'", "'write'", "'&'", "':='", "'unless'", "'[]'", "';'", "'begin'", "'return'", "'null'", "'any'", "'where'", "'!'", "'?'", "'+'", "'-'", "'.'", "'if'", "'then'", "'else'", "'elsif'", "'select'", "'while'", "'do'", "'foreach'", "'to'", "'case'", "'->'", "'loop'", "'on'", "'wait'", "'par'", "'||'", "'*'", "'all'", "'exists'", "'or'", "'=>'", "'and'", "'='", "'<>'", "'<'", "'<='", "'>='", "'/'", "'%'", "'not'", "'first'", "'length'", "'$'", "'full'", "'dequeue'", "'empty'", "'^'", "'{'", "'}'", "'{|'", "'|}'", "'enqueue'", "'append'", "'true'", "'false'", "'...'", "'assert'", "'-true'", "'-false'", "'property'", "'ltl'", "'deadlockfree'", "'infinitelyoften'", "'mortal'", "'present'", "'lasting'", "'after'", "'within'", "'until'", "'before'", "'between'", "'absent'", "'for'", "'always'", "'leadsto'", "'precedes'", "'release'", "'next'", "'enter'", "'leave'", "'state'", "'value'", "'tag'", "'event'" + }; + public static final int T__50=50; + public static final int T__59=59; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__137=137; + public static final int T__52=52; + public static final int T__136=136; + public static final int T__53=53; + public static final int T__139=139; + public static final int T__54=54; + public static final int T__138=138; + public static final int T__133=133; + public static final int T__132=132; + public static final int T__60=60; + public static final int T__135=135; + public static final int T__61=61; + public static final int T__134=134; + public static final int RULE_ID=4; + public static final int T__131=131; + public static final int T__130=130; + public static final int RULE_INT=6; + public static final int T__66=66; + public static final int RULE_ML_COMMENT=8; + public static final int T__67=67; + public static final int T__129=129; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__62=62; + public static final int T__126=126; + public static final int T__63=63; + public static final int T__125=125; + public static final int T__64=64; + public static final int T__128=128; + public static final int T__65=65; + public static final int T__127=127; + 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 T__30=30; + public static final int T__31=31; + public static final int T__32=32; + 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; + public static final int T__91=91; + public static final int T__100=100; + public static final int T__92=92; + public static final int T__93=93; + public static final int T__102=102; + public static final int T__94=94; + public static final int T__101=101; + public static final int T__90=90; + public static final int T__19=19; + public static final int T__15=15; + 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__99=99; + public static final int T__12=12; + public static final int T__13=13; + public static final int T__14=14; + public static final int T__95=95; + public static final int T__96=96; + public static final int T__97=97; + public static final int T__98=98; + public static final int RULE_FLT=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 T__29=29; + public static final int T__22=22; + 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 T__122=122; + public static final int T__70=70; + public static final int T__121=121; + public static final int T__71=71; + public static final int T__124=124; + public static final int T__72=72; + public static final int T__123=123; + public static final int T__120=120; + public static final int RULE_STRING=5; + public static final int RULE_SL_COMMENT=9; + public static final int T__77=77; + public static final int T__119=119; + public static final int T__78=78; + public static final int T__118=118; + public static final int T__79=79; + public static final int T__73=73; + public static final int T__115=115; + public static final int EOF=-1; + public static final int T__74=74; + public static final int T__114=114; + public static final int T__75=75; + public static final int T__117=117; + public static final int T__76=76; + public static final int T__116=116; + public static final int T__80=80; + public static final int T__111=111; + public static final int T__81=81; + public static final int T__110=110; + public static final int T__82=82; + public static final int T__113=113; + public static final int T__83=83; + public static final int T__112=112; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__88=88; + public static final int T__108=108; + public static final int T__89=89; + public static final int T__107=107; + public static final int T__109=109; + public static final int T__84=84; + public static final int T__104=104; + public static final int T__85=85; + public static final int T__103=103; + public static final int T__86=86; + public static final int T__106=106; + public static final int T__87=87; + public static final int T__105=105; + + // delegates + // delegators + + + public InternalFiacreParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalFiacreParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalFiacreParser.tokenNames; } + public String getGrammarFileName() { return "InternalFiacre.g"; } + + + + /* + This grammar contains a lot of empty actions to work around a bug in ANTLR. + Otherwise the ANTLR tool will create synpreds that cannot be compiled in some rare cases. + */ + + private FiacreGrammarAccess grammarAccess; + + public InternalFiacreParser(TokenStream input, FiacreGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Model"; + } + + @Override + protected FiacreGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + + // $ANTLR start "entryRuleModel" + // InternalFiacre.g:70:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; + public final EObject entryRuleModel() throws RecognitionException { + EObject current = null; + + EObject iv_ruleModel = null; + + + try { + // InternalFiacre.g:70:46: (iv_ruleModel= ruleModel EOF ) + // InternalFiacre.g:71:2: iv_ruleModel= ruleModel EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getModelRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleModel=ruleModel(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleModel; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleModel" + + + // $ANTLR start "ruleModel" + // InternalFiacre.g:77:1: ruleModel returns [EObject current=null] : ( () ( (lv_imports_1_0= ruleImportDeclaration ) )* ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* ) ; + public final EObject ruleModel() throws RecognitionException { + EObject current = null; + + EObject lv_imports_1_0 = null; + + EObject lv_declarations_2_0 = null; + + EObject lv_requirements_3_0 = null; + + EObject lv_root_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:83:2: ( ( () ( (lv_imports_1_0= ruleImportDeclaration ) )* ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* ) ) + // InternalFiacre.g:84:2: ( () ( (lv_imports_1_0= ruleImportDeclaration ) )* ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* ) + { + // InternalFiacre.g:84:2: ( () ( (lv_imports_1_0= ruleImportDeclaration ) )* ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* ) + // InternalFiacre.g:85:3: () ( (lv_imports_1_0= ruleImportDeclaration ) )* ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* + { + // InternalFiacre.g:85:3: () + // InternalFiacre.g:86:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getModelAccess().getModelAction_0(), + current); + + } + + } + + // InternalFiacre.g:95:3: ( (lv_imports_1_0= ruleImportDeclaration ) )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==14) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalFiacre.g:96:4: (lv_imports_1_0= ruleImportDeclaration ) + { + // InternalFiacre.g:96:4: (lv_imports_1_0= ruleImportDeclaration ) + // InternalFiacre.g:97:5: lv_imports_1_0= ruleImportDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModelAccess().getImportsImportDeclarationParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_3); + lv_imports_1_0=ruleImportDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + current, + "imports", + lv_imports_1_0, + "fr.irit.fiacre.xtext.Fiacre.ImportDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop1; + } + } while (true); + + // InternalFiacre.g:114:3: ( ( (lv_declarations_2_0= ruleDeclaration ) ) | ( (lv_requirements_3_0= ruleRequirement ) ) | ( (lv_root_4_0= ruleRoot ) ) )* + loop2: + do { + int alt2=4; + switch ( input.LA(1) ) { + case 15: + case 22: + case 23: + case 39: + case 40: + case 48: + case 115: + { + alt2=1; + } + break; + case 112: + { + alt2=2; + } + break; + case RULE_ID: + { + alt2=3; + } + break; + + } + + switch (alt2) { + case 1 : + // InternalFiacre.g:115:4: ( (lv_declarations_2_0= ruleDeclaration ) ) + { + // InternalFiacre.g:115:4: ( (lv_declarations_2_0= ruleDeclaration ) ) + // InternalFiacre.g:116:5: (lv_declarations_2_0= ruleDeclaration ) + { + // InternalFiacre.g:116:5: (lv_declarations_2_0= ruleDeclaration ) + // InternalFiacre.g:117:6: lv_declarations_2_0= ruleDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModelAccess().getDeclarationsDeclarationParserRuleCall_2_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_4); + lv_declarations_2_0=ruleDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + current, + "declarations", + lv_declarations_2_0, + "fr.irit.fiacre.xtext.Fiacre.Declaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:135:4: ( (lv_requirements_3_0= ruleRequirement ) ) + { + // InternalFiacre.g:135:4: ( (lv_requirements_3_0= ruleRequirement ) ) + // InternalFiacre.g:136:5: (lv_requirements_3_0= ruleRequirement ) + { + // InternalFiacre.g:136:5: (lv_requirements_3_0= ruleRequirement ) + // InternalFiacre.g:137:6: lv_requirements_3_0= ruleRequirement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModelAccess().getRequirementsRequirementParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_4); + lv_requirements_3_0=ruleRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + current, + "requirements", + lv_requirements_3_0, + "fr.irit.fiacre.xtext.Fiacre.Requirement"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:155:4: ( (lv_root_4_0= ruleRoot ) ) + { + // InternalFiacre.g:155:4: ( (lv_root_4_0= ruleRoot ) ) + // InternalFiacre.g:156:5: (lv_root_4_0= ruleRoot ) + { + // InternalFiacre.g:156:5: (lv_root_4_0= ruleRoot ) + // InternalFiacre.g:157:6: lv_root_4_0= ruleRoot + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModelAccess().getRootRootParserRuleCall_2_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_4); + lv_root_4_0=ruleRoot(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModelRule()); + } + add( + current, + "root", + lv_root_4_0, + "fr.irit.fiacre.xtext.Fiacre.Root"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop2; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleModel" + + + // $ANTLR start "entryRuleRoot" + // InternalFiacre.g:179:1: entryRuleRoot returns [EObject current=null] : iv_ruleRoot= ruleRoot EOF ; + public final EObject entryRuleRoot() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRoot = null; + + + try { + // InternalFiacre.g:179:45: (iv_ruleRoot= ruleRoot EOF ) + // InternalFiacre.g:180:2: iv_ruleRoot= ruleRoot EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRootRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRoot=ruleRoot(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRoot; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRoot" + + + // $ANTLR start "ruleRoot" + // InternalFiacre.g:186:1: ruleRoot returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? ) ; + public final EObject ruleRoot() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_5=null; + + + enterRule(); + + try { + // InternalFiacre.g:192:2: ( ( () ( (otherlv_1= RULE_ID ) ) (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? ) ) + // InternalFiacre.g:193:2: ( () ( (otherlv_1= RULE_ID ) ) (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? ) + { + // InternalFiacre.g:193:2: ( () ( (otherlv_1= RULE_ID ) ) (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? ) + // InternalFiacre.g:194:3: () ( (otherlv_1= RULE_ID ) ) (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? + { + // InternalFiacre.g:194:3: () + // InternalFiacre.g:195:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getRootAccess().getRootAction_0(), + current); + + } + + } + + // InternalFiacre.g:204:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:205:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:205:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:206:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRootRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_5); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getRootAccess().getDeclarationRootDeclarationCrossReference_1_0()); + + } + + } + + + } + + // InternalFiacre.g:220:3: (otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==12) ) { + alt4=1; + } + switch (alt4) { + case 1 : + // InternalFiacre.g:221:4: otherlv_2= '>' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) + { + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getRootAccess().getGreaterThanSignKeyword_2_0()); + + } + // InternalFiacre.g:225:4: ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* ) + // InternalFiacre.g:226:5: ( (otherlv_3= RULE_ID ) ) (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* + { + // InternalFiacre.g:226:5: ( (otherlv_3= RULE_ID ) ) + // InternalFiacre.g:227:6: (otherlv_3= RULE_ID ) + { + // InternalFiacre.g:227:6: (otherlv_3= RULE_ID ) + // InternalFiacre.g:228:7: otherlv_3= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRootRule()); + } + + } + otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_0_0()); + + } + + } + + + } + + // InternalFiacre.g:242:5: (otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) )* + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==13) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalFiacre.g:243:6: otherlv_4= '|' ( (otherlv_5= RULE_ID ) ) + { + otherlv_4=(Token)match(input,13,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getRootAccess().getVerticalLineKeyword_2_1_1_0()); + + } + // InternalFiacre.g:247:6: ( (otherlv_5= RULE_ID ) ) + // InternalFiacre.g:248:7: (otherlv_5= RULE_ID ) + { + // InternalFiacre.g:248:7: (otherlv_5= RULE_ID ) + // InternalFiacre.g:249:8: otherlv_5= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRootRule()); + } + + } + otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getRootAccess().getObservedRootDeclarationCrossReference_2_1_1_1_0()); + + } + + } + + + } + + + } + break; + + default : + break loop3; + } + } while (true); + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRoot" + + + // $ANTLR start "entryRuleImportDeclaration" + // InternalFiacre.g:270:1: entryRuleImportDeclaration returns [EObject current=null] : iv_ruleImportDeclaration= ruleImportDeclaration EOF ; + public final EObject entryRuleImportDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleImportDeclaration = null; + + + try { + // InternalFiacre.g:270:58: (iv_ruleImportDeclaration= ruleImportDeclaration EOF ) + // InternalFiacre.g:271:2: iv_ruleImportDeclaration= ruleImportDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getImportDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleImportDeclaration=ruleImportDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleImportDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleImportDeclaration" + + + // $ANTLR start "ruleImportDeclaration" + // InternalFiacre.g:277:1: ruleImportDeclaration returns [EObject current=null] : (otherlv_0= '#include' ( (lv_importURI_1_0= RULE_STRING ) ) ) ; + public final EObject ruleImportDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_importURI_1_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:283:2: ( (otherlv_0= '#include' ( (lv_importURI_1_0= RULE_STRING ) ) ) ) + // InternalFiacre.g:284:2: (otherlv_0= '#include' ( (lv_importURI_1_0= RULE_STRING ) ) ) + { + // InternalFiacre.g:284:2: (otherlv_0= '#include' ( (lv_importURI_1_0= RULE_STRING ) ) ) + // InternalFiacre.g:285:3: otherlv_0= '#include' ( (lv_importURI_1_0= RULE_STRING ) ) + { + otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_8); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getImportDeclarationAccess().getIncludeKeyword_0()); + + } + // InternalFiacre.g:289:3: ( (lv_importURI_1_0= RULE_STRING ) ) + // InternalFiacre.g:290:4: (lv_importURI_1_0= RULE_STRING ) + { + // InternalFiacre.g:290:4: (lv_importURI_1_0= RULE_STRING ) + // InternalFiacre.g:291:5: lv_importURI_1_0= RULE_STRING + { + lv_importURI_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_importURI_1_0, grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getImportDeclarationRule()); + } + setWithLastConsumed( + current, + "importURI", + lv_importURI_1_0, + "org.eclipse.xtext.common.Terminals.STRING"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleImportDeclaration" + + + // $ANTLR start "entryRuleDeclaration" + // InternalFiacre.g:311:1: entryRuleDeclaration returns [EObject current=null] : iv_ruleDeclaration= ruleDeclaration EOF ; + public final EObject entryRuleDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDeclaration = null; + + + try { + // InternalFiacre.g:311:52: (iv_ruleDeclaration= ruleDeclaration EOF ) + // InternalFiacre.g:312:2: iv_ruleDeclaration= ruleDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDeclaration=ruleDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDeclaration" + + + // $ANTLR start "ruleDeclaration" + // InternalFiacre.g:318:1: ruleDeclaration returns [EObject current=null] : (this_TypeDeclaration_0= ruleTypeDeclaration | this_ChannelDeclaration_1= ruleChannelDeclaration | this_ConstantDeclaration_2= ruleConstantDeclaration | this_ParameterizedDeclaration_3= ruleParameterizedDeclaration | this_PropertyDeclaration_4= rulePropertyDeclaration ) ; + public final EObject ruleDeclaration() throws RecognitionException { + EObject current = null; + + EObject this_TypeDeclaration_0 = null; + + EObject this_ChannelDeclaration_1 = null; + + EObject this_ConstantDeclaration_2 = null; + + EObject this_ParameterizedDeclaration_3 = null; + + EObject this_PropertyDeclaration_4 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:324:2: ( (this_TypeDeclaration_0= ruleTypeDeclaration | this_ChannelDeclaration_1= ruleChannelDeclaration | this_ConstantDeclaration_2= ruleConstantDeclaration | this_ParameterizedDeclaration_3= ruleParameterizedDeclaration | this_PropertyDeclaration_4= rulePropertyDeclaration ) ) + // InternalFiacre.g:325:2: (this_TypeDeclaration_0= ruleTypeDeclaration | this_ChannelDeclaration_1= ruleChannelDeclaration | this_ConstantDeclaration_2= ruleConstantDeclaration | this_ParameterizedDeclaration_3= ruleParameterizedDeclaration | this_PropertyDeclaration_4= rulePropertyDeclaration ) + { + // InternalFiacre.g:325:2: (this_TypeDeclaration_0= ruleTypeDeclaration | this_ChannelDeclaration_1= ruleChannelDeclaration | this_ConstantDeclaration_2= ruleConstantDeclaration | this_ParameterizedDeclaration_3= ruleParameterizedDeclaration | this_PropertyDeclaration_4= rulePropertyDeclaration ) + int alt5=5; + switch ( input.LA(1) ) { + case 22: + { + alt5=1; + } + break; + case 23: + { + alt5=2; + } + break; + case 39: + { + alt5=3; + } + break; + case 15: + case 40: + case 48: + { + alt5=4; + } + break; + case 115: + { + alt5=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + + switch (alt5) { + case 1 : + // InternalFiacre.g:326:3: this_TypeDeclaration_0= ruleTypeDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDeclarationAccess().getTypeDeclarationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_TypeDeclaration_0=ruleTypeDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_TypeDeclaration_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:338:3: this_ChannelDeclaration_1= ruleChannelDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDeclarationAccess().getChannelDeclarationParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ChannelDeclaration_1=ruleChannelDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ChannelDeclaration_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:350:3: this_ConstantDeclaration_2= ruleConstantDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDeclarationAccess().getConstantDeclarationParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ConstantDeclaration_2=ruleConstantDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ConstantDeclaration_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:362:3: this_ParameterizedDeclaration_3= ruleParameterizedDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDeclarationAccess().getParameterizedDeclarationParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ParameterizedDeclaration_3=ruleParameterizedDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ParameterizedDeclaration_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalFiacre.g:374:3: this_PropertyDeclaration_4= rulePropertyDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDeclarationAccess().getPropertyDeclarationParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PropertyDeclaration_4=rulePropertyDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PropertyDeclaration_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDeclaration" + + + // $ANTLR start "entryRuleParameterizedDeclaration" + // InternalFiacre.g:389:1: entryRuleParameterizedDeclaration returns [EObject current=null] : iv_ruleParameterizedDeclaration= ruleParameterizedDeclaration EOF ; + public final EObject entryRuleParameterizedDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParameterizedDeclaration = null; + + + try { + // InternalFiacre.g:389:65: (iv_ruleParameterizedDeclaration= ruleParameterizedDeclaration EOF ) + // InternalFiacre.g:390:2: iv_ruleParameterizedDeclaration= ruleParameterizedDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getParameterizedDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleParameterizedDeclaration=ruleParameterizedDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleParameterizedDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParameterizedDeclaration" + + + // $ANTLR start "ruleParameterizedDeclaration" + // InternalFiacre.g:396:1: ruleParameterizedDeclaration returns [EObject current=null] : (this_ProcessDeclaration_0= ruleProcessDeclaration | this_ComponentDeclaration_1= ruleComponentDeclaration | this_FunctionDeclaration_2= ruleFunctionDeclaration ) ; + public final EObject ruleParameterizedDeclaration() throws RecognitionException { + EObject current = null; + + EObject this_ProcessDeclaration_0 = null; + + EObject this_ComponentDeclaration_1 = null; + + EObject this_FunctionDeclaration_2 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:402:2: ( (this_ProcessDeclaration_0= ruleProcessDeclaration | this_ComponentDeclaration_1= ruleComponentDeclaration | this_FunctionDeclaration_2= ruleFunctionDeclaration ) ) + // InternalFiacre.g:403:2: (this_ProcessDeclaration_0= ruleProcessDeclaration | this_ComponentDeclaration_1= ruleComponentDeclaration | this_FunctionDeclaration_2= ruleFunctionDeclaration ) + { + // InternalFiacre.g:403:2: (this_ProcessDeclaration_0= ruleProcessDeclaration | this_ComponentDeclaration_1= ruleComponentDeclaration | this_FunctionDeclaration_2= ruleFunctionDeclaration ) + int alt6=3; + switch ( input.LA(1) ) { + case 40: + { + alt6=1; + } + break; + case 48: + { + alt6=2; + } + break; + case 15: + { + alt6=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + + switch (alt6) { + case 1 : + // InternalFiacre.g:404:3: this_ProcessDeclaration_0= ruleProcessDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getProcessDeclarationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ProcessDeclaration_0=ruleProcessDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ProcessDeclaration_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:416:3: this_ComponentDeclaration_1= ruleComponentDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getComponentDeclarationParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ComponentDeclaration_1=ruleComponentDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ComponentDeclaration_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:428:3: this_FunctionDeclaration_2= ruleFunctionDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParameterizedDeclarationAccess().getFunctionDeclarationParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_FunctionDeclaration_2=ruleFunctionDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_FunctionDeclaration_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParameterizedDeclaration" + + + // $ANTLR start "entryRuleFunctionDeclaration" + // InternalFiacre.g:443:1: entryRuleFunctionDeclaration returns [EObject current=null] : iv_ruleFunctionDeclaration= ruleFunctionDeclaration EOF ; + public final EObject entryRuleFunctionDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionDeclaration = null; + + + try { + // InternalFiacre.g:443:60: (iv_ruleFunctionDeclaration= ruleFunctionDeclaration EOF ) + // InternalFiacre.g:444:2: iv_ruleFunctionDeclaration= ruleFunctionDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFunctionDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleFunctionDeclaration=ruleFunctionDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFunctionDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionDeclaration" + + + // $ANTLR start "ruleFunctionDeclaration" + // InternalFiacre.g:450:1: ruleFunctionDeclaration returns [EObject current=null] : (otherlv_0= 'function' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) otherlv_7= ':' ( (lv_type_8_0= ruleType ) ) otherlv_9= 'is' (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? ( (lv_statement_14_0= ruleStatement ) ) ) ; + public final EObject ruleFunctionDeclaration() 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; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_parameters_3_0 = null; + + EObject lv_parameters_5_0 = null; + + EObject lv_type_8_0 = null; + + EObject lv_variables_11_0 = null; + + EObject lv_variables_13_0 = null; + + EObject lv_statement_14_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:456:2: ( (otherlv_0= 'function' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) otherlv_7= ':' ( (lv_type_8_0= ruleType ) ) otherlv_9= 'is' (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? ( (lv_statement_14_0= ruleStatement ) ) ) ) + // InternalFiacre.g:457:2: (otherlv_0= 'function' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) otherlv_7= ':' ( (lv_type_8_0= ruleType ) ) otherlv_9= 'is' (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? ( (lv_statement_14_0= ruleStatement ) ) ) + { + // InternalFiacre.g:457:2: (otherlv_0= 'function' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) otherlv_7= ':' ( (lv_type_8_0= ruleType ) ) otherlv_9= 'is' (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? ( (lv_statement_14_0= ruleStatement ) ) ) + // InternalFiacre.g:458:3: otherlv_0= 'function' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) otherlv_7= ':' ( (lv_type_8_0= ruleType ) ) otherlv_9= 'is' (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? ( (lv_statement_14_0= ruleStatement ) ) + { + otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getFunctionDeclarationAccess().getFunctionKeyword_0()); + + } + // InternalFiacre.g:462:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:463:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:463:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:464:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getFunctionDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getFunctionDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + // InternalFiacre.g:480:3: (otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' ) + // InternalFiacre.g:481:4: otherlv_2= '(' ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? otherlv_6= ')' + { + otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_10); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getFunctionDeclarationAccess().getLeftParenthesisKeyword_2_0()); + + } + // InternalFiacre.g:485:4: ( ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==RULE_ID||LA8_0==51) ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalFiacre.g:486:5: ( (lv_parameters_3_0= ruleParametersDeclaration ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* + { + // InternalFiacre.g:486:5: ( (lv_parameters_3_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:487:6: (lv_parameters_3_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:487:6: (lv_parameters_3_0= ruleParametersDeclaration ) + // InternalFiacre.g:488:7: lv_parameters_3_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_3_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:505:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0==17) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalFiacre.g:506:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleParametersDeclaration ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_2_1_1_0()); + + } + // InternalFiacre.g:510:6: ( (lv_parameters_5_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:511:7: (lv_parameters_5_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:511:7: (lv_parameters_5_0= ruleParametersDeclaration ) + // InternalFiacre.g:512:8: lv_parameters_5_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getParametersParametersDeclarationParserRuleCall_2_1_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_5_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop7; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_13); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getFunctionDeclarationAccess().getRightParenthesisKeyword_2_2()); + + } + + } + + otherlv_7=(Token)match(input,19,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getFunctionDeclarationAccess().getColonKeyword_3()); + + } + // InternalFiacre.g:540:3: ( (lv_type_8_0= ruleType ) ) + // InternalFiacre.g:541:4: (lv_type_8_0= ruleType ) + { + // InternalFiacre.g:541:4: (lv_type_8_0= ruleType ) + // InternalFiacre.g:542:5: lv_type_8_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getTypeTypeParserRuleCall_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_15); + lv_type_8_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + set( + current, + "type", + lv_type_8_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_9=(Token)match(input,20,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getFunctionDeclarationAccess().getIsKeyword_5()); + + } + // InternalFiacre.g:563:3: (otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==21) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // InternalFiacre.g:564:4: otherlv_10= 'var' ( (lv_variables_11_0= ruleVariablesDeclaration ) ) (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* + { + otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getFunctionDeclarationAccess().getVarKeyword_6_0()); + + } + // InternalFiacre.g:568:4: ( (lv_variables_11_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:569:5: (lv_variables_11_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:569:5: (lv_variables_11_0= ruleVariablesDeclaration ) + // InternalFiacre.g:570:6: lv_variables_11_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_17); + lv_variables_11_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + current, + "variables", + lv_variables_11_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:587:4: (otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==17) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // InternalFiacre.g:588:5: otherlv_12= ',' ( (lv_variables_13_0= ruleVariablesDeclaration ) ) + { + otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getFunctionDeclarationAccess().getCommaKeyword_6_2_0()); + + } + // InternalFiacre.g:592:5: ( (lv_variables_13_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:593:6: (lv_variables_13_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:593:6: (lv_variables_13_0= ruleVariablesDeclaration ) + // InternalFiacre.g:594:7: lv_variables_13_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_6_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_17); + lv_variables_13_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + add( + current, + "variables", + lv_variables_13_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop9; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:613:3: ( (lv_statement_14_0= ruleStatement ) ) + // InternalFiacre.g:614:4: (lv_statement_14_0= ruleStatement ) + { + // InternalFiacre.g:614:4: (lv_statement_14_0= ruleStatement ) + // InternalFiacre.g:615:5: lv_statement_14_0= ruleStatement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFunctionDeclarationAccess().getStatementStatementParserRuleCall_7_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_statement_14_0=ruleStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionDeclarationRule()); + } + set( + current, + "statement", + lv_statement_14_0, + "fr.irit.fiacre.xtext.Fiacre.Statement"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionDeclaration" + + + // $ANTLR start "entryRuleTypeDeclaration" + // InternalFiacre.g:636:1: entryRuleTypeDeclaration returns [EObject current=null] : iv_ruleTypeDeclaration= ruleTypeDeclaration EOF ; + public final EObject entryRuleTypeDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTypeDeclaration = null; + + + try { + // InternalFiacre.g:636:56: (iv_ruleTypeDeclaration= ruleTypeDeclaration EOF ) + // InternalFiacre.g:637:2: iv_ruleTypeDeclaration= ruleTypeDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTypeDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTypeDeclaration=ruleTypeDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTypeDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTypeDeclaration" + + + // $ANTLR start "ruleTypeDeclaration" + // InternalFiacre.g:643:1: ruleTypeDeclaration returns [EObject current=null] : (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleType ) ) ) ; + public final EObject ruleTypeDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + EObject lv_value_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:649:2: ( (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleType ) ) ) ) + // InternalFiacre.g:650:2: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleType ) ) ) + { + // InternalFiacre.g:650:2: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleType ) ) ) + // InternalFiacre.g:651:3: otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleType ) ) + { + otherlv_0=(Token)match(input,22,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getTypeDeclarationAccess().getTypeKeyword_0()); + + } + // InternalFiacre.g:655:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:656:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:656:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:657:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTypeDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getTypeDeclarationAccess().getIsKeyword_2()); + + } + // InternalFiacre.g:677:3: ( (lv_value_3_0= ruleType ) ) + // InternalFiacre.g:678:4: (lv_value_3_0= ruleType ) + { + // InternalFiacre.g:678:4: (lv_value_3_0= ruleType ) + // InternalFiacre.g:679:5: lv_value_3_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_3_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTypeDeclarationRule()); + } + set( + current, + "value", + lv_value_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTypeDeclaration" + + + // $ANTLR start "entryRuleChannelDeclaration" + // InternalFiacre.g:700:1: entryRuleChannelDeclaration returns [EObject current=null] : iv_ruleChannelDeclaration= ruleChannelDeclaration EOF ; + public final EObject entryRuleChannelDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleChannelDeclaration = null; + + + try { + // InternalFiacre.g:700:59: (iv_ruleChannelDeclaration= ruleChannelDeclaration EOF ) + // InternalFiacre.g:701:2: iv_ruleChannelDeclaration= ruleChannelDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getChannelDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleChannelDeclaration=ruleChannelDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleChannelDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleChannelDeclaration" + + + // $ANTLR start "ruleChannelDeclaration" + // InternalFiacre.g:707:1: ruleChannelDeclaration returns [EObject current=null] : (otherlv_0= 'channel' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleChannelType ) ) ) ; + public final EObject ruleChannelDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + EObject lv_value_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:713:2: ( (otherlv_0= 'channel' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleChannelType ) ) ) ) + // InternalFiacre.g:714:2: (otherlv_0= 'channel' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleChannelType ) ) ) + { + // InternalFiacre.g:714:2: (otherlv_0= 'channel' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleChannelType ) ) ) + // InternalFiacre.g:715:3: otherlv_0= 'channel' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_value_3_0= ruleChannelType ) ) + { + otherlv_0=(Token)match(input,23,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getChannelDeclarationAccess().getChannelKeyword_0()); + + } + // InternalFiacre.g:719:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:720:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:720:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:721:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getChannelDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_18); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getChannelDeclarationAccess().getIsKeyword_2()); + + } + // InternalFiacre.g:741:3: ( (lv_value_3_0= ruleChannelType ) ) + // InternalFiacre.g:742:4: (lv_value_3_0= ruleChannelType ) + { + // InternalFiacre.g:742:4: (lv_value_3_0= ruleChannelType ) + // InternalFiacre.g:743:5: lv_value_3_0= ruleChannelType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_3_0=ruleChannelType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getChannelDeclarationRule()); + } + set( + current, + "value", + lv_value_3_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleChannelDeclaration" + + + // $ANTLR start "entryRuleChannelType" + // InternalFiacre.g:764:1: entryRuleChannelType returns [EObject current=null] : iv_ruleChannelType= ruleChannelType EOF ; + public final EObject entryRuleChannelType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleChannelType = null; + + + try { + // InternalFiacre.g:764:52: (iv_ruleChannelType= ruleChannelType EOF ) + // InternalFiacre.g:765:2: iv_ruleChannelType= ruleChannelType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getChannelTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleChannelType=ruleChannelType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleChannelType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleChannelType" + + + // $ANTLR start "ruleChannelType" + // InternalFiacre.g:771:1: ruleChannelType returns [EObject current=null] : ( () (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) ) ; + public final EObject ruleChannelType() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token lv_in_4_0=null; + Token lv_out_5_0=null; + Token lv_out_6_0=null; + Token otherlv_8=null; + Token otherlv_9=null; + Token otherlv_10=null; + EObject lv_size_2_0 = null; + + EObject lv_type_7_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:777:2: ( ( () (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) ) ) + // InternalFiacre.g:778:2: ( () (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) ) + { + // InternalFiacre.g:778:2: ( () (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) ) + // InternalFiacre.g:779:3: () (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) + { + // InternalFiacre.g:779:3: () + // InternalFiacre.g:780:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getChannelTypeAccess().getChannelTypeAction_0(), + current); + + } + + } + + // InternalFiacre.g:789:3: (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )? + int alt11=2; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalFiacre.g:790:4: otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' + { + otherlv_1=(Token)match(input,24,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getChannelTypeAccess().getArrayKeyword_1_0()); + + } + // InternalFiacre.g:794:4: ( (lv_size_2_0= ruleExpression ) ) + // InternalFiacre.g:795:5: (lv_size_2_0= ruleExpression ) + { + // InternalFiacre.g:795:5: (lv_size_2_0= ruleExpression ) + // InternalFiacre.g:796:6: lv_size_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_20); + lv_size_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getChannelTypeRule()); + } + set( + current, + "size", + lv_size_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_18); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getChannelTypeAccess().getOfKeyword_1_2()); + + } + + } + break; + + } + + // InternalFiacre.g:818:3: ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) | otherlv_9= 'none' | otherlv_10= 'sync' ) + int alt15=3; + switch ( input.LA(1) ) { + case RULE_ID: + case RULE_INT: + case 16: + case 24: + case 26: + case 27: + case 31: + case 32: + case 33: + case 35: + case 37: + case 38: + case 41: + case 51: + case 63: + case 64: + case 83: + case 84: + case 95: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 103: + case 105: + case 107: + case 108: + case 109: + case 110: + { + alt15=1; + } + break; + case 28: + { + int LA15_2 = input.LA(2); + + if ( (synpred22_InternalFiacre()) ) { + alt15=1; + } + else if ( (synpred23_InternalFiacre()) ) { + alt15=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 15, 2, input); + + throw nvae; + } + } + break; + case 29: + { + alt15=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // InternalFiacre.g:819:4: ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) + { + // InternalFiacre.g:819:4: ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) + // InternalFiacre.g:820:5: ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) + { + // InternalFiacre.g:820:5: ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? + int alt13=3; + int LA13_0 = input.LA(1); + + if ( (LA13_0==26) ) { + alt13=1; + } + else if ( (LA13_0==27) ) { + alt13=2; + } + switch (alt13) { + case 1 : + // InternalFiacre.g:821:6: ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) + { + // InternalFiacre.g:821:6: ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) + // InternalFiacre.g:822:7: ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? + { + // InternalFiacre.g:822:7: ( (lv_in_4_0= 'in' ) ) + // InternalFiacre.g:823:8: (lv_in_4_0= 'in' ) + { + // InternalFiacre.g:823:8: (lv_in_4_0= 'in' ) + // InternalFiacre.g:824:9: lv_in_4_0= 'in' + { + lv_in_4_0=(Token)match(input,26,FollowSets000.FOLLOW_21); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_in_4_0, grammarAccess.getChannelTypeAccess().getInInKeyword_2_0_0_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed(current, "in", true, "in"); + + } + + } + + + } + + // InternalFiacre.g:836:7: ( (lv_out_5_0= 'out' ) )? + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==27) ) { + alt12=1; + } + switch (alt12) { + case 1 : + // InternalFiacre.g:837:8: (lv_out_5_0= 'out' ) + { + // InternalFiacre.g:837:8: (lv_out_5_0= 'out' ) + // InternalFiacre.g:838:9: lv_out_5_0= 'out' + { + lv_out_5_0=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_out_5_0, grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed(current, "out", true, "out"); + + } + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:852:6: ( (lv_out_6_0= 'out' ) ) + { + // InternalFiacre.g:852:6: ( (lv_out_6_0= 'out' ) ) + // InternalFiacre.g:853:7: (lv_out_6_0= 'out' ) + { + // InternalFiacre.g:853:7: (lv_out_6_0= 'out' ) + // InternalFiacre.g:854:8: lv_out_6_0= 'out' + { + lv_out_6_0=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_out_6_0, grammarAccess.getChannelTypeAccess().getOutOutKeyword_2_0_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getChannelTypeRule()); + } + setWithLastConsumed(current, "out", true, "out"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:867:5: ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==RULE_ID||LA14_0==RULE_INT||LA14_0==16||LA14_0==24||(LA14_0>=31 && LA14_0<=33)||LA14_0==35||(LA14_0>=37 && LA14_0<=38)||LA14_0==41||LA14_0==51||(LA14_0>=63 && LA14_0<=64)||(LA14_0>=83 && LA14_0<=84)||(LA14_0>=95 && LA14_0<=101)||LA14_0==103||LA14_0==105||(LA14_0>=107 && LA14_0<=110)) ) { + alt14=1; + } + else if ( (LA14_0==28) ) { + alt14=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + + throw nvae; + } + switch (alt14) { + case 1 : + // InternalFiacre.g:868:6: ( (lv_type_7_0= ruleTupleType ) ) + { + // InternalFiacre.g:868:6: ( (lv_type_7_0= ruleTupleType ) ) + // InternalFiacre.g:869:7: (lv_type_7_0= ruleTupleType ) + { + // InternalFiacre.g:869:7: (lv_type_7_0= ruleTupleType ) + // InternalFiacre.g:870:8: lv_type_7_0= ruleTupleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_7_0=ruleTupleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getChannelTypeRule()); + } + set( + current, + "type", + lv_type_7_0, + "fr.irit.fiacre.xtext.Fiacre.TupleType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:888:6: otherlv_8= 'none' + { + otherlv_8=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()); + + } + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:895:4: otherlv_9= 'none' + { + otherlv_9=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()); + + } + + } + break; + case 3 : + // InternalFiacre.g:900:4: otherlv_10= 'sync' + { + otherlv_10=(Token)match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleChannelType" + + + // $ANTLR start "entryRuleType" + // InternalFiacre.g:909:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; + public final EObject entryRuleType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleType = null; + + + try { + // InternalFiacre.g:909:45: (iv_ruleType= ruleType EOF ) + // InternalFiacre.g:910:2: iv_ruleType= ruleType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleType=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleType" + + + // $ANTLR start "ruleType" + // InternalFiacre.g:916:1: ruleType returns [EObject current=null] : (this_BasicType_0= ruleBasicType | this_RangeType_1= ruleRangeType | this_UnionType_2= ruleUnionType | this_RecordType_3= ruleRecordType | this_QueueType_4= ruleQueueType | this_ArrayType_5= ruleArrayType | this_ReferencedType_6= ruleReferencedType ) ; + public final EObject ruleType() throws RecognitionException { + EObject current = null; + + EObject this_BasicType_0 = null; + + EObject this_RangeType_1 = null; + + EObject this_UnionType_2 = null; + + EObject this_RecordType_3 = null; + + EObject this_QueueType_4 = null; + + EObject this_ArrayType_5 = null; + + EObject this_ReferencedType_6 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:922:2: ( (this_BasicType_0= ruleBasicType | this_RangeType_1= ruleRangeType | this_UnionType_2= ruleUnionType | this_RecordType_3= ruleRecordType | this_QueueType_4= ruleQueueType | this_ArrayType_5= ruleArrayType | this_ReferencedType_6= ruleReferencedType ) ) + // InternalFiacre.g:923:2: (this_BasicType_0= ruleBasicType | this_RangeType_1= ruleRangeType | this_UnionType_2= ruleUnionType | this_RecordType_3= ruleRecordType | this_QueueType_4= ruleQueueType | this_ArrayType_5= ruleArrayType | this_ReferencedType_6= ruleReferencedType ) + { + // InternalFiacre.g:923:2: (this_BasicType_0= ruleBasicType | this_RangeType_1= ruleRangeType | this_UnionType_2= ruleUnionType | this_RecordType_3= ruleRecordType | this_QueueType_4= ruleQueueType | this_ArrayType_5= ruleArrayType | this_ReferencedType_6= ruleReferencedType ) + int alt16=7; + alt16 = dfa16.predict(input); + switch (alt16) { + case 1 : + // InternalFiacre.g:924:3: this_BasicType_0= ruleBasicType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getBasicTypeParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_BasicType_0=ruleBasicType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_BasicType_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:936:3: this_RangeType_1= ruleRangeType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getRangeTypeParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_RangeType_1=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_RangeType_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:948:3: this_UnionType_2= ruleUnionType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getUnionTypeParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_UnionType_2=ruleUnionType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_UnionType_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:960:3: this_RecordType_3= ruleRecordType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getRecordTypeParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_RecordType_3=ruleRecordType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_RecordType_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalFiacre.g:972:3: this_QueueType_4= ruleQueueType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getQueueTypeParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_QueueType_4=ruleQueueType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_QueueType_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalFiacre.g:984:3: this_ArrayType_5= ruleArrayType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getArrayTypeParserRuleCall_5()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ArrayType_5=ruleArrayType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ArrayType_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalFiacre.g:996:3: this_ReferencedType_6= ruleReferencedType + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTypeAccess().getReferencedTypeParserRuleCall_6()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ReferencedType_6=ruleReferencedType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ReferencedType_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleType" + + + // $ANTLR start "entryRuleTupleType" + // InternalFiacre.g:1011:1: entryRuleTupleType returns [EObject current=null] : iv_ruleTupleType= ruleTupleType EOF ; + public final EObject entryRuleTupleType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTupleType = null; + + + try { + // InternalFiacre.g:1011:50: (iv_ruleTupleType= ruleTupleType EOF ) + // InternalFiacre.g:1012:2: iv_ruleTupleType= ruleTupleType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTupleTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTupleType=ruleTupleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTupleType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTupleType" + + + // $ANTLR start "ruleTupleType" + // InternalFiacre.g:1018:1: ruleTupleType returns [EObject current=null] : (this_Type_0= ruleType ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* ) ; + public final EObject ruleTupleType() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Type_0 = null; + + EObject lv_types_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1024:2: ( (this_Type_0= ruleType ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* ) ) + // InternalFiacre.g:1025:2: (this_Type_0= ruleType ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* ) + { + // InternalFiacre.g:1025:2: (this_Type_0= ruleType ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* ) + // InternalFiacre.g:1026:3: this_Type_0= ruleType ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTupleTypeAccess().getTypeParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_23); + this_Type_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Type_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:1037:3: ( () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) )* + loop17: + do { + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==30) ) { + alt17=1; + } + + + switch (alt17) { + case 1 : + // InternalFiacre.g:1038:4: () otherlv_2= '#' ( (lv_types_3_0= ruleType ) ) + { + // InternalFiacre.g:1038:4: () + // InternalFiacre.g:1039:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getTupleTypeAccess().getTupleTypeTypesAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getTupleTypeAccess().getNumberSignKeyword_1_1()); + + } + // InternalFiacre.g:1052:4: ( (lv_types_3_0= ruleType ) ) + // InternalFiacre.g:1053:5: (lv_types_3_0= ruleType ) + { + // InternalFiacre.g:1053:5: (lv_types_3_0= ruleType ) + // InternalFiacre.g:1054:6: lv_types_3_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTupleTypeAccess().getTypesTypeParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_23); + lv_types_3_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTupleTypeRule()); + } + add( + current, + "types", + lv_types_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop17; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTupleType" + + + // $ANTLR start "entryRuleBasicType" + // InternalFiacre.g:1076:1: entryRuleBasicType returns [EObject current=null] : iv_ruleBasicType= ruleBasicType EOF ; + public final EObject entryRuleBasicType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBasicType = null; + + + try { + // InternalFiacre.g:1076:50: (iv_ruleBasicType= ruleBasicType EOF ) + // InternalFiacre.g:1077:2: iv_ruleBasicType= ruleBasicType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBasicTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleBasicType=ruleBasicType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBasicType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBasicType" + + + // $ANTLR start "ruleBasicType" + // InternalFiacre.g:1083:1: ruleBasicType returns [EObject current=null] : ( ( () otherlv_1= 'nat' ) | ( () otherlv_3= 'int' ) | ( () otherlv_5= 'bool' ) ) ; + public final EObject ruleBasicType() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + + + enterRule(); + + try { + // InternalFiacre.g:1089:2: ( ( ( () otherlv_1= 'nat' ) | ( () otherlv_3= 'int' ) | ( () otherlv_5= 'bool' ) ) ) + // InternalFiacre.g:1090:2: ( ( () otherlv_1= 'nat' ) | ( () otherlv_3= 'int' ) | ( () otherlv_5= 'bool' ) ) + { + // InternalFiacre.g:1090:2: ( ( () otherlv_1= 'nat' ) | ( () otherlv_3= 'int' ) | ( () otherlv_5= 'bool' ) ) + int alt18=3; + switch ( input.LA(1) ) { + case 31: + { + alt18=1; + } + break; + case 32: + { + alt18=2; + } + break; + case 33: + { + alt18=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + + switch (alt18) { + case 1 : + // InternalFiacre.g:1091:3: ( () otherlv_1= 'nat' ) + { + // InternalFiacre.g:1091:3: ( () otherlv_1= 'nat' ) + // InternalFiacre.g:1092:4: () otherlv_1= 'nat' + { + // InternalFiacre.g:1092:4: () + // InternalFiacre.g:1093:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getNaturalTypeAction_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getBasicTypeAccess().getNatKeyword_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:1108:3: ( () otherlv_3= 'int' ) + { + // InternalFiacre.g:1108:3: ( () otherlv_3= 'int' ) + // InternalFiacre.g:1109:4: () otherlv_3= 'int' + { + // InternalFiacre.g:1109:4: () + // InternalFiacre.g:1110:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getIntegerTypeAction_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getBasicTypeAccess().getIntKeyword_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:1125:3: ( () otherlv_5= 'bool' ) + { + // InternalFiacre.g:1125:3: ( () otherlv_5= 'bool' ) + // InternalFiacre.g:1126:4: () otherlv_5= 'bool' + { + // InternalFiacre.g:1126:4: () + // InternalFiacre.g:1127:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getBasicTypeAccess().getBooleanTypeAction_2_0(), + current); + + } + + } + + otherlv_5=(Token)match(input,33,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getBasicTypeAccess().getBoolKeyword_2_1()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBasicType" + + + // $ANTLR start "entryRuleRangeType" + // InternalFiacre.g:1145:1: entryRuleRangeType returns [EObject current=null] : iv_ruleRangeType= ruleRangeType EOF ; + public final EObject entryRuleRangeType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRangeType = null; + + + try { + // InternalFiacre.g:1145:50: (iv_ruleRangeType= ruleRangeType EOF ) + // InternalFiacre.g:1146:2: iv_ruleRangeType= ruleRangeType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRangeTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRangeType=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRangeType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRangeType" + + + // $ANTLR start "ruleRangeType" + // InternalFiacre.g:1152:1: ruleRangeType returns [EObject current=null] : ( ( (lv_minimum_0_0= ruleExpression ) ) otherlv_1= '..' ( (lv_maximum_2_0= ruleExpression ) ) ) ; + public final EObject ruleRangeType() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_minimum_0_0 = null; + + EObject lv_maximum_2_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1158:2: ( ( ( (lv_minimum_0_0= ruleExpression ) ) otherlv_1= '..' ( (lv_maximum_2_0= ruleExpression ) ) ) ) + // InternalFiacre.g:1159:2: ( ( (lv_minimum_0_0= ruleExpression ) ) otherlv_1= '..' ( (lv_maximum_2_0= ruleExpression ) ) ) + { + // InternalFiacre.g:1159:2: ( ( (lv_minimum_0_0= ruleExpression ) ) otherlv_1= '..' ( (lv_maximum_2_0= ruleExpression ) ) ) + // InternalFiacre.g:1160:3: ( (lv_minimum_0_0= ruleExpression ) ) otherlv_1= '..' ( (lv_maximum_2_0= ruleExpression ) ) + { + // InternalFiacre.g:1160:3: ( (lv_minimum_0_0= ruleExpression ) ) + // InternalFiacre.g:1161:4: (lv_minimum_0_0= ruleExpression ) + { + // InternalFiacre.g:1161:4: (lv_minimum_0_0= ruleExpression ) + // InternalFiacre.g:1162:5: lv_minimum_0_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_24); + lv_minimum_0_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRangeTypeRule()); + } + set( + current, + "minimum", + lv_minimum_0_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_1=(Token)match(input,34,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getRangeTypeAccess().getFullStopFullStopKeyword_1()); + + } + // InternalFiacre.g:1183:3: ( (lv_maximum_2_0= ruleExpression ) ) + // InternalFiacre.g:1184:4: (lv_maximum_2_0= ruleExpression ) + { + // InternalFiacre.g:1184:4: (lv_maximum_2_0= ruleExpression ) + // InternalFiacre.g:1185:5: lv_maximum_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_maximum_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRangeTypeRule()); + } + set( + current, + "maximum", + lv_maximum_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRangeType" + + + // $ANTLR start "entryRuleUnionType" + // InternalFiacre.g:1206:1: entryRuleUnionType returns [EObject current=null] : iv_ruleUnionType= ruleUnionType EOF ; + public final EObject entryRuleUnionType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnionType = null; + + + try { + // InternalFiacre.g:1206:50: (iv_ruleUnionType= ruleUnionType EOF ) + // InternalFiacre.g:1207:2: iv_ruleUnionType= ruleUnionType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnionTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUnionType=ruleUnionType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnionType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnionType" + + + // $ANTLR start "ruleUnionType" + // InternalFiacre.g:1213:1: ruleUnionType returns [EObject current=null] : (otherlv_0= 'union' ( (lv_tags_1_0= ruleUnionTags ) ) (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* otherlv_4= 'end' (otherlv_5= 'union' )? ) ; + public final EObject ruleUnionType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_tags_1_0 = null; + + EObject lv_tags_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1219:2: ( (otherlv_0= 'union' ( (lv_tags_1_0= ruleUnionTags ) ) (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* otherlv_4= 'end' (otherlv_5= 'union' )? ) ) + // InternalFiacre.g:1220:2: (otherlv_0= 'union' ( (lv_tags_1_0= ruleUnionTags ) ) (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* otherlv_4= 'end' (otherlv_5= 'union' )? ) + { + // InternalFiacre.g:1220:2: (otherlv_0= 'union' ( (lv_tags_1_0= ruleUnionTags ) ) (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* otherlv_4= 'end' (otherlv_5= 'union' )? ) + // InternalFiacre.g:1221:3: otherlv_0= 'union' ( (lv_tags_1_0= ruleUnionTags ) ) (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* otherlv_4= 'end' (otherlv_5= 'union' )? + { + otherlv_0=(Token)match(input,35,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getUnionTypeAccess().getUnionKeyword_0()); + + } + // InternalFiacre.g:1225:3: ( (lv_tags_1_0= ruleUnionTags ) ) + // InternalFiacre.g:1226:4: (lv_tags_1_0= ruleUnionTags ) + { + // InternalFiacre.g:1226:4: (lv_tags_1_0= ruleUnionTags ) + // InternalFiacre.g:1227:5: lv_tags_1_0= ruleUnionTags + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_25); + lv_tags_1_0=ruleUnionTags(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnionTypeRule()); + } + add( + current, + "tags", + lv_tags_1_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTags"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1244:3: (otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) )* + loop19: + do { + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==13) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // InternalFiacre.g:1245:4: otherlv_2= '|' ( (lv_tags_3_0= ruleUnionTags ) ) + { + otherlv_2=(Token)match(input,13,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getUnionTypeAccess().getVerticalLineKeyword_2_0()); + + } + // InternalFiacre.g:1249:4: ( (lv_tags_3_0= ruleUnionTags ) ) + // InternalFiacre.g:1250:5: (lv_tags_3_0= ruleUnionTags ) + { + // InternalFiacre.g:1250:5: (lv_tags_3_0= ruleUnionTags ) + // InternalFiacre.g:1251:6: lv_tags_3_0= ruleUnionTags + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnionTypeAccess().getTagsUnionTagsParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_25); + lv_tags_3_0=ruleUnionTags(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnionTypeRule()); + } + add( + current, + "tags", + lv_tags_3_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTags"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop19; + } + } while (true); + + otherlv_4=(Token)match(input,36,FollowSets000.FOLLOW_26); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getUnionTypeAccess().getEndKeyword_3()); + + } + // InternalFiacre.g:1273:3: (otherlv_5= 'union' )? + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==35) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // InternalFiacre.g:1274:4: otherlv_5= 'union' + { + otherlv_5=(Token)match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnionType" + + + // $ANTLR start "entryRuleUnionTags" + // InternalFiacre.g:1283:1: entryRuleUnionTags returns [EObject current=null] : iv_ruleUnionTags= ruleUnionTags EOF ; + public final EObject entryRuleUnionTags() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnionTags = null; + + + try { + // InternalFiacre.g:1283:50: (iv_ruleUnionTags= ruleUnionTags EOF ) + // InternalFiacre.g:1284:2: iv_ruleUnionTags= ruleUnionTags EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnionTagsRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUnionTags=ruleUnionTags(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnionTags; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnionTags" + + + // $ANTLR start "ruleUnionTags" + // InternalFiacre.g:1290:1: ruleUnionTags returns [EObject current=null] : ( ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? ) ; + public final EObject ruleUnionTags() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_tags_0_0 = null; + + EObject lv_tags_2_0 = null; + + EObject lv_type_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1296:2: ( ( ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? ) ) + // InternalFiacre.g:1297:2: ( ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? ) + { + // InternalFiacre.g:1297:2: ( ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? ) + // InternalFiacre.g:1298:3: ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? + { + // InternalFiacre.g:1298:3: ( (lv_tags_0_0= ruleUnionTagDeclaration ) ) + // InternalFiacre.g:1299:4: (lv_tags_0_0= ruleUnionTagDeclaration ) + { + // InternalFiacre.g:1299:4: (lv_tags_0_0= ruleUnionTagDeclaration ) + // InternalFiacre.g:1300:5: lv_tags_0_0= ruleUnionTagDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_27); + lv_tags_0_0=ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + add( + current, + "tags", + lv_tags_0_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1317:3: (otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) )* + loop21: + do { + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==17) ) { + alt21=1; + } + + + switch (alt21) { + case 1 : + // InternalFiacre.g:1318:4: otherlv_1= ',' ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getUnionTagsAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:1322:4: ( (lv_tags_2_0= ruleUnionTagDeclaration ) ) + // InternalFiacre.g:1323:5: (lv_tags_2_0= ruleUnionTagDeclaration ) + { + // InternalFiacre.g:1323:5: (lv_tags_2_0= ruleUnionTagDeclaration ) + // InternalFiacre.g:1324:6: lv_tags_2_0= ruleUnionTagDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnionTagsAccess().getTagsUnionTagDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_27); + lv_tags_2_0=ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + add( + current, + "tags", + lv_tags_2_0, + "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop21; + } + } while (true); + + // InternalFiacre.g:1342:3: (otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) )? + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==25) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // InternalFiacre.g:1343:4: otherlv_3= 'of' ( (lv_type_4_0= ruleType ) ) + { + otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getUnionTagsAccess().getOfKeyword_2_0()); + + } + // InternalFiacre.g:1347:4: ( (lv_type_4_0= ruleType ) ) + // InternalFiacre.g:1348:5: (lv_type_4_0= ruleType ) + { + // InternalFiacre.g:1348:5: (lv_type_4_0= ruleType ) + // InternalFiacre.g:1349:6: lv_type_4_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnionTagsAccess().getTypeTypeParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_4_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnionTagsRule()); + } + set( + current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnionTags" + + + // $ANTLR start "entryRuleUnionTagDeclaration" + // InternalFiacre.g:1371:1: entryRuleUnionTagDeclaration returns [EObject current=null] : iv_ruleUnionTagDeclaration= ruleUnionTagDeclaration EOF ; + public final EObject entryRuleUnionTagDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnionTagDeclaration = null; + + + try { + // InternalFiacre.g:1371:60: (iv_ruleUnionTagDeclaration= ruleUnionTagDeclaration EOF ) + // InternalFiacre.g:1372:2: iv_ruleUnionTagDeclaration= ruleUnionTagDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnionTagDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUnionTagDeclaration=ruleUnionTagDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnionTagDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnionTagDeclaration" + + + // $ANTLR start "ruleUnionTagDeclaration" + // InternalFiacre.g:1378:1: ruleUnionTagDeclaration returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleUnionTagDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:1384:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalFiacre.g:1385:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalFiacre.g:1385:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalFiacre.g:1386:3: (lv_name_0_0= RULE_ID ) + { + // InternalFiacre.g:1386:3: (lv_name_0_0= RULE_ID ) + // InternalFiacre.g:1387:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_0_0, grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getUnionTagDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnionTagDeclaration" + + + // $ANTLR start "entryRuleRecordType" + // InternalFiacre.g:1406:1: entryRuleRecordType returns [EObject current=null] : iv_ruleRecordType= ruleRecordType EOF ; + public final EObject entryRuleRecordType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRecordType = null; + + + try { + // InternalFiacre.g:1406:51: (iv_ruleRecordType= ruleRecordType EOF ) + // InternalFiacre.g:1407:2: iv_ruleRecordType= ruleRecordType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRecordTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRecordType=ruleRecordType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRecordType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRecordType" + + + // $ANTLR start "ruleRecordType" + // InternalFiacre.g:1413:1: ruleRecordType returns [EObject current=null] : (otherlv_0= 'record' ( (lv_fields_1_0= ruleRecordFields ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* otherlv_4= 'end' (otherlv_5= 'record' )? ) ; + public final EObject ruleRecordType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_fields_1_0 = null; + + EObject lv_fields_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1419:2: ( (otherlv_0= 'record' ( (lv_fields_1_0= ruleRecordFields ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* otherlv_4= 'end' (otherlv_5= 'record' )? ) ) + // InternalFiacre.g:1420:2: (otherlv_0= 'record' ( (lv_fields_1_0= ruleRecordFields ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* otherlv_4= 'end' (otherlv_5= 'record' )? ) + { + // InternalFiacre.g:1420:2: (otherlv_0= 'record' ( (lv_fields_1_0= ruleRecordFields ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* otherlv_4= 'end' (otherlv_5= 'record' )? ) + // InternalFiacre.g:1421:3: otherlv_0= 'record' ( (lv_fields_1_0= ruleRecordFields ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* otherlv_4= 'end' (otherlv_5= 'record' )? + { + otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getRecordTypeAccess().getRecordKeyword_0()); + + } + // InternalFiacre.g:1425:3: ( (lv_fields_1_0= ruleRecordFields ) ) + // InternalFiacre.g:1426:4: (lv_fields_1_0= ruleRecordFields ) + { + // InternalFiacre.g:1426:4: (lv_fields_1_0= ruleRecordFields ) + // InternalFiacre.g:1427:5: lv_fields_1_0= ruleRecordFields + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_28); + lv_fields_1_0=ruleRecordFields(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordTypeRule()); + } + add( + current, + "fields", + lv_fields_1_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFields"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1444:3: (otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) )* + loop23: + do { + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==17) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // InternalFiacre.g:1445:4: otherlv_2= ',' ( (lv_fields_3_0= ruleRecordFields ) ) + { + otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getRecordTypeAccess().getCommaKeyword_2_0()); + + } + // InternalFiacre.g:1449:4: ( (lv_fields_3_0= ruleRecordFields ) ) + // InternalFiacre.g:1450:5: (lv_fields_3_0= ruleRecordFields ) + { + // InternalFiacre.g:1450:5: (lv_fields_3_0= ruleRecordFields ) + // InternalFiacre.g:1451:6: lv_fields_3_0= ruleRecordFields + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordTypeAccess().getFieldsRecordFieldsParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_28); + lv_fields_3_0=ruleRecordFields(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordTypeRule()); + } + add( + current, + "fields", + lv_fields_3_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFields"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop23; + } + } while (true); + + otherlv_4=(Token)match(input,36,FollowSets000.FOLLOW_29); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getRecordTypeAccess().getEndKeyword_3()); + + } + // InternalFiacre.g:1473:3: (otherlv_5= 'record' )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==37) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // InternalFiacre.g:1474:4: otherlv_5= 'record' + { + otherlv_5=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRecordType" + + + // $ANTLR start "entryRuleRecordFields" + // InternalFiacre.g:1483:1: entryRuleRecordFields returns [EObject current=null] : iv_ruleRecordFields= ruleRecordFields EOF ; + public final EObject entryRuleRecordFields() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRecordFields = null; + + + try { + // InternalFiacre.g:1483:53: (iv_ruleRecordFields= ruleRecordFields EOF ) + // InternalFiacre.g:1484:2: iv_ruleRecordFields= ruleRecordFields EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRecordFieldsRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRecordFields=ruleRecordFields(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRecordFields; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRecordFields" + + + // $ANTLR start "ruleRecordFields" + // InternalFiacre.g:1490:1: ruleRecordFields returns [EObject current=null] : ( ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) ) ; + public final EObject ruleRecordFields() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_fields_0_0 = null; + + EObject lv_fields_2_0 = null; + + EObject lv_type_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1496:2: ( ( ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) ) ) + // InternalFiacre.g:1497:2: ( ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) ) + { + // InternalFiacre.g:1497:2: ( ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) ) + // InternalFiacre.g:1498:3: ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) + { + // InternalFiacre.g:1498:3: ( (lv_fields_0_0= ruleRecordFieldDeclaration ) ) + // InternalFiacre.g:1499:4: (lv_fields_0_0= ruleRecordFieldDeclaration ) + { + // InternalFiacre.g:1499:4: (lv_fields_0_0= ruleRecordFieldDeclaration ) + // InternalFiacre.g:1500:5: lv_fields_0_0= ruleRecordFieldDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_fields_0_0=ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + add( + current, + "fields", + lv_fields_0_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1517:3: (otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==17) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // InternalFiacre.g:1518:4: otherlv_1= ',' ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getRecordFieldsAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:1522:4: ( (lv_fields_2_0= ruleRecordFieldDeclaration ) ) + // InternalFiacre.g:1523:5: (lv_fields_2_0= ruleRecordFieldDeclaration ) + { + // InternalFiacre.g:1523:5: (lv_fields_2_0= ruleRecordFieldDeclaration ) + // InternalFiacre.g:1524:6: lv_fields_2_0= ruleRecordFieldDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordFieldsAccess().getFieldsRecordFieldDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_fields_2_0=ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + add( + current, + "fields", + lv_fields_2_0, + "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop25; + } + } while (true); + + otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getRecordFieldsAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:1546:3: ( (lv_type_4_0= ruleType ) ) + // InternalFiacre.g:1547:4: (lv_type_4_0= ruleType ) + { + // InternalFiacre.g:1547:4: (lv_type_4_0= ruleType ) + // InternalFiacre.g:1548:5: lv_type_4_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordFieldsAccess().getTypeTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_4_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordFieldsRule()); + } + set( + current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRecordFields" + + + // $ANTLR start "entryRuleRecordFieldDeclaration" + // InternalFiacre.g:1569:1: entryRuleRecordFieldDeclaration returns [EObject current=null] : iv_ruleRecordFieldDeclaration= ruleRecordFieldDeclaration EOF ; + public final EObject entryRuleRecordFieldDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRecordFieldDeclaration = null; + + + try { + // InternalFiacre.g:1569:63: (iv_ruleRecordFieldDeclaration= ruleRecordFieldDeclaration EOF ) + // InternalFiacre.g:1570:2: iv_ruleRecordFieldDeclaration= ruleRecordFieldDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRecordFieldDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRecordFieldDeclaration=ruleRecordFieldDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRecordFieldDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRecordFieldDeclaration" + + + // $ANTLR start "ruleRecordFieldDeclaration" + // InternalFiacre.g:1576:1: ruleRecordFieldDeclaration returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleRecordFieldDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:1582:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalFiacre.g:1583:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalFiacre.g:1583:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalFiacre.g:1584:3: (lv_name_0_0= RULE_ID ) + { + // InternalFiacre.g:1584:3: (lv_name_0_0= RULE_ID ) + // InternalFiacre.g:1585:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_0_0, grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRecordFieldDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRecordFieldDeclaration" + + + // $ANTLR start "entryRuleQueueType" + // InternalFiacre.g:1604:1: entryRuleQueueType returns [EObject current=null] : iv_ruleQueueType= ruleQueueType EOF ; + public final EObject entryRuleQueueType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleQueueType = null; + + + try { + // InternalFiacre.g:1604:50: (iv_ruleQueueType= ruleQueueType EOF ) + // InternalFiacre.g:1605:2: iv_ruleQueueType= ruleQueueType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQueueTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleQueueType=ruleQueueType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQueueType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQueueType" + + + // $ANTLR start "ruleQueueType" + // InternalFiacre.g:1611:1: ruleQueueType returns [EObject current=null] : (otherlv_0= 'queue' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) ; + public final EObject ruleQueueType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_size_1_0 = null; + + EObject lv_type_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1617:2: ( (otherlv_0= 'queue' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) ) + // InternalFiacre.g:1618:2: (otherlv_0= 'queue' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) + { + // InternalFiacre.g:1618:2: (otherlv_0= 'queue' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) + // InternalFiacre.g:1619:3: otherlv_0= 'queue' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) + { + otherlv_0=(Token)match(input,38,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getQueueTypeAccess().getQueueKeyword_0()); + + } + // InternalFiacre.g:1623:3: ( (lv_size_1_0= ruleExpression ) ) + // InternalFiacre.g:1624:4: (lv_size_1_0= ruleExpression ) + { + // InternalFiacre.g:1624:4: (lv_size_1_0= ruleExpression ) + // InternalFiacre.g:1625:5: lv_size_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_20); + lv_size_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQueueTypeRule()); + } + set( + current, + "size", + lv_size_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getQueueTypeAccess().getOfKeyword_2()); + + } + // InternalFiacre.g:1646:3: ( (lv_type_3_0= ruleType ) ) + // InternalFiacre.g:1647:4: (lv_type_3_0= ruleType ) + { + // InternalFiacre.g:1647:4: (lv_type_3_0= ruleType ) + // InternalFiacre.g:1648:5: lv_type_3_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_3_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQueueTypeRule()); + } + set( + current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQueueType" + + + // $ANTLR start "entryRuleArrayType" + // InternalFiacre.g:1669:1: entryRuleArrayType returns [EObject current=null] : iv_ruleArrayType= ruleArrayType EOF ; + public final EObject entryRuleArrayType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleArrayType = null; + + + try { + // InternalFiacre.g:1669:50: (iv_ruleArrayType= ruleArrayType EOF ) + // InternalFiacre.g:1670:2: iv_ruleArrayType= ruleArrayType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArrayTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleArrayType=ruleArrayType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArrayType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayType" + + + // $ANTLR start "ruleArrayType" + // InternalFiacre.g:1676:1: ruleArrayType returns [EObject current=null] : (otherlv_0= 'array' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) ; + public final EObject ruleArrayType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_size_1_0 = null; + + EObject lv_type_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1682:2: ( (otherlv_0= 'array' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) ) + // InternalFiacre.g:1683:2: (otherlv_0= 'array' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) + { + // InternalFiacre.g:1683:2: (otherlv_0= 'array' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) ) + // InternalFiacre.g:1684:3: otherlv_0= 'array' ( (lv_size_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_type_3_0= ruleType ) ) + { + otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getArrayTypeAccess().getArrayKeyword_0()); + + } + // InternalFiacre.g:1688:3: ( (lv_size_1_0= ruleExpression ) ) + // InternalFiacre.g:1689:4: (lv_size_1_0= ruleExpression ) + { + // InternalFiacre.g:1689:4: (lv_size_1_0= ruleExpression ) + // InternalFiacre.g:1690:5: lv_size_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_20); + lv_size_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayTypeRule()); + } + set( + current, + "size", + lv_size_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getArrayTypeAccess().getOfKeyword_2()); + + } + // InternalFiacre.g:1711:3: ( (lv_type_3_0= ruleType ) ) + // InternalFiacre.g:1712:4: (lv_type_3_0= ruleType ) + { + // InternalFiacre.g:1712:4: (lv_type_3_0= ruleType ) + // InternalFiacre.g:1713:5: lv_type_3_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_3_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayTypeRule()); + } + set( + current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayType" + + + // $ANTLR start "entryRuleReferencedType" + // InternalFiacre.g:1734:1: entryRuleReferencedType returns [EObject current=null] : iv_ruleReferencedType= ruleReferencedType EOF ; + public final EObject entryRuleReferencedType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleReferencedType = null; + + + try { + // InternalFiacre.g:1734:55: (iv_ruleReferencedType= ruleReferencedType EOF ) + // InternalFiacre.g:1735:2: iv_ruleReferencedType= ruleReferencedType EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getReferencedTypeRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleReferencedType=ruleReferencedType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleReferencedType; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleReferencedType" + + + // $ANTLR start "ruleReferencedType" + // InternalFiacre.g:1741:1: ruleReferencedType returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; + public final EObject ruleReferencedType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:1747:2: ( ( (otherlv_0= RULE_ID ) ) ) + // InternalFiacre.g:1748:2: ( (otherlv_0= RULE_ID ) ) + { + // InternalFiacre.g:1748:2: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:1749:3: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:1749:3: (otherlv_0= RULE_ID ) + // InternalFiacre.g:1750:4: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getReferencedTypeRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseCrossReference_0()); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReferencedType" + + + // $ANTLR start "entryRuleConstantDeclaration" + // InternalFiacre.g:1767:1: entryRuleConstantDeclaration returns [EObject current=null] : iv_ruleConstantDeclaration= ruleConstantDeclaration EOF ; + public final EObject entryRuleConstantDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConstantDeclaration = null; + + + try { + // InternalFiacre.g:1767:60: (iv_ruleConstantDeclaration= ruleConstantDeclaration EOF ) + // InternalFiacre.g:1768:2: iv_ruleConstantDeclaration= ruleConstantDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConstantDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleConstantDeclaration=ruleConstantDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConstantDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConstantDeclaration" + + + // $ANTLR start "ruleConstantDeclaration" + // InternalFiacre.g:1774:1: ruleConstantDeclaration returns [EObject current=null] : (otherlv_0= 'const' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) otherlv_4= 'is' ( (lv_value_5_0= ruleExpression ) ) ) ; + public final EObject ruleConstantDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_type_3_0 = null; + + EObject lv_value_5_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1780:2: ( (otherlv_0= 'const' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) otherlv_4= 'is' ( (lv_value_5_0= ruleExpression ) ) ) ) + // InternalFiacre.g:1781:2: (otherlv_0= 'const' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) otherlv_4= 'is' ( (lv_value_5_0= ruleExpression ) ) ) + { + // InternalFiacre.g:1781:2: (otherlv_0= 'const' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) otherlv_4= 'is' ( (lv_value_5_0= ruleExpression ) ) ) + // InternalFiacre.g:1782:3: otherlv_0= 'const' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) otherlv_4= 'is' ( (lv_value_5_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getConstantDeclarationAccess().getConstKeyword_0()); + + } + // InternalFiacre.g:1786:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:1787:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:1787:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:1788:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_13); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getConstantDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + otherlv_2=(Token)match(input,19,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getConstantDeclarationAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:1808:3: ( (lv_type_3_0= ruleType ) ) + // InternalFiacre.g:1809:4: (lv_type_3_0= ruleType ) + { + // InternalFiacre.g:1809:4: (lv_type_3_0= ruleType ) + // InternalFiacre.g:1810:5: lv_type_3_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_15); + lv_type_3_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstantDeclarationRule()); + } + set( + current, + "type", + lv_type_3_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getConstantDeclarationAccess().getIsKeyword_4()); + + } + // InternalFiacre.g:1831:3: ( (lv_value_5_0= ruleExpression ) ) + // InternalFiacre.g:1832:4: (lv_value_5_0= ruleExpression ) + { + // InternalFiacre.g:1832:4: (lv_value_5_0= ruleExpression ) + // InternalFiacre.g:1833:5: lv_value_5_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_5_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstantDeclarationRule()); + } + set( + current, + "value", + lv_value_5_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConstantDeclaration" + + + // $ANTLR start "entryRuleProcessDeclaration" + // InternalFiacre.g:1854:1: entryRuleProcessDeclaration returns [EObject current=null] : iv_ruleProcessDeclaration= ruleProcessDeclaration EOF ; + public final EObject entryRuleProcessDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProcessDeclaration = null; + + + try { + // InternalFiacre.g:1854:59: (iv_ruleProcessDeclaration= ruleProcessDeclaration EOF ) + // InternalFiacre.g:1855:2: iv_ruleProcessDeclaration= ruleProcessDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getProcessDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleProcessDeclaration=ruleProcessDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleProcessDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProcessDeclaration" + + + // $ANTLR start "ruleProcessDeclaration" + // InternalFiacre.g:1861:1: ruleProcessDeclaration returns [EObject current=null] : (otherlv_0= 'process' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? otherlv_21= 'states' ( (lv_states_22_0= ruleStateDeclaration ) ) (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? ( (lv_transitions_31_0= ruleTransition ) )+ ) ; + public final EObject ruleProcessDeclaration() 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; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_19=null; + Token otherlv_21=null; + Token otherlv_23=null; + Token otherlv_25=null; + Token otherlv_27=null; + Token otherlv_29=null; + EObject lv_ports_3_0 = null; + + EObject lv_ports_5_0 = null; + + EObject lv_parameters_8_0 = null; + + EObject lv_parameters_10_0 = null; + + EObject lv_localPorts_14_0 = null; + + EObject lv_localPorts_16_0 = null; + + EObject lv_priorities_18_0 = null; + + EObject lv_priorities_20_0 = null; + + EObject lv_states_22_0 = null; + + EObject lv_states_24_0 = null; + + EObject lv_variables_26_0 = null; + + EObject lv_variables_28_0 = null; + + EObject lv_prelude_30_0 = null; + + EObject lv_transitions_31_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:1867:2: ( (otherlv_0= 'process' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? otherlv_21= 'states' ( (lv_states_22_0= ruleStateDeclaration ) ) (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? ( (lv_transitions_31_0= ruleTransition ) )+ ) ) + // InternalFiacre.g:1868:2: (otherlv_0= 'process' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? otherlv_21= 'states' ( (lv_states_22_0= ruleStateDeclaration ) ) (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? ( (lv_transitions_31_0= ruleTransition ) )+ ) + { + // InternalFiacre.g:1868:2: (otherlv_0= 'process' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? otherlv_21= 'states' ( (lv_states_22_0= ruleStateDeclaration ) ) (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? ( (lv_transitions_31_0= ruleTransition ) )+ ) + // InternalFiacre.g:1869:3: otherlv_0= 'process' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? otherlv_21= 'states' ( (lv_states_22_0= ruleStateDeclaration ) ) (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? ( (lv_transitions_31_0= ruleTransition ) )+ + { + otherlv_0=(Token)match(input,40,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getProcessDeclarationAccess().getProcessKeyword_0()); + + } + // InternalFiacre.g:1873:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:1874:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:1874:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:1875:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_31); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getProcessDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getProcessDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + // InternalFiacre.g:1891:3: (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==41) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalFiacre.g:1892:4: otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' + { + otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getProcessDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + + } + // InternalFiacre.g:1896:4: ( (lv_ports_3_0= rulePortsDeclaration ) ) + // InternalFiacre.g:1897:5: (lv_ports_3_0= rulePortsDeclaration ) + { + // InternalFiacre.g:1897:5: (lv_ports_3_0= rulePortsDeclaration ) + // InternalFiacre.g:1898:6: lv_ports_3_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_3_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1915:4: (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==17) ) { + alt26=1; + } + + + switch (alt26) { + case 1 : + // InternalFiacre.g:1916:5: otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_2_2_0()); + + } + // InternalFiacre.g:1920:5: ( (lv_ports_5_0= rulePortsDeclaration ) ) + // InternalFiacre.g:1921:6: (lv_ports_5_0= rulePortsDeclaration ) + { + // InternalFiacre.g:1921:6: (lv_ports_5_0= rulePortsDeclaration ) + // InternalFiacre.g:1922:7: lv_ports_5_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_5_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "ports", + lv_ports_5_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop26; + } + } while (true); + + otherlv_6=(Token)match(input,42,FollowSets000.FOLLOW_33); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getProcessDeclarationAccess().getRightSquareBracketKeyword_2_3()); + + } + + } + break; + + } + + // InternalFiacre.g:1945:3: (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==16) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // InternalFiacre.g:1946:4: otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' + { + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getProcessDeclarationAccess().getLeftParenthesisKeyword_3_0()); + + } + // InternalFiacre.g:1950:4: ( (lv_parameters_8_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:1951:5: (lv_parameters_8_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:1951:5: (lv_parameters_8_0= ruleParametersDeclaration ) + // InternalFiacre.g:1952:6: lv_parameters_8_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_8_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_8_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:1969:4: (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* + loop28: + do { + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==17) ) { + alt28=1; + } + + + switch (alt28) { + case 1 : + // InternalFiacre.g:1970:5: otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) + { + otherlv_9=(Token)match(input,17,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_3_2_0()); + + } + // InternalFiacre.g:1974:5: ( (lv_parameters_10_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:1975:6: (lv_parameters_10_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:1975:6: (lv_parameters_10_0= ruleParametersDeclaration ) + // InternalFiacre.g:1976:7: lv_parameters_10_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_10_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_10_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop28; + } + } while (true); + + otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getProcessDeclarationAccess().getRightParenthesisKeyword_3_3()); + + } + + } + break; + + } + + otherlv_12=(Token)match(input,20,FollowSets000.FOLLOW_34); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getProcessDeclarationAccess().getIsKeyword_4()); + + } + // InternalFiacre.g:2003:3: (otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* )? + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==43) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // InternalFiacre.g:2004:4: otherlv_13= 'port' ( (lv_localPorts_14_0= rulePortsDeclaration ) ) (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* + { + otherlv_13=(Token)match(input,43,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getProcessDeclarationAccess().getPortKeyword_5_0()); + + } + // InternalFiacre.g:2008:4: ( (lv_localPorts_14_0= rulePortsDeclaration ) ) + // InternalFiacre.g:2009:5: (lv_localPorts_14_0= rulePortsDeclaration ) + { + // InternalFiacre.g:2009:5: (lv_localPorts_14_0= rulePortsDeclaration ) + // InternalFiacre.g:2010:6: lv_localPorts_14_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_35); + lv_localPorts_14_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "localPorts", + lv_localPorts_14_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2027:4: (otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) )* + loop30: + do { + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==17) ) { + alt30=1; + } + + + switch (alt30) { + case 1 : + // InternalFiacre.g:2028:5: otherlv_15= ',' ( (lv_localPorts_16_0= rulePortsDeclaration ) ) + { + otherlv_15=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_5_2_0()); + + } + // InternalFiacre.g:2032:5: ( (lv_localPorts_16_0= rulePortsDeclaration ) ) + // InternalFiacre.g:2033:6: (lv_localPorts_16_0= rulePortsDeclaration ) + { + // InternalFiacre.g:2033:6: (lv_localPorts_16_0= rulePortsDeclaration ) + // InternalFiacre.g:2034:7: lv_localPorts_16_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_35); + lv_localPorts_16_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "localPorts", + lv_localPorts_16_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop30; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:2053:3: (otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* )? + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==44) ) { + alt33=1; + } + switch (alt33) { + case 1 : + // InternalFiacre.g:2054:4: otherlv_17= 'priority' ( (lv_priorities_18_0= rulePriorityDeclaration ) ) (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* + { + otherlv_17=(Token)match(input,44,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_17, grammarAccess.getProcessDeclarationAccess().getPriorityKeyword_6_0()); + + } + // InternalFiacre.g:2058:4: ( (lv_priorities_18_0= rulePriorityDeclaration ) ) + // InternalFiacre.g:2059:5: (lv_priorities_18_0= rulePriorityDeclaration ) + { + // InternalFiacre.g:2059:5: (lv_priorities_18_0= rulePriorityDeclaration ) + // InternalFiacre.g:2060:6: lv_priorities_18_0= rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_36); + lv_priorities_18_0=rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "priorities", + lv_priorities_18_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2077:4: (otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) )* + loop32: + do { + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==17) ) { + alt32=1; + } + + + switch (alt32) { + case 1 : + // InternalFiacre.g:2078:5: otherlv_19= ',' ( (lv_priorities_20_0= rulePriorityDeclaration ) ) + { + otherlv_19=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_19, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_6_2_0()); + + } + // InternalFiacre.g:2082:5: ( (lv_priorities_20_0= rulePriorityDeclaration ) ) + // InternalFiacre.g:2083:6: (lv_priorities_20_0= rulePriorityDeclaration ) + { + // InternalFiacre.g:2083:6: (lv_priorities_20_0= rulePriorityDeclaration ) + // InternalFiacre.g:2084:7: lv_priorities_20_0= rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_36); + lv_priorities_20_0=rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "priorities", + lv_priorities_20_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop32; + } + } while (true); + + + } + break; + + } + + otherlv_21=(Token)match(input,45,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_21, grammarAccess.getProcessDeclarationAccess().getStatesKeyword_7()); + + } + // InternalFiacre.g:2107:3: ( (lv_states_22_0= ruleStateDeclaration ) ) + // InternalFiacre.g:2108:4: (lv_states_22_0= ruleStateDeclaration ) + { + // InternalFiacre.g:2108:4: (lv_states_22_0= ruleStateDeclaration ) + // InternalFiacre.g:2109:5: lv_states_22_0= ruleStateDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_8_0()); + + } + pushFollow(FollowSets000.FOLLOW_37); + lv_states_22_0=ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "states", + lv_states_22_0, + "fr.irit.fiacre.xtext.Fiacre.StateDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2126:3: (otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) )* + loop34: + do { + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==17) ) { + alt34=1; + } + + + switch (alt34) { + case 1 : + // InternalFiacre.g:2127:4: otherlv_23= ',' ( (lv_states_24_0= ruleStateDeclaration ) ) + { + otherlv_23=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_23, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_9_0()); + + } + // InternalFiacre.g:2131:4: ( (lv_states_24_0= ruleStateDeclaration ) ) + // InternalFiacre.g:2132:5: (lv_states_24_0= ruleStateDeclaration ) + { + // InternalFiacre.g:2132:5: (lv_states_24_0= ruleStateDeclaration ) + // InternalFiacre.g:2133:6: lv_states_24_0= ruleStateDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getStatesStateDeclarationParserRuleCall_9_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_37); + lv_states_24_0=ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "states", + lv_states_24_0, + "fr.irit.fiacre.xtext.Fiacre.StateDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop34; + } + } while (true); + + // InternalFiacre.g:2151:3: (otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* )? + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==21) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // InternalFiacre.g:2152:4: otherlv_25= 'var' ( (lv_variables_26_0= ruleVariablesDeclaration ) ) (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* + { + otherlv_25=(Token)match(input,21,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_25, grammarAccess.getProcessDeclarationAccess().getVarKeyword_10_0()); + + } + // InternalFiacre.g:2156:4: ( (lv_variables_26_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:2157:5: (lv_variables_26_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:2157:5: (lv_variables_26_0= ruleVariablesDeclaration ) + // InternalFiacre.g:2158:6: lv_variables_26_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_37); + lv_variables_26_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "variables", + lv_variables_26_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2175:4: (otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) )* + loop35: + do { + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==17) ) { + alt35=1; + } + + + switch (alt35) { + case 1 : + // InternalFiacre.g:2176:5: otherlv_27= ',' ( (lv_variables_28_0= ruleVariablesDeclaration ) ) + { + otherlv_27=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_27, grammarAccess.getProcessDeclarationAccess().getCommaKeyword_10_2_0()); + + } + // InternalFiacre.g:2180:5: ( (lv_variables_28_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:2181:6: (lv_variables_28_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:2181:6: (lv_variables_28_0= ruleVariablesDeclaration ) + // InternalFiacre.g:2182:7: lv_variables_28_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_10_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_37); + lv_variables_28_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "variables", + lv_variables_28_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop35; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:2201:3: (otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) )? + int alt37=2; + int LA37_0 = input.LA(1); + + if ( (LA37_0==46) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // InternalFiacre.g:2202:4: otherlv_29= 'init' ( (lv_prelude_30_0= ruleStatementSequence ) ) + { + otherlv_29=(Token)match(input,46,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_29, grammarAccess.getProcessDeclarationAccess().getInitKeyword_11_0()); + + } + // InternalFiacre.g:2206:4: ( (lv_prelude_30_0= ruleStatementSequence ) ) + // InternalFiacre.g:2207:5: (lv_prelude_30_0= ruleStatementSequence ) + { + // InternalFiacre.g:2207:5: (lv_prelude_30_0= ruleStatementSequence ) + // InternalFiacre.g:2208:6: lv_prelude_30_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getPreludeStatementSequenceParserRuleCall_11_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_37); + lv_prelude_30_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + set( + current, + "prelude", + lv_prelude_30_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:2226:3: ( (lv_transitions_31_0= ruleTransition ) )+ + int cnt38=0; + loop38: + do { + int alt38=2; + int LA38_0 = input.LA(1); + + if ( (LA38_0==47) ) { + alt38=1; + } + + + switch (alt38) { + case 1 : + // InternalFiacre.g:2227:4: (lv_transitions_31_0= ruleTransition ) + { + // InternalFiacre.g:2227:4: (lv_transitions_31_0= ruleTransition ) + // InternalFiacre.g:2228:5: lv_transitions_31_0= ruleTransition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProcessDeclarationAccess().getTransitionsTransitionParserRuleCall_12_0()); + + } + pushFollow(FollowSets000.FOLLOW_38); + lv_transitions_31_0=ruleTransition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessDeclarationRule()); + } + add( + current, + "transitions", + lv_transitions_31_0, + "fr.irit.fiacre.xtext.Fiacre.Transition"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + if ( cnt38 >= 1 ) break loop38; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(38, input); + throw eee; + } + cnt38++; + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProcessDeclaration" + + + // $ANTLR start "entryRuleStateDeclaration" + // InternalFiacre.g:2249:1: entryRuleStateDeclaration returns [EObject current=null] : iv_ruleStateDeclaration= ruleStateDeclaration EOF ; + public final EObject entryRuleStateDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStateDeclaration = null; + + + try { + // InternalFiacre.g:2249:57: (iv_ruleStateDeclaration= ruleStateDeclaration EOF ) + // InternalFiacre.g:2250:2: iv_ruleStateDeclaration= ruleStateDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStateDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStateDeclaration=ruleStateDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStateDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStateDeclaration" + + + // $ANTLR start "ruleStateDeclaration" + // InternalFiacre.g:2256:1: ruleStateDeclaration returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleStateDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:2262:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalFiacre.g:2263:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalFiacre.g:2263:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalFiacre.g:2264:3: (lv_name_0_0= RULE_ID ) + { + // InternalFiacre.g:2264:3: (lv_name_0_0= RULE_ID ) + // InternalFiacre.g:2265:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_0_0, grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getStateDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStateDeclaration" + + + // $ANTLR start "entryRuleTransitionSource" + // InternalFiacre.g:2284:1: entryRuleTransitionSource returns [EObject current=null] : iv_ruleTransitionSource= ruleTransitionSource EOF ; + public final EObject entryRuleTransitionSource() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTransitionSource = null; + + + try { + // InternalFiacre.g:2284:57: (iv_ruleTransitionSource= ruleTransitionSource EOF ) + // InternalFiacre.g:2285:2: iv_ruleTransitionSource= ruleTransitionSource EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTransitionSourceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTransitionSource=ruleTransitionSource(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTransitionSource; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTransitionSource" + + + // $ANTLR start "ruleTransitionSource" + // InternalFiacre.g:2291:1: ruleTransitionSource returns [EObject current=null] : (otherlv_0= 'from' ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleTransitionSource() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:2297:2: ( (otherlv_0= 'from' ( (otherlv_1= RULE_ID ) ) ) ) + // InternalFiacre.g:2298:2: (otherlv_0= 'from' ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:2298:2: (otherlv_0= 'from' ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:2299:3: otherlv_0= 'from' ( (otherlv_1= RULE_ID ) ) + { + otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getTransitionSourceAccess().getFromKeyword_0()); + + } + // InternalFiacre.g:2303:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:2304:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:2304:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:2305:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTransitionSourceRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTransitionSource" + + + // $ANTLR start "entryRuleTransition" + // InternalFiacre.g:2323:1: entryRuleTransition returns [EObject current=null] : iv_ruleTransition= ruleTransition EOF ; + public final EObject entryRuleTransition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTransition = null; + + + try { + // InternalFiacre.g:2323:51: (iv_ruleTransition= ruleTransition EOF ) + // InternalFiacre.g:2324:2: iv_ruleTransition= ruleTransition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTransitionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTransition=ruleTransition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTransition; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTransition" + + + // $ANTLR start "ruleTransition" + // InternalFiacre.g:2330:1: ruleTransition returns [EObject current=null] : ( ( (lv_source_0_0= ruleTransitionSource ) ) ( (lv_action_1_0= ruleStatementSequence ) ) ) ; + public final EObject ruleTransition() throws RecognitionException { + EObject current = null; + + EObject lv_source_0_0 = null; + + EObject lv_action_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:2336:2: ( ( ( (lv_source_0_0= ruleTransitionSource ) ) ( (lv_action_1_0= ruleStatementSequence ) ) ) ) + // InternalFiacre.g:2337:2: ( ( (lv_source_0_0= ruleTransitionSource ) ) ( (lv_action_1_0= ruleStatementSequence ) ) ) + { + // InternalFiacre.g:2337:2: ( ( (lv_source_0_0= ruleTransitionSource ) ) ( (lv_action_1_0= ruleStatementSequence ) ) ) + // InternalFiacre.g:2338:3: ( (lv_source_0_0= ruleTransitionSource ) ) ( (lv_action_1_0= ruleStatementSequence ) ) + { + // InternalFiacre.g:2338:3: ( (lv_source_0_0= ruleTransitionSource ) ) + // InternalFiacre.g:2339:4: (lv_source_0_0= ruleTransitionSource ) + { + // InternalFiacre.g:2339:4: (lv_source_0_0= ruleTransitionSource ) + // InternalFiacre.g:2340:5: lv_source_0_0= ruleTransitionSource + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_16); + lv_source_0_0=ruleTransitionSource(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + current, + "source", + lv_source_0_0, + "fr.irit.fiacre.xtext.Fiacre.TransitionSource"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2357:3: ( (lv_action_1_0= ruleStatementSequence ) ) + // InternalFiacre.g:2358:4: (lv_action_1_0= ruleStatementSequence ) + { + // InternalFiacre.g:2358:4: (lv_action_1_0= ruleStatementSequence ) + // InternalFiacre.g:2359:5: lv_action_1_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_action_1_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getTransitionRule()); + } + set( + current, + "action", + lv_action_1_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTransition" + + + // $ANTLR start "entryRuleComponentDeclaration" + // InternalFiacre.g:2380:1: entryRuleComponentDeclaration returns [EObject current=null] : iv_ruleComponentDeclaration= ruleComponentDeclaration EOF ; + public final EObject entryRuleComponentDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentDeclaration = null; + + + try { + // InternalFiacre.g:2380:61: (iv_ruleComponentDeclaration= ruleComponentDeclaration EOF ) + // InternalFiacre.g:2381:2: iv_ruleComponentDeclaration= ruleComponentDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getComponentDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleComponentDeclaration=ruleComponentDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleComponentDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentDeclaration" + + + // $ANTLR start "ruleComponentDeclaration" + // InternalFiacre.g:2387:1: ruleComponentDeclaration returns [EObject current=null] : (otherlv_0= 'component' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? ( (lv_body_27_0= ruleComposition ) ) ) ; + public final EObject ruleComponentDeclaration() 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; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_19=null; + Token otherlv_21=null; + Token otherlv_23=null; + Token otherlv_25=null; + EObject lv_ports_3_0 = null; + + EObject lv_ports_5_0 = null; + + EObject lv_parameters_8_0 = null; + + EObject lv_parameters_10_0 = null; + + EObject lv_variables_14_0 = null; + + EObject lv_variables_16_0 = null; + + EObject lv_localPorts_18_0 = null; + + EObject lv_localPorts_20_0 = null; + + EObject lv_priorities_22_0 = null; + + EObject lv_priorities_24_0 = null; + + EObject lv_prelude_26_0 = null; + + EObject lv_body_27_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:2393:2: ( (otherlv_0= 'component' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? ( (lv_body_27_0= ruleComposition ) ) ) ) + // InternalFiacre.g:2394:2: (otherlv_0= 'component' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? ( (lv_body_27_0= ruleComposition ) ) ) + { + // InternalFiacre.g:2394:2: (otherlv_0= 'component' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? ( (lv_body_27_0= ruleComposition ) ) ) + // InternalFiacre.g:2395:3: otherlv_0= 'component' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? otherlv_12= 'is' (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? ( (lv_body_27_0= ruleComposition ) ) + { + otherlv_0=(Token)match(input,48,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getComponentDeclarationAccess().getComponentKeyword_0()); + + } + // InternalFiacre.g:2399:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:2400:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:2400:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:2401:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_31); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getComponentDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + // InternalFiacre.g:2417:3: (otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' )? + int alt40=2; + int LA40_0 = input.LA(1); + + if ( (LA40_0==41) ) { + alt40=1; + } + switch (alt40) { + case 1 : + // InternalFiacre.g:2418:4: otherlv_2= '[' ( (lv_ports_3_0= rulePortsDeclaration ) ) (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* otherlv_6= ']' + { + otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getComponentDeclarationAccess().getLeftSquareBracketKeyword_2_0()); + + } + // InternalFiacre.g:2422:4: ( (lv_ports_3_0= rulePortsDeclaration ) ) + // InternalFiacre.g:2423:5: (lv_ports_3_0= rulePortsDeclaration ) + { + // InternalFiacre.g:2423:5: (lv_ports_3_0= rulePortsDeclaration ) + // InternalFiacre.g:2424:6: lv_ports_3_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_3_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2441:4: (otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) )* + loop39: + do { + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==17) ) { + alt39=1; + } + + + switch (alt39) { + case 1 : + // InternalFiacre.g:2442:5: otherlv_4= ',' ( (lv_ports_5_0= rulePortsDeclaration ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_2_2_0()); + + } + // InternalFiacre.g:2446:5: ( (lv_ports_5_0= rulePortsDeclaration ) ) + // InternalFiacre.g:2447:6: (lv_ports_5_0= rulePortsDeclaration ) + { + // InternalFiacre.g:2447:6: (lv_ports_5_0= rulePortsDeclaration ) + // InternalFiacre.g:2448:7: lv_ports_5_0= rulePortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPortsPortsDeclarationParserRuleCall_2_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_5_0=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "ports", + lv_ports_5_0, + "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop39; + } + } while (true); + + otherlv_6=(Token)match(input,42,FollowSets000.FOLLOW_33); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getComponentDeclarationAccess().getRightSquareBracketKeyword_2_3()); + + } + + } + break; + + } + + // InternalFiacre.g:2471:3: (otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' )? + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==16) ) { + alt42=1; + } + switch (alt42) { + case 1 : + // InternalFiacre.g:2472:4: otherlv_7= '(' ( (lv_parameters_8_0= ruleParametersDeclaration ) ) (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* otherlv_11= ')' + { + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getComponentDeclarationAccess().getLeftParenthesisKeyword_3_0()); + + } + // InternalFiacre.g:2476:4: ( (lv_parameters_8_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:2477:5: (lv_parameters_8_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:2477:5: (lv_parameters_8_0= ruleParametersDeclaration ) + // InternalFiacre.g:2478:6: lv_parameters_8_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_8_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_8_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2495:4: (otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) )* + loop41: + do { + int alt41=2; + int LA41_0 = input.LA(1); + + if ( (LA41_0==17) ) { + alt41=1; + } + + + switch (alt41) { + case 1 : + // InternalFiacre.g:2496:5: otherlv_9= ',' ( (lv_parameters_10_0= ruleParametersDeclaration ) ) + { + otherlv_9=(Token)match(input,17,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_3_2_0()); + + } + // InternalFiacre.g:2500:5: ( (lv_parameters_10_0= ruleParametersDeclaration ) ) + // InternalFiacre.g:2501:6: (lv_parameters_10_0= ruleParametersDeclaration ) + { + // InternalFiacre.g:2501:6: (lv_parameters_10_0= ruleParametersDeclaration ) + // InternalFiacre.g:2502:7: lv_parameters_10_0= ruleParametersDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getParametersParametersDeclarationParserRuleCall_3_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_10_0=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_10_0, + "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop41; + } + } while (true); + + otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getComponentDeclarationAccess().getRightParenthesisKeyword_3_3()); + + } + + } + break; + + } + + otherlv_12=(Token)match(input,20,FollowSets000.FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getComponentDeclarationAccess().getIsKeyword_4()); + + } + // InternalFiacre.g:2529:3: (otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* )? + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==21) ) { + alt44=1; + } + switch (alt44) { + case 1 : + // InternalFiacre.g:2530:4: otherlv_13= 'var' ( (lv_variables_14_0= ruleVariablesDeclaration ) ) (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* + { + otherlv_13=(Token)match(input,21,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getComponentDeclarationAccess().getVarKeyword_5_0()); + + } + // InternalFiacre.g:2534:4: ( (lv_variables_14_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:2535:5: (lv_variables_14_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:2535:5: (lv_variables_14_0= ruleVariablesDeclaration ) + // InternalFiacre.g:2536:6: lv_variables_14_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_variables_14_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "variables", + lv_variables_14_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2553:4: (otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) )* + loop43: + do { + int alt43=2; + int LA43_0 = input.LA(1); + + if ( (LA43_0==17) ) { + alt43=1; + } + + + switch (alt43) { + case 1 : + // InternalFiacre.g:2554:5: otherlv_15= ',' ( (lv_variables_16_0= ruleVariablesDeclaration ) ) + { + otherlv_15=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_5_2_0()); + + } + // InternalFiacre.g:2558:5: ( (lv_variables_16_0= ruleVariablesDeclaration ) ) + // InternalFiacre.g:2559:6: (lv_variables_16_0= ruleVariablesDeclaration ) + { + // InternalFiacre.g:2559:6: (lv_variables_16_0= ruleVariablesDeclaration ) + // InternalFiacre.g:2560:7: lv_variables_16_0= ruleVariablesDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getVariablesVariablesDeclarationParserRuleCall_5_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_variables_16_0=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "variables", + lv_variables_16_0, + "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop43; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:2579:3: (otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* )? + int alt46=2; + int LA46_0 = input.LA(1); + + if ( (LA46_0==43) ) { + alt46=1; + } + switch (alt46) { + case 1 : + // InternalFiacre.g:2580:4: otherlv_17= 'port' ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* + { + otherlv_17=(Token)match(input,43,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_17, grammarAccess.getComponentDeclarationAccess().getPortKeyword_6_0()); + + } + // InternalFiacre.g:2584:4: ( (lv_localPorts_18_0= ruleLocalPortsDeclaration ) ) + // InternalFiacre.g:2585:5: (lv_localPorts_18_0= ruleLocalPortsDeclaration ) + { + // InternalFiacre.g:2585:5: (lv_localPorts_18_0= ruleLocalPortsDeclaration ) + // InternalFiacre.g:2586:6: lv_localPorts_18_0= ruleLocalPortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_localPorts_18_0=ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "localPorts", + lv_localPorts_18_0, + "fr.irit.fiacre.xtext.Fiacre.LocalPortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2603:4: (otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) )* + loop45: + do { + int alt45=2; + int LA45_0 = input.LA(1); + + if ( (LA45_0==17) ) { + alt45=1; + } + + + switch (alt45) { + case 1 : + // InternalFiacre.g:2604:5: otherlv_19= ',' ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) + { + otherlv_19=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_19, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_6_2_0()); + + } + // InternalFiacre.g:2608:5: ( (lv_localPorts_20_0= ruleLocalPortsDeclaration ) ) + // InternalFiacre.g:2609:6: (lv_localPorts_20_0= ruleLocalPortsDeclaration ) + { + // InternalFiacre.g:2609:6: (lv_localPorts_20_0= ruleLocalPortsDeclaration ) + // InternalFiacre.g:2610:7: lv_localPorts_20_0= ruleLocalPortsDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_localPorts_20_0=ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "localPorts", + lv_localPorts_20_0, + "fr.irit.fiacre.xtext.Fiacre.LocalPortsDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop45; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:2629:3: (otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* )? + int alt48=2; + int LA48_0 = input.LA(1); + + if ( (LA48_0==44) ) { + alt48=1; + } + switch (alt48) { + case 1 : + // InternalFiacre.g:2630:4: otherlv_21= 'priority' ( (lv_priorities_22_0= rulePriorityDeclaration ) ) (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* + { + otherlv_21=(Token)match(input,44,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_21, grammarAccess.getComponentDeclarationAccess().getPriorityKeyword_7_0()); + + } + // InternalFiacre.g:2634:4: ( (lv_priorities_22_0= rulePriorityDeclaration ) ) + // InternalFiacre.g:2635:5: (lv_priorities_22_0= rulePriorityDeclaration ) + { + // InternalFiacre.g:2635:5: (lv_priorities_22_0= rulePriorityDeclaration ) + // InternalFiacre.g:2636:6: lv_priorities_22_0= rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_priorities_22_0=rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "priorities", + lv_priorities_22_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2653:4: (otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) )* + loop47: + do { + int alt47=2; + int LA47_0 = input.LA(1); + + if ( (LA47_0==17) ) { + alt47=1; + } + + + switch (alt47) { + case 1 : + // InternalFiacre.g:2654:5: otherlv_23= ',' ( (lv_priorities_24_0= rulePriorityDeclaration ) ) + { + otherlv_23=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_23, grammarAccess.getComponentDeclarationAccess().getCommaKeyword_7_2_0()); + + } + // InternalFiacre.g:2658:5: ( (lv_priorities_24_0= rulePriorityDeclaration ) ) + // InternalFiacre.g:2659:6: (lv_priorities_24_0= rulePriorityDeclaration ) + { + // InternalFiacre.g:2659:6: (lv_priorities_24_0= rulePriorityDeclaration ) + // InternalFiacre.g:2660:7: lv_priorities_24_0= rulePriorityDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_40); + lv_priorities_24_0=rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + add( + current, + "priorities", + lv_priorities_24_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop47; + } + } while (true); + + + } + break; + + } + + // InternalFiacre.g:2679:3: (otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) )? + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==46) ) { + alt49=1; + } + switch (alt49) { + case 1 : + // InternalFiacre.g:2680:4: otherlv_25= 'init' ( (lv_prelude_26_0= ruleStatementSequence ) ) + { + otherlv_25=(Token)match(input,46,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_25, grammarAccess.getComponentDeclarationAccess().getInitKeyword_8_0()); + + } + // InternalFiacre.g:2684:4: ( (lv_prelude_26_0= ruleStatementSequence ) ) + // InternalFiacre.g:2685:5: (lv_prelude_26_0= ruleStatementSequence ) + { + // InternalFiacre.g:2685:5: (lv_prelude_26_0= ruleStatementSequence ) + // InternalFiacre.g:2686:6: lv_prelude_26_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getPreludeStatementSequenceParserRuleCall_8_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_39); + lv_prelude_26_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + set( + current, + "prelude", + lv_prelude_26_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:2704:3: ( (lv_body_27_0= ruleComposition ) ) + // InternalFiacre.g:2705:4: (lv_body_27_0= ruleComposition ) + { + // InternalFiacre.g:2705:4: (lv_body_27_0= ruleComposition ) + // InternalFiacre.g:2706:5: lv_body_27_0= ruleComposition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentDeclarationAccess().getBodyCompositionParserRuleCall_9_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_body_27_0=ruleComposition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentDeclarationRule()); + } + set( + current, + "body", + lv_body_27_0, + "fr.irit.fiacre.xtext.Fiacre.Composition"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentDeclaration" + + + // $ANTLR start "entryRulePortsDeclaration" + // InternalFiacre.g:2727:1: entryRulePortsDeclaration returns [EObject current=null] : iv_rulePortsDeclaration= rulePortsDeclaration EOF ; + public final EObject entryRulePortsDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_rulePortsDeclaration = null; + + + try { + // InternalFiacre.g:2727:57: (iv_rulePortsDeclaration= rulePortsDeclaration EOF ) + // InternalFiacre.g:2728:2: iv_rulePortsDeclaration= rulePortsDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPortsDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePortsDeclaration=rulePortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePortsDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePortsDeclaration" + + + // $ANTLR start "rulePortsDeclaration" + // InternalFiacre.g:2734:1: rulePortsDeclaration returns [EObject current=null] : ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) ) ; + public final EObject rulePortsDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_ports_0_0 = null; + + EObject lv_ports_2_0 = null; + + EObject lv_type_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:2740:2: ( ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) ) ) + // InternalFiacre.g:2741:2: ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) ) + { + // InternalFiacre.g:2741:2: ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) ) + // InternalFiacre.g:2742:3: ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) + { + // InternalFiacre.g:2742:3: ( (lv_ports_0_0= rulePortDeclaration ) ) + // InternalFiacre.g:2743:4: (lv_ports_0_0= rulePortDeclaration ) + { + // InternalFiacre.g:2743:4: (lv_ports_0_0= rulePortDeclaration ) + // InternalFiacre.g:2744:5: lv_ports_0_0= rulePortDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_ports_0_0=rulePortDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + add( + current, + "ports", + lv_ports_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2761:3: (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* + loop50: + do { + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==17) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // InternalFiacre.g:2762:4: otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPortsDeclarationAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:2766:4: ( (lv_ports_2_0= rulePortDeclaration ) ) + // InternalFiacre.g:2767:5: (lv_ports_2_0= rulePortDeclaration ) + { + // InternalFiacre.g:2767:5: (lv_ports_2_0= rulePortDeclaration ) + // InternalFiacre.g:2768:6: lv_ports_2_0= rulePortDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_ports_2_0=rulePortDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + add( + current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop50; + } + } while (true); + + otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_18); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getPortsDeclarationAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:2790:3: ( (lv_type_4_0= ruleChannelType ) ) + // InternalFiacre.g:2791:4: (lv_type_4_0= ruleChannelType ) + { + // InternalFiacre.g:2791:4: (lv_type_4_0= ruleChannelType ) + // InternalFiacre.g:2792:5: lv_type_4_0= ruleChannelType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_4_0=ruleChannelType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPortsDeclarationRule()); + } + set( + current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePortsDeclaration" + + + // $ANTLR start "entryRulePortDeclaration" + // InternalFiacre.g:2813:1: entryRulePortDeclaration returns [EObject current=null] : iv_rulePortDeclaration= rulePortDeclaration EOF ; + public final EObject entryRulePortDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_rulePortDeclaration = null; + + + try { + // InternalFiacre.g:2813:56: (iv_rulePortDeclaration= rulePortDeclaration EOF ) + // InternalFiacre.g:2814:2: iv_rulePortDeclaration= rulePortDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPortDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePortDeclaration=rulePortDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePortDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePortDeclaration" + + + // $ANTLR start "rulePortDeclaration" + // InternalFiacre.g:2820:1: rulePortDeclaration returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject rulePortDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:2826:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalFiacre.g:2827:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalFiacre.g:2827:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalFiacre.g:2828:3: (lv_name_0_0= RULE_ID ) + { + // InternalFiacre.g:2828:3: (lv_name_0_0= RULE_ID ) + // InternalFiacre.g:2829:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_0_0, grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPortDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePortDeclaration" + + + // $ANTLR start "entryRuleLocalPortsDeclaration" + // InternalFiacre.g:2848:1: entryRuleLocalPortsDeclaration returns [EObject current=null] : iv_ruleLocalPortsDeclaration= ruleLocalPortsDeclaration EOF ; + public final EObject entryRuleLocalPortsDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLocalPortsDeclaration = null; + + + try { + // InternalFiacre.g:2848:62: (iv_ruleLocalPortsDeclaration= ruleLocalPortsDeclaration EOF ) + // InternalFiacre.g:2849:2: iv_ruleLocalPortsDeclaration= ruleLocalPortsDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLocalPortsDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLocalPortsDeclaration=ruleLocalPortsDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLocalPortsDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLocalPortsDeclaration" + + + // $ANTLR start "ruleLocalPortsDeclaration" + // InternalFiacre.g:2855:1: ruleLocalPortsDeclaration returns [EObject current=null] : ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? ) ; + public final EObject ruleLocalPortsDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_ports_0_0 = null; + + EObject lv_ports_2_0 = null; + + EObject lv_type_4_0 = null; + + EObject lv_left_6_0 = null; + + EObject lv_right_8_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:2861:2: ( ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? ) ) + // InternalFiacre.g:2862:2: ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? ) + { + // InternalFiacre.g:2862:2: ( ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? ) + // InternalFiacre.g:2863:3: ( (lv_ports_0_0= rulePortDeclaration ) ) (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleChannelType ) ) (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? + { + // InternalFiacre.g:2863:3: ( (lv_ports_0_0= rulePortDeclaration ) ) + // InternalFiacre.g:2864:4: (lv_ports_0_0= rulePortDeclaration ) + { + // InternalFiacre.g:2864:4: (lv_ports_0_0= rulePortDeclaration ) + // InternalFiacre.g:2865:5: lv_ports_0_0= rulePortDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_ports_0_0=rulePortDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + add( + current, + "ports", + lv_ports_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2882:3: (otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) )* + loop51: + do { + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==17) ) { + alt51=1; + } + + + switch (alt51) { + case 1 : + // InternalFiacre.g:2883:4: otherlv_1= ',' ( (lv_ports_2_0= rulePortDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:2887:4: ( (lv_ports_2_0= rulePortDeclaration ) ) + // InternalFiacre.g:2888:5: (lv_ports_2_0= rulePortDeclaration ) + { + // InternalFiacre.g:2888:5: (lv_ports_2_0= rulePortDeclaration ) + // InternalFiacre.g:2889:6: lv_ports_2_0= rulePortDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getPortsPortDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_ports_2_0=rulePortDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + add( + current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop51; + } + } while (true); + + otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_18); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getLocalPortsDeclarationAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:2911:3: ( (lv_type_4_0= ruleChannelType ) ) + // InternalFiacre.g:2912:4: (lv_type_4_0= ruleChannelType ) + { + // InternalFiacre.g:2912:4: (lv_type_4_0= ruleChannelType ) + // InternalFiacre.g:2913:5: lv_type_4_0= ruleChannelType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getTypeChannelTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_41); + lv_type_4_0=ruleChannelType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:2930:3: (otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) )? + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==26) ) { + alt52=1; + } + switch (alt52) { + case 1 : + // InternalFiacre.g:2931:4: otherlv_5= 'in' ( (lv_left_6_0= ruleLowerBound ) ) otherlv_7= ',' ( (lv_right_8_0= ruleUpperBound ) ) + { + otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getLocalPortsDeclarationAccess().getInKeyword_4_0()); + + } + // InternalFiacre.g:2935:4: ( (lv_left_6_0= ruleLowerBound ) ) + // InternalFiacre.g:2936:5: (lv_left_6_0= ruleLowerBound ) + { + // InternalFiacre.g:2936:5: (lv_left_6_0= ruleLowerBound ) + // InternalFiacre.g:2937:6: lv_left_6_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getLeftLowerBoundParserRuleCall_4_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_left_6_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + current, + "left", + lv_left_6_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getLocalPortsDeclarationAccess().getCommaKeyword_4_2()); + + } + // InternalFiacre.g:2958:4: ( (lv_right_8_0= ruleUpperBound ) ) + // InternalFiacre.g:2959:5: (lv_right_8_0= ruleUpperBound ) + { + // InternalFiacre.g:2959:5: (lv_right_8_0= ruleUpperBound ) + // InternalFiacre.g:2960:6: lv_right_8_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLocalPortsDeclarationAccess().getRightUpperBoundParserRuleCall_4_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_8_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLocalPortsDeclarationRule()); + } + set( + current, + "right", + lv_right_8_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLocalPortsDeclaration" + + + // $ANTLR start "entryRuleParametersDeclaration" + // InternalFiacre.g:2982:1: entryRuleParametersDeclaration returns [EObject current=null] : iv_ruleParametersDeclaration= ruleParametersDeclaration EOF ; + public final EObject entryRuleParametersDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParametersDeclaration = null; + + + try { + // InternalFiacre.g:2982:62: (iv_ruleParametersDeclaration= ruleParametersDeclaration EOF ) + // InternalFiacre.g:2983:2: iv_ruleParametersDeclaration= ruleParametersDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getParametersDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleParametersDeclaration=ruleParametersDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleParametersDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParametersDeclaration" + + + // $ANTLR start "ruleParametersDeclaration" + // InternalFiacre.g:2989:1: ruleParametersDeclaration returns [EObject current=null] : ( ( (lv_parameters_0_0= ruleParameterDeclaration ) ) (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* otherlv_3= ':' ( (lv_read_4_0= 'read' ) )? ( (lv_write_5_0= 'write' ) )? ( (lv_type_6_0= ruleType ) ) ) ; + public final EObject ruleParametersDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token lv_read_4_0=null; + Token lv_write_5_0=null; + EObject lv_parameters_0_0 = null; + + EObject lv_parameters_2_0 = null; + + EObject lv_type_6_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:2995:2: ( ( ( (lv_parameters_0_0= ruleParameterDeclaration ) ) (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* otherlv_3= ':' ( (lv_read_4_0= 'read' ) )? ( (lv_write_5_0= 'write' ) )? ( (lv_type_6_0= ruleType ) ) ) ) + // InternalFiacre.g:2996:2: ( ( (lv_parameters_0_0= ruleParameterDeclaration ) ) (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* otherlv_3= ':' ( (lv_read_4_0= 'read' ) )? ( (lv_write_5_0= 'write' ) )? ( (lv_type_6_0= ruleType ) ) ) + { + // InternalFiacre.g:2996:2: ( ( (lv_parameters_0_0= ruleParameterDeclaration ) ) (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* otherlv_3= ':' ( (lv_read_4_0= 'read' ) )? ( (lv_write_5_0= 'write' ) )? ( (lv_type_6_0= ruleType ) ) ) + // InternalFiacre.g:2997:3: ( (lv_parameters_0_0= ruleParameterDeclaration ) ) (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* otherlv_3= ':' ( (lv_read_4_0= 'read' ) )? ( (lv_write_5_0= 'write' ) )? ( (lv_type_6_0= ruleType ) ) + { + // InternalFiacre.g:2997:3: ( (lv_parameters_0_0= ruleParameterDeclaration ) ) + // InternalFiacre.g:2998:4: (lv_parameters_0_0= ruleParameterDeclaration ) + { + // InternalFiacre.g:2998:4: (lv_parameters_0_0= ruleParameterDeclaration ) + // InternalFiacre.g:2999:5: lv_parameters_0_0= ruleParameterDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_parameters_0_0=ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_0_0, + "fr.irit.fiacre.xtext.Fiacre.ParameterDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:3016:3: (otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) )* + loop53: + do { + int alt53=2; + int LA53_0 = input.LA(1); + + if ( (LA53_0==17) ) { + alt53=1; + } + + + switch (alt53) { + case 1 : + // InternalFiacre.g:3017:4: otherlv_1= ',' ( (lv_parameters_2_0= ruleParameterDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_12); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getParametersDeclarationAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:3021:4: ( (lv_parameters_2_0= ruleParameterDeclaration ) ) + // InternalFiacre.g:3022:5: (lv_parameters_2_0= ruleParameterDeclaration ) + { + // InternalFiacre.g:3022:5: (lv_parameters_2_0= ruleParameterDeclaration ) + // InternalFiacre.g:3023:6: lv_parameters_2_0= ruleParameterDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getParametersParameterDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_parameters_2_0=ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + add( + current, + "parameters", + lv_parameters_2_0, + "fr.irit.fiacre.xtext.Fiacre.ParameterDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop53; + } + } while (true); + + otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_45); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getParametersDeclarationAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:3045:3: ( (lv_read_4_0= 'read' ) )? + int alt54=2; + int LA54_0 = input.LA(1); + + if ( (LA54_0==49) ) { + alt54=1; + } + switch (alt54) { + case 1 : + // InternalFiacre.g:3046:4: (lv_read_4_0= 'read' ) + { + // InternalFiacre.g:3046:4: (lv_read_4_0= 'read' ) + // InternalFiacre.g:3047:5: lv_read_4_0= 'read' + { + lv_read_4_0=(Token)match(input,49,FollowSets000.FOLLOW_46); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_read_4_0, grammarAccess.getParametersDeclarationAccess().getReadReadKeyword_3_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getParametersDeclarationRule()); + } + setWithLastConsumed(current, "read", true, "read"); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:3059:3: ( (lv_write_5_0= 'write' ) )? + int alt55=2; + int LA55_0 = input.LA(1); + + if ( (LA55_0==50) ) { + alt55=1; + } + switch (alt55) { + case 1 : + // InternalFiacre.g:3060:4: (lv_write_5_0= 'write' ) + { + // InternalFiacre.g:3060:4: (lv_write_5_0= 'write' ) + // InternalFiacre.g:3061:5: lv_write_5_0= 'write' + { + lv_write_5_0=(Token)match(input,50,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_write_5_0, grammarAccess.getParametersDeclarationAccess().getWriteWriteKeyword_4_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getParametersDeclarationRule()); + } + setWithLastConsumed(current, "write", true, "write"); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:3073:3: ( (lv_type_6_0= ruleType ) ) + // InternalFiacre.g:3074:4: (lv_type_6_0= ruleType ) + { + // InternalFiacre.g:3074:4: (lv_type_6_0= ruleType ) + // InternalFiacre.g:3075:5: lv_type_6_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParametersDeclarationAccess().getTypeTypeParserRuleCall_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_6_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParametersDeclarationRule()); + } + set( + current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParametersDeclaration" + + + // $ANTLR start "entryRuleParameterDeclaration" + // InternalFiacre.g:3096:1: entryRuleParameterDeclaration returns [EObject current=null] : iv_ruleParameterDeclaration= ruleParameterDeclaration EOF ; + public final EObject entryRuleParameterDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParameterDeclaration = null; + + + try { + // InternalFiacre.g:3096:61: (iv_ruleParameterDeclaration= ruleParameterDeclaration EOF ) + // InternalFiacre.g:3097:2: iv_ruleParameterDeclaration= ruleParameterDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getParameterDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleParameterDeclaration=ruleParameterDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleParameterDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParameterDeclaration" + + + // $ANTLR start "ruleParameterDeclaration" + // InternalFiacre.g:3103:1: ruleParameterDeclaration returns [EObject current=null] : ( ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? ( (lv_name_4_0= RULE_ID ) ) ) ; + public final EObject ruleParameterDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_reference_0_0=null; + Token lv_array_1_0=null; + Token otherlv_3=null; + Token lv_name_4_0=null; + EObject lv_size_2_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3109:2: ( ( ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? ( (lv_name_4_0= RULE_ID ) ) ) ) + // InternalFiacre.g:3110:2: ( ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? ( (lv_name_4_0= RULE_ID ) ) ) + { + // InternalFiacre.g:3110:2: ( ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? ( (lv_name_4_0= RULE_ID ) ) ) + // InternalFiacre.g:3111:3: ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? ( (lv_name_4_0= RULE_ID ) ) + { + // InternalFiacre.g:3111:3: ( ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? )? + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==51) ) { + alt57=1; + } + switch (alt57) { + case 1 : + // InternalFiacre.g:3112:4: ( (lv_reference_0_0= '&' ) ) ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? + { + // InternalFiacre.g:3112:4: ( (lv_reference_0_0= '&' ) ) + // InternalFiacre.g:3113:5: (lv_reference_0_0= '&' ) + { + // InternalFiacre.g:3113:5: (lv_reference_0_0= '&' ) + // InternalFiacre.g:3114:6: lv_reference_0_0= '&' + { + lv_reference_0_0=(Token)match(input,51,FollowSets000.FOLLOW_47); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_reference_0_0, grammarAccess.getParameterDeclarationAccess().getReferenceAmpersandKeyword_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed(current, "reference", true, "&"); + + } + + } + + + } + + // InternalFiacre.g:3126:4: ( ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' )? + int alt56=2; + int LA56_0 = input.LA(1); + + if ( (LA56_0==41) ) { + alt56=1; + } + switch (alt56) { + case 1 : + // InternalFiacre.g:3127:5: ( (lv_array_1_0= '[' ) ) ( (lv_size_2_0= ruleExpression ) ) otherlv_3= ']' + { + // InternalFiacre.g:3127:5: ( (lv_array_1_0= '[' ) ) + // InternalFiacre.g:3128:6: (lv_array_1_0= '[' ) + { + // InternalFiacre.g:3128:6: (lv_array_1_0= '[' ) + // InternalFiacre.g:3129:7: lv_array_1_0= '[' + { + lv_array_1_0=(Token)match(input,41,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_array_1_0, grammarAccess.getParameterDeclarationAccess().getArrayLeftSquareBracketKeyword_0_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed(current, "array", true, "["); + + } + + } + + + } + + // InternalFiacre.g:3141:5: ( (lv_size_2_0= ruleExpression ) ) + // InternalFiacre.g:3142:6: (lv_size_2_0= ruleExpression ) + { + // InternalFiacre.g:3142:6: (lv_size_2_0= ruleExpression ) + // InternalFiacre.g:3143:7: lv_size_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getParameterDeclarationAccess().getSizeExpressionParserRuleCall_0_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_48); + lv_size_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParameterDeclarationRule()); + } + set( + current, + "size", + lv_size_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,42,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getParameterDeclarationAccess().getRightSquareBracketKeyword_0_1_2()); + + } + + } + break; + + } + + + } + break; + + } + + // InternalFiacre.g:3166:3: ( (lv_name_4_0= RULE_ID ) ) + // InternalFiacre.g:3167:4: (lv_name_4_0= RULE_ID ) + { + // InternalFiacre.g:3167:4: (lv_name_4_0= RULE_ID ) + // InternalFiacre.g:3168:5: lv_name_4_0= RULE_ID + { + lv_name_4_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_4_0, grammarAccess.getParameterDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getParameterDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_4_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParameterDeclaration" + + + // $ANTLR start "entryRuleVariablesDeclaration" + // InternalFiacre.g:3188:1: entryRuleVariablesDeclaration returns [EObject current=null] : iv_ruleVariablesDeclaration= ruleVariablesDeclaration EOF ; + public final EObject entryRuleVariablesDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleVariablesDeclaration = null; + + + try { + // InternalFiacre.g:3188:61: (iv_ruleVariablesDeclaration= ruleVariablesDeclaration EOF ) + // InternalFiacre.g:3189:2: iv_ruleVariablesDeclaration= ruleVariablesDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getVariablesDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleVariablesDeclaration=ruleVariablesDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleVariablesDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleVariablesDeclaration" + + + // $ANTLR start "ruleVariablesDeclaration" + // InternalFiacre.g:3195:1: ruleVariablesDeclaration returns [EObject current=null] : ( ( (lv_variables_0_0= ruleVariableDeclaration ) ) (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? ) ; + public final EObject ruleVariablesDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_variables_0_0 = null; + + EObject lv_variables_2_0 = null; + + EObject lv_type_4_0 = null; + + EObject lv_value_6_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3201:2: ( ( ( (lv_variables_0_0= ruleVariableDeclaration ) ) (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? ) ) + // InternalFiacre.g:3202:2: ( ( (lv_variables_0_0= ruleVariableDeclaration ) ) (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:3202:2: ( ( (lv_variables_0_0= ruleVariableDeclaration ) ) (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? ) + // InternalFiacre.g:3203:3: ( (lv_variables_0_0= ruleVariableDeclaration ) ) (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* otherlv_3= ':' ( (lv_type_4_0= ruleType ) ) (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? + { + // InternalFiacre.g:3203:3: ( (lv_variables_0_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:3204:4: (lv_variables_0_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:3204:4: (lv_variables_0_0= ruleVariableDeclaration ) + // InternalFiacre.g:3205:5: lv_variables_0_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_variables_0_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + add( + current, + "variables", + lv_variables_0_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:3222:3: (otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) )* + loop58: + do { + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==17) ) { + alt58=1; + } + + + switch (alt58) { + case 1 : + // InternalFiacre.g:3223:4: otherlv_1= ',' ( (lv_variables_2_0= ruleVariableDeclaration ) ) + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getVariablesDeclarationAccess().getCommaKeyword_1_0()); + + } + // InternalFiacre.g:3227:4: ( (lv_variables_2_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:3228:5: (lv_variables_2_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:3228:5: (lv_variables_2_0= ruleVariableDeclaration ) + // InternalFiacre.g:3229:6: lv_variables_2_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getVariablesVariableDeclarationParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_30); + lv_variables_2_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + add( + current, + "variables", + lv_variables_2_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop58; + } + } while (true); + + otherlv_3=(Token)match(input,19,FollowSets000.FOLLOW_14); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getVariablesDeclarationAccess().getColonKeyword_2()); + + } + // InternalFiacre.g:3251:3: ( (lv_type_4_0= ruleType ) ) + // InternalFiacre.g:3252:4: (lv_type_4_0= ruleType ) + { + // InternalFiacre.g:3252:4: (lv_type_4_0= ruleType ) + // InternalFiacre.g:3253:5: lv_type_4_0= ruleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getTypeTypeParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_49); + lv_type_4_0=ruleType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + set( + current, + "type", + lv_type_4_0, + "fr.irit.fiacre.xtext.Fiacre.Type"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:3270:3: (otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) )? + int alt59=2; + int LA59_0 = input.LA(1); + + if ( (LA59_0==52) ) { + alt59=1; + } + switch (alt59) { + case 1 : + // InternalFiacre.g:3271:4: otherlv_5= ':=' ( (lv_value_6_0= ruleExpression ) ) + { + otherlv_5=(Token)match(input,52,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getVariablesDeclarationAccess().getColonEqualsSignKeyword_4_0()); + + } + // InternalFiacre.g:3275:4: ( (lv_value_6_0= ruleExpression ) ) + // InternalFiacre.g:3276:5: (lv_value_6_0= ruleExpression ) + { + // InternalFiacre.g:3276:5: (lv_value_6_0= ruleExpression ) + // InternalFiacre.g:3277:6: lv_value_6_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getVariablesDeclarationAccess().getValueExpressionParserRuleCall_4_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_6_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getVariablesDeclarationRule()); + } + set( + current, + "value", + lv_value_6_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleVariablesDeclaration" + + + // $ANTLR start "entryRuleVariableDeclaration" + // InternalFiacre.g:3299:1: entryRuleVariableDeclaration returns [EObject current=null] : iv_ruleVariableDeclaration= ruleVariableDeclaration EOF ; + public final EObject entryRuleVariableDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleVariableDeclaration = null; + + + try { + // InternalFiacre.g:3299:60: (iv_ruleVariableDeclaration= ruleVariableDeclaration EOF ) + // InternalFiacre.g:3300:2: iv_ruleVariableDeclaration= ruleVariableDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getVariableDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleVariableDeclaration=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleVariableDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleVariableDeclaration" + + + // $ANTLR start "ruleVariableDeclaration" + // InternalFiacre.g:3306:1: ruleVariableDeclaration returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ; + public final EObject ruleVariableDeclaration() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:3312:2: ( ( (lv_name_0_0= RULE_ID ) ) ) + // InternalFiacre.g:3313:2: ( (lv_name_0_0= RULE_ID ) ) + { + // InternalFiacre.g:3313:2: ( (lv_name_0_0= RULE_ID ) ) + // InternalFiacre.g:3314:3: (lv_name_0_0= RULE_ID ) + { + // InternalFiacre.g:3314:3: (lv_name_0_0= RULE_ID ) + // InternalFiacre.g:3315:4: lv_name_0_0= RULE_ID + { + lv_name_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_0_0, grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleVariableDeclaration" + + + // $ANTLR start "entryRulePriorityDeclaration" + // InternalFiacre.g:3334:1: entryRulePriorityDeclaration returns [EObject current=null] : iv_rulePriorityDeclaration= rulePriorityDeclaration EOF ; + public final EObject entryRulePriorityDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_rulePriorityDeclaration = null; + + + try { + // InternalFiacre.g:3334:60: (iv_rulePriorityDeclaration= rulePriorityDeclaration EOF ) + // InternalFiacre.g:3335:2: iv_rulePriorityDeclaration= rulePriorityDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPriorityDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePriorityDeclaration=rulePriorityDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePriorityDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePriorityDeclaration" + + + // $ANTLR start "rulePriorityDeclaration" + // InternalFiacre.g:3341:1: rulePriorityDeclaration returns [EObject current=null] : ( ( (lv_groups_0_0= rulePriorityGroup ) ) (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ ) ; + public final EObject rulePriorityDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_groups_0_0 = null; + + EObject lv_groups_2_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3347:2: ( ( ( (lv_groups_0_0= rulePriorityGroup ) ) (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ ) ) + // InternalFiacre.g:3348:2: ( ( (lv_groups_0_0= rulePriorityGroup ) ) (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ ) + { + // InternalFiacre.g:3348:2: ( ( (lv_groups_0_0= rulePriorityGroup ) ) (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ ) + // InternalFiacre.g:3349:3: ( (lv_groups_0_0= rulePriorityGroup ) ) (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ + { + // InternalFiacre.g:3349:3: ( (lv_groups_0_0= rulePriorityGroup ) ) + // InternalFiacre.g:3350:4: (lv_groups_0_0= rulePriorityGroup ) + { + // InternalFiacre.g:3350:4: (lv_groups_0_0= rulePriorityGroup ) + // InternalFiacre.g:3351:5: lv_groups_0_0= rulePriorityGroup + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_50); + lv_groups_0_0=rulePriorityGroup(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPriorityDeclarationRule()); + } + add( + current, + "groups", + lv_groups_0_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityGroup"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:3368:3: (otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) )+ + int cnt60=0; + loop60: + do { + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==12) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // InternalFiacre.g:3369:4: otherlv_1= '>' ( (lv_groups_2_0= rulePriorityGroup ) ) + { + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPriorityDeclarationAccess().getGreaterThanSignKeyword_1_0()); + + } + // InternalFiacre.g:3373:4: ( (lv_groups_2_0= rulePriorityGroup ) ) + // InternalFiacre.g:3374:5: (lv_groups_2_0= rulePriorityGroup ) + { + // InternalFiacre.g:3374:5: (lv_groups_2_0= rulePriorityGroup ) + // InternalFiacre.g:3375:6: lv_groups_2_0= rulePriorityGroup + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPriorityDeclarationAccess().getGroupsPriorityGroupParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_5); + lv_groups_2_0=rulePriorityGroup(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPriorityDeclarationRule()); + } + add( + current, + "groups", + lv_groups_2_0, + "fr.irit.fiacre.xtext.Fiacre.PriorityGroup"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + if ( cnt60 >= 1 ) break loop60; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(60, input); + throw eee; + } + cnt60++; + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePriorityDeclaration" + + + // $ANTLR start "entryRulePriorityGroup" + // InternalFiacre.g:3397:1: entryRulePriorityGroup returns [EObject current=null] : iv_rulePriorityGroup= rulePriorityGroup EOF ; + public final EObject entryRulePriorityGroup() throws RecognitionException { + EObject current = null; + + EObject iv_rulePriorityGroup = null; + + + try { + // InternalFiacre.g:3397:54: (iv_rulePriorityGroup= rulePriorityGroup EOF ) + // InternalFiacre.g:3398:2: iv_rulePriorityGroup= rulePriorityGroup EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPriorityGroupRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePriorityGroup=rulePriorityGroup(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePriorityGroup; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePriorityGroup" + + + // $ANTLR start "rulePriorityGroup" + // InternalFiacre.g:3404:1: rulePriorityGroup returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* ) ; + public final EObject rulePriorityGroup() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalFiacre.g:3410:2: ( ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* ) ) + // InternalFiacre.g:3411:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* ) + { + // InternalFiacre.g:3411:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* ) + // InternalFiacre.g:3412:3: ( (otherlv_0= RULE_ID ) ) (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* + { + // InternalFiacre.g:3412:3: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:3413:4: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:3413:4: (otherlv_0= RULE_ID ) + // InternalFiacre.g:3414:5: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPriorityGroupRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_0_0()); + + } + + } + + + } + + // InternalFiacre.g:3428:3: (otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) )* + loop61: + do { + int alt61=2; + int LA61_0 = input.LA(1); + + if ( (LA61_0==13) ) { + alt61=1; + } + + + switch (alt61) { + case 1 : + // InternalFiacre.g:3429:4: otherlv_1= '|' ( (otherlv_2= RULE_ID ) ) + { + otherlv_1=(Token)match(input,13,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPriorityGroupAccess().getVerticalLineKeyword_1_0()); + + } + // InternalFiacre.g:3433:4: ( (otherlv_2= RULE_ID ) ) + // InternalFiacre.g:3434:5: (otherlv_2= RULE_ID ) + { + // InternalFiacre.g:3434:5: (otherlv_2= RULE_ID ) + // InternalFiacre.g:3435:6: otherlv_2= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPriorityGroupRule()); + } + + } + otherlv_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_7); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPriorityGroupAccess().getPortsPortDeclarationCrossReference_1_1_0()); + + } + + } + + + } + + + } + break; + + default : + break loop61; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePriorityGroup" + + + // $ANTLR start "entryRuleUnlessStatement" + // InternalFiacre.g:3454:1: entryRuleUnlessStatement returns [EObject current=null] : iv_ruleUnlessStatement= ruleUnlessStatement EOF ; + public final EObject entryRuleUnlessStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnlessStatement = null; + + + try { + // InternalFiacre.g:3454:56: (iv_ruleUnlessStatement= ruleUnlessStatement EOF ) + // InternalFiacre.g:3455:2: iv_ruleUnlessStatement= ruleUnlessStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnlessStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUnlessStatement=ruleUnlessStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnlessStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnlessStatement" + + + // $ANTLR start "ruleUnlessStatement" + // InternalFiacre.g:3461:1: ruleUnlessStatement returns [EObject current=null] : (this_StatementChoice_0= ruleStatementChoice ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* ) ; + public final EObject ruleUnlessStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_StatementChoice_0 = null; + + EObject lv_followers_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3467:2: ( (this_StatementChoice_0= ruleStatementChoice ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* ) ) + // InternalFiacre.g:3468:2: (this_StatementChoice_0= ruleStatementChoice ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* ) + { + // InternalFiacre.g:3468:2: (this_StatementChoice_0= ruleStatementChoice ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* ) + // InternalFiacre.g:3469:3: this_StatementChoice_0= ruleStatementChoice ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnlessStatementAccess().getStatementChoiceParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_51); + this_StatementChoice_0=ruleStatementChoice(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StatementChoice_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:3480:3: ( () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) )* + loop62: + do { + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==53) ) { + alt62=1; + } + + + switch (alt62) { + case 1 : + // InternalFiacre.g:3481:4: () otherlv_2= 'unless' ( (lv_followers_3_0= ruleStatementChoice ) ) + { + // InternalFiacre.g:3481:4: () + // InternalFiacre.g:3482:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getUnlessStatementAccess().getUnlessStatementFollowersAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,53,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getUnlessStatementAccess().getUnlessKeyword_1_1()); + + } + // InternalFiacre.g:3495:4: ( (lv_followers_3_0= ruleStatementChoice ) ) + // InternalFiacre.g:3496:5: (lv_followers_3_0= ruleStatementChoice ) + { + // InternalFiacre.g:3496:5: (lv_followers_3_0= ruleStatementChoice ) + // InternalFiacre.g:3497:6: lv_followers_3_0= ruleStatementChoice + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnlessStatementAccess().getFollowersStatementChoiceParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_51); + lv_followers_3_0=ruleStatementChoice(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnlessStatementRule()); + } + add( + current, + "followers", + lv_followers_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementChoice"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop62; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnlessStatement" + + + // $ANTLR start "entryRuleStatementChoice" + // InternalFiacre.g:3519:1: entryRuleStatementChoice returns [EObject current=null] : iv_ruleStatementChoice= ruleStatementChoice EOF ; + public final EObject entryRuleStatementChoice() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStatementChoice = null; + + + try { + // InternalFiacre.g:3519:56: (iv_ruleStatementChoice= ruleStatementChoice EOF ) + // InternalFiacre.g:3520:2: iv_ruleStatementChoice= ruleStatementChoice EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStatementChoiceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStatementChoice=ruleStatementChoice(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStatementChoice; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStatementChoice" + + + // $ANTLR start "ruleStatementChoice" + // InternalFiacre.g:3526:1: ruleStatementChoice returns [EObject current=null] : (this_StatementSequence_0= ruleStatementSequence ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* ) ; + public final EObject ruleStatementChoice() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_StatementSequence_0 = null; + + EObject lv_choices_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3532:2: ( (this_StatementSequence_0= ruleStatementSequence ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* ) ) + // InternalFiacre.g:3533:2: (this_StatementSequence_0= ruleStatementSequence ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* ) + { + // InternalFiacre.g:3533:2: (this_StatementSequence_0= ruleStatementSequence ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* ) + // InternalFiacre.g:3534:3: this_StatementSequence_0= ruleStatementSequence ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementChoiceAccess().getStatementSequenceParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_52); + this_StatementSequence_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StatementSequence_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:3545:3: ( () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) )* + loop63: + do { + int alt63=2; + int LA63_0 = input.LA(1); + + if ( (LA63_0==54) ) { + alt63=1; + } + + + switch (alt63) { + case 1 : + // InternalFiacre.g:3546:4: () otherlv_2= '[]' ( (lv_choices_3_0= ruleStatementSequence ) ) + { + // InternalFiacre.g:3546:4: () + // InternalFiacre.g:3547:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getStatementChoiceAccess().getStatementChoiceChoicesAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,54,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getStatementChoiceAccess().getLeftSquareBracketRightSquareBracketKeyword_1_1()); + + } + // InternalFiacre.g:3560:4: ( (lv_choices_3_0= ruleStatementSequence ) ) + // InternalFiacre.g:3561:5: (lv_choices_3_0= ruleStatementSequence ) + { + // InternalFiacre.g:3561:5: (lv_choices_3_0= ruleStatementSequence ) + // InternalFiacre.g:3562:6: lv_choices_3_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementChoiceAccess().getChoicesStatementSequenceParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_52); + lv_choices_3_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStatementChoiceRule()); + } + add( + current, + "choices", + lv_choices_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop63; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStatementChoice" + + + // $ANTLR start "entryRuleStatementSequence" + // InternalFiacre.g:3584:1: entryRuleStatementSequence returns [EObject current=null] : iv_ruleStatementSequence= ruleStatementSequence EOF ; + public final EObject entryRuleStatementSequence() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStatementSequence = null; + + + try { + // InternalFiacre.g:3584:58: (iv_ruleStatementSequence= ruleStatementSequence EOF ) + // InternalFiacre.g:3585:2: iv_ruleStatementSequence= ruleStatementSequence EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStatementSequenceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStatementSequence=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStatementSequence; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStatementSequence" + + + // $ANTLR start "ruleStatementSequence" + // InternalFiacre.g:3591:1: ruleStatementSequence returns [EObject current=null] : (this_Statement_0= ruleStatement ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* ) ; + public final EObject ruleStatementSequence() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Statement_0 = null; + + EObject lv_statements_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3597:2: ( (this_Statement_0= ruleStatement ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* ) ) + // InternalFiacre.g:3598:2: (this_Statement_0= ruleStatement ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* ) + { + // InternalFiacre.g:3598:2: (this_Statement_0= ruleStatement ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* ) + // InternalFiacre.g:3599:3: this_Statement_0= ruleStatement ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_53); + this_Statement_0=ruleStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Statement_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:3610:3: ( () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==55) ) { + alt64=1; + } + + + switch (alt64) { + case 1 : + // InternalFiacre.g:3611:4: () otherlv_2= ';' ( (lv_statements_3_0= ruleStatement ) ) + { + // InternalFiacre.g:3611:4: () + // InternalFiacre.g:3612:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getStatementSequenceAccess().getStatementSequenceStatementsAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getStatementSequenceAccess().getSemicolonKeyword_1_1()); + + } + // InternalFiacre.g:3625:4: ( (lv_statements_3_0= ruleStatement ) ) + // InternalFiacre.g:3626:5: (lv_statements_3_0= ruleStatement ) + { + // InternalFiacre.g:3626:5: (lv_statements_3_0= ruleStatement ) + // InternalFiacre.g:3627:6: lv_statements_3_0= ruleStatement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementSequenceAccess().getStatementsStatementParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_53); + lv_statements_3_0=ruleStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getStatementSequenceRule()); + } + add( + current, + "statements", + lv_statements_3_0, + "fr.irit.fiacre.xtext.Fiacre.Statement"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop64; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStatementSequence" + + + // $ANTLR start "entryRuleStatement" + // InternalFiacre.g:3649:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; + public final EObject entryRuleStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStatement = null; + + + try { + // InternalFiacre.g:3649:50: (iv_ruleStatement= ruleStatement EOF ) + // InternalFiacre.g:3650:2: iv_ruleStatement= ruleStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStatement=ruleStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStatement" + + + // $ANTLR start "ruleStatement" + // InternalFiacre.g:3656:1: ruleStatement returns [EObject current=null] : (this_NullStatement_0= ruleNullStatement | this_TaggedStatement_1= ruleTaggedStatement | this_PatternStatement_2= rulePatternStatement | this_ConditionalStatement_3= ruleConditionalStatement | this_SelectStatement_4= ruleSelectStatement | this_WhileStatement_5= ruleWhileStatement | this_ForeachStatement_6= ruleForeachStatement | this_ToStatement_7= ruleToStatement | this_CaseStatement_8= ruleCaseStatement | this_LoopStatement_9= ruleLoopStatement | this_OnStatement_10= ruleOnStatement | this_WaitStatement_11= ruleWaitStatement | this_ReturnStatement_12= ruleReturnStatement | this_BlockStatement_13= ruleBlockStatement ) ; + public final EObject ruleStatement() throws RecognitionException { + EObject current = null; + + EObject this_NullStatement_0 = null; + + EObject this_TaggedStatement_1 = null; + + EObject this_PatternStatement_2 = null; + + EObject this_ConditionalStatement_3 = null; + + EObject this_SelectStatement_4 = null; + + EObject this_WhileStatement_5 = null; + + EObject this_ForeachStatement_6 = null; + + EObject this_ToStatement_7 = null; + + EObject this_CaseStatement_8 = null; + + EObject this_LoopStatement_9 = null; + + EObject this_OnStatement_10 = null; + + EObject this_WaitStatement_11 = null; + + EObject this_ReturnStatement_12 = null; + + EObject this_BlockStatement_13 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3662:2: ( (this_NullStatement_0= ruleNullStatement | this_TaggedStatement_1= ruleTaggedStatement | this_PatternStatement_2= rulePatternStatement | this_ConditionalStatement_3= ruleConditionalStatement | this_SelectStatement_4= ruleSelectStatement | this_WhileStatement_5= ruleWhileStatement | this_ForeachStatement_6= ruleForeachStatement | this_ToStatement_7= ruleToStatement | this_CaseStatement_8= ruleCaseStatement | this_LoopStatement_9= ruleLoopStatement | this_OnStatement_10= ruleOnStatement | this_WaitStatement_11= ruleWaitStatement | this_ReturnStatement_12= ruleReturnStatement | this_BlockStatement_13= ruleBlockStatement ) ) + // InternalFiacre.g:3663:2: (this_NullStatement_0= ruleNullStatement | this_TaggedStatement_1= ruleTaggedStatement | this_PatternStatement_2= rulePatternStatement | this_ConditionalStatement_3= ruleConditionalStatement | this_SelectStatement_4= ruleSelectStatement | this_WhileStatement_5= ruleWhileStatement | this_ForeachStatement_6= ruleForeachStatement | this_ToStatement_7= ruleToStatement | this_CaseStatement_8= ruleCaseStatement | this_LoopStatement_9= ruleLoopStatement | this_OnStatement_10= ruleOnStatement | this_WaitStatement_11= ruleWaitStatement | this_ReturnStatement_12= ruleReturnStatement | this_BlockStatement_13= ruleBlockStatement ) + { + // InternalFiacre.g:3663:2: (this_NullStatement_0= ruleNullStatement | this_TaggedStatement_1= ruleTaggedStatement | this_PatternStatement_2= rulePatternStatement | this_ConditionalStatement_3= ruleConditionalStatement | this_SelectStatement_4= ruleSelectStatement | this_WhileStatement_5= ruleWhileStatement | this_ForeachStatement_6= ruleForeachStatement | this_ToStatement_7= ruleToStatement | this_CaseStatement_8= ruleCaseStatement | this_LoopStatement_9= ruleLoopStatement | this_OnStatement_10= ruleOnStatement | this_WaitStatement_11= ruleWaitStatement | this_ReturnStatement_12= ruleReturnStatement | this_BlockStatement_13= ruleBlockStatement ) + int alt65=14; + switch ( input.LA(1) ) { + case 58: + { + alt65=1; + } + break; + case 30: + { + alt65=2; + } + break; + case RULE_ID: + case RULE_INT: + case 16: + case 59: + case 63: + case 64: + case 109: + case 110: + { + alt65=3; + } + break; + case 66: + { + alt65=4; + } + break; + case 70: + { + alt65=5; + } + break; + case 71: + { + alt65=6; + } + break; + case 73: + { + alt65=7; + } + break; + case 74: + { + alt65=8; + } + break; + case 75: + { + alt65=9; + } + break; + case 77: + { + alt65=10; + } + break; + case 78: + { + alt65=11; + } + break; + case 79: + { + alt65=12; + } + break; + case 57: + { + alt65=13; + } + break; + case 56: + { + alt65=14; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 65, 0, input); + + throw nvae; + } + + switch (alt65) { + case 1 : + // InternalFiacre.g:3664:3: this_NullStatement_0= ruleNullStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getNullStatementParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NullStatement_0=ruleNullStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NullStatement_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:3676:3: this_TaggedStatement_1= ruleTaggedStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getTaggedStatementParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_TaggedStatement_1=ruleTaggedStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_TaggedStatement_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:3688:3: this_PatternStatement_2= rulePatternStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getPatternStatementParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PatternStatement_2=rulePatternStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PatternStatement_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:3700:3: this_ConditionalStatement_3= ruleConditionalStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getConditionalStatementParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ConditionalStatement_3=ruleConditionalStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ConditionalStatement_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalFiacre.g:3712:3: this_SelectStatement_4= ruleSelectStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getSelectStatementParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_SelectStatement_4=ruleSelectStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_SelectStatement_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalFiacre.g:3724:3: this_WhileStatement_5= ruleWhileStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getWhileStatementParserRuleCall_5()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_WhileStatement_5=ruleWhileStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_WhileStatement_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalFiacre.g:3736:3: this_ForeachStatement_6= ruleForeachStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getForeachStatementParserRuleCall_6()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ForeachStatement_6=ruleForeachStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ForeachStatement_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalFiacre.g:3748:3: this_ToStatement_7= ruleToStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getToStatementParserRuleCall_7()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ToStatement_7=ruleToStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ToStatement_7; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 9 : + // InternalFiacre.g:3760:3: this_CaseStatement_8= ruleCaseStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getCaseStatementParserRuleCall_8()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_CaseStatement_8=ruleCaseStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_CaseStatement_8; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 10 : + // InternalFiacre.g:3772:3: this_LoopStatement_9= ruleLoopStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getLoopStatementParserRuleCall_9()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LoopStatement_9=ruleLoopStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LoopStatement_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 11 : + // InternalFiacre.g:3784:3: this_OnStatement_10= ruleOnStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getOnStatementParserRuleCall_10()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_OnStatement_10=ruleOnStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_OnStatement_10; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 12 : + // InternalFiacre.g:3796:3: this_WaitStatement_11= ruleWaitStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getWaitStatementParserRuleCall_11()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_WaitStatement_11=ruleWaitStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_WaitStatement_11; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 13 : + // InternalFiacre.g:3808:3: this_ReturnStatement_12= ruleReturnStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getReturnStatementParserRuleCall_12()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ReturnStatement_12=ruleReturnStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ReturnStatement_12; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 14 : + // InternalFiacre.g:3820:3: this_BlockStatement_13= ruleBlockStatement + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStatementAccess().getBlockStatementParserRuleCall_13()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_BlockStatement_13=ruleBlockStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_BlockStatement_13; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStatement" + + + // $ANTLR start "entryRuleBlockStatement" + // InternalFiacre.g:3835:1: entryRuleBlockStatement returns [EObject current=null] : iv_ruleBlockStatement= ruleBlockStatement EOF ; + public final EObject entryRuleBlockStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBlockStatement = null; + + + try { + // InternalFiacre.g:3835:55: (iv_ruleBlockStatement= ruleBlockStatement EOF ) + // InternalFiacre.g:3836:2: iv_ruleBlockStatement= ruleBlockStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBlockStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleBlockStatement=ruleBlockStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBlockStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBlockStatement" + + + // $ANTLR start "ruleBlockStatement" + // InternalFiacre.g:3842:1: ruleBlockStatement returns [EObject current=null] : (otherlv_0= 'begin' ( (lv_body_1_0= ruleStatementSequence ) ) otherlv_2= 'end' ) ; + public final EObject ruleBlockStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_body_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3848:2: ( (otherlv_0= 'begin' ( (lv_body_1_0= ruleStatementSequence ) ) otherlv_2= 'end' ) ) + // InternalFiacre.g:3849:2: (otherlv_0= 'begin' ( (lv_body_1_0= ruleStatementSequence ) ) otherlv_2= 'end' ) + { + // InternalFiacre.g:3849:2: (otherlv_0= 'begin' ( (lv_body_1_0= ruleStatementSequence ) ) otherlv_2= 'end' ) + // InternalFiacre.g:3850:3: otherlv_0= 'begin' ( (lv_body_1_0= ruleStatementSequence ) ) otherlv_2= 'end' + { + otherlv_0=(Token)match(input,56,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getBlockStatementAccess().getBeginKeyword_0()); + + } + // InternalFiacre.g:3854:3: ( (lv_body_1_0= ruleStatementSequence ) ) + // InternalFiacre.g:3855:4: (lv_body_1_0= ruleStatementSequence ) + { + // InternalFiacre.g:3855:4: (lv_body_1_0= ruleStatementSequence ) + // InternalFiacre.g:3856:5: lv_body_1_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_54); + lv_body_1_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBlockStatementRule()); + } + set( + current, + "body", + lv_body_1_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getBlockStatementAccess().getEndKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBlockStatement" + + + // $ANTLR start "entryRuleReturnStatement" + // InternalFiacre.g:3881:1: entryRuleReturnStatement returns [EObject current=null] : iv_ruleReturnStatement= ruleReturnStatement EOF ; + public final EObject entryRuleReturnStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleReturnStatement = null; + + + try { + // InternalFiacre.g:3881:56: (iv_ruleReturnStatement= ruleReturnStatement EOF ) + // InternalFiacre.g:3882:2: iv_ruleReturnStatement= ruleReturnStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getReturnStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleReturnStatement=ruleReturnStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleReturnStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleReturnStatement" + + + // $ANTLR start "ruleReturnStatement" + // InternalFiacre.g:3888:1: ruleReturnStatement returns [EObject current=null] : (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) ) ; + public final EObject ruleReturnStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_expression_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:3894:2: ( (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) ) ) + // InternalFiacre.g:3895:2: (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) ) + { + // InternalFiacre.g:3895:2: (otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) ) + // InternalFiacre.g:3896:3: otherlv_0= 'return' ( (lv_expression_1_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,57,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getReturnStatementAccess().getReturnKeyword_0()); + + } + // InternalFiacre.g:3900:3: ( (lv_expression_1_0= ruleExpression ) ) + // InternalFiacre.g:3901:4: (lv_expression_1_0= ruleExpression ) + { + // InternalFiacre.g:3901:4: (lv_expression_1_0= ruleExpression ) + // InternalFiacre.g:3902:5: lv_expression_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_expression_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getReturnStatementRule()); + } + set( + current, + "expression", + lv_expression_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReturnStatement" + + + // $ANTLR start "entryRuleNullStatement" + // InternalFiacre.g:3923:1: entryRuleNullStatement returns [EObject current=null] : iv_ruleNullStatement= ruleNullStatement EOF ; + public final EObject entryRuleNullStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNullStatement = null; + + + try { + // InternalFiacre.g:3923:54: (iv_ruleNullStatement= ruleNullStatement EOF ) + // InternalFiacre.g:3924:2: iv_ruleNullStatement= ruleNullStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNullStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNullStatement=ruleNullStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNullStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNullStatement" + + + // $ANTLR start "ruleNullStatement" + // InternalFiacre.g:3930:1: ruleNullStatement returns [EObject current=null] : ( () otherlv_1= 'null' ) ; + public final EObject ruleNullStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:3936:2: ( ( () otherlv_1= 'null' ) ) + // InternalFiacre.g:3937:2: ( () otherlv_1= 'null' ) + { + // InternalFiacre.g:3937:2: ( () otherlv_1= 'null' ) + // InternalFiacre.g:3938:3: () otherlv_1= 'null' + { + // InternalFiacre.g:3938:3: () + // InternalFiacre.g:3939:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getNullStatementAccess().getNullStatementAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,58,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getNullStatementAccess().getNullKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNullStatement" + + + // $ANTLR start "entryRuleTaggedStatement" + // InternalFiacre.g:3956:1: entryRuleTaggedStatement returns [EObject current=null] : iv_ruleTaggedStatement= ruleTaggedStatement EOF ; + public final EObject entryRuleTaggedStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTaggedStatement = null; + + + try { + // InternalFiacre.g:3956:56: (iv_ruleTaggedStatement= ruleTaggedStatement EOF ) + // InternalFiacre.g:3957:2: iv_ruleTaggedStatement= ruleTaggedStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTaggedStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTaggedStatement=ruleTaggedStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTaggedStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTaggedStatement" + + + // $ANTLR start "ruleTaggedStatement" + // InternalFiacre.g:3963:1: ruleTaggedStatement returns [EObject current=null] : (otherlv_0= '#' ( (lv_name_1_0= RULE_ID ) ) ) ; + public final EObject ruleTaggedStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:3969:2: ( (otherlv_0= '#' ( (lv_name_1_0= RULE_ID ) ) ) ) + // InternalFiacre.g:3970:2: (otherlv_0= '#' ( (lv_name_1_0= RULE_ID ) ) ) + { + // InternalFiacre.g:3970:2: (otherlv_0= '#' ( (lv_name_1_0= RULE_ID ) ) ) + // InternalFiacre.g:3971:3: otherlv_0= '#' ( (lv_name_1_0= RULE_ID ) ) + { + otherlv_0=(Token)match(input,30,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getTaggedStatementAccess().getNumberSignKeyword_0()); + + } + // InternalFiacre.g:3975:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:3976:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:3976:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:3977:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTaggedStatementRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTaggedStatement" + + + // $ANTLR start "entryRulePatternStatement" + // InternalFiacre.g:3997:1: entryRulePatternStatement returns [EObject current=null] : iv_rulePatternStatement= rulePatternStatement EOF ; + public final EObject entryRulePatternStatement() throws RecognitionException { + EObject current = null; + + EObject iv_rulePatternStatement = null; + + + try { + // InternalFiacre.g:3997:57: (iv_rulePatternStatement= rulePatternStatement EOF ) + // InternalFiacre.g:3998:2: iv_rulePatternStatement= rulePatternStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPatternStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePatternStatement=rulePatternStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePatternStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePatternStatement" + + + // $ANTLR start "rulePatternStatement" + // InternalFiacre.g:4004:1: rulePatternStatement returns [EObject current=null] : (this_Pattern_0= rulePattern ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? ) ; + public final EObject rulePatternStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_21=null; + Token otherlv_22=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_27=null; + Token otherlv_29=null; + Token otherlv_32=null; + Token otherlv_34=null; + Token otherlv_37=null; + Token otherlv_39=null; + EObject this_Pattern_0 = null; + + EObject lv_patterns_3_0 = null; + + EObject lv_patterns_5_0 = null; + + EObject lv_values_7_0 = null; + + EObject lv_values_9_0 = null; + + EObject lv_values_12_0 = null; + + EObject lv_values_14_0 = null; + + EObject lv_patterns_17_0 = null; + + EObject lv_patterns_19_0 = null; + + EObject lv_exp_23_0 = null; + + EObject lv_exp_28_0 = null; + + EObject lv_values_31_0 = null; + + EObject lv_values_33_0 = null; + + EObject lv_patterns_36_0 = null; + + EObject lv_patterns_38_0 = null; + + EObject lv_exp_40_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:4010:2: ( (this_Pattern_0= rulePattern ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? ) ) + // InternalFiacre.g:4011:2: (this_Pattern_0= rulePattern ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? ) + { + // InternalFiacre.g:4011:2: (this_Pattern_0= rulePattern ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? ) + // InternalFiacre.g:4012:3: this_Pattern_0= rulePattern ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_55); + this_Pattern_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Pattern_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:4023:3: ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )? + int alt75=7; + alt75 = dfa75.predict(input); + switch (alt75) { + case 1 : + // InternalFiacre.g:4024:4: (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) + { + // InternalFiacre.g:4024:4: (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) + // InternalFiacre.g:4025:5: otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_0()); + + } + // InternalFiacre.g:4029:5: () + // InternalFiacre.g:4030:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_0_1(), + current); + + } + + } + + // InternalFiacre.g:4039:5: ( (lv_patterns_3_0= rulePattern ) ) + // InternalFiacre.g:4040:6: (lv_patterns_3_0= rulePattern ) + { + // InternalFiacre.g:4040:6: (lv_patterns_3_0= rulePattern ) + // InternalFiacre.g:4041:7: lv_patterns_3_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_3_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4058:5: (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* + loop66: + do { + int alt66=2; + int LA66_0 = input.LA(1); + + if ( (LA66_0==17) ) { + alt66=1; + } + + + switch (alt66) { + case 1 : + // InternalFiacre.g:4059:6: otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_3_0()); + + } + // InternalFiacre.g:4063:6: ( (lv_patterns_5_0= rulePattern ) ) + // InternalFiacre.g:4064:7: (lv_patterns_5_0= rulePattern ) + { + // InternalFiacre.g:4064:7: (lv_patterns_5_0= rulePattern ) + // InternalFiacre.g:4065:8: lv_patterns_5_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_5_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_5_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop66; + } + } while (true); + + otherlv_6=(Token)match(input,52,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_0_4()); + + } + // InternalFiacre.g:4087:5: ( (lv_values_7_0= ruleExpression ) ) + // InternalFiacre.g:4088:6: (lv_values_7_0= ruleExpression ) + { + // InternalFiacre.g:4088:6: (lv_values_7_0= ruleExpression ) + // InternalFiacre.g:4089:7: lv_values_7_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_7_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_7_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4106:5: (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* + loop67: + do { + int alt67=2; + int LA67_0 = input.LA(1); + + if ( (LA67_0==17) ) { + alt67=1; + } + + + switch (alt67) { + case 1 : + // InternalFiacre.g:4107:6: otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) + { + otherlv_8=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_0_6_0()); + + } + // InternalFiacre.g:4111:6: ( (lv_values_9_0= ruleExpression ) ) + // InternalFiacre.g:4112:7: (lv_values_9_0= ruleExpression ) + { + // InternalFiacre.g:4112:7: (lv_values_9_0= ruleExpression ) + // InternalFiacre.g:4113:8: lv_values_9_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_9_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_9_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop67; + } + } while (true); + + + } + + + } + break; + case 2 : + // InternalFiacre.g:4133:4: (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) + { + // InternalFiacre.g:4133:4: (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) + // InternalFiacre.g:4134:5: otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) + { + otherlv_10=(Token)match(input,52,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_1_0()); + + } + // InternalFiacre.g:4138:5: () + // InternalFiacre.g:4139:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignStatementPatternsAction_1_1_1(), + current); + + } + + } + + // InternalFiacre.g:4148:5: ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) + // InternalFiacre.g:4149:6: ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* + { + // InternalFiacre.g:4149:6: ( (lv_values_12_0= ruleExpression ) ) + // InternalFiacre.g:4150:7: (lv_values_12_0= ruleExpression ) + { + // InternalFiacre.g:4150:7: (lv_values_12_0= ruleExpression ) + // InternalFiacre.g:4151:8: lv_values_12_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_12_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_12_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4168:6: (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* + loop68: + do { + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==17) ) { + alt68=1; + } + + + switch (alt68) { + case 1 : + // InternalFiacre.g:4169:7: otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) + { + otherlv_13=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_1_2_1_0()); + + } + // InternalFiacre.g:4173:7: ( (lv_values_14_0= ruleExpression ) ) + // InternalFiacre.g:4174:8: (lv_values_14_0= ruleExpression ) + { + // InternalFiacre.g:4174:8: (lv_values_14_0= ruleExpression ) + // InternalFiacre.g:4175:9: lv_values_14_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_14_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_14_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop68; + } + } while (true); + + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:4196:4: (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:4196:4: (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) + // InternalFiacre.g:4197:5: otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? + { + otherlv_15=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_0()); + + } + // InternalFiacre.g:4201:5: () + // InternalFiacre.g:4202:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_2_1(), + current); + + } + + } + + // InternalFiacre.g:4211:5: ( (lv_patterns_17_0= rulePattern ) ) + // InternalFiacre.g:4212:6: (lv_patterns_17_0= rulePattern ) + { + // InternalFiacre.g:4212:6: (lv_patterns_17_0= rulePattern ) + // InternalFiacre.g:4213:7: lv_patterns_17_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_17_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_17_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4230:5: (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* + loop69: + do { + int alt69=2; + int LA69_0 = input.LA(1); + + if ( (LA69_0==17) ) { + alt69=1; + } + + + switch (alt69) { + case 1 : + // InternalFiacre.g:4231:6: otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) + { + otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_18, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_2_3_0()); + + } + // InternalFiacre.g:4235:6: ( (lv_patterns_19_0= rulePattern ) ) + // InternalFiacre.g:4236:7: (lv_patterns_19_0= rulePattern ) + { + // InternalFiacre.g:4236:7: (lv_patterns_19_0= rulePattern ) + // InternalFiacre.g:4237:8: lv_patterns_19_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_19_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_19_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop69; + } + } while (true); + + otherlv_20=(Token)match(input,52,FollowSets000.FOLLOW_59); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_2_4()); + + } + otherlv_21=(Token)match(input,59,FollowSets000.FOLLOW_60); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_21, grammarAccess.getPatternStatementAccess().getAnyKeyword_1_2_5()); + + } + // InternalFiacre.g:4263:5: (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==60) ) { + alt70=1; + } + switch (alt70) { + case 1 : + // InternalFiacre.g:4264:6: otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) + { + otherlv_22=(Token)match(input,60,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_22, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_2_6_0()); + + } + // InternalFiacre.g:4268:6: ( (lv_exp_23_0= ruleExpression ) ) + // InternalFiacre.g:4269:7: (lv_exp_23_0= ruleExpression ) + { + // InternalFiacre.g:4269:7: (lv_exp_23_0= ruleExpression ) + // InternalFiacre.g:4270:8: lv_exp_23_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_exp_23_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + current, + "exp", + lv_exp_23_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 4 : + // InternalFiacre.g:4290:4: (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:4290:4: (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) + // InternalFiacre.g:4291:5: otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? + { + otherlv_24=(Token)match(input,52,FollowSets000.FOLLOW_59); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_24, grammarAccess.getPatternStatementAccess().getColonEqualsSignKeyword_1_3_0()); + + } + // InternalFiacre.g:4295:5: () + // InternalFiacre.g:4296:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndAdd( + grammarAccess.getPatternStatementAccess().getAssignAnyStatementPatternsAction_1_3_1(), + current); + + } + + } + + otherlv_26=(Token)match(input,59,FollowSets000.FOLLOW_60); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_26, grammarAccess.getPatternStatementAccess().getAnyKeyword_1_3_2()); + + } + // InternalFiacre.g:4309:5: (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==60) ) { + alt71=1; + } + switch (alt71) { + case 1 : + // InternalFiacre.g:4310:6: otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) + { + otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_27, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_3_3_0()); + + } + // InternalFiacre.g:4314:6: ( (lv_exp_28_0= ruleExpression ) ) + // InternalFiacre.g:4315:7: (lv_exp_28_0= ruleExpression ) + { + // InternalFiacre.g:4315:7: (lv_exp_28_0= ruleExpression ) + // InternalFiacre.g:4316:8: lv_exp_28_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_exp_28_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + current, + "exp", + lv_exp_28_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 5 : + // InternalFiacre.g:4336:4: (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) + { + // InternalFiacre.g:4336:4: (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) + // InternalFiacre.g:4337:5: otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* + { + otherlv_29=(Token)match(input,61,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_29, grammarAccess.getPatternStatementAccess().getExclamationMarkKeyword_1_4_0()); + + } + // InternalFiacre.g:4341:5: () + // InternalFiacre.g:4342:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getPatternStatementAccess().getSendStatementPortAction_1_4_1(), + current); + + } + + } + + // InternalFiacre.g:4351:5: ( (lv_values_31_0= ruleExpression ) ) + // InternalFiacre.g:4352:6: (lv_values_31_0= ruleExpression ) + { + // InternalFiacre.g:4352:6: (lv_values_31_0= ruleExpression ) + // InternalFiacre.g:4353:7: lv_values_31_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_31_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_31_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4370:5: (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* + loop72: + do { + int alt72=2; + int LA72_0 = input.LA(1); + + if ( (LA72_0==17) ) { + alt72=1; + } + + + switch (alt72) { + case 1 : + // InternalFiacre.g:4371:6: otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) + { + otherlv_32=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_32, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_4_3_0()); + + } + // InternalFiacre.g:4375:6: ( (lv_values_33_0= ruleExpression ) ) + // InternalFiacre.g:4376:7: (lv_values_33_0= ruleExpression ) + { + // InternalFiacre.g:4376:7: (lv_values_33_0= ruleExpression ) + // InternalFiacre.g:4377:8: lv_values_33_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_4_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_33_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "values", + lv_values_33_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop72; + } + } while (true); + + + } + + + } + break; + case 6 : + // InternalFiacre.g:4397:4: (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:4397:4: (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) + // InternalFiacre.g:4398:5: otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? + { + otherlv_34=(Token)match(input,62,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_34, grammarAccess.getPatternStatementAccess().getQuestionMarkKeyword_1_5_0()); + + } + // InternalFiacre.g:4402:5: () + // InternalFiacre.g:4403:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getPatternStatementAccess().getReceiveStatementPortAction_1_5_1(), + current); + + } + + } + + // InternalFiacre.g:4412:5: ( (lv_patterns_36_0= rulePattern ) ) + // InternalFiacre.g:4413:6: (lv_patterns_36_0= rulePattern ) + { + // InternalFiacre.g:4413:6: (lv_patterns_36_0= rulePattern ) + // InternalFiacre.g:4414:7: lv_patterns_36_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_61); + lv_patterns_36_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_36_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4431:5: (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* + loop73: + do { + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==17) ) { + alt73=1; + } + + + switch (alt73) { + case 1 : + // InternalFiacre.g:4432:6: otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) + { + otherlv_37=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_37, grammarAccess.getPatternStatementAccess().getCommaKeyword_1_5_3_0()); + + } + // InternalFiacre.g:4436:6: ( (lv_patterns_38_0= rulePattern ) ) + // InternalFiacre.g:4437:7: (lv_patterns_38_0= rulePattern ) + { + // InternalFiacre.g:4437:7: (lv_patterns_38_0= rulePattern ) + // InternalFiacre.g:4438:8: lv_patterns_38_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_5_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_61); + lv_patterns_38_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + add( + current, + "patterns", + lv_patterns_38_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop73; + } + } while (true); + + // InternalFiacre.g:4456:5: (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==60) ) { + alt74=1; + } + switch (alt74) { + case 1 : + // InternalFiacre.g:4457:6: otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) + { + otherlv_39=(Token)match(input,60,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_39, grammarAccess.getPatternStatementAccess().getWhereKeyword_1_5_4_0()); + + } + // InternalFiacre.g:4461:6: ( (lv_exp_40_0= ruleExpression ) ) + // InternalFiacre.g:4462:7: (lv_exp_40_0= ruleExpression ) + { + // InternalFiacre.g:4462:7: (lv_exp_40_0= ruleExpression ) + // InternalFiacre.g:4463:8: lv_exp_40_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_5_4_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_exp_40_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPatternStatementRule()); + } + set( + current, + "exp", + lv_exp_40_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePatternStatement" + + + // $ANTLR start "entryRulePattern" + // InternalFiacre.g:4487:1: entryRulePattern returns [EObject current=null] : iv_rulePattern= rulePattern EOF ; + public final EObject entryRulePattern() throws RecognitionException { + EObject current = null; + + EObject iv_rulePattern = null; + + + try { + // InternalFiacre.g:4487:48: (iv_rulePattern= rulePattern EOF ) + // InternalFiacre.g:4488:2: iv_rulePattern= rulePattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePattern=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePattern" + + + // $ANTLR start "rulePattern" + // InternalFiacre.g:4494:1: rulePattern returns [EObject current=null] : (this_AnyPattern_0= ruleAnyPattern | this_IntegerPattern_1= ruleIntegerPattern | this_ConstantPattern_2= ruleConstantPattern | (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) | this_IdentifierPattern_6= ruleIdentifierPattern ) ; + public final EObject rulePattern() throws RecognitionException { + EObject current = null; + + Token otherlv_3=null; + Token otherlv_5=null; + EObject this_AnyPattern_0 = null; + + EObject this_IntegerPattern_1 = null; + + EObject this_ConstantPattern_2 = null; + + EObject this_Pattern_4 = null; + + EObject this_IdentifierPattern_6 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:4500:2: ( (this_AnyPattern_0= ruleAnyPattern | this_IntegerPattern_1= ruleIntegerPattern | this_ConstantPattern_2= ruleConstantPattern | (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) | this_IdentifierPattern_6= ruleIdentifierPattern ) ) + // InternalFiacre.g:4501:2: (this_AnyPattern_0= ruleAnyPattern | this_IntegerPattern_1= ruleIntegerPattern | this_ConstantPattern_2= ruleConstantPattern | (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) | this_IdentifierPattern_6= ruleIdentifierPattern ) + { + // InternalFiacre.g:4501:2: (this_AnyPattern_0= ruleAnyPattern | this_IntegerPattern_1= ruleIntegerPattern | this_ConstantPattern_2= ruleConstantPattern | (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) | this_IdentifierPattern_6= ruleIdentifierPattern ) + int alt76=5; + switch ( input.LA(1) ) { + case 59: + { + alt76=1; + } + break; + case 63: + case 64: + { + alt76=2; + } + break; + case RULE_INT: + case 109: + case 110: + { + alt76=3; + } + break; + case 16: + { + alt76=4; + } + break; + case RULE_ID: + { + alt76=5; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 76, 0, input); + + throw nvae; + } + + switch (alt76) { + case 1 : + // InternalFiacre.g:4502:3: this_AnyPattern_0= ruleAnyPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternAccess().getAnyPatternParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AnyPattern_0=ruleAnyPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AnyPattern_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:4514:3: this_IntegerPattern_1= ruleIntegerPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternAccess().getIntegerPatternParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_IntegerPattern_1=ruleIntegerPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_IntegerPattern_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:4526:3: this_ConstantPattern_2= ruleConstantPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternAccess().getConstantPatternParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ConstantPattern_2=ruleConstantPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ConstantPattern_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:4538:3: (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) + { + // InternalFiacre.g:4538:3: (otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' ) + // InternalFiacre.g:4539:4: otherlv_3= '(' this_Pattern_4= rulePattern otherlv_5= ')' + { + otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); + + } + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternAccess().getPatternParserRuleCall_3_1()); + + } + pushFollow(FollowSets000.FOLLOW_62); + this_Pattern_4=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Pattern_4; + afterParserOrEnumRuleCall(); + + } + otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getPatternAccess().getRightParenthesisKeyword_3_2()); + + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:4560:3: this_IdentifierPattern_6= ruleIdentifierPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternAccess().getIdentifierPatternParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_IdentifierPattern_6=ruleIdentifierPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_IdentifierPattern_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePattern" + + + // $ANTLR start "entryRuleAnyPattern" + // InternalFiacre.g:4575:1: entryRuleAnyPattern returns [EObject current=null] : iv_ruleAnyPattern= ruleAnyPattern EOF ; + public final EObject entryRuleAnyPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAnyPattern = null; + + + try { + // InternalFiacre.g:4575:51: (iv_ruleAnyPattern= ruleAnyPattern EOF ) + // InternalFiacre.g:4576:2: iv_ruleAnyPattern= ruleAnyPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAnyPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAnyPattern=ruleAnyPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAnyPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAnyPattern" + + + // $ANTLR start "ruleAnyPattern" + // InternalFiacre.g:4582:1: ruleAnyPattern returns [EObject current=null] : ( () otherlv_1= 'any' ) ; + public final EObject ruleAnyPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:4588:2: ( ( () otherlv_1= 'any' ) ) + // InternalFiacre.g:4589:2: ( () otherlv_1= 'any' ) + { + // InternalFiacre.g:4589:2: ( () otherlv_1= 'any' ) + // InternalFiacre.g:4590:3: () otherlv_1= 'any' + { + // InternalFiacre.g:4590:3: () + // InternalFiacre.g:4591:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getAnyPatternAccess().getAnyPatternAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getAnyPatternAccess().getAnyKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAnyPattern" + + + // $ANTLR start "entryRuleConstantPattern" + // InternalFiacre.g:4608:1: entryRuleConstantPattern returns [EObject current=null] : iv_ruleConstantPattern= ruleConstantPattern EOF ; + public final EObject entryRuleConstantPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConstantPattern = null; + + + try { + // InternalFiacre.g:4608:56: (iv_ruleConstantPattern= ruleConstantPattern EOF ) + // InternalFiacre.g:4609:2: iv_ruleConstantPattern= ruleConstantPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConstantPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleConstantPattern=ruleConstantPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConstantPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConstantPattern" + + + // $ANTLR start "ruleConstantPattern" + // InternalFiacre.g:4615:1: ruleConstantPattern returns [EObject current=null] : ( (lv_value_0_0= ruleLiteralExpression ) ) ; + public final EObject ruleConstantPattern() throws RecognitionException { + EObject current = null; + + EObject lv_value_0_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:4621:2: ( ( (lv_value_0_0= ruleLiteralExpression ) ) ) + // InternalFiacre.g:4622:2: ( (lv_value_0_0= ruleLiteralExpression ) ) + { + // InternalFiacre.g:4622:2: ( (lv_value_0_0= ruleLiteralExpression ) ) + // InternalFiacre.g:4623:3: (lv_value_0_0= ruleLiteralExpression ) + { + // InternalFiacre.g:4623:3: (lv_value_0_0= ruleLiteralExpression ) + // InternalFiacre.g:4624:4: lv_value_0_0= ruleLiteralExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_0_0=ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConstantPatternRule()); + } + set( + current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.LiteralExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConstantPattern" + + + // $ANTLR start "entryRuleIntegerPattern" + // InternalFiacre.g:4644:1: entryRuleIntegerPattern returns [EObject current=null] : iv_ruleIntegerPattern= ruleIntegerPattern EOF ; + public final EObject entryRuleIntegerPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIntegerPattern = null; + + + try { + // InternalFiacre.g:4644:55: (iv_ruleIntegerPattern= ruleIntegerPattern EOF ) + // InternalFiacre.g:4645:2: iv_ruleIntegerPattern= ruleIntegerPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIntegerPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleIntegerPattern=ruleIntegerPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIntegerPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIntegerPattern" + + + // $ANTLR start "ruleIntegerPattern" + // InternalFiacre.g:4651:1: ruleIntegerPattern returns [EObject current=null] : ( (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) ; + public final EObject ruleIntegerPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_negative_1_0=null; + Token lv_value_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:4657:2: ( ( (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) ) + // InternalFiacre.g:4658:2: ( (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) + { + // InternalFiacre.g:4658:2: ( (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) + // InternalFiacre.g:4659:3: (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) ( (lv_value_2_0= RULE_INT ) ) + { + // InternalFiacre.g:4659:3: (otherlv_0= '+' | ( (lv_negative_1_0= '-' ) ) ) + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==63) ) { + alt77=1; + } + else if ( (LA77_0==64) ) { + alt77=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 77, 0, input); + + throw nvae; + } + switch (alt77) { + case 1 : + // InternalFiacre.g:4660:4: otherlv_0= '+' + { + otherlv_0=(Token)match(input,63,FollowSets000.FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getIntegerPatternAccess().getPlusSignKeyword_0_0()); + + } + + } + break; + case 2 : + // InternalFiacre.g:4665:4: ( (lv_negative_1_0= '-' ) ) + { + // InternalFiacre.g:4665:4: ( (lv_negative_1_0= '-' ) ) + // InternalFiacre.g:4666:5: (lv_negative_1_0= '-' ) + { + // InternalFiacre.g:4666:5: (lv_negative_1_0= '-' ) + // InternalFiacre.g:4667:6: lv_negative_1_0= '-' + { + lv_negative_1_0=(Token)match(input,64,FollowSets000.FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_negative_1_0, grammarAccess.getIntegerPatternAccess().getNegativeHyphenMinusKeyword_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIntegerPatternRule()); + } + setWithLastConsumed(current, "negative", true, "-"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:4680:3: ( (lv_value_2_0= RULE_INT ) ) + // InternalFiacre.g:4681:4: (lv_value_2_0= RULE_INT ) + { + // InternalFiacre.g:4681:4: (lv_value_2_0= RULE_INT ) + // InternalFiacre.g:4682:5: lv_value_2_0= RULE_INT + { + lv_value_2_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_2_0, grammarAccess.getIntegerPatternAccess().getValueINTTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIntegerPatternRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIntegerPattern" + + + // $ANTLR start "entryRuleIdentifierPattern" + // InternalFiacre.g:4702:1: entryRuleIdentifierPattern returns [EObject current=null] : iv_ruleIdentifierPattern= ruleIdentifierPattern EOF ; + public final EObject entryRuleIdentifierPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIdentifierPattern = null; + + + try { + // InternalFiacre.g:4702:58: (iv_ruleIdentifierPattern= ruleIdentifierPattern EOF ) + // InternalFiacre.g:4703:2: iv_ruleIdentifierPattern= ruleIdentifierPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIdentifierPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleIdentifierPattern=ruleIdentifierPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIdentifierPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIdentifierPattern" + + + // $ANTLR start "ruleIdentifierPattern" + // InternalFiacre.g:4709:1: ruleIdentifierPattern returns [EObject current=null] : ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) ) ; + public final EObject ruleIdentifierPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + EObject lv_parameters_3_0 = null; + + EObject lv_parameters_5_0 = null; + + EObject lv_index_10_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:4715:2: ( ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) ) ) + // InternalFiacre.g:4716:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) ) + { + // InternalFiacre.g:4716:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) ) + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==RULE_ID) ) { + int LA81_1 = input.LA(2); + + if ( (LA81_1==16) ) { + alt81=1; + } + else if ( (LA81_1==EOF||LA81_1==RULE_ID||LA81_1==13||LA81_1==15||(LA81_1>=17 && LA81_1<=18)||(LA81_1>=22 && LA81_1<=23)||LA81_1==36||(LA81_1>=39 && LA81_1<=41)||(LA81_1>=47 && LA81_1<=48)||(LA81_1>=52 && LA81_1<=55)||(LA81_1>=60 && LA81_1<=62)||LA81_1==65||(LA81_1>=68 && LA81_1<=69)||LA81_1==76||LA81_1==80||LA81_1==112||LA81_1==115) ) { + alt81=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 81, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 81, 0, input); + + throw nvae; + } + switch (alt81) { + case 1 : + // InternalFiacre.g:4717:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) + { + // InternalFiacre.g:4717:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' ) + // InternalFiacre.g:4718:4: () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? otherlv_6= ')' + { + // InternalFiacre.g:4718:4: () + // InternalFiacre.g:4719:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getIdentifierPatternAccess().getConstructorPatternAction_0_0(), + current); + + } + + } + + // InternalFiacre.g:4728:4: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:4729:5: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:4729:5: (otherlv_1= RULE_ID ) + // InternalFiacre.g:4730:6: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_0_1_0()); + + } + + } + + + } + + otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_64); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getIdentifierPatternAccess().getLeftParenthesisKeyword_0_2()); + + } + // InternalFiacre.g:4748:4: ( ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==RULE_ID||LA79_0==RULE_INT||LA79_0==16||LA79_0==59||(LA79_0>=63 && LA79_0<=64)||(LA79_0>=109 && LA79_0<=110)) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // InternalFiacre.g:4749:5: ( (lv_parameters_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* + { + // InternalFiacre.g:4749:5: ( (lv_parameters_3_0= rulePattern ) ) + // InternalFiacre.g:4750:6: (lv_parameters_3_0= rulePattern ) + { + // InternalFiacre.g:4750:6: (lv_parameters_3_0= rulePattern ) + // InternalFiacre.g:4751:7: lv_parameters_3_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_3_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + add( + current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4768:5: (otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) )* + loop78: + do { + int alt78=2; + int LA78_0 = input.LA(1); + + if ( (LA78_0==17) ) { + alt78=1; + } + + + switch (alt78) { + case 1 : + // InternalFiacre.g:4769:6: otherlv_4= ',' ( (lv_parameters_5_0= rulePattern ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getIdentifierPatternAccess().getCommaKeyword_0_3_1_0()); + + } + // InternalFiacre.g:4773:6: ( (lv_parameters_5_0= rulePattern ) ) + // InternalFiacre.g:4774:7: (lv_parameters_5_0= rulePattern ) + { + // InternalFiacre.g:4774:7: (lv_parameters_5_0= rulePattern ) + // InternalFiacre.g:4775:8: lv_parameters_5_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getParametersPatternParserRuleCall_0_3_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_5_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + add( + current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop78; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getIdentifierPatternAccess().getRightParenthesisKeyword_0_4()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4800:3: ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) + { + // InternalFiacre.g:4800:3: ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* ) + // InternalFiacre.g:4801:4: ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* + { + // InternalFiacre.g:4801:4: ( (otherlv_7= RULE_ID ) ) + // InternalFiacre.g:4802:5: (otherlv_7= RULE_ID ) + { + // InternalFiacre.g:4802:5: (otherlv_7= RULE_ID ) + // InternalFiacre.g:4803:6: otherlv_7= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + + } + otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseCrossReference_1_0_0()); + + } + + } + + + } + + // InternalFiacre.g:4817:4: ( (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) | (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) )* + loop80: + do { + int alt80=3; + int LA80_0 = input.LA(1); + + if ( (LA80_0==41) ) { + alt80=1; + } + else if ( (LA80_0==65) ) { + alt80=2; + } + + + switch (alt80) { + case 1 : + // InternalFiacre.g:4818:5: (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) + { + // InternalFiacre.g:4818:5: (otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' ) + // InternalFiacre.g:4819:6: otherlv_8= '[' () ( (lv_index_10_0= ruleExpression ) ) otherlv_11= ']' + { + otherlv_8=(Token)match(input,41,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getIdentifierPatternAccess().getLeftSquareBracketKeyword_1_1_0_0()); + + } + // InternalFiacre.g:4823:6: () + // InternalFiacre.g:4824:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1(), + current); + + } + + } + + // InternalFiacre.g:4833:6: ( (lv_index_10_0= ruleExpression ) ) + // InternalFiacre.g:4834:7: (lv_index_10_0= ruleExpression ) + { + // InternalFiacre.g:4834:7: (lv_index_10_0= ruleExpression ) + // InternalFiacre.g:4835:8: lv_index_10_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_48); + lv_index_10_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierPatternRule()); + } + set( + current, + "index", + lv_index_10_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_11=(Token)match(input,42,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getIdentifierPatternAccess().getRightSquareBracketKeyword_1_1_0_3()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:4858:5: (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) + { + // InternalFiacre.g:4858:5: (otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) ) + // InternalFiacre.g:4859:6: otherlv_12= '.' () ( (otherlv_14= RULE_ID ) ) + { + otherlv_12=(Token)match(input,65,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getIdentifierPatternAccess().getFullStopKeyword_1_1_1_0()); + + } + // InternalFiacre.g:4863:6: () + // InternalFiacre.g:4864:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1(), + current); + + } + + } + + // InternalFiacre.g:4873:6: ( (otherlv_14= RULE_ID ) ) + // InternalFiacre.g:4874:7: (otherlv_14= RULE_ID ) + { + // InternalFiacre.g:4874:7: (otherlv_14= RULE_ID ) + // InternalFiacre.g:4875:8: otherlv_14= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierPatternRule()); + } + + } + otherlv_14=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_14, grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + + } + + } + + + } + + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIdentifierPattern" + + + // $ANTLR start "entryRuleConditionalStatement" + // InternalFiacre.g:4896:1: entryRuleConditionalStatement returns [EObject current=null] : iv_ruleConditionalStatement= ruleConditionalStatement EOF ; + public final EObject entryRuleConditionalStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConditionalStatement = null; + + + try { + // InternalFiacre.g:4896:61: (iv_ruleConditionalStatement= ruleConditionalStatement EOF ) + // InternalFiacre.g:4897:2: iv_ruleConditionalStatement= ruleConditionalStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConditionalStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleConditionalStatement=ruleConditionalStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConditionalStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConditionalStatement" + + + // $ANTLR start "ruleConditionalStatement" + // InternalFiacre.g:4903:1: ruleConditionalStatement returns [EObject current=null] : (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? otherlv_7= 'end' (otherlv_8= 'if' )? ) ; + public final EObject ruleConditionalStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_8=null; + EObject lv_condition_1_0 = null; + + EObject lv_then_3_0 = null; + + EObject lv_elseif_4_0 = null; + + EObject lv_else_6_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:4909:2: ( (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? otherlv_7= 'end' (otherlv_8= 'if' )? ) ) + // InternalFiacre.g:4910:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? otherlv_7= 'end' (otherlv_8= 'if' )? ) + { + // InternalFiacre.g:4910:2: (otherlv_0= 'if' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? otherlv_7= 'end' (otherlv_8= 'if' )? ) + // InternalFiacre.g:4911:3: otherlv_0= 'if' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? otherlv_7= 'end' (otherlv_8= 'if' )? + { + otherlv_0=(Token)match(input,66,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getConditionalStatementAccess().getIfKeyword_0()); + + } + // InternalFiacre.g:4915:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalFiacre.g:4916:4: (lv_condition_1_0= ruleExpression ) + { + // InternalFiacre.g:4916:4: (lv_condition_1_0= ruleExpression ) + // InternalFiacre.g:4917:5: lv_condition_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_66); + lv_condition_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,67,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getConditionalStatementAccess().getThenKeyword_2()); + + } + // InternalFiacre.g:4938:3: ( (lv_then_3_0= ruleStatementSequence ) ) + // InternalFiacre.g:4939:4: (lv_then_3_0= ruleStatementSequence ) + { + // InternalFiacre.g:4939:4: (lv_then_3_0= ruleStatementSequence ) + // InternalFiacre.g:4940:5: lv_then_3_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_67); + lv_then_3_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:4957:3: ( (lv_elseif_4_0= ruleExtendedConditionalStatement ) )* + loop82: + do { + int alt82=2; + int LA82_0 = input.LA(1); + + if ( (LA82_0==69) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // InternalFiacre.g:4958:4: (lv_elseif_4_0= ruleExtendedConditionalStatement ) + { + // InternalFiacre.g:4958:4: (lv_elseif_4_0= ruleExtendedConditionalStatement ) + // InternalFiacre.g:4959:5: lv_elseif_4_0= ruleExtendedConditionalStatement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalStatementAccess().getElseifExtendedConditionalStatementParserRuleCall_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_67); + lv_elseif_4_0=ruleExtendedConditionalStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + add( + current, + "elseif", + lv_elseif_4_0, + "fr.irit.fiacre.xtext.Fiacre.ExtendedConditionalStatement"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + break; + + default : + break loop82; + } + } while (true); + + // InternalFiacre.g:4976:3: (otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) )? + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==68) ) { + alt83=1; + } + switch (alt83) { + case 1 : + // InternalFiacre.g:4977:4: otherlv_5= 'else' ( (lv_else_6_0= ruleStatementSequence ) ) + { + otherlv_5=(Token)match(input,68,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getConditionalStatementAccess().getElseKeyword_5_0()); + + } + // InternalFiacre.g:4981:4: ( (lv_else_6_0= ruleStatementSequence ) ) + // InternalFiacre.g:4982:5: (lv_else_6_0= ruleStatementSequence ) + { + // InternalFiacre.g:4982:5: (lv_else_6_0= ruleStatementSequence ) + // InternalFiacre.g:4983:6: lv_else_6_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalStatementAccess().getElseStatementSequenceParserRuleCall_5_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_54); + lv_else_6_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalStatementRule()); + } + set( + current, + "else", + lv_else_6_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,36,FollowSets000.FOLLOW_68); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getConditionalStatementAccess().getEndKeyword_6()); + + } + // InternalFiacre.g:5005:3: (otherlv_8= 'if' )? + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==66) ) { + alt84=1; + } + switch (alt84) { + case 1 : + // InternalFiacre.g:5006:4: otherlv_8= 'if' + { + otherlv_8=(Token)match(input,66,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConditionalStatement" + + + // $ANTLR start "entryRuleExtendedConditionalStatement" + // InternalFiacre.g:5015:1: entryRuleExtendedConditionalStatement returns [EObject current=null] : iv_ruleExtendedConditionalStatement= ruleExtendedConditionalStatement EOF ; + public final EObject entryRuleExtendedConditionalStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExtendedConditionalStatement = null; + + + try { + // InternalFiacre.g:5015:69: (iv_ruleExtendedConditionalStatement= ruleExtendedConditionalStatement EOF ) + // InternalFiacre.g:5016:2: iv_ruleExtendedConditionalStatement= ruleExtendedConditionalStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExtendedConditionalStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleExtendedConditionalStatement=ruleExtendedConditionalStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExtendedConditionalStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExtendedConditionalStatement" + + + // $ANTLR start "ruleExtendedConditionalStatement" + // InternalFiacre.g:5022:1: ruleExtendedConditionalStatement returns [EObject current=null] : (otherlv_0= 'elsif' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ) ; + public final EObject ruleExtendedConditionalStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_condition_1_0 = null; + + EObject lv_then_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5028:2: ( (otherlv_0= 'elsif' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ) ) + // InternalFiacre.g:5029:2: (otherlv_0= 'elsif' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ) + { + // InternalFiacre.g:5029:2: (otherlv_0= 'elsif' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) ) + // InternalFiacre.g:5030:3: otherlv_0= 'elsif' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_then_3_0= ruleStatementSequence ) ) + { + otherlv_0=(Token)match(input,69,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getExtendedConditionalStatementAccess().getElsifKeyword_0()); + + } + // InternalFiacre.g:5034:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalFiacre.g:5035:4: (lv_condition_1_0= ruleExpression ) + { + // InternalFiacre.g:5035:4: (lv_condition_1_0= ruleExpression ) + // InternalFiacre.g:5036:5: lv_condition_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_66); + lv_condition_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExtendedConditionalStatementRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,67,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getExtendedConditionalStatementAccess().getThenKeyword_2()); + + } + // InternalFiacre.g:5057:3: ( (lv_then_3_0= ruleStatementSequence ) ) + // InternalFiacre.g:5058:4: (lv_then_3_0= ruleStatementSequence ) + { + // InternalFiacre.g:5058:4: (lv_then_3_0= ruleStatementSequence ) + // InternalFiacre.g:5059:5: lv_then_3_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_then_3_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExtendedConditionalStatementRule()); + } + set( + current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExtendedConditionalStatement" + + + // $ANTLR start "entryRuleSelectStatement" + // InternalFiacre.g:5080:1: entryRuleSelectStatement returns [EObject current=null] : iv_ruleSelectStatement= ruleSelectStatement EOF ; + public final EObject entryRuleSelectStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSelectStatement = null; + + + try { + // InternalFiacre.g:5080:56: (iv_ruleSelectStatement= ruleSelectStatement EOF ) + // InternalFiacre.g:5081:2: iv_ruleSelectStatement= ruleSelectStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getSelectStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleSelectStatement=ruleSelectStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleSelectStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSelectStatement" + + + // $ANTLR start "ruleSelectStatement" + // InternalFiacre.g:5087:1: ruleSelectStatement returns [EObject current=null] : (otherlv_0= 'select' ( (lv_body_1_0= ruleUnlessStatement ) ) (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? otherlv_6= 'end' (otherlv_7= 'select' )? ) ; + public final EObject ruleSelectStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + EObject lv_body_1_0 = null; + + EObject lv_index_3_0 = null; + + EObject lv_type_5_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5093:2: ( (otherlv_0= 'select' ( (lv_body_1_0= ruleUnlessStatement ) ) (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? otherlv_6= 'end' (otherlv_7= 'select' )? ) ) + // InternalFiacre.g:5094:2: (otherlv_0= 'select' ( (lv_body_1_0= ruleUnlessStatement ) ) (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? otherlv_6= 'end' (otherlv_7= 'select' )? ) + { + // InternalFiacre.g:5094:2: (otherlv_0= 'select' ( (lv_body_1_0= ruleUnlessStatement ) ) (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? otherlv_6= 'end' (otherlv_7= 'select' )? ) + // InternalFiacre.g:5095:3: otherlv_0= 'select' ( (lv_body_1_0= ruleUnlessStatement ) ) (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? otherlv_6= 'end' (otherlv_7= 'select' )? + { + otherlv_0=(Token)match(input,70,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getSelectStatementAccess().getSelectKeyword_0()); + + } + // InternalFiacre.g:5099:3: ( (lv_body_1_0= ruleUnlessStatement ) ) + // InternalFiacre.g:5100:4: (lv_body_1_0= ruleUnlessStatement ) + { + // InternalFiacre.g:5100:4: (lv_body_1_0= ruleUnlessStatement ) + // InternalFiacre.g:5101:5: lv_body_1_0= ruleUnlessStatement + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSelectStatementAccess().getBodyUnlessStatementParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_25); + lv_body_1_0=ruleUnlessStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + current, + "body", + lv_body_1_0, + "fr.irit.fiacre.xtext.Fiacre.UnlessStatement"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:5118:3: (otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) )? + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==13) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // InternalFiacre.g:5119:4: otherlv_2= '|' ( (lv_index_3_0= ruleVariableDeclaration ) ) otherlv_4= 'in' ( (lv_type_5_0= ruleRangeType ) ) + { + otherlv_2=(Token)match(input,13,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getSelectStatementAccess().getVerticalLineKeyword_2_0()); + + } + // InternalFiacre.g:5123:4: ( (lv_index_3_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:5124:5: (lv_index_3_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:5124:5: (lv_index_3_0= ruleVariableDeclaration ) + // InternalFiacre.g:5125:6: lv_index_3_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSelectStatementAccess().getIndexVariableDeclarationParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_69); + lv_index_3_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + current, + "index", + lv_index_3_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,26,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getSelectStatementAccess().getInKeyword_2_2()); + + } + // InternalFiacre.g:5146:4: ( (lv_type_5_0= ruleRangeType ) ) + // InternalFiacre.g:5147:5: (lv_type_5_0= ruleRangeType ) + { + // InternalFiacre.g:5147:5: (lv_type_5_0= ruleRangeType ) + // InternalFiacre.g:5148:6: lv_type_5_0= ruleRangeType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSelectStatementAccess().getTypeRangeTypeParserRuleCall_2_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_54); + lv_type_5_0=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSelectStatementRule()); + } + set( + current, + "type", + lv_type_5_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_6=(Token)match(input,36,FollowSets000.FOLLOW_70); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getSelectStatementAccess().getEndKeyword_3()); + + } + // InternalFiacre.g:5170:3: (otherlv_7= 'select' )? + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==70) ) { + alt86=1; + } + switch (alt86) { + case 1 : + // InternalFiacre.g:5171:4: otherlv_7= 'select' + { + otherlv_7=(Token)match(input,70,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSelectStatement" + + + // $ANTLR start "entryRuleWhileStatement" + // InternalFiacre.g:5180:1: entryRuleWhileStatement returns [EObject current=null] : iv_ruleWhileStatement= ruleWhileStatement EOF ; + public final EObject entryRuleWhileStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleWhileStatement = null; + + + try { + // InternalFiacre.g:5180:55: (iv_ruleWhileStatement= ruleWhileStatement EOF ) + // InternalFiacre.g:5181:2: iv_ruleWhileStatement= ruleWhileStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getWhileStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleWhileStatement=ruleWhileStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleWhileStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleWhileStatement" + + + // $ANTLR start "ruleWhileStatement" + // InternalFiacre.g:5187:1: ruleWhileStatement returns [EObject current=null] : (otherlv_0= 'while' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'while' )? ) ; + public final EObject ruleWhileStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_condition_1_0 = null; + + EObject lv_body_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5193:2: ( (otherlv_0= 'while' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'while' )? ) ) + // InternalFiacre.g:5194:2: (otherlv_0= 'while' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'while' )? ) + { + // InternalFiacre.g:5194:2: (otherlv_0= 'while' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'while' )? ) + // InternalFiacre.g:5195:3: otherlv_0= 'while' ( (lv_condition_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'while' )? + { + otherlv_0=(Token)match(input,71,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getWhileStatementAccess().getWhileKeyword_0()); + + } + // InternalFiacre.g:5199:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalFiacre.g:5200:4: (lv_condition_1_0= ruleExpression ) + { + // InternalFiacre.g:5200:4: (lv_condition_1_0= ruleExpression ) + // InternalFiacre.g:5201:5: lv_condition_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_71); + lv_condition_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWhileStatementRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,72,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getWhileStatementAccess().getDoKeyword_2()); + + } + // InternalFiacre.g:5222:3: ( (lv_body_3_0= ruleStatementSequence ) ) + // InternalFiacre.g:5223:4: (lv_body_3_0= ruleStatementSequence ) + { + // InternalFiacre.g:5223:4: (lv_body_3_0= ruleStatementSequence ) + // InternalFiacre.g:5224:5: lv_body_3_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_54); + lv_body_3_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWhileStatementRule()); + } + set( + current, + "body", + lv_body_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,36,FollowSets000.FOLLOW_72); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getWhileStatementAccess().getEndKeyword_4()); + + } + // InternalFiacre.g:5245:3: (otherlv_5= 'while' )? + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==71) ) { + alt87=1; + } + switch (alt87) { + case 1 : + // InternalFiacre.g:5246:4: otherlv_5= 'while' + { + otherlv_5=(Token)match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleWhileStatement" + + + // $ANTLR start "entryRuleForeachStatement" + // InternalFiacre.g:5255:1: entryRuleForeachStatement returns [EObject current=null] : iv_ruleForeachStatement= ruleForeachStatement EOF ; + public final EObject entryRuleForeachStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleForeachStatement = null; + + + try { + // InternalFiacre.g:5255:57: (iv_ruleForeachStatement= ruleForeachStatement EOF ) + // InternalFiacre.g:5256:2: iv_ruleForeachStatement= ruleForeachStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getForeachStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleForeachStatement=ruleForeachStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleForeachStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleForeachStatement" + + + // $ANTLR start "ruleForeachStatement" + // InternalFiacre.g:5262:1: ruleForeachStatement returns [EObject current=null] : (otherlv_0= 'foreach' ( (lv_variable_1_0= ruleVariableDeclaration ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'foreach' )? ) ; + public final EObject ruleForeachStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_5=null; + EObject lv_variable_1_0 = null; + + EObject lv_body_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5268:2: ( (otherlv_0= 'foreach' ( (lv_variable_1_0= ruleVariableDeclaration ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'foreach' )? ) ) + // InternalFiacre.g:5269:2: (otherlv_0= 'foreach' ( (lv_variable_1_0= ruleVariableDeclaration ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'foreach' )? ) + { + // InternalFiacre.g:5269:2: (otherlv_0= 'foreach' ( (lv_variable_1_0= ruleVariableDeclaration ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'foreach' )? ) + // InternalFiacre.g:5270:3: otherlv_0= 'foreach' ( (lv_variable_1_0= ruleVariableDeclaration ) ) otherlv_2= 'do' ( (lv_body_3_0= ruleStatementSequence ) ) otherlv_4= 'end' (otherlv_5= 'foreach' )? + { + otherlv_0=(Token)match(input,73,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getForeachStatementAccess().getForeachKeyword_0()); + + } + // InternalFiacre.g:5274:3: ( (lv_variable_1_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:5275:4: (lv_variable_1_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:5275:4: (lv_variable_1_0= ruleVariableDeclaration ) + // InternalFiacre.g:5276:5: lv_variable_1_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_71); + lv_variable_1_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForeachStatementRule()); + } + set( + current, + "variable", + lv_variable_1_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,72,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getForeachStatementAccess().getDoKeyword_2()); + + } + // InternalFiacre.g:5297:3: ( (lv_body_3_0= ruleStatementSequence ) ) + // InternalFiacre.g:5298:4: (lv_body_3_0= ruleStatementSequence ) + { + // InternalFiacre.g:5298:4: (lv_body_3_0= ruleStatementSequence ) + // InternalFiacre.g:5299:5: lv_body_3_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_54); + lv_body_3_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForeachStatementRule()); + } + set( + current, + "body", + lv_body_3_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,36,FollowSets000.FOLLOW_73); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getForeachStatementAccess().getEndKeyword_4()); + + } + // InternalFiacre.g:5320:3: (otherlv_5= 'foreach' )? + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==73) ) { + alt88=1; + } + switch (alt88) { + case 1 : + // InternalFiacre.g:5321:4: otherlv_5= 'foreach' + { + otherlv_5=(Token)match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleForeachStatement" + + + // $ANTLR start "entryRuleToStatement" + // InternalFiacre.g:5330:1: entryRuleToStatement returns [EObject current=null] : iv_ruleToStatement= ruleToStatement EOF ; + public final EObject entryRuleToStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleToStatement = null; + + + try { + // InternalFiacre.g:5330:52: (iv_ruleToStatement= ruleToStatement EOF ) + // InternalFiacre.g:5331:2: iv_ruleToStatement= ruleToStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getToStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleToStatement=ruleToStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleToStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleToStatement" + + + // $ANTLR start "ruleToStatement" + // InternalFiacre.g:5337:1: ruleToStatement returns [EObject current=null] : (otherlv_0= 'to' ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleToStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:5343:2: ( (otherlv_0= 'to' ( (otherlv_1= RULE_ID ) ) ) ) + // InternalFiacre.g:5344:2: (otherlv_0= 'to' ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:5344:2: (otherlv_0= 'to' ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:5345:3: otherlv_0= 'to' ( (otherlv_1= RULE_ID ) ) + { + otherlv_0=(Token)match(input,74,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getToStatementAccess().getToKeyword_0()); + + } + // InternalFiacre.g:5349:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:5350:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:5350:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:5351:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getToStatementRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getToStatementAccess().getStateStateDeclarationCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleToStatement" + + + // $ANTLR start "entryRuleCaseStatement" + // InternalFiacre.g:5369:1: entryRuleCaseStatement returns [EObject current=null] : iv_ruleCaseStatement= ruleCaseStatement EOF ; + public final EObject entryRuleCaseStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCaseStatement = null; + + + try { + // InternalFiacre.g:5369:54: (iv_ruleCaseStatement= ruleCaseStatement EOF ) + // InternalFiacre.g:5370:2: iv_ruleCaseStatement= ruleCaseStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCaseStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleCaseStatement=ruleCaseStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleCaseStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCaseStatement" + + + // $ANTLR start "ruleCaseStatement" + // InternalFiacre.g:5376:1: ruleCaseStatement returns [EObject current=null] : (otherlv_0= 'case' ( (lv_value_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_pattern_3_0= rulePattern ) ) otherlv_4= '->' ( (lv_body_5_0= ruleStatementSequence ) ) (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* otherlv_10= 'end' (otherlv_11= 'case' )? ) ; + public final EObject ruleCaseStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + EObject lv_value_1_0 = null; + + EObject lv_pattern_3_0 = null; + + EObject lv_body_5_0 = null; + + EObject lv_pattern_7_0 = null; + + EObject lv_body_9_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5382:2: ( (otherlv_0= 'case' ( (lv_value_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_pattern_3_0= rulePattern ) ) otherlv_4= '->' ( (lv_body_5_0= ruleStatementSequence ) ) (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* otherlv_10= 'end' (otherlv_11= 'case' )? ) ) + // InternalFiacre.g:5383:2: (otherlv_0= 'case' ( (lv_value_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_pattern_3_0= rulePattern ) ) otherlv_4= '->' ( (lv_body_5_0= ruleStatementSequence ) ) (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* otherlv_10= 'end' (otherlv_11= 'case' )? ) + { + // InternalFiacre.g:5383:2: (otherlv_0= 'case' ( (lv_value_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_pattern_3_0= rulePattern ) ) otherlv_4= '->' ( (lv_body_5_0= ruleStatementSequence ) ) (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* otherlv_10= 'end' (otherlv_11= 'case' )? ) + // InternalFiacre.g:5384:3: otherlv_0= 'case' ( (lv_value_1_0= ruleExpression ) ) otherlv_2= 'of' ( (lv_pattern_3_0= rulePattern ) ) otherlv_4= '->' ( (lv_body_5_0= ruleStatementSequence ) ) (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* otherlv_10= 'end' (otherlv_11= 'case' )? + { + otherlv_0=(Token)match(input,75,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getCaseStatementAccess().getCaseKeyword_0()); + + } + // InternalFiacre.g:5388:3: ( (lv_value_1_0= ruleExpression ) ) + // InternalFiacre.g:5389:4: (lv_value_1_0= ruleExpression ) + { + // InternalFiacre.g:5389:4: (lv_value_1_0= ruleExpression ) + // InternalFiacre.g:5390:5: lv_value_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseStatementAccess().getValueExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_20); + lv_value_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + set( + current, + "value", + lv_value_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getCaseStatementAccess().getOfKeyword_2()); + + } + // InternalFiacre.g:5411:3: ( (lv_pattern_3_0= rulePattern ) ) + // InternalFiacre.g:5412:4: (lv_pattern_3_0= rulePattern ) + { + // InternalFiacre.g:5412:4: (lv_pattern_3_0= rulePattern ) + // InternalFiacre.g:5413:5: lv_pattern_3_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_74); + lv_pattern_3_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + current, + "pattern", + lv_pattern_3_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,76,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_4()); + + } + // InternalFiacre.g:5434:3: ( (lv_body_5_0= ruleStatementSequence ) ) + // InternalFiacre.g:5435:4: (lv_body_5_0= ruleStatementSequence ) + { + // InternalFiacre.g:5435:4: (lv_body_5_0= ruleStatementSequence ) + // InternalFiacre.g:5436:5: lv_body_5_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_25); + lv_body_5_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + current, + "body", + lv_body_5_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:5453:3: (otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) )* + loop89: + do { + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==13) ) { + alt89=1; + } + + + switch (alt89) { + case 1 : + // InternalFiacre.g:5454:4: otherlv_6= '|' ( (lv_pattern_7_0= rulePattern ) ) otherlv_8= '->' ( (lv_body_9_0= ruleStatementSequence ) ) + { + otherlv_6=(Token)match(input,13,FollowSets000.FOLLOW_56); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getCaseStatementAccess().getVerticalLineKeyword_6_0()); + + } + // InternalFiacre.g:5458:4: ( (lv_pattern_7_0= rulePattern ) ) + // InternalFiacre.g:5459:5: (lv_pattern_7_0= rulePattern ) + { + // InternalFiacre.g:5459:5: (lv_pattern_7_0= rulePattern ) + // InternalFiacre.g:5460:6: lv_pattern_7_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseStatementAccess().getPatternPatternParserRuleCall_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_74); + lv_pattern_7_0=rulePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + current, + "pattern", + lv_pattern_7_0, + "fr.irit.fiacre.xtext.Fiacre.Pattern"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,76,FollowSets000.FOLLOW_16); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getCaseStatementAccess().getHyphenMinusGreaterThanSignKeyword_6_2()); + + } + // InternalFiacre.g:5481:4: ( (lv_body_9_0= ruleStatementSequence ) ) + // InternalFiacre.g:5482:5: (lv_body_9_0= ruleStatementSequence ) + { + // InternalFiacre.g:5482:5: (lv_body_9_0= ruleStatementSequence ) + // InternalFiacre.g:5483:6: lv_body_9_0= ruleStatementSequence + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCaseStatementAccess().getBodyStatementSequenceParserRuleCall_6_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_25); + lv_body_9_0=ruleStatementSequence(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCaseStatementRule()); + } + add( + current, + "body", + lv_body_9_0, + "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop89; + } + } while (true); + + otherlv_10=(Token)match(input,36,FollowSets000.FOLLOW_75); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getCaseStatementAccess().getEndKeyword_7()); + + } + // InternalFiacre.g:5505:3: (otherlv_11= 'case' )? + int alt90=2; + int LA90_0 = input.LA(1); + + if ( (LA90_0==75) ) { + alt90=1; + } + switch (alt90) { + case 1 : + // InternalFiacre.g:5506:4: otherlv_11= 'case' + { + otherlv_11=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCaseStatement" + + + // $ANTLR start "entryRuleLoopStatement" + // InternalFiacre.g:5515:1: entryRuleLoopStatement returns [EObject current=null] : iv_ruleLoopStatement= ruleLoopStatement EOF ; + public final EObject entryRuleLoopStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLoopStatement = null; + + + try { + // InternalFiacre.g:5515:54: (iv_ruleLoopStatement= ruleLoopStatement EOF ) + // InternalFiacre.g:5516:2: iv_ruleLoopStatement= ruleLoopStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLoopStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLoopStatement=ruleLoopStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLoopStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLoopStatement" + + + // $ANTLR start "ruleLoopStatement" + // InternalFiacre.g:5522:1: ruleLoopStatement returns [EObject current=null] : ( () otherlv_1= 'loop' ) ; + public final EObject ruleLoopStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:5528:2: ( ( () otherlv_1= 'loop' ) ) + // InternalFiacre.g:5529:2: ( () otherlv_1= 'loop' ) + { + // InternalFiacre.g:5529:2: ( () otherlv_1= 'loop' ) + // InternalFiacre.g:5530:3: () otherlv_1= 'loop' + { + // InternalFiacre.g:5530:3: () + // InternalFiacre.g:5531:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLoopStatementAccess().getLoopStatementAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getLoopStatementAccess().getLoopKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLoopStatement" + + + // $ANTLR start "entryRuleOnStatement" + // InternalFiacre.g:5548:1: entryRuleOnStatement returns [EObject current=null] : iv_ruleOnStatement= ruleOnStatement EOF ; + public final EObject entryRuleOnStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleOnStatement = null; + + + try { + // InternalFiacre.g:5548:52: (iv_ruleOnStatement= ruleOnStatement EOF ) + // InternalFiacre.g:5549:2: iv_ruleOnStatement= ruleOnStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getOnStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleOnStatement=ruleOnStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleOnStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOnStatement" + + + // $ANTLR start "ruleOnStatement" + // InternalFiacre.g:5555:1: ruleOnStatement returns [EObject current=null] : (otherlv_0= 'on' ( (lv_condition_1_0= ruleExpression ) ) ) ; + public final EObject ruleOnStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_condition_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5561:2: ( (otherlv_0= 'on' ( (lv_condition_1_0= ruleExpression ) ) ) ) + // InternalFiacre.g:5562:2: (otherlv_0= 'on' ( (lv_condition_1_0= ruleExpression ) ) ) + { + // InternalFiacre.g:5562:2: (otherlv_0= 'on' ( (lv_condition_1_0= ruleExpression ) ) ) + // InternalFiacre.g:5563:3: otherlv_0= 'on' ( (lv_condition_1_0= ruleExpression ) ) + { + otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getOnStatementAccess().getOnKeyword_0()); + + } + // InternalFiacre.g:5567:3: ( (lv_condition_1_0= ruleExpression ) ) + // InternalFiacre.g:5568:4: (lv_condition_1_0= ruleExpression ) + { + // InternalFiacre.g:5568:4: (lv_condition_1_0= ruleExpression ) + // InternalFiacre.g:5569:5: lv_condition_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_condition_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getOnStatementRule()); + } + set( + current, + "condition", + lv_condition_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOnStatement" + + + // $ANTLR start "entryRuleWaitStatement" + // InternalFiacre.g:5590:1: entryRuleWaitStatement returns [EObject current=null] : iv_ruleWaitStatement= ruleWaitStatement EOF ; + public final EObject entryRuleWaitStatement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleWaitStatement = null; + + + try { + // InternalFiacre.g:5590:54: (iv_ruleWaitStatement= ruleWaitStatement EOF ) + // InternalFiacre.g:5591:2: iv_ruleWaitStatement= ruleWaitStatement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getWaitStatementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleWaitStatement=ruleWaitStatement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleWaitStatement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleWaitStatement" + + + // $ANTLR start "ruleWaitStatement" + // InternalFiacre.g:5597:1: ruleWaitStatement returns [EObject current=null] : (otherlv_0= 'wait' ( (lv_left_1_0= ruleLowerBound ) ) otherlv_2= ',' ( (lv_right_3_0= ruleUpperBound ) ) ) ; + public final EObject ruleWaitStatement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_left_1_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5603:2: ( (otherlv_0= 'wait' ( (lv_left_1_0= ruleLowerBound ) ) otherlv_2= ',' ( (lv_right_3_0= ruleUpperBound ) ) ) ) + // InternalFiacre.g:5604:2: (otherlv_0= 'wait' ( (lv_left_1_0= ruleLowerBound ) ) otherlv_2= ',' ( (lv_right_3_0= ruleUpperBound ) ) ) + { + // InternalFiacre.g:5604:2: (otherlv_0= 'wait' ( (lv_left_1_0= ruleLowerBound ) ) otherlv_2= ',' ( (lv_right_3_0= ruleUpperBound ) ) ) + // InternalFiacre.g:5605:3: otherlv_0= 'wait' ( (lv_left_1_0= ruleLowerBound ) ) otherlv_2= ',' ( (lv_right_3_0= ruleUpperBound ) ) + { + otherlv_0=(Token)match(input,79,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getWaitStatementAccess().getWaitKeyword_0()); + + } + // InternalFiacre.g:5609:3: ( (lv_left_1_0= ruleLowerBound ) ) + // InternalFiacre.g:5610:4: (lv_left_1_0= ruleLowerBound ) + { + // InternalFiacre.g:5610:4: (lv_left_1_0= ruleLowerBound ) + // InternalFiacre.g:5611:5: lv_left_1_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_left_1_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWaitStatementRule()); + } + set( + current, + "left", + lv_left_1_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getWaitStatementAccess().getCommaKeyword_2()); + + } + // InternalFiacre.g:5632:3: ( (lv_right_3_0= ruleUpperBound ) ) + // InternalFiacre.g:5633:4: (lv_right_3_0= ruleUpperBound ) + { + // InternalFiacre.g:5633:4: (lv_right_3_0= ruleUpperBound ) + // InternalFiacre.g:5634:5: lv_right_3_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getWaitStatementRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleWaitStatement" + + + // $ANTLR start "entryRuleComposition" + // InternalFiacre.g:5655:1: entryRuleComposition returns [EObject current=null] : iv_ruleComposition= ruleComposition EOF ; + public final EObject entryRuleComposition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComposition = null; + + + try { + // InternalFiacre.g:5655:52: (iv_ruleComposition= ruleComposition EOF ) + // InternalFiacre.g:5656:2: iv_ruleComposition= ruleComposition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCompositionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleComposition=ruleComposition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleComposition; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComposition" + + + // $ANTLR start "ruleComposition" + // InternalFiacre.g:5662:1: ruleComposition returns [EObject current=null] : (otherlv_0= 'par' ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? ( (lv_blocks_3_0= ruleBlock ) ) (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* otherlv_6= 'end' (otherlv_7= 'par' )? ) ; + public final EObject ruleComposition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + EObject lv_global_1_0 = null; + + EObject lv_blocks_3_0 = null; + + EObject lv_blocks_5_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5668:2: ( (otherlv_0= 'par' ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? ( (lv_blocks_3_0= ruleBlock ) ) (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* otherlv_6= 'end' (otherlv_7= 'par' )? ) ) + // InternalFiacre.g:5669:2: (otherlv_0= 'par' ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? ( (lv_blocks_3_0= ruleBlock ) ) (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* otherlv_6= 'end' (otherlv_7= 'par' )? ) + { + // InternalFiacre.g:5669:2: (otherlv_0= 'par' ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? ( (lv_blocks_3_0= ruleBlock ) ) (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* otherlv_6= 'end' (otherlv_7= 'par' )? ) + // InternalFiacre.g:5670:3: otherlv_0= 'par' ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? ( (lv_blocks_3_0= ruleBlock ) ) (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* otherlv_6= 'end' (otherlv_7= 'par' )? + { + otherlv_0=(Token)match(input,80,FollowSets000.FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getCompositionAccess().getParKeyword_0()); + + } + // InternalFiacre.g:5674:3: ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )? + int alt91=2; + alt91 = dfa91.predict(input); + switch (alt91) { + case 1 : + // InternalFiacre.g:5675:4: ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' + { + // InternalFiacre.g:5675:4: ( (lv_global_1_0= rulePortSet ) ) + // InternalFiacre.g:5676:5: (lv_global_1_0= rulePortSet ) + { + // InternalFiacre.g:5676:5: (lv_global_1_0= rulePortSet ) + // InternalFiacre.g:5677:6: lv_global_1_0= rulePortSet + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_69); + lv_global_1_0=rulePortSet(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + set( + current, + "global", + lv_global_1_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_2=(Token)match(input,26,FollowSets000.FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getCompositionAccess().getInKeyword_1_1()); + + } + + } + break; + + } + + // InternalFiacre.g:5699:3: ( (lv_blocks_3_0= ruleBlock ) ) + // InternalFiacre.g:5700:4: (lv_blocks_3_0= ruleBlock ) + { + // InternalFiacre.g:5700:4: (lv_blocks_3_0= ruleBlock ) + // InternalFiacre.g:5701:5: lv_blocks_3_0= ruleBlock + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_77); + lv_blocks_3_0=ruleBlock(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + add( + current, + "blocks", + lv_blocks_3_0, + "fr.irit.fiacre.xtext.Fiacre.Block"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:5718:3: (otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==81) ) { + alt92=1; + } + + + switch (alt92) { + case 1 : + // InternalFiacre.g:5719:4: otherlv_4= '||' ( (lv_blocks_5_0= ruleBlock ) ) + { + otherlv_4=(Token)match(input,81,FollowSets000.FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getCompositionAccess().getVerticalLineVerticalLineKeyword_3_0()); + + } + // InternalFiacre.g:5723:4: ( (lv_blocks_5_0= ruleBlock ) ) + // InternalFiacre.g:5724:5: (lv_blocks_5_0= ruleBlock ) + { + // InternalFiacre.g:5724:5: (lv_blocks_5_0= ruleBlock ) + // InternalFiacre.g:5725:6: lv_blocks_5_0= ruleBlock + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositionAccess().getBlocksBlockParserRuleCall_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_77); + lv_blocks_5_0=ruleBlock(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositionRule()); + } + add( + current, + "blocks", + lv_blocks_5_0, + "fr.irit.fiacre.xtext.Fiacre.Block"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop92; + } + } while (true); + + otherlv_6=(Token)match(input,36,FollowSets000.FOLLOW_78); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getCompositionAccess().getEndKeyword_4()); + + } + // InternalFiacre.g:5747:3: (otherlv_7= 'par' )? + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==80) ) { + alt93=1; + } + switch (alt93) { + case 1 : + // InternalFiacre.g:5748:4: otherlv_7= 'par' + { + otherlv_7=(Token)match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getCompositionAccess().getParKeyword_5()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComposition" + + + // $ANTLR start "entryRuleBlock" + // InternalFiacre.g:5757:1: entryRuleBlock returns [EObject current=null] : iv_ruleBlock= ruleBlock EOF ; + public final EObject entryRuleBlock() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBlock = null; + + + try { + // InternalFiacre.g:5757:46: (iv_ruleBlock= ruleBlock EOF ) + // InternalFiacre.g:5758:2: iv_ruleBlock= ruleBlock EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBlockRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleBlock=ruleBlock(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBlock; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBlock" + + + // $ANTLR start "ruleBlock" + // InternalFiacre.g:5764:1: ruleBlock returns [EObject current=null] : (this_CompositeBlock_0= ruleCompositeBlock | this_InstanceDeclaration_1= ruleInstanceDeclaration ) ; + public final EObject ruleBlock() throws RecognitionException { + EObject current = null; + + EObject this_CompositeBlock_0 = null; + + EObject this_InstanceDeclaration_1 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5770:2: ( (this_CompositeBlock_0= ruleCompositeBlock | this_InstanceDeclaration_1= ruleInstanceDeclaration ) ) + // InternalFiacre.g:5771:2: (this_CompositeBlock_0= ruleCompositeBlock | this_InstanceDeclaration_1= ruleInstanceDeclaration ) + { + // InternalFiacre.g:5771:2: (this_CompositeBlock_0= ruleCompositeBlock | this_InstanceDeclaration_1= ruleInstanceDeclaration ) + int alt94=2; + alt94 = dfa94.predict(input); + switch (alt94) { + case 1 : + // InternalFiacre.g:5772:3: this_CompositeBlock_0= ruleCompositeBlock + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getBlockAccess().getCompositeBlockParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_CompositeBlock_0=ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_CompositeBlock_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:5784:3: this_InstanceDeclaration_1= ruleInstanceDeclaration + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getBlockAccess().getInstanceDeclarationParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_InstanceDeclaration_1=ruleInstanceDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_InstanceDeclaration_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBlock" + + + // $ANTLR start "entryRuleCompositeBlock" + // InternalFiacre.g:5799:1: entryRuleCompositeBlock returns [EObject current=null] : iv_ruleCompositeBlock= ruleCompositeBlock EOF ; + public final EObject entryRuleCompositeBlock() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCompositeBlock = null; + + + try { + // InternalFiacre.g:5799:55: (iv_ruleCompositeBlock= ruleCompositeBlock EOF ) + // InternalFiacre.g:5800:2: iv_ruleCompositeBlock= ruleCompositeBlock EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getCompositeBlockRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleCompositeBlock=ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleCompositeBlock; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCompositeBlock" + + + // $ANTLR start "ruleCompositeBlock" + // InternalFiacre.g:5806:1: ruleCompositeBlock returns [EObject current=null] : ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_composition_3_0= ruleComposition ) ) ) ; + public final EObject ruleCompositeBlock() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + EObject lv_local_0_0 = null; + + EObject lv_composition_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5812:2: ( ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_composition_3_0= ruleComposition ) ) ) ) + // InternalFiacre.g:5813:2: ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_composition_3_0= ruleComposition ) ) ) + { + // InternalFiacre.g:5813:2: ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_composition_3_0= ruleComposition ) ) ) + // InternalFiacre.g:5814:3: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_composition_3_0= ruleComposition ) ) + { + // InternalFiacre.g:5814:3: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? + int alt95=3; + int LA95_0 = input.LA(1); + + if ( (LA95_0==RULE_ID||LA95_0==RULE_INT||LA95_0==16||LA95_0==41||LA95_0==51||(LA95_0>=63 && LA95_0<=64)||(LA95_0>=82 && LA95_0<=84)||(LA95_0>=95 && LA95_0<=101)||LA95_0==103||LA95_0==105||(LA95_0>=107 && LA95_0<=110)) ) { + alt95=1; + } + else if ( (LA95_0==76) ) { + alt95=2; + } + switch (alt95) { + case 1 : + // InternalFiacre.g:5815:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + { + // InternalFiacre.g:5815:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + // InternalFiacre.g:5816:5: ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' + { + // InternalFiacre.g:5816:5: ( (lv_local_0_0= rulePortSet ) ) + // InternalFiacre.g:5817:6: (lv_local_0_0= rulePortSet ) + { + // InternalFiacre.g:5817:6: (lv_local_0_0= rulePortSet ) + // InternalFiacre.g:5818:7: lv_local_0_0= rulePortSet + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositeBlockAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_74); + lv_local_0_0=rulePortSet(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeBlockRule()); + } + set( + current, + "local", + lv_local_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5841:4: otherlv_2= '->' + { + otherlv_2=(Token)match(input,76,FollowSets000.FOLLOW_39); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + + } + + } + break; + + } + + // InternalFiacre.g:5846:3: ( (lv_composition_3_0= ruleComposition ) ) + // InternalFiacre.g:5847:4: (lv_composition_3_0= ruleComposition ) + { + // InternalFiacre.g:5847:4: (lv_composition_3_0= ruleComposition ) + // InternalFiacre.g:5848:5: lv_composition_3_0= ruleComposition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositeBlockAccess().getCompositionCompositionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_composition_3_0=ruleComposition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeBlockRule()); + } + set( + current, + "composition", + lv_composition_3_0, + "fr.irit.fiacre.xtext.Fiacre.Composition"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCompositeBlock" + + + // $ANTLR start "entryRuleInstanceDeclaration" + // InternalFiacre.g:5869:1: entryRuleInstanceDeclaration returns [EObject current=null] : iv_ruleInstanceDeclaration= ruleInstanceDeclaration EOF ; + public final EObject entryRuleInstanceDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInstanceDeclaration = null; + + + try { + // InternalFiacre.g:5869:60: (iv_ruleInstanceDeclaration= ruleInstanceDeclaration EOF ) + // InternalFiacre.g:5870:2: iv_ruleInstanceDeclaration= ruleInstanceDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getInstanceDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleInstanceDeclaration=ruleInstanceDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleInstanceDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInstanceDeclaration" + + + // $ANTLR start "ruleInstanceDeclaration" + // InternalFiacre.g:5876:1: ruleInstanceDeclaration returns [EObject current=null] : ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_instance_3_0= ruleComponentInstance ) ) ) ; + public final EObject ruleInstanceDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + EObject lv_local_0_0 = null; + + EObject lv_instance_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5882:2: ( ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_instance_3_0= ruleComponentInstance ) ) ) ) + // InternalFiacre.g:5883:2: ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_instance_3_0= ruleComponentInstance ) ) ) + { + // InternalFiacre.g:5883:2: ( ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_instance_3_0= ruleComponentInstance ) ) ) + // InternalFiacre.g:5884:3: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? ( (lv_instance_3_0= ruleComponentInstance ) ) + { + // InternalFiacre.g:5884:3: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )? + int alt96=3; + alt96 = dfa96.predict(input); + switch (alt96) { + case 1 : + // InternalFiacre.g:5885:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + { + // InternalFiacre.g:5885:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + // InternalFiacre.g:5886:5: ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' + { + // InternalFiacre.g:5886:5: ( (lv_local_0_0= rulePortSet ) ) + // InternalFiacre.g:5887:6: (lv_local_0_0= rulePortSet ) + { + // InternalFiacre.g:5887:6: (lv_local_0_0= rulePortSet ) + // InternalFiacre.g:5888:7: lv_local_0_0= rulePortSet + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_74); + lv_local_0_0=rulePortSet(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInstanceDeclarationRule()); + } + set( + current, + "local", + lv_local_0_0, + "fr.irit.fiacre.xtext.Fiacre.PortSet"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:5911:4: otherlv_2= '->' + { + otherlv_2=(Token)match(input,76,FollowSets000.FOLLOW_76); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + + } + + } + break; + + } + + // InternalFiacre.g:5916:3: ( (lv_instance_3_0= ruleComponentInstance ) ) + // InternalFiacre.g:5917:4: (lv_instance_3_0= ruleComponentInstance ) + { + // InternalFiacre.g:5917:4: (lv_instance_3_0= ruleComponentInstance ) + // InternalFiacre.g:5918:5: lv_instance_3_0= ruleComponentInstance + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getInstanceDeclarationAccess().getInstanceComponentInstanceParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_instance_3_0=ruleComponentInstance(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInstanceDeclarationRule()); + } + set( + current, + "instance", + lv_instance_3_0, + "fr.irit.fiacre.xtext.Fiacre.ComponentInstance"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInstanceDeclaration" + + + // $ANTLR start "entryRulePortSet" + // InternalFiacre.g:5939:1: entryRulePortSet returns [EObject current=null] : iv_rulePortSet= rulePortSet EOF ; + public final EObject entryRulePortSet() throws RecognitionException { + EObject current = null; + + EObject iv_rulePortSet = null; + + + try { + // InternalFiacre.g:5939:48: (iv_rulePortSet= rulePortSet EOF ) + // InternalFiacre.g:5940:2: iv_rulePortSet= rulePortSet EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPortSetRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePortSet=rulePortSet(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePortSet; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePortSet" + + + // $ANTLR start "rulePortSet" + // InternalFiacre.g:5946:1: rulePortSet returns [EObject current=null] : ( ( (lv_allPorts_0_0= '*' ) ) | ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) ) ; + public final EObject rulePortSet() throws RecognitionException { + EObject current = null; + + Token lv_allPorts_0_0=null; + Token otherlv_2=null; + EObject lv_ports_1_0 = null; + + EObject lv_ports_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:5952:2: ( ( ( (lv_allPorts_0_0= '*' ) ) | ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) ) ) + // InternalFiacre.g:5953:2: ( ( (lv_allPorts_0_0= '*' ) ) | ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) ) + { + // InternalFiacre.g:5953:2: ( ( (lv_allPorts_0_0= '*' ) ) | ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) ) + int alt98=2; + int LA98_0 = input.LA(1); + + if ( (LA98_0==82) ) { + alt98=1; + } + else if ( (LA98_0==RULE_ID||LA98_0==RULE_INT||LA98_0==16||LA98_0==41||LA98_0==51||(LA98_0>=63 && LA98_0<=64)||(LA98_0>=83 && LA98_0<=84)||(LA98_0>=95 && LA98_0<=101)||LA98_0==103||LA98_0==105||(LA98_0>=107 && LA98_0<=110)) ) { + alt98=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 98, 0, input); + + throw nvae; + } + switch (alt98) { + case 1 : + // InternalFiacre.g:5954:3: ( (lv_allPorts_0_0= '*' ) ) + { + // InternalFiacre.g:5954:3: ( (lv_allPorts_0_0= '*' ) ) + // InternalFiacre.g:5955:4: (lv_allPorts_0_0= '*' ) + { + // InternalFiacre.g:5955:4: (lv_allPorts_0_0= '*' ) + // InternalFiacre.g:5956:5: lv_allPorts_0_0= '*' + { + lv_allPorts_0_0=(Token)match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_allPorts_0_0, grammarAccess.getPortSetAccess().getAllPortsAsteriskKeyword_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPortSetRule()); + } + setWithLastConsumed(current, "allPorts", true, "*"); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:5969:3: ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) + { + // InternalFiacre.g:5969:3: ( ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* ) + // InternalFiacre.g:5970:4: ( (lv_ports_1_0= ruleExpression ) ) (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* + { + // InternalFiacre.g:5970:4: ( (lv_ports_1_0= ruleExpression ) ) + // InternalFiacre.g:5971:5: (lv_ports_1_0= ruleExpression ) + { + // InternalFiacre.g:5971:5: (lv_ports_1_0= ruleExpression ) + // InternalFiacre.g:5972:6: lv_ports_1_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_ports_1_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPortSetRule()); + } + add( + current, + "ports", + lv_ports_1_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:5989:4: (otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) )* + loop97: + do { + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==17) ) { + alt97=1; + } + + + switch (alt97) { + case 1 : + // InternalFiacre.g:5990:5: otherlv_2= ',' ( (lv_ports_3_0= ruleExpression ) ) + { + otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPortSetAccess().getCommaKeyword_1_1_0()); + + } + // InternalFiacre.g:5994:5: ( (lv_ports_3_0= ruleExpression ) ) + // InternalFiacre.g:5995:6: (lv_ports_3_0= ruleExpression ) + { + // InternalFiacre.g:5995:6: (lv_ports_3_0= ruleExpression ) + // InternalFiacre.g:5996:7: lv_ports_3_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPortSetAccess().getPortsExpressionParserRuleCall_1_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_ports_3_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPortSetRule()); + } + add( + current, + "ports", + lv_ports_3_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop97; + } + } while (true); + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePortSet" + + + // $ANTLR start "entryRuleComponentInstance" + // InternalFiacre.g:6019:1: entryRuleComponentInstance returns [EObject current=null] : iv_ruleComponentInstance= ruleComponentInstance EOF ; + public final EObject entryRuleComponentInstance() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentInstance = null; + + + try { + // InternalFiacre.g:6019:58: (iv_ruleComponentInstance= ruleComponentInstance EOF ) + // InternalFiacre.g:6020:2: iv_ruleComponentInstance= ruleComponentInstance EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getComponentInstanceRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleComponentInstance=ruleComponentInstance(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleComponentInstance; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentInstance" + + + // $ANTLR start "ruleComponentInstance" + // InternalFiacre.g:6026:1: ruleComponentInstance returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? ) ; + public final EObject ruleComponentInstance() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + EObject lv_ports_2_0 = null; + + EObject lv_ports_4_0 = null; + + EObject lv_parameters_7_0 = null; + + EObject lv_parameters_9_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6032:2: ( ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? ) ) + // InternalFiacre.g:6033:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? ) + { + // InternalFiacre.g:6033:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? ) + // InternalFiacre.g:6034:3: ( (otherlv_0= RULE_ID ) ) (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? + { + // InternalFiacre.g:6034:3: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:6035:4: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:6035:4: (otherlv_0= RULE_ID ) + // InternalFiacre.g:6036:5: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentInstanceRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_79); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getComponentInstanceAccess().getComponentParameterizedDeclarationCrossReference_0_0()); + + } + + } + + + } + + // InternalFiacre.g:6050:3: (otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' )? + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==41) ) { + alt100=1; + } + switch (alt100) { + case 1 : + // InternalFiacre.g:6051:4: otherlv_1= '[' ( (lv_ports_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* otherlv_5= ']' + { + otherlv_1=(Token)match(input,41,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getComponentInstanceAccess().getLeftSquareBracketKeyword_1_0()); + + } + // InternalFiacre.g:6055:4: ( (lv_ports_2_0= ruleExpression ) ) + // InternalFiacre.g:6056:5: (lv_ports_2_0= ruleExpression ) + { + // InternalFiacre.g:6056:5: (lv_ports_2_0= ruleExpression ) + // InternalFiacre.g:6057:6: lv_ports_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + current, + "ports", + lv_ports_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:6074:4: (otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) )* + loop99: + do { + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==17) ) { + alt99=1; + } + + + switch (alt99) { + case 1 : + // InternalFiacre.g:6075:5: otherlv_3= ',' ( (lv_ports_4_0= ruleExpression ) ) + { + otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getComponentInstanceAccess().getCommaKeyword_1_2_0()); + + } + // InternalFiacre.g:6079:5: ( (lv_ports_4_0= ruleExpression ) ) + // InternalFiacre.g:6080:6: (lv_ports_4_0= ruleExpression ) + { + // InternalFiacre.g:6080:6: (lv_ports_4_0= ruleExpression ) + // InternalFiacre.g:6081:7: lv_ports_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentInstanceAccess().getPortsExpressionParserRuleCall_1_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_ports_4_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + current, + "ports", + lv_ports_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop99; + } + } while (true); + + otherlv_5=(Token)match(input,42,FollowSets000.FOLLOW_80); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getComponentInstanceAccess().getRightSquareBracketKeyword_1_3()); + + } + + } + break; + + } + + // InternalFiacre.g:6104:3: (otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' )? + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==16) ) { + alt102=1; + } + switch (alt102) { + case 1 : + // InternalFiacre.g:6105:4: otherlv_6= '(' ( (lv_parameters_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* otherlv_10= ')' + { + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getComponentInstanceAccess().getLeftParenthesisKeyword_2_0()); + + } + // InternalFiacre.g:6109:4: ( (lv_parameters_7_0= ruleExpression ) ) + // InternalFiacre.g:6110:5: (lv_parameters_7_0= ruleExpression ) + { + // InternalFiacre.g:6110:5: (lv_parameters_7_0= ruleExpression ) + // InternalFiacre.g:6111:6: lv_parameters_7_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_7_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + current, + "parameters", + lv_parameters_7_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:6128:4: (otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) )* + loop101: + do { + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==17) ) { + alt101=1; + } + + + switch (alt101) { + case 1 : + // InternalFiacre.g:6129:5: otherlv_8= ',' ( (lv_parameters_9_0= ruleExpression ) ) + { + otherlv_8=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getComponentInstanceAccess().getCommaKeyword_2_2_0()); + + } + // InternalFiacre.g:6133:5: ( (lv_parameters_9_0= ruleExpression ) ) + // InternalFiacre.g:6134:6: (lv_parameters_9_0= ruleExpression ) + { + // InternalFiacre.g:6134:6: (lv_parameters_9_0= ruleExpression ) + // InternalFiacre.g:6135:7: lv_parameters_9_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComponentInstanceAccess().getParametersExpressionParserRuleCall_2_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_9_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInstanceRule()); + } + add( + current, + "parameters", + lv_parameters_9_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop101; + } + } while (true); + + otherlv_10=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getComponentInstanceAccess().getRightParenthesisKeyword_2_3()); + + } + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentInstance" + + + // $ANTLR start "entryRuleExpression" + // InternalFiacre.g:6162:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; + public final EObject entryRuleExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExpression = null; + + + try { + // InternalFiacre.g:6162:51: (iv_ruleExpression= ruleExpression EOF ) + // InternalFiacre.g:6163:2: iv_ruleExpression= ruleExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleExpression=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExpression" + + + // $ANTLR start "ruleExpression" + // InternalFiacre.g:6169:1: ruleExpression returns [EObject current=null] : this_QuantifiedExpression_0= ruleQuantifiedExpression ; + public final EObject ruleExpression() throws RecognitionException { + EObject current = null; + + EObject this_QuantifiedExpression_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6175:2: (this_QuantifiedExpression_0= ruleQuantifiedExpression ) + // InternalFiacre.g:6176:2: this_QuantifiedExpression_0= ruleQuantifiedExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getExpressionAccess().getQuantifiedExpressionParserRuleCall()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_QuantifiedExpression_0=ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_QuantifiedExpression_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExpression" + + + // $ANTLR start "entryRuleQuantifiedExpression" + // InternalFiacre.g:6190:1: entryRuleQuantifiedExpression returns [EObject current=null] : iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ; + public final EObject entryRuleQuantifiedExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleQuantifiedExpression = null; + + + try { + // InternalFiacre.g:6190:61: (iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF ) + // InternalFiacre.g:6191:2: iv_ruleQuantifiedExpression= ruleQuantifiedExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQuantifiedExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleQuantifiedExpression=ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQuantifiedExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQuantifiedExpression" + + + // $ANTLR start "ruleQuantifiedExpression" + // InternalFiacre.g:6197:1: ruleQuantifiedExpression returns [EObject current=null] : ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) | this_Conditional_9= ruleConditional ) ; + public final EObject ruleQuantifiedExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_index_4_0 = null; + + EObject lv_type_6_0 = null; + + EObject lv_child_8_0 = null; + + EObject this_Conditional_9 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6203:2: ( ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) | this_Conditional_9= ruleConditional ) ) + // InternalFiacre.g:6204:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) | this_Conditional_9= ruleConditional ) + { + // InternalFiacre.g:6204:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) | this_Conditional_9= ruleConditional ) + int alt105=2; + int LA105_0 = input.LA(1); + + if ( ((LA105_0>=83 && LA105_0<=84)) ) { + alt105=1; + } + else if ( (LA105_0==RULE_ID||LA105_0==RULE_INT||LA105_0==16||LA105_0==41||LA105_0==51||(LA105_0>=63 && LA105_0<=64)||(LA105_0>=95 && LA105_0<=101)||LA105_0==103||LA105_0==105||(LA105_0>=107 && LA105_0<=110)) ) { + alt105=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 105, 0, input); + + throw nvae; + } + switch (alt105) { + case 1 : + // InternalFiacre.g:6205:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) + { + // InternalFiacre.g:6205:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) ) + // InternalFiacre.g:6206:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedExpression ) ) + { + // InternalFiacre.g:6206:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==83) ) { + alt103=1; + } + else if ( (LA103_0==84) ) { + alt103=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 103, 0, input); + + throw nvae; + } + switch (alt103) { + case 1 : + // InternalFiacre.g:6207:5: ( () otherlv_1= 'all' ) + { + // InternalFiacre.g:6207:5: ( () otherlv_1= 'all' ) + // InternalFiacre.g:6208:6: () otherlv_1= 'all' + { + // InternalFiacre.g:6208:6: () + // InternalFiacre.g:6209:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getQuantifiedExpressionAccess().getAllExpressionAction_0_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getQuantifiedExpressionAccess().getAllKeyword_0_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:6224:5: ( () otherlv_3= 'exists' ) + { + // InternalFiacre.g:6224:5: ( () otherlv_3= 'exists' ) + // InternalFiacre.g:6225:6: () otherlv_3= 'exists' + { + // InternalFiacre.g:6225:6: () + // InternalFiacre.g:6226:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getQuantifiedExpressionAccess().getExistsExpressionAction_0_0_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getQuantifiedExpressionAccess().getExistsKeyword_0_0_1_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:6241:4: ( (lv_index_4_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:6242:5: (lv_index_4_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:6242:5: (lv_index_4_0= ruleVariableDeclaration ) + // InternalFiacre.g:6243:6: lv_index_4_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_81); + lv_index_4_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + current, + "index", + lv_index_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:6260:4: (otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) )? + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==26) ) { + alt104=1; + } + switch (alt104) { + case 1 : + // InternalFiacre.g:6261:5: otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) + { + otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getQuantifiedExpressionAccess().getInKeyword_0_2_0()); + + } + // InternalFiacre.g:6265:5: ( (lv_type_6_0= ruleRangeType ) ) + // InternalFiacre.g:6266:6: (lv_type_6_0= ruleRangeType ) + { + // InternalFiacre.g:6266:6: (lv_type_6_0= ruleRangeType ) + // InternalFiacre.g:6267:7: lv_type_6_0= ruleRangeType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getTypeRangeTypeParserRuleCall_0_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_82); + lv_type_6_0=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,65,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getQuantifiedExpressionAccess().getFullStopKeyword_0_3()); + + } + // InternalFiacre.g:6289:4: ( (lv_child_8_0= ruleQuantifiedExpression ) ) + // InternalFiacre.g:6290:5: (lv_child_8_0= ruleQuantifiedExpression ) + { + // InternalFiacre.g:6290:5: (lv_child_8_0= ruleQuantifiedExpression ) + // InternalFiacre.g:6291:6: lv_child_8_0= ruleQuantifiedExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getChildQuantifiedExpressionParserRuleCall_0_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_8_0=ruleQuantifiedExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedExpressionRule()); + } + set( + current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.QuantifiedExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:6310:3: this_Conditional_9= ruleConditional + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedExpressionAccess().getConditionalParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_Conditional_9=ruleConditional(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Conditional_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQuantifiedExpression" + + + // $ANTLR start "entryRuleConditional" + // InternalFiacre.g:6325:1: entryRuleConditional returns [EObject current=null] : iv_ruleConditional= ruleConditional EOF ; + public final EObject entryRuleConditional() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConditional = null; + + + try { + // InternalFiacre.g:6325:52: (iv_ruleConditional= ruleConditional EOF ) + // InternalFiacre.g:6326:2: iv_ruleConditional= ruleConditional EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConditionalRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleConditional=ruleConditional(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConditional; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConditional" + + + // $ANTLR start "ruleConditional" + // InternalFiacre.g:6332:1: ruleConditional returns [EObject current=null] : (this_Disjunction_0= ruleDisjunction (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? ) ; + public final EObject ruleConditional() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + EObject this_Disjunction_0 = null; + + EObject lv_then_3_0 = null; + + EObject lv_else_5_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6338:2: ( (this_Disjunction_0= ruleDisjunction (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? ) ) + // InternalFiacre.g:6339:2: (this_Disjunction_0= ruleDisjunction (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? ) + { + // InternalFiacre.g:6339:2: (this_Disjunction_0= ruleDisjunction (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? ) + // InternalFiacre.g:6340:3: this_Disjunction_0= ruleDisjunction (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalAccess().getDisjunctionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_83); + this_Disjunction_0=ruleDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Disjunction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6351:3: (otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) )? + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==62) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // InternalFiacre.g:6352:4: otherlv_1= '?' () ( (lv_then_3_0= ruleDisjunction ) ) otherlv_4= ':' ( (lv_else_5_0= ruleDisjunction ) ) + { + otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getConditionalAccess().getQuestionMarkKeyword_1_0()); + + } + // InternalFiacre.g:6356:4: () + // InternalFiacre.g:6357:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1(), + current); + + } + + } + + // InternalFiacre.g:6366:4: ( (lv_then_3_0= ruleDisjunction ) ) + // InternalFiacre.g:6367:5: (lv_then_3_0= ruleDisjunction ) + { + // InternalFiacre.g:6367:5: (lv_then_3_0= ruleDisjunction ) + // InternalFiacre.g:6368:6: lv_then_3_0= ruleDisjunction + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_13); + lv_then_3_0=ruleDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalRule()); + } + set( + current, + "then", + lv_then_3_0, + "fr.irit.fiacre.xtext.Fiacre.Disjunction"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getConditionalAccess().getColonKeyword_1_3()); + + } + // InternalFiacre.g:6389:4: ( (lv_else_5_0= ruleDisjunction ) ) + // InternalFiacre.g:6390:5: (lv_else_5_0= ruleDisjunction ) + { + // InternalFiacre.g:6390:5: (lv_else_5_0= ruleDisjunction ) + // InternalFiacre.g:6391:6: lv_else_5_0= ruleDisjunction + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_else_5_0=ruleDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConditionalRule()); + } + set( + current, + "else", + lv_else_5_0, + "fr.irit.fiacre.xtext.Fiacre.Disjunction"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConditional" + + + // $ANTLR start "entryRuleDisjunction" + // InternalFiacre.g:6413:1: entryRuleDisjunction returns [EObject current=null] : iv_ruleDisjunction= ruleDisjunction EOF ; + public final EObject entryRuleDisjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDisjunction = null; + + + try { + // InternalFiacre.g:6413:52: (iv_ruleDisjunction= ruleDisjunction EOF ) + // InternalFiacre.g:6414:2: iv_ruleDisjunction= ruleDisjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDisjunction=ruleDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDisjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDisjunction" + + + // $ANTLR start "ruleDisjunction" + // InternalFiacre.g:6420:1: ruleDisjunction returns [EObject current=null] : (this_Implication_0= ruleImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* ) ; + public final EObject ruleDisjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Implication_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6426:2: ( (this_Implication_0= ruleImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* ) ) + // InternalFiacre.g:6427:2: (this_Implication_0= ruleImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* ) + { + // InternalFiacre.g:6427:2: (this_Implication_0= ruleImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* ) + // InternalFiacre.g:6428:3: this_Implication_0= ruleImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDisjunctionAccess().getImplicationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + this_Implication_0=ruleImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Implication_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6439:3: ( () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) )* + loop107: + do { + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==85) ) { + alt107=1; + } + + + switch (alt107) { + case 1 : + // InternalFiacre.g:6440:4: () otherlv_2= 'or' ( (lv_right_3_0= ruleImplication ) ) + { + // InternalFiacre.g:6440:4: () + // InternalFiacre.g:6441:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,85,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getDisjunctionAccess().getOrKeyword_1_1()); + + } + // InternalFiacre.g:6454:4: ( (lv_right_3_0= ruleImplication ) ) + // InternalFiacre.g:6455:5: (lv_right_3_0= ruleImplication ) + { + // InternalFiacre.g:6455:5: (lv_right_3_0= ruleImplication ) + // InternalFiacre.g:6456:6: lv_right_3_0= ruleImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + lv_right_3_0=ruleImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDisjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Implication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop107; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDisjunction" + + + // $ANTLR start "entryRuleImplication" + // InternalFiacre.g:6478:1: entryRuleImplication returns [EObject current=null] : iv_ruleImplication= ruleImplication EOF ; + public final EObject entryRuleImplication() throws RecognitionException { + EObject current = null; + + EObject iv_ruleImplication = null; + + + try { + // InternalFiacre.g:6478:52: (iv_ruleImplication= ruleImplication EOF ) + // InternalFiacre.g:6479:2: iv_ruleImplication= ruleImplication EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleImplication=ruleImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleImplication; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleImplication" + + + // $ANTLR start "ruleImplication" + // InternalFiacre.g:6485:1: ruleImplication returns [EObject current=null] : (this_Conjunction_0= ruleConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? ) ; + public final EObject ruleImplication() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Conjunction_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6491:2: ( (this_Conjunction_0= ruleConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? ) ) + // InternalFiacre.g:6492:2: (this_Conjunction_0= ruleConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? ) + { + // InternalFiacre.g:6492:2: (this_Conjunction_0= ruleConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? ) + // InternalFiacre.g:6493:3: this_Conjunction_0= ruleConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getImplicationAccess().getConjunctionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_85); + this_Conjunction_0=ruleConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Conjunction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6504:3: ( () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) )? + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==86) ) { + alt108=1; + } + switch (alt108) { + case 1 : + // InternalFiacre.g:6505:4: () otherlv_2= '=>' ( (lv_right_3_0= ruleImplication ) ) + { + // InternalFiacre.g:6505:4: () + // InternalFiacre.g:6506:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,86,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + + } + // InternalFiacre.g:6519:4: ( (lv_right_3_0= ruleImplication ) ) + // InternalFiacre.g:6520:5: (lv_right_3_0= ruleImplication ) + { + // InternalFiacre.g:6520:5: (lv_right_3_0= ruleImplication ) + // InternalFiacre.g:6521:6: lv_right_3_0= ruleImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getImplicationRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Implication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleImplication" + + + // $ANTLR start "entryRuleConjunction" + // InternalFiacre.g:6543:1: entryRuleConjunction returns [EObject current=null] : iv_ruleConjunction= ruleConjunction EOF ; + public final EObject entryRuleConjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConjunction = null; + + + try { + // InternalFiacre.g:6543:52: (iv_ruleConjunction= ruleConjunction EOF ) + // InternalFiacre.g:6544:2: iv_ruleConjunction= ruleConjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleConjunction=ruleConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleConjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConjunction" + + + // $ANTLR start "ruleConjunction" + // InternalFiacre.g:6550:1: ruleConjunction returns [EObject current=null] : (this_Comparison_0= ruleComparison ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* ) ; + public final EObject ruleConjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Comparison_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6556:2: ( (this_Comparison_0= ruleComparison ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* ) ) + // InternalFiacre.g:6557:2: (this_Comparison_0= ruleComparison ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* ) + { + // InternalFiacre.g:6557:2: (this_Comparison_0= ruleComparison ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* ) + // InternalFiacre.g:6558:3: this_Comparison_0= ruleComparison ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConjunctionAccess().getComparisonParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + this_Comparison_0=ruleComparison(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Comparison_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6569:3: ( () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) )* + loop109: + do { + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==87) ) { + alt109=1; + } + + + switch (alt109) { + case 1 : + // InternalFiacre.g:6570:4: () otherlv_2= 'and' ( (lv_right_3_0= ruleComparison ) ) + { + // InternalFiacre.g:6570:4: () + // InternalFiacre.g:6571:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,87,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getConjunctionAccess().getAndKeyword_1_1()); + + } + // InternalFiacre.g:6584:4: ( (lv_right_3_0= ruleComparison ) ) + // InternalFiacre.g:6585:5: (lv_right_3_0= ruleComparison ) + { + // InternalFiacre.g:6585:5: (lv_right_3_0= ruleComparison ) + // InternalFiacre.g:6586:6: lv_right_3_0= ruleComparison + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + lv_right_3_0=ruleComparison(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Comparison"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop109; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConjunction" + + + // $ANTLR start "entryRuleComparison" + // InternalFiacre.g:6608:1: entryRuleComparison returns [EObject current=null] : iv_ruleComparison= ruleComparison EOF ; + public final EObject entryRuleComparison() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComparison = null; + + + try { + // InternalFiacre.g:6608:51: (iv_ruleComparison= ruleComparison EOF ) + // InternalFiacre.g:6609:2: iv_ruleComparison= ruleComparison EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getComparisonRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleComparison=ruleComparison(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleComparison; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComparison" + + + // $ANTLR start "ruleComparison" + // InternalFiacre.g:6615:1: ruleComparison returns [EObject current=null] : (this_Addition_0= ruleAddition ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? ) ; + public final EObject ruleComparison() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject this_Addition_0 = null; + + EObject lv_right_13_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6621:2: ( (this_Addition_0= ruleAddition ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? ) ) + // InternalFiacre.g:6622:2: (this_Addition_0= ruleAddition ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? ) + { + // InternalFiacre.g:6622:2: (this_Addition_0= ruleAddition ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? ) + // InternalFiacre.g:6623:3: this_Addition_0= ruleAddition ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComparisonAccess().getAdditionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_87); + this_Addition_0=ruleAddition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Addition_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6634:3: ( ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) )? + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==12||(LA111_0>=88 && LA111_0<=92)) ) { + alt111=1; + } + switch (alt111) { + case 1 : + // InternalFiacre.g:6635:4: ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) ( (lv_right_13_0= ruleAddition ) ) + { + // InternalFiacre.g:6635:4: ( ( () otherlv_2= '=' ) | ( () otherlv_4= '<>' ) | ( () otherlv_6= '<' ) | ( () otherlv_8= '<=' ) | ( () otherlv_10= '>' ) | ( () otherlv_12= '>=' ) ) + int alt110=6; + switch ( input.LA(1) ) { + case 88: + { + alt110=1; + } + break; + case 89: + { + alt110=2; + } + break; + case 90: + { + alt110=3; + } + break; + case 91: + { + alt110=4; + } + break; + case 12: + { + alt110=5; + } + break; + case 92: + { + alt110=6; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 110, 0, input); + + throw nvae; + } + + switch (alt110) { + case 1 : + // InternalFiacre.g:6636:5: ( () otherlv_2= '=' ) + { + // InternalFiacre.g:6636:5: ( () otherlv_2= '=' ) + // InternalFiacre.g:6637:6: () otherlv_2= '=' + { + // InternalFiacre.g:6637:6: () + // InternalFiacre.g:6638:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,88,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getComparisonAccess().getEqualsSignKeyword_1_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:6653:5: ( () otherlv_4= '<>' ) + { + // InternalFiacre.g:6653:5: ( () otherlv_4= '<>' ) + // InternalFiacre.g:6654:6: () otherlv_4= '<>' + { + // InternalFiacre.g:6654:6: () + // InternalFiacre.g:6655:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0(), + current); + + } + + } + + otherlv_4=(Token)match(input,89,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getComparisonAccess().getLessThanSignGreaterThanSignKeyword_1_0_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:6670:5: ( () otherlv_6= '<' ) + { + // InternalFiacre.g:6670:5: ( () otherlv_6= '<' ) + // InternalFiacre.g:6671:6: () otherlv_6= '<' + { + // InternalFiacre.g:6671:6: () + // InternalFiacre.g:6672:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0(), + current); + + } + + } + + otherlv_6=(Token)match(input,90,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getComparisonAccess().getLessThanSignKeyword_1_0_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:6687:5: ( () otherlv_8= '<=' ) + { + // InternalFiacre.g:6687:5: ( () otherlv_8= '<=' ) + // InternalFiacre.g:6688:6: () otherlv_8= '<=' + { + // InternalFiacre.g:6688:6: () + // InternalFiacre.g:6689:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0(), + current); + + } + + } + + otherlv_8=(Token)match(input,91,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getComparisonAccess().getLessThanSignEqualsSignKeyword_1_0_3_1()); + + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:6704:5: ( () otherlv_10= '>' ) + { + // InternalFiacre.g:6704:5: ( () otherlv_10= '>' ) + // InternalFiacre.g:6705:6: () otherlv_10= '>' + { + // InternalFiacre.g:6705:6: () + // InternalFiacre.g:6706:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0(), + current); + + } + + } + + otherlv_10=(Token)match(input,12,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getComparisonAccess().getGreaterThanSignKeyword_1_0_4_1()); + + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:6721:5: ( () otherlv_12= '>=' ) + { + // InternalFiacre.g:6721:5: ( () otherlv_12= '>=' ) + // InternalFiacre.g:6722:6: () otherlv_12= '>=' + { + // InternalFiacre.g:6722:6: () + // InternalFiacre.g:6723:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0(), + current); + + } + + } + + otherlv_12=(Token)match(input,92,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getComparisonAccess().getGreaterThanSignEqualsSignKeyword_1_0_5_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:6738:4: ( (lv_right_13_0= ruleAddition ) ) + // InternalFiacre.g:6739:5: (lv_right_13_0= ruleAddition ) + { + // InternalFiacre.g:6739:5: (lv_right_13_0= ruleAddition ) + // InternalFiacre.g:6740:6: lv_right_13_0= ruleAddition + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_13_0=ruleAddition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonRule()); + } + set( + current, + "right", + lv_right_13_0, + "fr.irit.fiacre.xtext.Fiacre.Addition"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComparison" + + + // $ANTLR start "entryRuleAddition" + // InternalFiacre.g:6762:1: entryRuleAddition returns [EObject current=null] : iv_ruleAddition= ruleAddition EOF ; + public final EObject entryRuleAddition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAddition = null; + + + try { + // InternalFiacre.g:6762:49: (iv_ruleAddition= ruleAddition EOF ) + // InternalFiacre.g:6763:2: iv_ruleAddition= ruleAddition EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAdditionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAddition=ruleAddition(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAddition; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAddition" + + + // $ANTLR start "ruleAddition" + // InternalFiacre.g:6769:1: ruleAddition returns [EObject current=null] : (this_Substraction_0= ruleSubstraction ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* ) ; + public final EObject ruleAddition() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Substraction_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6775:2: ( (this_Substraction_0= ruleSubstraction ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* ) ) + // InternalFiacre.g:6776:2: (this_Substraction_0= ruleSubstraction ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* ) + { + // InternalFiacre.g:6776:2: (this_Substraction_0= ruleSubstraction ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* ) + // InternalFiacre.g:6777:3: this_Substraction_0= ruleSubstraction ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAdditionAccess().getSubstractionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_88); + this_Substraction_0=ruleSubstraction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Substraction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6788:3: ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) )* + loop112: + do { + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==63) ) { + int LA112_2 = input.LA(2); + + if ( (LA112_2==RULE_ID||LA112_2==16||LA112_2==41||LA112_2==51||(LA112_2>=63 && LA112_2<=64)||(LA112_2>=95 && LA112_2<=101)||LA112_2==103||LA112_2==105||(LA112_2>=107 && LA112_2<=110)) ) { + alt112=1; + } + else if ( (LA112_2==RULE_INT) ) { + int LA112_4 = input.LA(3); + + if ( (synpred153_InternalFiacre()) ) { + alt112=1; + } + + + } + + + } + + + switch (alt112) { + case 1 : + // InternalFiacre.g:6789:4: () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) + { + // InternalFiacre.g:6789:4: () + // InternalFiacre.g:6790:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,63,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getAdditionAccess().getPlusSignKeyword_1_1()); + + } + // InternalFiacre.g:6803:4: ( (lv_right_3_0= ruleSubstraction ) ) + // InternalFiacre.g:6804:5: (lv_right_3_0= ruleSubstraction ) + { + // InternalFiacre.g:6804:5: (lv_right_3_0= ruleSubstraction ) + // InternalFiacre.g:6805:6: lv_right_3_0= ruleSubstraction + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_88); + lv_right_3_0=ruleSubstraction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAdditionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Substraction"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop112; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAddition" + + + // $ANTLR start "entryRuleSubstraction" + // InternalFiacre.g:6827:1: entryRuleSubstraction returns [EObject current=null] : iv_ruleSubstraction= ruleSubstraction EOF ; + public final EObject entryRuleSubstraction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSubstraction = null; + + + try { + // InternalFiacre.g:6827:53: (iv_ruleSubstraction= ruleSubstraction EOF ) + // InternalFiacre.g:6828:2: iv_ruleSubstraction= ruleSubstraction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getSubstractionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleSubstraction=ruleSubstraction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleSubstraction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSubstraction" + + + // $ANTLR start "ruleSubstraction" + // InternalFiacre.g:6834:1: ruleSubstraction returns [EObject current=null] : (this_Multiplication_0= ruleMultiplication ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* ) ; + public final EObject ruleSubstraction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Multiplication_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6840:2: ( (this_Multiplication_0= ruleMultiplication ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* ) ) + // InternalFiacre.g:6841:2: (this_Multiplication_0= ruleMultiplication ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* ) + { + // InternalFiacre.g:6841:2: (this_Multiplication_0= ruleMultiplication ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* ) + // InternalFiacre.g:6842:3: this_Multiplication_0= ruleMultiplication ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubstractionAccess().getMultiplicationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_89); + this_Multiplication_0=ruleMultiplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Multiplication_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6853:3: ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) )* + loop113: + do { + int alt113=2; + int LA113_0 = input.LA(1); + + if ( (LA113_0==64) ) { + int LA113_2 = input.LA(2); + + if ( (LA113_2==RULE_INT) ) { + int LA113_3 = input.LA(3); + + if ( (synpred154_InternalFiacre()) ) { + alt113=1; + } + + + } + else if ( (LA113_2==RULE_ID||LA113_2==16||LA113_2==41||LA113_2==51||(LA113_2>=63 && LA113_2<=64)||(LA113_2>=95 && LA113_2<=101)||LA113_2==103||LA113_2==105||(LA113_2>=107 && LA113_2<=110)) ) { + alt113=1; + } + + + } + + + switch (alt113) { + case 1 : + // InternalFiacre.g:6854:4: () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) + { + // InternalFiacre.g:6854:4: () + // InternalFiacre.g:6855:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,64,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getSubstractionAccess().getHyphenMinusKeyword_1_1()); + + } + // InternalFiacre.g:6868:4: ( (lv_right_3_0= ruleMultiplication ) ) + // InternalFiacre.g:6869:5: (lv_right_3_0= ruleMultiplication ) + { + // InternalFiacre.g:6869:5: (lv_right_3_0= ruleMultiplication ) + // InternalFiacre.g:6870:6: lv_right_3_0= ruleMultiplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_89); + lv_right_3_0=ruleMultiplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubstractionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Multiplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop113; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSubstraction" + + + // $ANTLR start "entryRuleMultiplication" + // InternalFiacre.g:6892:1: entryRuleMultiplication returns [EObject current=null] : iv_ruleMultiplication= ruleMultiplication EOF ; + public final EObject entryRuleMultiplication() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMultiplication = null; + + + try { + // InternalFiacre.g:6892:55: (iv_ruleMultiplication= ruleMultiplication EOF ) + // InternalFiacre.g:6893:2: iv_ruleMultiplication= ruleMultiplication EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMultiplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleMultiplication=ruleMultiplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMultiplication; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMultiplication" + + + // $ANTLR start "ruleMultiplication" + // InternalFiacre.g:6899:1: ruleMultiplication returns [EObject current=null] : (this_Division_0= ruleDivision ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* ) ; + public final EObject ruleMultiplication() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Division_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6905:2: ( (this_Division_0= ruleDivision ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* ) ) + // InternalFiacre.g:6906:2: (this_Division_0= ruleDivision ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* ) + { + // InternalFiacre.g:6906:2: (this_Division_0= ruleDivision ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* ) + // InternalFiacre.g:6907:3: this_Division_0= ruleDivision ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMultiplicationAccess().getDivisionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_90); + this_Division_0=ruleDivision(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Division_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6918:3: ( () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) )* + loop114: + do { + int alt114=2; + int LA114_0 = input.LA(1); + + if ( (LA114_0==82) ) { + alt114=1; + } + + + switch (alt114) { + case 1 : + // InternalFiacre.g:6919:4: () otherlv_2= '*' ( (lv_right_3_0= ruleDivision ) ) + { + // InternalFiacre.g:6919:4: () + // InternalFiacre.g:6920:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,82,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getMultiplicationAccess().getAsteriskKeyword_1_1()); + + } + // InternalFiacre.g:6933:4: ( (lv_right_3_0= ruleDivision ) ) + // InternalFiacre.g:6934:5: (lv_right_3_0= ruleDivision ) + { + // InternalFiacre.g:6934:5: (lv_right_3_0= ruleDivision ) + // InternalFiacre.g:6935:6: lv_right_3_0= ruleDivision + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_90); + lv_right_3_0=ruleDivision(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplicationRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Division"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop114; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMultiplication" + + + // $ANTLR start "entryRuleDivision" + // InternalFiacre.g:6957:1: entryRuleDivision returns [EObject current=null] : iv_ruleDivision= ruleDivision EOF ; + public final EObject entryRuleDivision() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDivision = null; + + + try { + // InternalFiacre.g:6957:49: (iv_ruleDivision= ruleDivision EOF ) + // InternalFiacre.g:6958:2: iv_ruleDivision= ruleDivision EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDivisionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDivision=ruleDivision(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDivision; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDivision" + + + // $ANTLR start "ruleDivision" + // InternalFiacre.g:6964:1: ruleDivision returns [EObject current=null] : (this_Modulo_0= ruleModulo ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* ) ; + public final EObject ruleDivision() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_Modulo_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:6970:2: ( (this_Modulo_0= ruleModulo ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* ) ) + // InternalFiacre.g:6971:2: (this_Modulo_0= ruleModulo ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* ) + { + // InternalFiacre.g:6971:2: (this_Modulo_0= ruleModulo ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* ) + // InternalFiacre.g:6972:3: this_Modulo_0= ruleModulo ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDivisionAccess().getModuloParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_91); + this_Modulo_0=ruleModulo(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Modulo_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:6983:3: ( () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) )* + loop115: + do { + int alt115=2; + int LA115_0 = input.LA(1); + + if ( (LA115_0==93) ) { + alt115=1; + } + + + switch (alt115) { + case 1 : + // InternalFiacre.g:6984:4: () otherlv_2= '/' ( (lv_right_3_0= ruleModulo ) ) + { + // InternalFiacre.g:6984:4: () + // InternalFiacre.g:6985:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,93,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getDivisionAccess().getSolidusKeyword_1_1()); + + } + // InternalFiacre.g:6998:4: ( (lv_right_3_0= ruleModulo ) ) + // InternalFiacre.g:6999:5: (lv_right_3_0= ruleModulo ) + { + // InternalFiacre.g:6999:5: (lv_right_3_0= ruleModulo ) + // InternalFiacre.g:7000:6: lv_right_3_0= ruleModulo + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_91); + lv_right_3_0=ruleModulo(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDivisionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.Modulo"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop115; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDivision" + + + // $ANTLR start "entryRuleModulo" + // InternalFiacre.g:7022:1: entryRuleModulo returns [EObject current=null] : iv_ruleModulo= ruleModulo EOF ; + public final EObject entryRuleModulo() throws RecognitionException { + EObject current = null; + + EObject iv_ruleModulo = null; + + + try { + // InternalFiacre.g:7022:47: (iv_ruleModulo= ruleModulo EOF ) + // InternalFiacre.g:7023:2: iv_ruleModulo= ruleModulo EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getModuloRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleModulo=ruleModulo(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleModulo; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleModulo" + + + // $ANTLR start "ruleModulo" + // InternalFiacre.g:7029:1: ruleModulo returns [EObject current=null] : (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* ) ; + public final EObject ruleModulo() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_UnaryExpression_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7035:2: ( (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* ) ) + // InternalFiacre.g:7036:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* ) + { + // InternalFiacre.g:7036:2: (this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* ) + // InternalFiacre.g:7037:3: this_UnaryExpression_0= ruleUnaryExpression ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModuloAccess().getUnaryExpressionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_92); + this_UnaryExpression_0=ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_UnaryExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:7048:3: ( () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) )* + loop116: + do { + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==94) ) { + alt116=1; + } + + + switch (alt116) { + case 1 : + // InternalFiacre.g:7049:4: () otherlv_2= '%' ( (lv_right_3_0= ruleUnaryExpression ) ) + { + // InternalFiacre.g:7049:4: () + // InternalFiacre.g:7050:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getModuloAccess().getModuloLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,94,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getModuloAccess().getPercentSignKeyword_1_1()); + + } + // InternalFiacre.g:7063:4: ( (lv_right_3_0= ruleUnaryExpression ) ) + // InternalFiacre.g:7064:5: (lv_right_3_0= ruleUnaryExpression ) + { + // InternalFiacre.g:7064:5: (lv_right_3_0= ruleUnaryExpression ) + // InternalFiacre.g:7065:6: lv_right_3_0= ruleUnaryExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_92); + lv_right_3_0=ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getModuloRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.UnaryExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop116; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleModulo" + + + // $ANTLR start "entryRuleUnaryExpression" + // InternalFiacre.g:7087:1: entryRuleUnaryExpression returns [EObject current=null] : iv_ruleUnaryExpression= ruleUnaryExpression EOF ; + public final EObject entryRuleUnaryExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnaryExpression = null; + + + try { + // InternalFiacre.g:7087:56: (iv_ruleUnaryExpression= ruleUnaryExpression EOF ) + // InternalFiacre.g:7088:2: iv_ruleUnaryExpression= ruleUnaryExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUnaryExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUnaryExpression=ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUnaryExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnaryExpression" + + + // $ANTLR start "ruleUnaryExpression" + // InternalFiacre.g:7094:1: ruleUnaryExpression returns [EObject current=null] : ( ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) | this_Projection_19= ruleProjection ) ; + public final EObject ruleUnaryExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + EObject lv_child_18_0 = null; + + EObject this_Projection_19 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7100:2: ( ( ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) | this_Projection_19= ruleProjection ) ) + // InternalFiacre.g:7101:2: ( ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) | this_Projection_19= ruleProjection ) + { + // InternalFiacre.g:7101:2: ( ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) | this_Projection_19= ruleProjection ) + int alt118=2; + int LA118_0 = input.LA(1); + + if ( ((LA118_0>=63 && LA118_0<=64)||(LA118_0>=95 && LA118_0<=101)) ) { + alt118=1; + } + else if ( (LA118_0==RULE_ID||LA118_0==RULE_INT||LA118_0==16||LA118_0==41||LA118_0==51||LA118_0==103||LA118_0==105||(LA118_0>=107 && LA118_0<=110)) ) { + alt118=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 118, 0, input); + + throw nvae; + } + switch (alt118) { + case 1 : + // InternalFiacre.g:7102:3: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) + { + // InternalFiacre.g:7102:3: ( ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) ) + // InternalFiacre.g:7103:4: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) ( (lv_child_18_0= ruleUnaryExpression ) ) + { + // InternalFiacre.g:7103:4: ( ( () otherlv_1= '+' ) | ( () otherlv_3= '-' ) | ( () otherlv_5= 'not' ) | ( () otherlv_7= 'first' ) | ( () otherlv_9= 'length' ) | ( () otherlv_11= '$' ) | ( () otherlv_13= 'full' ) | ( () otherlv_15= 'dequeue' ) | ( () otherlv_17= 'empty' ) ) + int alt117=9; + switch ( input.LA(1) ) { + case 63: + { + alt117=1; + } + break; + case 64: + { + alt117=2; + } + break; + case 95: + { + alt117=3; + } + break; + case 96: + { + alt117=4; + } + break; + case 97: + { + alt117=5; + } + break; + case 98: + { + alt117=6; + } + break; + case 99: + { + alt117=7; + } + break; + case 100: + { + alt117=8; + } + break; + case 101: + { + alt117=9; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 117, 0, input); + + throw nvae; + } + + switch (alt117) { + case 1 : + // InternalFiacre.g:7104:5: ( () otherlv_1= '+' ) + { + // InternalFiacre.g:7104:5: ( () otherlv_1= '+' ) + // InternalFiacre.g:7105:6: () otherlv_1= '+' + { + // InternalFiacre.g:7105:6: () + // InternalFiacre.g:7106:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryPlusExpressionAction_0_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getUnaryExpressionAccess().getPlusSignKeyword_0_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:7121:5: ( () otherlv_3= '-' ) + { + // InternalFiacre.g:7121:5: ( () otherlv_3= '-' ) + // InternalFiacre.g:7122:6: () otherlv_3= '-' + { + // InternalFiacre.g:7122:6: () + // InternalFiacre.g:7123:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryMinusExpressionAction_0_0_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,64,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getUnaryExpressionAccess().getHyphenMinusKeyword_0_0_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:7138:5: ( () otherlv_5= 'not' ) + { + // InternalFiacre.g:7138:5: ( () otherlv_5= 'not' ) + // InternalFiacre.g:7139:6: () otherlv_5= 'not' + { + // InternalFiacre.g:7139:6: () + // InternalFiacre.g:7140:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryNegationExpressionAction_0_0_2_0(), + current); + + } + + } + + otherlv_5=(Token)match(input,95,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getUnaryExpressionAccess().getNotKeyword_0_0_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:7155:5: ( () otherlv_7= 'first' ) + { + // InternalFiacre.g:7155:5: ( () otherlv_7= 'first' ) + // InternalFiacre.g:7156:6: () otherlv_7= 'first' + { + // InternalFiacre.g:7156:6: () + // InternalFiacre.g:7157:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryFirstExpressionAction_0_0_3_0(), + current); + + } + + } + + otherlv_7=(Token)match(input,96,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getUnaryExpressionAccess().getFirstKeyword_0_0_3_1()); + + } + + } + + + } + break; + case 5 : + // InternalFiacre.g:7172:5: ( () otherlv_9= 'length' ) + { + // InternalFiacre.g:7172:5: ( () otherlv_9= 'length' ) + // InternalFiacre.g:7173:6: () otherlv_9= 'length' + { + // InternalFiacre.g:7173:6: () + // InternalFiacre.g:7174:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryLengthExpressionAction_0_0_4_0(), + current); + + } + + } + + otherlv_9=(Token)match(input,97,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_9, grammarAccess.getUnaryExpressionAccess().getLengthKeyword_0_0_4_1()); + + } + + } + + + } + break; + case 6 : + // InternalFiacre.g:7189:5: ( () otherlv_11= '$' ) + { + // InternalFiacre.g:7189:5: ( () otherlv_11= '$' ) + // InternalFiacre.g:7190:6: () otherlv_11= '$' + { + // InternalFiacre.g:7190:6: () + // InternalFiacre.g:7191:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryCoerceExpressionAction_0_0_5_0(), + current); + + } + + } + + otherlv_11=(Token)match(input,98,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getUnaryExpressionAccess().getDollarSignKeyword_0_0_5_1()); + + } + + } + + + } + break; + case 7 : + // InternalFiacre.g:7206:5: ( () otherlv_13= 'full' ) + { + // InternalFiacre.g:7206:5: ( () otherlv_13= 'full' ) + // InternalFiacre.g:7207:6: () otherlv_13= 'full' + { + // InternalFiacre.g:7207:6: () + // InternalFiacre.g:7208:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryFullExpressionAction_0_0_6_0(), + current); + + } + + } + + otherlv_13=(Token)match(input,99,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getUnaryExpressionAccess().getFullKeyword_0_0_6_1()); + + } + + } + + + } + break; + case 8 : + // InternalFiacre.g:7223:5: ( () otherlv_15= 'dequeue' ) + { + // InternalFiacre.g:7223:5: ( () otherlv_15= 'dequeue' ) + // InternalFiacre.g:7224:6: () otherlv_15= 'dequeue' + { + // InternalFiacre.g:7224:6: () + // InternalFiacre.g:7225:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryDeQueueExpressionAction_0_0_7_0(), + current); + + } + + } + + otherlv_15=(Token)match(input,100,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_15, grammarAccess.getUnaryExpressionAccess().getDequeueKeyword_0_0_7_1()); + + } + + } + + + } + break; + case 9 : + // InternalFiacre.g:7240:5: ( () otherlv_17= 'empty' ) + { + // InternalFiacre.g:7240:5: ( () otherlv_17= 'empty' ) + // InternalFiacre.g:7241:6: () otherlv_17= 'empty' + { + // InternalFiacre.g:7241:6: () + // InternalFiacre.g:7242:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getUnaryExpressionAccess().getUnaryEmptyExpressionAction_0_0_8_0(), + current); + + } + + } + + otherlv_17=(Token)match(input,101,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_17, grammarAccess.getUnaryExpressionAccess().getEmptyKeyword_0_0_8_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:7257:4: ( (lv_child_18_0= ruleUnaryExpression ) ) + // InternalFiacre.g:7258:5: (lv_child_18_0= ruleUnaryExpression ) + { + // InternalFiacre.g:7258:5: (lv_child_18_0= ruleUnaryExpression ) + // InternalFiacre.g:7259:6: lv_child_18_0= ruleUnaryExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_18_0=ruleUnaryExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryExpressionRule()); + } + set( + current, + "child", + lv_child_18_0, + "fr.irit.fiacre.xtext.Fiacre.UnaryExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:7278:3: this_Projection_19= ruleProjection + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUnaryExpressionAccess().getProjectionParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_Projection_19=ruleProjection(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Projection_19; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnaryExpression" + + + // $ANTLR start "entryRuleProjection" + // InternalFiacre.g:7293:1: entryRuleProjection returns [EObject current=null] : iv_ruleProjection= ruleProjection EOF ; + public final EObject entryRuleProjection() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProjection = null; + + + try { + // InternalFiacre.g:7293:51: (iv_ruleProjection= ruleProjection EOF ) + // InternalFiacre.g:7294:2: iv_ruleProjection= ruleProjection EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getProjectionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleProjection=ruleProjection(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleProjection; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProjection" + + + // $ANTLR start "ruleProjection" + // InternalFiacre.g:7300:1: ruleProjection returns [EObject current=null] : (this_AtomicExpression_0= ruleAtomicExpression ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? ) ; + public final EObject ruleProjection() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_AtomicExpression_0 = null; + + EObject lv_field_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7306:2: ( (this_AtomicExpression_0= ruleAtomicExpression ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? ) ) + // InternalFiacre.g:7307:2: (this_AtomicExpression_0= ruleAtomicExpression ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? ) + { + // InternalFiacre.g:7307:2: (this_AtomicExpression_0= ruleAtomicExpression ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? ) + // InternalFiacre.g:7308:3: this_AtomicExpression_0= ruleAtomicExpression ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProjectionAccess().getAtomicExpressionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_93); + this_AtomicExpression_0=ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AtomicExpression_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:7319:3: ( () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) )? + int alt119=2; + int LA119_0 = input.LA(1); + + if ( (LA119_0==102) ) { + alt119=1; + } + switch (alt119) { + case 1 : + // InternalFiacre.g:7320:4: () otherlv_2= '^' ( (lv_field_3_0= ruleAtomicExpression ) ) + { + // InternalFiacre.g:7320:4: () + // InternalFiacre.g:7321:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,102,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getProjectionAccess().getCircumflexAccentKeyword_1_1()); + + } + // InternalFiacre.g:7334:4: ( (lv_field_3_0= ruleAtomicExpression ) ) + // InternalFiacre.g:7335:5: (lv_field_3_0= ruleAtomicExpression ) + { + // InternalFiacre.g:7335:5: (lv_field_3_0= ruleAtomicExpression ) + // InternalFiacre.g:7336:6: lv_field_3_0= ruleAtomicExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_field_3_0=ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProjectionRule()); + } + set( + current, + "field", + lv_field_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProjection" + + + // $ANTLR start "entryRuleAtomicExpression" + // InternalFiacre.g:7358:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; + public final EObject entryRuleAtomicExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAtomicExpression = null; + + + try { + // InternalFiacre.g:7358:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) + // InternalFiacre.g:7359:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAtomicExpression=ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAtomicExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAtomicExpression" + + + // $ANTLR start "ruleAtomicExpression" + // InternalFiacre.g:7365:1: ruleAtomicExpression returns [EObject current=null] : (this_IdentifierExpression_0= ruleIdentifierExpression | this_ReferenceExpression_1= ruleReferenceExpression | this_LiteralExpression_2= ruleLiteralExpression | this_RecordExpression_3= ruleRecordExpression | this_ArrayExpression_4= ruleArrayExpression | this_QueueExpression_5= ruleQueueExpression | this_EnqueueExpression_6= ruleEnqueueExpression | this_AppendExpression_7= ruleAppendExpression | (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) ) ; + public final EObject ruleAtomicExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_8=null; + Token otherlv_10=null; + EObject this_IdentifierExpression_0 = null; + + EObject this_ReferenceExpression_1 = null; + + EObject this_LiteralExpression_2 = null; + + EObject this_RecordExpression_3 = null; + + EObject this_ArrayExpression_4 = null; + + EObject this_QueueExpression_5 = null; + + EObject this_EnqueueExpression_6 = null; + + EObject this_AppendExpression_7 = null; + + EObject this_Expression_9 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7371:2: ( (this_IdentifierExpression_0= ruleIdentifierExpression | this_ReferenceExpression_1= ruleReferenceExpression | this_LiteralExpression_2= ruleLiteralExpression | this_RecordExpression_3= ruleRecordExpression | this_ArrayExpression_4= ruleArrayExpression | this_QueueExpression_5= ruleQueueExpression | this_EnqueueExpression_6= ruleEnqueueExpression | this_AppendExpression_7= ruleAppendExpression | (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) ) ) + // InternalFiacre.g:7372:2: (this_IdentifierExpression_0= ruleIdentifierExpression | this_ReferenceExpression_1= ruleReferenceExpression | this_LiteralExpression_2= ruleLiteralExpression | this_RecordExpression_3= ruleRecordExpression | this_ArrayExpression_4= ruleArrayExpression | this_QueueExpression_5= ruleQueueExpression | this_EnqueueExpression_6= ruleEnqueueExpression | this_AppendExpression_7= ruleAppendExpression | (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) ) + { + // InternalFiacre.g:7372:2: (this_IdentifierExpression_0= ruleIdentifierExpression | this_ReferenceExpression_1= ruleReferenceExpression | this_LiteralExpression_2= ruleLiteralExpression | this_RecordExpression_3= ruleRecordExpression | this_ArrayExpression_4= ruleArrayExpression | this_QueueExpression_5= ruleQueueExpression | this_EnqueueExpression_6= ruleEnqueueExpression | this_AppendExpression_7= ruleAppendExpression | (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) ) + int alt120=9; + switch ( input.LA(1) ) { + case RULE_ID: + { + alt120=1; + } + break; + case 51: + { + alt120=2; + } + break; + case RULE_INT: + case 109: + case 110: + { + alt120=3; + } + break; + case 103: + { + alt120=4; + } + break; + case 41: + { + alt120=5; + } + break; + case 105: + { + alt120=6; + } + break; + case 107: + { + alt120=7; + } + break; + case 108: + { + alt120=8; + } + break; + case 16: + { + alt120=9; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 120, 0, input); + + throw nvae; + } + + switch (alt120) { + case 1 : + // InternalFiacre.g:7373:3: this_IdentifierExpression_0= ruleIdentifierExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getIdentifierExpressionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_IdentifierExpression_0=ruleIdentifierExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_IdentifierExpression_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:7385:3: this_ReferenceExpression_1= ruleReferenceExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getReferenceExpressionParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ReferenceExpression_1=ruleReferenceExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ReferenceExpression_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:7397:3: this_LiteralExpression_2= ruleLiteralExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getLiteralExpressionParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LiteralExpression_2=ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LiteralExpression_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:7409:3: this_RecordExpression_3= ruleRecordExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getRecordExpressionParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_RecordExpression_3=ruleRecordExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_RecordExpression_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalFiacre.g:7421:3: this_ArrayExpression_4= ruleArrayExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getArrayExpressionParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ArrayExpression_4=ruleArrayExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ArrayExpression_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalFiacre.g:7433:3: this_QueueExpression_5= ruleQueueExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getQueueExpressionParserRuleCall_5()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_QueueExpression_5=ruleQueueExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_QueueExpression_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalFiacre.g:7445:3: this_EnqueueExpression_6= ruleEnqueueExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getEnqueueExpressionParserRuleCall_6()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_EnqueueExpression_6=ruleEnqueueExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_EnqueueExpression_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalFiacre.g:7457:3: this_AppendExpression_7= ruleAppendExpression + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getAppendExpressionParserRuleCall_7()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AppendExpression_7=ruleAppendExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AppendExpression_7; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 9 : + // InternalFiacre.g:7469:3: (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) + { + // InternalFiacre.g:7469:3: (otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' ) + // InternalFiacre.g:7470:4: otherlv_8= '(' this_Expression_9= ruleExpression otherlv_10= ')' + { + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + + } + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicExpressionAccess().getExpressionParserRuleCall_8_1()); + + } + pushFollow(FollowSets000.FOLLOW_62); + this_Expression_9=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Expression_9; + afterParserOrEnumRuleCall(); + + } + otherlv_10=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_8_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAtomicExpression" + + + // $ANTLR start "entryRuleReferenceExpression" + // InternalFiacre.g:7494:1: entryRuleReferenceExpression returns [EObject current=null] : iv_ruleReferenceExpression= ruleReferenceExpression EOF ; + public final EObject entryRuleReferenceExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleReferenceExpression = null; + + + try { + // InternalFiacre.g:7494:60: (iv_ruleReferenceExpression= ruleReferenceExpression EOF ) + // InternalFiacre.g:7495:2: iv_ruleReferenceExpression= ruleReferenceExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getReferenceExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleReferenceExpression=ruleReferenceExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleReferenceExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleReferenceExpression" + + + // $ANTLR start "ruleReferenceExpression" + // InternalFiacre.g:7501:1: ruleReferenceExpression returns [EObject current=null] : (otherlv_0= '&' ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleReferenceExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:7507:2: ( (otherlv_0= '&' ( (otherlv_1= RULE_ID ) ) ) ) + // InternalFiacre.g:7508:2: (otherlv_0= '&' ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:7508:2: (otherlv_0= '&' ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:7509:3: otherlv_0= '&' ( (otherlv_1= RULE_ID ) ) + { + otherlv_0=(Token)match(input,51,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getReferenceExpressionAccess().getAmpersandKeyword_0()); + + } + // InternalFiacre.g:7513:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:7514:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:7514:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:7515:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getReferenceExpressionRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReferenceExpression" + + + // $ANTLR start "entryRuleIdentifierExpression" + // InternalFiacre.g:7533:1: entryRuleIdentifierExpression returns [EObject current=null] : iv_ruleIdentifierExpression= ruleIdentifierExpression EOF ; + public final EObject entryRuleIdentifierExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIdentifierExpression = null; + + + try { + // InternalFiacre.g:7533:61: (iv_ruleIdentifierExpression= ruleIdentifierExpression EOF ) + // InternalFiacre.g:7534:2: iv_ruleIdentifierExpression= ruleIdentifierExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getIdentifierExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleIdentifierExpression=ruleIdentifierExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleIdentifierExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIdentifierExpression" + + + // $ANTLR start "ruleIdentifierExpression" + // InternalFiacre.g:7540:1: ruleIdentifierExpression returns [EObject current=null] : ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) ) ; + public final EObject ruleIdentifierExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_14=null; + Token otherlv_16=null; + EObject lv_parameters_3_0 = null; + + EObject lv_parameters_5_0 = null; + + EObject lv_indexes_10_0 = null; + + EObject lv_indexes_12_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7546:2: ( ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) ) ) + // InternalFiacre.g:7547:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) ) + { + // InternalFiacre.g:7547:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) | ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) ) + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==RULE_ID) ) { + int LA125_1 = input.LA(2); + + if ( (synpred178_InternalFiacre()) ) { + alt125=1; + } + else if ( (true) ) { + alt125=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 125, 1, input); + + throw nvae; + } + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 125, 0, input); + + throw nvae; + } + switch (alt125) { + case 1 : + // InternalFiacre.g:7548:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) + { + // InternalFiacre.g:7548:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) + // InternalFiacre.g:7549:4: () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' + { + // InternalFiacre.g:7549:4: () + // InternalFiacre.g:7550:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getIdentifierExpressionAccess().getConstructionExpressionAction_0_0(), + current); + + } + + } + + // InternalFiacre.g:7559:4: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:7560:5: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:7560:5: (otherlv_1= RULE_ID ) + // InternalFiacre.g:7561:6: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_0_1_0()); + + } + + } + + + } + + otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_94); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getIdentifierExpressionAccess().getLeftParenthesisKeyword_0_2()); + + } + // InternalFiacre.g:7579:4: ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==RULE_ID||LA122_0==RULE_INT||LA122_0==16||LA122_0==41||LA122_0==51||(LA122_0>=63 && LA122_0<=64)||(LA122_0>=83 && LA122_0<=84)||(LA122_0>=95 && LA122_0<=101)||LA122_0==103||LA122_0==105||(LA122_0>=107 && LA122_0<=110)) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // InternalFiacre.g:7580:5: ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* + { + // InternalFiacre.g:7580:5: ( (lv_parameters_3_0= ruleExpression ) ) + // InternalFiacre.g:7581:6: (lv_parameters_3_0= ruleExpression ) + { + // InternalFiacre.g:7581:6: (lv_parameters_3_0= ruleExpression ) + // InternalFiacre.g:7582:7: lv_parameters_3_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_3_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + current, + "parameters", + lv_parameters_3_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:7599:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* + loop121: + do { + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==17) ) { + alt121=1; + } + + + switch (alt121) { + case 1 : + // InternalFiacre.g:7600:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_0_3_1_0()); + + } + // InternalFiacre.g:7604:6: ( (lv_parameters_5_0= ruleExpression ) ) + // InternalFiacre.g:7605:7: (lv_parameters_5_0= ruleExpression ) + { + // InternalFiacre.g:7605:7: (lv_parameters_5_0= ruleExpression ) + // InternalFiacre.g:7606:8: lv_parameters_5_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_5_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + current, + "parameters", + lv_parameters_5_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop121; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getIdentifierExpressionAccess().getRightParenthesisKeyword_0_4()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:7631:3: ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) + { + // InternalFiacre.g:7631:3: ( ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* ) + // InternalFiacre.g:7632:4: ( (otherlv_7= RULE_ID ) ) ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* + { + // InternalFiacre.g:7632:4: ( (otherlv_7= RULE_ID ) ) + // InternalFiacre.g:7633:5: (otherlv_7= RULE_ID ) + { + // InternalFiacre.g:7633:5: (otherlv_7= RULE_ID ) + // InternalFiacre.g:7634:6: otherlv_7= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + + } + otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseCrossReference_1_0_0()); + + } + + } + + + } + + // InternalFiacre.g:7648:4: ( (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) | (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) )* + loop124: + do { + int alt124=3; + int LA124_0 = input.LA(1); + + if ( (LA124_0==65) ) { + int LA124_2 = input.LA(2); + + if ( (LA124_2==RULE_ID) ) { + int LA124_4 = input.LA(3); + + if ( (synpred181_InternalFiacre()) ) { + alt124=2; + } + + + } + + + } + else if ( (LA124_0==41) ) { + alt124=1; + } + + + switch (alt124) { + case 1 : + // InternalFiacre.g:7649:5: (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) + { + // InternalFiacre.g:7649:5: (otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' ) + // InternalFiacre.g:7650:6: otherlv_8= '[' () ( (lv_indexes_10_0= ruleExpression ) ) (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* otherlv_13= ']' + { + otherlv_8=(Token)match(input,41,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getIdentifierExpressionAccess().getLeftSquareBracketKeyword_1_1_0_0()); + + } + // InternalFiacre.g:7654:6: () + // InternalFiacre.g:7655:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierExpressionAccess().getArrayAccessExpressionChildAction_1_1_0_1(), + current); + + } + + } + + // InternalFiacre.g:7664:6: ( (lv_indexes_10_0= ruleExpression ) ) + // InternalFiacre.g:7665:7: (lv_indexes_10_0= ruleExpression ) + { + // InternalFiacre.g:7665:7: (lv_indexes_10_0= ruleExpression ) + // InternalFiacre.g:7666:8: lv_indexes_10_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_indexes_10_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + current, + "indexes", + lv_indexes_10_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:7683:6: (otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) )* + loop123: + do { + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==17) ) { + alt123=1; + } + + + switch (alt123) { + case 1 : + // InternalFiacre.g:7684:7: otherlv_11= ',' ( (lv_indexes_12_0= ruleExpression ) ) + { + otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_11, grammarAccess.getIdentifierExpressionAccess().getCommaKeyword_1_1_0_3_0()); + + } + // InternalFiacre.g:7688:7: ( (lv_indexes_12_0= ruleExpression ) ) + // InternalFiacre.g:7689:8: (lv_indexes_12_0= ruleExpression ) + { + // InternalFiacre.g:7689:8: (lv_indexes_12_0= ruleExpression ) + // InternalFiacre.g:7690:9: lv_indexes_12_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getIndexesExpressionParserRuleCall_1_1_0_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_indexes_12_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getIdentifierExpressionRule()); + } + add( + current, + "indexes", + lv_indexes_12_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop123; + } + } while (true); + + otherlv_13=(Token)match(input,42,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_13, grammarAccess.getIdentifierExpressionAccess().getRightSquareBracketKeyword_1_1_0_4()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:7714:5: (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) + { + // InternalFiacre.g:7714:5: (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) + // InternalFiacre.g:7715:6: otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) + { + otherlv_14=(Token)match(input,65,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_14, grammarAccess.getIdentifierExpressionAccess().getFullStopKeyword_1_1_1_0()); + + } + // InternalFiacre.g:7719:6: () + // InternalFiacre.g:7720:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1(), + current); + + } + + } + + // InternalFiacre.g:7729:6: ( (otherlv_16= RULE_ID ) ) + // InternalFiacre.g:7730:7: (otherlv_16= RULE_ID ) + { + // InternalFiacre.g:7730:7: (otherlv_16= RULE_ID ) + // InternalFiacre.g:7731:8: otherlv_16= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getIdentifierExpressionRule()); + } + + } + otherlv_16=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_65); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_16, grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0()); + + } + + } + + + } + + + } + + + } + break; + + default : + break loop124; + } + } while (true); + + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIdentifierExpression" + + + // $ANTLR start "entryRuleRecordExpression" + // InternalFiacre.g:7752:1: entryRuleRecordExpression returns [EObject current=null] : iv_ruleRecordExpression= ruleRecordExpression EOF ; + public final EObject entryRuleRecordExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRecordExpression = null; + + + try { + // InternalFiacre.g:7752:57: (iv_ruleRecordExpression= ruleRecordExpression EOF ) + // InternalFiacre.g:7753:2: iv_ruleRecordExpression= ruleRecordExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRecordExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRecordExpression=ruleRecordExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRecordExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRecordExpression" + + + // $ANTLR start "ruleRecordExpression" + // InternalFiacre.g:7759:1: ruleRecordExpression returns [EObject current=null] : (otherlv_0= '{' ( (lv_fields_1_0= ruleFieldExpression ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* otherlv_4= '}' ) ; + public final EObject ruleRecordExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_fields_1_0 = null; + + EObject lv_fields_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7765:2: ( (otherlv_0= '{' ( (lv_fields_1_0= ruleFieldExpression ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* otherlv_4= '}' ) ) + // InternalFiacre.g:7766:2: (otherlv_0= '{' ( (lv_fields_1_0= ruleFieldExpression ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* otherlv_4= '}' ) + { + // InternalFiacre.g:7766:2: (otherlv_0= '{' ( (lv_fields_1_0= ruleFieldExpression ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* otherlv_4= '}' ) + // InternalFiacre.g:7767:3: otherlv_0= '{' ( (lv_fields_1_0= ruleFieldExpression ) ) (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* otherlv_4= '}' + { + otherlv_0=(Token)match(input,103,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getRecordExpressionAccess().getLeftCurlyBracketKeyword_0()); + + } + // InternalFiacre.g:7771:3: ( (lv_fields_1_0= ruleFieldExpression ) ) + // InternalFiacre.g:7772:4: (lv_fields_1_0= ruleFieldExpression ) + { + // InternalFiacre.g:7772:4: (lv_fields_1_0= ruleFieldExpression ) + // InternalFiacre.g:7773:5: lv_fields_1_0= ruleFieldExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_95); + lv_fields_1_0=ruleFieldExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordExpressionRule()); + } + add( + current, + "fields", + lv_fields_1_0, + "fr.irit.fiacre.xtext.Fiacre.FieldExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:7790:3: (otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) )* + loop126: + do { + int alt126=2; + int LA126_0 = input.LA(1); + + if ( (LA126_0==17) ) { + alt126=1; + } + + + switch (alt126) { + case 1 : + // InternalFiacre.g:7791:4: otherlv_2= ',' ( (lv_fields_3_0= ruleFieldExpression ) ) + { + otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getRecordExpressionAccess().getCommaKeyword_2_0()); + + } + // InternalFiacre.g:7795:4: ( (lv_fields_3_0= ruleFieldExpression ) ) + // InternalFiacre.g:7796:5: (lv_fields_3_0= ruleFieldExpression ) + { + // InternalFiacre.g:7796:5: (lv_fields_3_0= ruleFieldExpression ) + // InternalFiacre.g:7797:6: lv_fields_3_0= ruleFieldExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getRecordExpressionAccess().getFieldsFieldExpressionParserRuleCall_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_95); + lv_fields_3_0=ruleFieldExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRecordExpressionRule()); + } + add( + current, + "fields", + lv_fields_3_0, + "fr.irit.fiacre.xtext.Fiacre.FieldExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop126; + } + } while (true); + + otherlv_4=(Token)match(input,104,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getRecordExpressionAccess().getRightCurlyBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRecordExpression" + + + // $ANTLR start "entryRuleFieldExpression" + // InternalFiacre.g:7823:1: entryRuleFieldExpression returns [EObject current=null] : iv_ruleFieldExpression= ruleFieldExpression EOF ; + public final EObject entryRuleFieldExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFieldExpression = null; + + + try { + // InternalFiacre.g:7823:56: (iv_ruleFieldExpression= ruleFieldExpression EOF ) + // InternalFiacre.g:7824:2: iv_ruleFieldExpression= ruleFieldExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getFieldExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleFieldExpression=ruleFieldExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleFieldExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFieldExpression" + + + // $ANTLR start "ruleFieldExpression" + // InternalFiacre.g:7830:1: ruleFieldExpression returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ; + public final EObject ruleFieldExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + EObject lv_value_2_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:7836:2: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ) + // InternalFiacre.g:7837:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) + { + // InternalFiacre.g:7837:2: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) + // InternalFiacre.g:7838:3: ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) + { + // InternalFiacre.g:7838:3: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:7839:4: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:7839:4: (otherlv_0= RULE_ID ) + // InternalFiacre.g:7840:5: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getFieldExpressionRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_96); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseCrossReference_0_0()); + + } + + } + + + } + + otherlv_1=(Token)match(input,88,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getFieldExpressionAccess().getEqualsSignKeyword_1()); + + } + // InternalFiacre.g:7858:3: ( (lv_value_2_0= ruleExpression ) ) + // InternalFiacre.g:7859:4: (lv_value_2_0= ruleExpression ) + { + // InternalFiacre.g:7859:4: (lv_value_2_0= ruleExpression ) + // InternalFiacre.g:7860:5: lv_value_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFieldExpressionRule()); + } + set( + current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFieldExpression" + + + // $ANTLR start "entryRuleArrayExpression" + // InternalFiacre.g:7881:1: entryRuleArrayExpression returns [EObject current=null] : iv_ruleArrayExpression= ruleArrayExpression EOF ; + public final EObject entryRuleArrayExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleArrayExpression = null; + + + try { + // InternalFiacre.g:7881:56: (iv_ruleArrayExpression= ruleArrayExpression EOF ) + // InternalFiacre.g:7882:2: iv_ruleArrayExpression= ruleArrayExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getArrayExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleArrayExpression=ruleArrayExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleArrayExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayExpression" + + + // $ANTLR start "ruleArrayExpression" + // InternalFiacre.g:7888:1: ruleArrayExpression returns [EObject current=null] : ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= ']' ) ; + public final EObject ruleArrayExpression() 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 { + // InternalFiacre.g:7894:2: ( ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= ']' ) ) + // InternalFiacre.g:7895:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= ']' ) + { + // InternalFiacre.g:7895:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= ']' ) + // InternalFiacre.g:7896:3: () otherlv_1= '[' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= ']' + { + // InternalFiacre.g:7896:3: () + // InternalFiacre.g:7897:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getArrayExpressionAccess().getArrayExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,41,FollowSets000.FOLLOW_97); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getArrayExpressionAccess().getLeftSquareBracketKeyword_1()); + + } + // InternalFiacre.g:7910:3: ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? + int alt128=2; + int LA128_0 = input.LA(1); + + if ( (LA128_0==RULE_ID||LA128_0==RULE_INT||LA128_0==16||LA128_0==41||LA128_0==51||(LA128_0>=63 && LA128_0<=64)||(LA128_0>=83 && LA128_0<=84)||(LA128_0>=95 && LA128_0<=101)||LA128_0==103||LA128_0==105||(LA128_0>=107 && LA128_0<=110)) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // InternalFiacre.g:7911:4: ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* + { + // InternalFiacre.g:7911:4: ( (lv_values_2_0= ruleExpression ) ) + // InternalFiacre.g:7912:5: (lv_values_2_0= ruleExpression ) + { + // InternalFiacre.g:7912:5: (lv_values_2_0= ruleExpression ) + // InternalFiacre.g:7913:6: lv_values_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_values_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayExpressionRule()); + } + add( + current, + "values", + lv_values_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:7930:4: (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* + loop127: + do { + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==17) ) { + alt127=1; + } + + + switch (alt127) { + case 1 : + // InternalFiacre.g:7931:5: otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) + { + otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getArrayExpressionAccess().getCommaKeyword_2_1_0()); + + } + // InternalFiacre.g:7935:5: ( (lv_values_4_0= ruleExpression ) ) + // InternalFiacre.g:7936:6: (lv_values_4_0= ruleExpression ) + { + // InternalFiacre.g:7936:6: (lv_values_4_0= ruleExpression ) + // InternalFiacre.g:7937:7: lv_values_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getArrayExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_32); + lv_values_4_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayExpressionRule()); + } + add( + current, + "values", + lv_values_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop127; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getArrayExpressionAccess().getRightSquareBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayExpression" + + + // $ANTLR start "entryRuleQueueExpression" + // InternalFiacre.g:7964:1: entryRuleQueueExpression returns [EObject current=null] : iv_ruleQueueExpression= ruleQueueExpression EOF ; + public final EObject entryRuleQueueExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleQueueExpression = null; + + + try { + // InternalFiacre.g:7964:56: (iv_ruleQueueExpression= ruleQueueExpression EOF ) + // InternalFiacre.g:7965:2: iv_ruleQueueExpression= ruleQueueExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQueueExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleQueueExpression=ruleQueueExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQueueExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQueueExpression" + + + // $ANTLR start "ruleQueueExpression" + // InternalFiacre.g:7971:1: ruleQueueExpression returns [EObject current=null] : ( () otherlv_1= '{|' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= '|}' ) ; + public final EObject ruleQueueExpression() 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 { + // InternalFiacre.g:7977:2: ( ( () otherlv_1= '{|' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= '|}' ) ) + // InternalFiacre.g:7978:2: ( () otherlv_1= '{|' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= '|}' ) + { + // InternalFiacre.g:7978:2: ( () otherlv_1= '{|' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= '|}' ) + // InternalFiacre.g:7979:3: () otherlv_1= '{|' ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? otherlv_5= '|}' + { + // InternalFiacre.g:7979:3: () + // InternalFiacre.g:7980:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getQueueExpressionAccess().getQueueExpressionAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,105,FollowSets000.FOLLOW_98); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getQueueExpressionAccess().getLeftCurlyBracketVerticalLineKeyword_1()); + + } + // InternalFiacre.g:7993:3: ( ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* )? + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==RULE_ID||LA130_0==RULE_INT||LA130_0==16||LA130_0==41||LA130_0==51||(LA130_0>=63 && LA130_0<=64)||(LA130_0>=83 && LA130_0<=84)||(LA130_0>=95 && LA130_0<=101)||LA130_0==103||LA130_0==105||(LA130_0>=107 && LA130_0<=110)) ) { + alt130=1; + } + switch (alt130) { + case 1 : + // InternalFiacre.g:7994:4: ( (lv_values_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* + { + // InternalFiacre.g:7994:4: ( (lv_values_2_0= ruleExpression ) ) + // InternalFiacre.g:7995:5: (lv_values_2_0= ruleExpression ) + { + // InternalFiacre.g:7995:5: (lv_values_2_0= ruleExpression ) + // InternalFiacre.g:7996:6: lv_values_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_99); + lv_values_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQueueExpressionRule()); + } + add( + current, + "values", + lv_values_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:8013:4: (otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) )* + loop129: + do { + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==17) ) { + alt129=1; + } + + + switch (alt129) { + case 1 : + // InternalFiacre.g:8014:5: otherlv_3= ',' ( (lv_values_4_0= ruleExpression ) ) + { + otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getQueueExpressionAccess().getCommaKeyword_2_1_0()); + + } + // InternalFiacre.g:8018:5: ( (lv_values_4_0= ruleExpression ) ) + // InternalFiacre.g:8019:6: (lv_values_4_0= ruleExpression ) + { + // InternalFiacre.g:8019:6: (lv_values_4_0= ruleExpression ) + // InternalFiacre.g:8020:7: lv_values_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQueueExpressionAccess().getValuesExpressionParserRuleCall_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_99); + lv_values_4_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQueueExpressionRule()); + } + add( + current, + "values", + lv_values_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop129; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,106,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getQueueExpressionAccess().getVerticalLineRightCurlyBracketKeyword_3()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQueueExpression" + + + // $ANTLR start "entryRuleEnqueueExpression" + // InternalFiacre.g:8047:1: entryRuleEnqueueExpression returns [EObject current=null] : iv_ruleEnqueueExpression= ruleEnqueueExpression EOF ; + public final EObject entryRuleEnqueueExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEnqueueExpression = null; + + + try { + // InternalFiacre.g:8047:58: (iv_ruleEnqueueExpression= ruleEnqueueExpression EOF ) + // InternalFiacre.g:8048:2: iv_ruleEnqueueExpression= ruleEnqueueExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getEnqueueExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleEnqueueExpression=ruleEnqueueExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleEnqueueExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEnqueueExpression" + + + // $ANTLR start "ruleEnqueueExpression" + // InternalFiacre.g:8054:1: ruleEnqueueExpression returns [EObject current=null] : (otherlv_0= 'enqueue' otherlv_1= '(' ( (lv_element_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_queue_4_0= ruleExpression ) ) otherlv_5= ')' ) ; + public final EObject ruleEnqueueExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_element_2_0 = null; + + EObject lv_queue_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8060:2: ( (otherlv_0= 'enqueue' otherlv_1= '(' ( (lv_element_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_queue_4_0= ruleExpression ) ) otherlv_5= ')' ) ) + // InternalFiacre.g:8061:2: (otherlv_0= 'enqueue' otherlv_1= '(' ( (lv_element_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_queue_4_0= ruleExpression ) ) otherlv_5= ')' ) + { + // InternalFiacre.g:8061:2: (otherlv_0= 'enqueue' otherlv_1= '(' ( (lv_element_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_queue_4_0= ruleExpression ) ) otherlv_5= ')' ) + // InternalFiacre.g:8062:3: otherlv_0= 'enqueue' otherlv_1= '(' ( (lv_element_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_queue_4_0= ruleExpression ) ) otherlv_5= ')' + { + otherlv_0=(Token)match(input,107,FollowSets000.FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getEnqueueExpressionAccess().getEnqueueKeyword_0()); + + } + otherlv_1=(Token)match(input,16,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getEnqueueExpressionAccess().getLeftParenthesisKeyword_1()); + + } + // InternalFiacre.g:8070:3: ( (lv_element_2_0= ruleExpression ) ) + // InternalFiacre.g:8071:4: (lv_element_2_0= ruleExpression ) + { + // InternalFiacre.g:8071:4: (lv_element_2_0= ruleExpression ) + // InternalFiacre.g:8072:5: lv_element_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_element_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getEnqueueExpressionRule()); + } + set( + current, + "element", + lv_element_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getEnqueueExpressionAccess().getCommaKeyword_3()); + + } + // InternalFiacre.g:8093:3: ( (lv_queue_4_0= ruleExpression ) ) + // InternalFiacre.g:8094:4: (lv_queue_4_0= ruleExpression ) + { + // InternalFiacre.g:8094:4: (lv_queue_4_0= ruleExpression ) + // InternalFiacre.g:8095:5: lv_queue_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_62); + lv_queue_4_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getEnqueueExpressionRule()); + } + set( + current, + "queue", + lv_queue_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getEnqueueExpressionAccess().getRightParenthesisKeyword_5()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEnqueueExpression" + + + // $ANTLR start "entryRuleAppendExpression" + // InternalFiacre.g:8120:1: entryRuleAppendExpression returns [EObject current=null] : iv_ruleAppendExpression= ruleAppendExpression EOF ; + public final EObject entryRuleAppendExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAppendExpression = null; + + + try { + // InternalFiacre.g:8120:57: (iv_ruleAppendExpression= ruleAppendExpression EOF ) + // InternalFiacre.g:8121:2: iv_ruleAppendExpression= ruleAppendExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAppendExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAppendExpression=ruleAppendExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAppendExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAppendExpression" + + + // $ANTLR start "ruleAppendExpression" + // InternalFiacre.g:8127:1: ruleAppendExpression returns [EObject current=null] : (otherlv_0= 'append' otherlv_1= '(' ( (lv_left_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleExpression ) ) otherlv_5= ')' ) ; + public final EObject ruleAppendExpression() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_left_2_0 = null; + + EObject lv_right_4_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8133:2: ( (otherlv_0= 'append' otherlv_1= '(' ( (lv_left_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleExpression ) ) otherlv_5= ')' ) ) + // InternalFiacre.g:8134:2: (otherlv_0= 'append' otherlv_1= '(' ( (lv_left_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleExpression ) ) otherlv_5= ')' ) + { + // InternalFiacre.g:8134:2: (otherlv_0= 'append' otherlv_1= '(' ( (lv_left_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleExpression ) ) otherlv_5= ')' ) + // InternalFiacre.g:8135:3: otherlv_0= 'append' otherlv_1= '(' ( (lv_left_2_0= ruleExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleExpression ) ) otherlv_5= ')' + { + otherlv_0=(Token)match(input,108,FollowSets000.FOLLOW_9); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getAppendExpressionAccess().getAppendKeyword_0()); + + } + otherlv_1=(Token)match(input,16,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getAppendExpressionAccess().getLeftParenthesisKeyword_1()); + + } + // InternalFiacre.g:8143:3: ( (lv_left_2_0= ruleExpression ) ) + // InternalFiacre.g:8144:4: (lv_left_2_0= ruleExpression ) + { + // InternalFiacre.g:8144:4: (lv_left_2_0= ruleExpression ) + // InternalFiacre.g:8145:5: lv_left_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_left_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAppendExpressionRule()); + } + set( + current, + "left", + lv_left_2_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getAppendExpressionAccess().getCommaKeyword_3()); + + } + // InternalFiacre.g:8166:3: ( (lv_right_4_0= ruleExpression ) ) + // InternalFiacre.g:8167:4: (lv_right_4_0= ruleExpression ) + { + // InternalFiacre.g:8167:4: (lv_right_4_0= ruleExpression ) + // InternalFiacre.g:8168:5: lv_right_4_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0()); + + } + pushFollow(FollowSets000.FOLLOW_62); + lv_right_4_0=ruleExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAppendExpressionRule()); + } + set( + current, + "right", + lv_right_4_0, + "fr.irit.fiacre.xtext.Fiacre.Expression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getAppendExpressionAccess().getRightParenthesisKeyword_5()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAppendExpression" + + + // $ANTLR start "entryRuleLiteralExpression" + // InternalFiacre.g:8193:1: entryRuleLiteralExpression returns [EObject current=null] : iv_ruleLiteralExpression= ruleLiteralExpression EOF ; + public final EObject entryRuleLiteralExpression() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteralExpression = null; + + + try { + // InternalFiacre.g:8193:58: (iv_ruleLiteralExpression= ruleLiteralExpression EOF ) + // InternalFiacre.g:8194:2: iv_ruleLiteralExpression= ruleLiteralExpression EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLiteralExpressionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLiteralExpression=ruleLiteralExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLiteralExpression; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteralExpression" + + + // $ANTLR start "ruleLiteralExpression" + // InternalFiacre.g:8200:1: ruleLiteralExpression returns [EObject current=null] : (this_BooleanLiteral_0= ruleBooleanLiteral | this_NaturalLiteral_1= ruleNaturalLiteral ) ; + public final EObject ruleLiteralExpression() throws RecognitionException { + EObject current = null; + + EObject this_BooleanLiteral_0 = null; + + EObject this_NaturalLiteral_1 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8206:2: ( (this_BooleanLiteral_0= ruleBooleanLiteral | this_NaturalLiteral_1= ruleNaturalLiteral ) ) + // InternalFiacre.g:8207:2: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NaturalLiteral_1= ruleNaturalLiteral ) + { + // InternalFiacre.g:8207:2: (this_BooleanLiteral_0= ruleBooleanLiteral | this_NaturalLiteral_1= ruleNaturalLiteral ) + int alt131=2; + int LA131_0 = input.LA(1); + + if ( ((LA131_0>=109 && LA131_0<=110)) ) { + alt131=1; + } + else if ( (LA131_0==RULE_INT) ) { + alt131=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 131, 0, input); + + throw nvae; + } + switch (alt131) { + case 1 : + // InternalFiacre.g:8208:3: this_BooleanLiteral_0= ruleBooleanLiteral + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralExpressionAccess().getBooleanLiteralParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_BooleanLiteral_0=ruleBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_BooleanLiteral_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:8220:3: this_NaturalLiteral_1= ruleNaturalLiteral + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLiteralExpressionAccess().getNaturalLiteralParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NaturalLiteral_1=ruleNaturalLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NaturalLiteral_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteralExpression" + + + // $ANTLR start "entryRuleBooleanLiteral" + // InternalFiacre.g:8235:1: entryRuleBooleanLiteral returns [EObject current=null] : iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ; + public final EObject entryRuleBooleanLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBooleanLiteral = null; + + + try { + // InternalFiacre.g:8235:55: (iv_ruleBooleanLiteral= ruleBooleanLiteral EOF ) + // InternalFiacre.g:8236:2: iv_ruleBooleanLiteral= ruleBooleanLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getBooleanLiteralRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleBooleanLiteral=ruleBooleanLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleBooleanLiteral; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBooleanLiteral" + + + // $ANTLR start "ruleBooleanLiteral" + // InternalFiacre.g:8242:1: ruleBooleanLiteral returns [EObject current=null] : ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) ) ; + public final EObject ruleBooleanLiteral() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + + + enterRule(); + + try { + // InternalFiacre.g:8248:2: ( ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) ) ) + // InternalFiacre.g:8249:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) ) + { + // InternalFiacre.g:8249:2: ( ( () otherlv_1= 'true' ) | ( () otherlv_3= 'false' ) ) + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==109) ) { + alt132=1; + } + else if ( (LA132_0==110) ) { + alt132=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 132, 0, input); + + throw nvae; + } + switch (alt132) { + case 1 : + // InternalFiacre.g:8250:3: ( () otherlv_1= 'true' ) + { + // InternalFiacre.g:8250:3: ( () otherlv_1= 'true' ) + // InternalFiacre.g:8251:4: () otherlv_1= 'true' + { + // InternalFiacre.g:8251:4: () + // InternalFiacre.g:8252:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getBooleanLiteralAccess().getTrueLiteralAction_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getBooleanLiteralAccess().getTrueKeyword_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:8267:3: ( () otherlv_3= 'false' ) + { + // InternalFiacre.g:8267:3: ( () otherlv_3= 'false' ) + // InternalFiacre.g:8268:4: () otherlv_3= 'false' + { + // InternalFiacre.g:8268:4: () + // InternalFiacre.g:8269:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getBooleanLiteralAccess().getFalseLiteralAction_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getBooleanLiteralAccess().getFalseKeyword_1_1()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBooleanLiteral" + + + // $ANTLR start "entryRuleNaturalLiteral" + // InternalFiacre.g:8287:1: entryRuleNaturalLiteral returns [EObject current=null] : iv_ruleNaturalLiteral= ruleNaturalLiteral EOF ; + public final EObject entryRuleNaturalLiteral() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNaturalLiteral = null; + + + try { + // InternalFiacre.g:8287:55: (iv_ruleNaturalLiteral= ruleNaturalLiteral EOF ) + // InternalFiacre.g:8288:2: iv_ruleNaturalLiteral= ruleNaturalLiteral EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNaturalLiteralRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNaturalLiteral=ruleNaturalLiteral(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNaturalLiteral; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNaturalLiteral" + + + // $ANTLR start "ruleNaturalLiteral" + // InternalFiacre.g:8294:1: ruleNaturalLiteral returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ; + public final EObject ruleNaturalLiteral() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8300:2: ( ( (lv_value_0_0= RULE_INT ) ) ) + // InternalFiacre.g:8301:2: ( (lv_value_0_0= RULE_INT ) ) + { + // InternalFiacre.g:8301:2: ( (lv_value_0_0= RULE_INT ) ) + // InternalFiacre.g:8302:3: (lv_value_0_0= RULE_INT ) + { + // InternalFiacre.g:8302:3: (lv_value_0_0= RULE_INT ) + // InternalFiacre.g:8303:4: lv_value_0_0= RULE_INT + { + lv_value_0_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_0_0, grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalLiteralRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNaturalLiteral" + + + // $ANTLR start "entryRuleLowerBound" + // InternalFiacre.g:8322:1: entryRuleLowerBound returns [EObject current=null] : iv_ruleLowerBound= ruleLowerBound EOF ; + public final EObject entryRuleLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLowerBound = null; + + + try { + // InternalFiacre.g:8322:51: (iv_ruleLowerBound= ruleLowerBound EOF ) + // InternalFiacre.g:8323:2: iv_ruleLowerBound= ruleLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLowerBound=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLowerBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLowerBound" + + + // $ANTLR start "ruleLowerBound" + // InternalFiacre.g:8329:1: ruleLowerBound returns [EObject current=null] : (this_NaturalLowerBound_0= ruleNaturalLowerBound | this_DecimalLowerBound_1= ruleDecimalLowerBound | this_VariableLowerBound_2= ruleVariableLowerBound ) ; + public final EObject ruleLowerBound() throws RecognitionException { + EObject current = null; + + EObject this_NaturalLowerBound_0 = null; + + EObject this_DecimalLowerBound_1 = null; + + EObject this_VariableLowerBound_2 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8335:2: ( (this_NaturalLowerBound_0= ruleNaturalLowerBound | this_DecimalLowerBound_1= ruleDecimalLowerBound | this_VariableLowerBound_2= ruleVariableLowerBound ) ) + // InternalFiacre.g:8336:2: (this_NaturalLowerBound_0= ruleNaturalLowerBound | this_DecimalLowerBound_1= ruleDecimalLowerBound | this_VariableLowerBound_2= ruleVariableLowerBound ) + { + // InternalFiacre.g:8336:2: (this_NaturalLowerBound_0= ruleNaturalLowerBound | this_DecimalLowerBound_1= ruleDecimalLowerBound | this_VariableLowerBound_2= ruleVariableLowerBound ) + int alt133=3; + int LA133_0 = input.LA(1); + + if ( (LA133_0==41) ) { + switch ( input.LA(2) ) { + case RULE_INT: + { + alt133=1; + } + break; + case RULE_ID: + { + alt133=3; + } + break; + case RULE_FLT: + { + alt133=2; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 133, 1, input); + + throw nvae; + } + + } + else if ( (LA133_0==42) ) { + switch ( input.LA(2) ) { + case RULE_ID: + { + alt133=3; + } + break; + case RULE_FLT: + { + alt133=2; + } + break; + case RULE_INT: + { + alt133=1; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 133, 2, input); + + throw nvae; + } + + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 133, 0, input); + + throw nvae; + } + switch (alt133) { + case 1 : + // InternalFiacre.g:8337:3: this_NaturalLowerBound_0= ruleNaturalLowerBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLowerBoundAccess().getNaturalLowerBoundParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NaturalLowerBound_0=ruleNaturalLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NaturalLowerBound_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:8349:3: this_DecimalLowerBound_1= ruleDecimalLowerBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLowerBoundAccess().getDecimalLowerBoundParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_DecimalLowerBound_1=ruleDecimalLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_DecimalLowerBound_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:8361:3: this_VariableLowerBound_2= ruleVariableLowerBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLowerBoundAccess().getVariableLowerBoundParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_VariableLowerBound_2=ruleVariableLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_VariableLowerBound_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLowerBound" + + + // $ANTLR start "entryRuleUpperBound" + // InternalFiacre.g:8376:1: entryRuleUpperBound returns [EObject current=null] : iv_ruleUpperBound= ruleUpperBound EOF ; + public final EObject entryRuleUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUpperBound = null; + + + try { + // InternalFiacre.g:8376:51: (iv_ruleUpperBound= ruleUpperBound EOF ) + // InternalFiacre.g:8377:2: iv_ruleUpperBound= ruleUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleUpperBound=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleUpperBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUpperBound" + + + // $ANTLR start "ruleUpperBound" + // InternalFiacre.g:8383:1: ruleUpperBound returns [EObject current=null] : (this_NaturalUpperBound_0= ruleNaturalUpperBound | this_DecimalUpperBound_1= ruleDecimalUpperBound | this_VariableUpperBound_2= ruleVariableUpperBound | this_InfiniteUpperBound_3= ruleInfiniteUpperBound ) ; + public final EObject ruleUpperBound() throws RecognitionException { + EObject current = null; + + EObject this_NaturalUpperBound_0 = null; + + EObject this_DecimalUpperBound_1 = null; + + EObject this_VariableUpperBound_2 = null; + + EObject this_InfiniteUpperBound_3 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8389:2: ( (this_NaturalUpperBound_0= ruleNaturalUpperBound | this_DecimalUpperBound_1= ruleDecimalUpperBound | this_VariableUpperBound_2= ruleVariableUpperBound | this_InfiniteUpperBound_3= ruleInfiniteUpperBound ) ) + // InternalFiacre.g:8390:2: (this_NaturalUpperBound_0= ruleNaturalUpperBound | this_DecimalUpperBound_1= ruleDecimalUpperBound | this_VariableUpperBound_2= ruleVariableUpperBound | this_InfiniteUpperBound_3= ruleInfiniteUpperBound ) + { + // InternalFiacre.g:8390:2: (this_NaturalUpperBound_0= ruleNaturalUpperBound | this_DecimalUpperBound_1= ruleDecimalUpperBound | this_VariableUpperBound_2= ruleVariableUpperBound | this_InfiniteUpperBound_3= ruleInfiniteUpperBound ) + int alt134=4; + switch ( input.LA(1) ) { + case RULE_INT: + { + alt134=1; + } + break; + case RULE_FLT: + { + alt134=2; + } + break; + case RULE_ID: + { + alt134=3; + } + break; + case 111: + { + alt134=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 134, 0, input); + + throw nvae; + } + + switch (alt134) { + case 1 : + // InternalFiacre.g:8391:3: this_NaturalUpperBound_0= ruleNaturalUpperBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUpperBoundAccess().getNaturalUpperBoundParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NaturalUpperBound_0=ruleNaturalUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NaturalUpperBound_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:8403:3: this_DecimalUpperBound_1= ruleDecimalUpperBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUpperBoundAccess().getDecimalUpperBoundParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_DecimalUpperBound_1=ruleDecimalUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_DecimalUpperBound_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:8415:3: this_VariableUpperBound_2= ruleVariableUpperBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUpperBoundAccess().getVariableUpperBoundParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_VariableUpperBound_2=ruleVariableUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_VariableUpperBound_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:8427:3: this_InfiniteUpperBound_3= ruleInfiniteUpperBound + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getUpperBoundAccess().getInfiniteUpperBoundParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_InfiniteUpperBound_3=ruleInfiniteUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_InfiniteUpperBound_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUpperBound" + + + // $ANTLR start "entryRuleNaturalLowerBound" + // InternalFiacre.g:8442:1: entryRuleNaturalLowerBound returns [EObject current=null] : iv_ruleNaturalLowerBound= ruleNaturalLowerBound EOF ; + public final EObject entryRuleNaturalLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNaturalLowerBound = null; + + + try { + // InternalFiacre.g:8442:58: (iv_ruleNaturalLowerBound= ruleNaturalLowerBound EOF ) + // InternalFiacre.g:8443:2: iv_ruleNaturalLowerBound= ruleNaturalLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNaturalLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNaturalLowerBound=ruleNaturalLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNaturalLowerBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNaturalLowerBound" + + + // $ANTLR start "ruleNaturalLowerBound" + // InternalFiacre.g:8449:1: ruleNaturalLowerBound returns [EObject current=null] : ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) ; + public final EObject ruleNaturalLowerBound() throws RecognitionException { + EObject current = null; + + Token lv_left_0_0=null; + Token lv_right_1_0=null; + Token lv_value_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8455:2: ( ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) ) + // InternalFiacre.g:8456:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) + { + // InternalFiacre.g:8456:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_INT ) ) ) + // InternalFiacre.g:8457:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_INT ) ) + { + // InternalFiacre.g:8457:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) + int alt135=2; + int LA135_0 = input.LA(1); + + if ( (LA135_0==41) ) { + alt135=1; + } + else if ( (LA135_0==42) ) { + alt135=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 135, 0, input); + + throw nvae; + } + switch (alt135) { + case 1 : + // InternalFiacre.g:8458:4: ( (lv_left_0_0= '[' ) ) + { + // InternalFiacre.g:8458:4: ( (lv_left_0_0= '[' ) ) + // InternalFiacre.g:8459:5: (lv_left_0_0= '[' ) + { + // InternalFiacre.g:8459:5: (lv_left_0_0= '[' ) + // InternalFiacre.g:8460:6: lv_left_0_0= '[' + { + lv_left_0_0=(Token)match(input,41,FollowSets000.FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_0_0, grammarAccess.getNaturalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8473:4: ( (lv_right_1_0= ']' ) ) + { + // InternalFiacre.g:8473:4: ( (lv_right_1_0= ']' ) ) + // InternalFiacre.g:8474:5: (lv_right_1_0= ']' ) + { + // InternalFiacre.g:8474:5: (lv_right_1_0= ']' ) + // InternalFiacre.g:8475:6: lv_right_1_0= ']' + { + lv_right_1_0=(Token)match(input,42,FollowSets000.FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_1_0, grammarAccess.getNaturalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:8488:3: ( (lv_value_2_0= RULE_INT ) ) + // InternalFiacre.g:8489:4: (lv_value_2_0= RULE_INT ) + { + // InternalFiacre.g:8489:4: (lv_value_2_0= RULE_INT ) + // InternalFiacre.g:8490:5: lv_value_2_0= RULE_INT + { + lv_value_2_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_2_0, grammarAccess.getNaturalLowerBoundAccess().getValueINTTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalLowerBoundRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNaturalLowerBound" + + + // $ANTLR start "entryRuleNaturalUpperBound" + // InternalFiacre.g:8510:1: entryRuleNaturalUpperBound returns [EObject current=null] : iv_ruleNaturalUpperBound= ruleNaturalUpperBound EOF ; + public final EObject entryRuleNaturalUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNaturalUpperBound = null; + + + try { + // InternalFiacre.g:8510:58: (iv_ruleNaturalUpperBound= ruleNaturalUpperBound EOF ) + // InternalFiacre.g:8511:2: iv_ruleNaturalUpperBound= ruleNaturalUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNaturalUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNaturalUpperBound=ruleNaturalUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNaturalUpperBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNaturalUpperBound" + + + // $ANTLR start "ruleNaturalUpperBound" + // InternalFiacre.g:8517:1: ruleNaturalUpperBound returns [EObject current=null] : ( ( (lv_value_0_0= RULE_INT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ; + public final EObject ruleNaturalUpperBound() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + Token lv_left_1_0=null; + Token lv_right_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8523:2: ( ( ( (lv_value_0_0= RULE_INT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ) + // InternalFiacre.g:8524:2: ( ( (lv_value_0_0= RULE_INT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + { + // InternalFiacre.g:8524:2: ( ( (lv_value_0_0= RULE_INT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + // InternalFiacre.g:8525:3: ( (lv_value_0_0= RULE_INT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + { + // InternalFiacre.g:8525:3: ( (lv_value_0_0= RULE_INT ) ) + // InternalFiacre.g:8526:4: (lv_value_0_0= RULE_INT ) + { + // InternalFiacre.g:8526:4: (lv_value_0_0= RULE_INT ) + // InternalFiacre.g:8527:5: lv_value_0_0= RULE_INT + { + lv_value_0_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_0_0, grammarAccess.getNaturalUpperBoundAccess().getValueINTTerminalRuleCall_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + // InternalFiacre.g:8543:3: ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==41) ) { + alt136=1; + } + else if ( (LA136_0==42) ) { + alt136=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 136, 0, input); + + throw nvae; + } + switch (alt136) { + case 1 : + // InternalFiacre.g:8544:4: ( (lv_left_1_0= '[' ) ) + { + // InternalFiacre.g:8544:4: ( (lv_left_1_0= '[' ) ) + // InternalFiacre.g:8545:5: (lv_left_1_0= '[' ) + { + // InternalFiacre.g:8545:5: (lv_left_1_0= '[' ) + // InternalFiacre.g:8546:6: lv_left_1_0= '[' + { + lv_left_1_0=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_1_0, grammarAccess.getNaturalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8559:4: ( (lv_right_2_0= ']' ) ) + { + // InternalFiacre.g:8559:4: ( (lv_right_2_0= ']' ) ) + // InternalFiacre.g:8560:5: (lv_right_2_0= ']' ) + { + // InternalFiacre.g:8560:5: (lv_right_2_0= ']' ) + // InternalFiacre.g:8561:6: lv_right_2_0= ']' + { + lv_right_2_0=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_2_0, grammarAccess.getNaturalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalUpperBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNaturalUpperBound" + + + // $ANTLR start "entryRuleDecimalLowerBound" + // InternalFiacre.g:8578:1: entryRuleDecimalLowerBound returns [EObject current=null] : iv_ruleDecimalLowerBound= ruleDecimalLowerBound EOF ; + public final EObject entryRuleDecimalLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDecimalLowerBound = null; + + + try { + // InternalFiacre.g:8578:58: (iv_ruleDecimalLowerBound= ruleDecimalLowerBound EOF ) + // InternalFiacre.g:8579:2: iv_ruleDecimalLowerBound= ruleDecimalLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDecimalLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDecimalLowerBound=ruleDecimalLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDecimalLowerBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDecimalLowerBound" + + + // $ANTLR start "ruleDecimalLowerBound" + // InternalFiacre.g:8585:1: ruleDecimalLowerBound returns [EObject current=null] : ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_FLT ) ) ) ; + public final EObject ruleDecimalLowerBound() throws RecognitionException { + EObject current = null; + + Token lv_left_0_0=null; + Token lv_right_1_0=null; + Token lv_value_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8591:2: ( ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_FLT ) ) ) ) + // InternalFiacre.g:8592:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_FLT ) ) ) + { + // InternalFiacre.g:8592:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_FLT ) ) ) + // InternalFiacre.g:8593:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (lv_value_2_0= RULE_FLT ) ) + { + // InternalFiacre.g:8593:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==41) ) { + alt137=1; + } + else if ( (LA137_0==42) ) { + alt137=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 137, 0, input); + + throw nvae; + } + switch (alt137) { + case 1 : + // InternalFiacre.g:8594:4: ( (lv_left_0_0= '[' ) ) + { + // InternalFiacre.g:8594:4: ( (lv_left_0_0= '[' ) ) + // InternalFiacre.g:8595:5: (lv_left_0_0= '[' ) + { + // InternalFiacre.g:8595:5: (lv_left_0_0= '[' ) + // InternalFiacre.g:8596:6: lv_left_0_0= '[' + { + lv_left_0_0=(Token)match(input,41,FollowSets000.FOLLOW_100); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_0_0, grammarAccess.getDecimalLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8609:4: ( (lv_right_1_0= ']' ) ) + { + // InternalFiacre.g:8609:4: ( (lv_right_1_0= ']' ) ) + // InternalFiacre.g:8610:5: (lv_right_1_0= ']' ) + { + // InternalFiacre.g:8610:5: (lv_right_1_0= ']' ) + // InternalFiacre.g:8611:6: lv_right_1_0= ']' + { + lv_right_1_0=(Token)match(input,42,FollowSets000.FOLLOW_100); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_1_0, grammarAccess.getDecimalLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:8624:3: ( (lv_value_2_0= RULE_FLT ) ) + // InternalFiacre.g:8625:4: (lv_value_2_0= RULE_FLT ) + { + // InternalFiacre.g:8625:4: (lv_value_2_0= RULE_FLT ) + // InternalFiacre.g:8626:5: lv_value_2_0= RULE_FLT + { + lv_value_2_0=(Token)match(input,RULE_FLT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_2_0, grammarAccess.getDecimalLowerBoundAccess().getValueFLTTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalLowerBoundRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_2_0, + "fr.irit.fiacre.xtext.Fiacre.FLT"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDecimalLowerBound" + + + // $ANTLR start "entryRuleDecimalUpperBound" + // InternalFiacre.g:8646:1: entryRuleDecimalUpperBound returns [EObject current=null] : iv_ruleDecimalUpperBound= ruleDecimalUpperBound EOF ; + public final EObject entryRuleDecimalUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDecimalUpperBound = null; + + + try { + // InternalFiacre.g:8646:58: (iv_ruleDecimalUpperBound= ruleDecimalUpperBound EOF ) + // InternalFiacre.g:8647:2: iv_ruleDecimalUpperBound= ruleDecimalUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDecimalUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDecimalUpperBound=ruleDecimalUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDecimalUpperBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDecimalUpperBound" + + + // $ANTLR start "ruleDecimalUpperBound" + // InternalFiacre.g:8653:1: ruleDecimalUpperBound returns [EObject current=null] : ( ( (lv_value_0_0= RULE_FLT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ; + public final EObject ruleDecimalUpperBound() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + Token lv_left_1_0=null; + Token lv_right_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8659:2: ( ( ( (lv_value_0_0= RULE_FLT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ) + // InternalFiacre.g:8660:2: ( ( (lv_value_0_0= RULE_FLT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + { + // InternalFiacre.g:8660:2: ( ( (lv_value_0_0= RULE_FLT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + // InternalFiacre.g:8661:3: ( (lv_value_0_0= RULE_FLT ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + { + // InternalFiacre.g:8661:3: ( (lv_value_0_0= RULE_FLT ) ) + // InternalFiacre.g:8662:4: (lv_value_0_0= RULE_FLT ) + { + // InternalFiacre.g:8662:4: (lv_value_0_0= RULE_FLT ) + // InternalFiacre.g:8663:5: lv_value_0_0= RULE_FLT + { + lv_value_0_0=(Token)match(input,RULE_FLT,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_0_0, grammarAccess.getDecimalUpperBoundAccess().getValueFLTTerminalRuleCall_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.FLT"); + + } + + } + + + } + + // InternalFiacre.g:8679:3: ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==41) ) { + alt138=1; + } + else if ( (LA138_0==42) ) { + alt138=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 138, 0, input); + + throw nvae; + } + switch (alt138) { + case 1 : + // InternalFiacre.g:8680:4: ( (lv_left_1_0= '[' ) ) + { + // InternalFiacre.g:8680:4: ( (lv_left_1_0= '[' ) ) + // InternalFiacre.g:8681:5: (lv_left_1_0= '[' ) + { + // InternalFiacre.g:8681:5: (lv_left_1_0= '[' ) + // InternalFiacre.g:8682:6: lv_left_1_0= '[' + { + lv_left_1_0=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_1_0, grammarAccess.getDecimalUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8695:4: ( (lv_right_2_0= ']' ) ) + { + // InternalFiacre.g:8695:4: ( (lv_right_2_0= ']' ) ) + // InternalFiacre.g:8696:5: (lv_right_2_0= ']' ) + { + // InternalFiacre.g:8696:5: (lv_right_2_0= ']' ) + // InternalFiacre.g:8697:6: lv_right_2_0= ']' + { + lv_right_2_0=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_2_0, grammarAccess.getDecimalUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getDecimalUpperBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDecimalUpperBound" + + + // $ANTLR start "entryRuleVariableLowerBound" + // InternalFiacre.g:8714:1: entryRuleVariableLowerBound returns [EObject current=null] : iv_ruleVariableLowerBound= ruleVariableLowerBound EOF ; + public final EObject entryRuleVariableLowerBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleVariableLowerBound = null; + + + try { + // InternalFiacre.g:8714:59: (iv_ruleVariableLowerBound= ruleVariableLowerBound EOF ) + // InternalFiacre.g:8715:2: iv_ruleVariableLowerBound= ruleVariableLowerBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getVariableLowerBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleVariableLowerBound=ruleVariableLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleVariableLowerBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleVariableLowerBound" + + + // $ANTLR start "ruleVariableLowerBound" + // InternalFiacre.g:8721:1: ruleVariableLowerBound returns [EObject current=null] : ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (otherlv_2= RULE_ID ) ) ) ; + public final EObject ruleVariableLowerBound() throws RecognitionException { + EObject current = null; + + Token lv_left_0_0=null; + Token lv_right_1_0=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalFiacre.g:8727:2: ( ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (otherlv_2= RULE_ID ) ) ) ) + // InternalFiacre.g:8728:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (otherlv_2= RULE_ID ) ) ) + { + // InternalFiacre.g:8728:2: ( ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (otherlv_2= RULE_ID ) ) ) + // InternalFiacre.g:8729:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) ( (otherlv_2= RULE_ID ) ) + { + // InternalFiacre.g:8729:3: ( ( (lv_left_0_0= '[' ) ) | ( (lv_right_1_0= ']' ) ) ) + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==41) ) { + alt139=1; + } + else if ( (LA139_0==42) ) { + alt139=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 139, 0, input); + + throw nvae; + } + switch (alt139) { + case 1 : + // InternalFiacre.g:8730:4: ( (lv_left_0_0= '[' ) ) + { + // InternalFiacre.g:8730:4: ( (lv_left_0_0= '[' ) ) + // InternalFiacre.g:8731:5: (lv_left_0_0= '[' ) + { + // InternalFiacre.g:8731:5: (lv_left_0_0= '[' ) + // InternalFiacre.g:8732:6: lv_left_0_0= '[' + { + lv_left_0_0=(Token)match(input,41,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_0_0, grammarAccess.getVariableLowerBoundAccess().getLeftLeftSquareBracketKeyword_0_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8745:4: ( (lv_right_1_0= ']' ) ) + { + // InternalFiacre.g:8745:4: ( (lv_right_1_0= ']' ) ) + // InternalFiacre.g:8746:5: (lv_right_1_0= ']' ) + { + // InternalFiacre.g:8746:5: (lv_right_1_0= ']' ) + // InternalFiacre.g:8747:6: lv_right_1_0= ']' + { + lv_right_1_0=(Token)match(input,42,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_1_0, grammarAccess.getVariableLowerBoundAccess().getRightRightSquareBracketKeyword_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:8760:3: ( (otherlv_2= RULE_ID ) ) + // InternalFiacre.g:8761:4: (otherlv_2= RULE_ID ) + { + // InternalFiacre.g:8761:4: (otherlv_2= RULE_ID ) + // InternalFiacre.g:8762:5: otherlv_2= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableLowerBoundRule()); + } + + } + otherlv_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getVariableLowerBoundAccess().getVariableBoundDeclarationUseCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleVariableLowerBound" + + + // $ANTLR start "entryRuleVariableUpperBound" + // InternalFiacre.g:8780:1: entryRuleVariableUpperBound returns [EObject current=null] : iv_ruleVariableUpperBound= ruleVariableUpperBound EOF ; + public final EObject entryRuleVariableUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleVariableUpperBound = null; + + + try { + // InternalFiacre.g:8780:59: (iv_ruleVariableUpperBound= ruleVariableUpperBound EOF ) + // InternalFiacre.g:8781:2: iv_ruleVariableUpperBound= ruleVariableUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getVariableUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleVariableUpperBound=ruleVariableUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleVariableUpperBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleVariableUpperBound" + + + // $ANTLR start "ruleVariableUpperBound" + // InternalFiacre.g:8787:1: ruleVariableUpperBound returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ; + public final EObject ruleVariableUpperBound() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_left_1_0=null; + Token lv_right_2_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8793:2: ( ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) ) + // InternalFiacre.g:8794:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + { + // InternalFiacre.g:8794:2: ( ( (otherlv_0= RULE_ID ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) ) + // InternalFiacre.g:8795:3: ( (otherlv_0= RULE_ID ) ) ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + { + // InternalFiacre.g:8795:3: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:8796:4: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:8796:4: (otherlv_0= RULE_ID ) + // InternalFiacre.g:8797:5: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getVariableUpperBoundAccess().getVariableBoundDeclarationUseCrossReference_0_0()); + + } + + } + + + } + + // InternalFiacre.g:8811:3: ( ( (lv_left_1_0= '[' ) ) | ( (lv_right_2_0= ']' ) ) ) + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==41) ) { + alt140=1; + } + else if ( (LA140_0==42) ) { + alt140=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 140, 0, input); + + throw nvae; + } + switch (alt140) { + case 1 : + // InternalFiacre.g:8812:4: ( (lv_left_1_0= '[' ) ) + { + // InternalFiacre.g:8812:4: ( (lv_left_1_0= '[' ) ) + // InternalFiacre.g:8813:5: (lv_left_1_0= '[' ) + { + // InternalFiacre.g:8813:5: (lv_left_1_0= '[' ) + // InternalFiacre.g:8814:6: lv_left_1_0= '[' + { + lv_left_1_0=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_left_1_0, grammarAccess.getVariableUpperBoundAccess().getLeftLeftSquareBracketKeyword_1_0_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + setWithLastConsumed(current, "left", true, "["); + + } + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:8827:4: ( (lv_right_2_0= ']' ) ) + { + // InternalFiacre.g:8827:4: ( (lv_right_2_0= ']' ) ) + // InternalFiacre.g:8828:5: (lv_right_2_0= ']' ) + { + // InternalFiacre.g:8828:5: (lv_right_2_0= ']' ) + // InternalFiacre.g:8829:6: lv_right_2_0= ']' + { + lv_right_2_0=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_right_2_0, grammarAccess.getVariableUpperBoundAccess().getRightRightSquareBracketKeyword_1_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getVariableUpperBoundRule()); + } + setWithLastConsumed(current, "right", true, "]"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleVariableUpperBound" + + + // $ANTLR start "entryRuleInfiniteUpperBound" + // InternalFiacre.g:8846:1: entryRuleInfiniteUpperBound returns [EObject current=null] : iv_ruleInfiniteUpperBound= ruleInfiniteUpperBound EOF ; + public final EObject entryRuleInfiniteUpperBound() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInfiniteUpperBound = null; + + + try { + // InternalFiacre.g:8846:59: (iv_ruleInfiniteUpperBound= ruleInfiniteUpperBound EOF ) + // InternalFiacre.g:8847:2: iv_ruleInfiniteUpperBound= ruleInfiniteUpperBound EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getInfiniteUpperBoundRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleInfiniteUpperBound=ruleInfiniteUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleInfiniteUpperBound; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInfiniteUpperBound" + + + // $ANTLR start "ruleInfiniteUpperBound" + // InternalFiacre.g:8853:1: ruleInfiniteUpperBound returns [EObject current=null] : ( () otherlv_1= '...' otherlv_2= '[' ) ; + public final EObject ruleInfiniteUpperBound() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalFiacre.g:8859:2: ( ( () otherlv_1= '...' otherlv_2= '[' ) ) + // InternalFiacre.g:8860:2: ( () otherlv_1= '...' otherlv_2= '[' ) + { + // InternalFiacre.g:8860:2: ( () otherlv_1= '...' otherlv_2= '[' ) + // InternalFiacre.g:8861:3: () otherlv_1= '...' otherlv_2= '[' + { + // InternalFiacre.g:8861:3: () + // InternalFiacre.g:8862:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getInfiniteUpperBoundAccess().getInfiniteUpperBoundAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,111,FollowSets000.FOLLOW_101); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getInfiniteUpperBoundAccess().getFullStopFullStopFullStopKeyword_1()); + + } + otherlv_2=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getInfiniteUpperBoundAccess().getLeftSquareBracketKeyword_2()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInfiniteUpperBound" + + + // $ANTLR start "entryRuleRequirement" + // InternalFiacre.g:8883:1: entryRuleRequirement returns [EObject current=null] : iv_ruleRequirement= ruleRequirement EOF ; + public final EObject entryRuleRequirement() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRequirement = null; + + + try { + // InternalFiacre.g:8883:52: (iv_ruleRequirement= ruleRequirement EOF ) + // InternalFiacre.g:8884:2: iv_ruleRequirement= ruleRequirement EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getRequirementRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleRequirement=ruleRequirement(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleRequirement; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRequirement" + + + // $ANTLR start "ruleRequirement" + // InternalFiacre.g:8890:1: ruleRequirement returns [EObject current=null] : (otherlv_0= 'assert' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? ) ; + public final EObject ruleRequirement() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token lv_positive_3_0=null; + Token otherlv_4=null; + Token lv_negative_5_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:8896:2: ( (otherlv_0= 'assert' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? ) ) + // InternalFiacre.g:8897:2: (otherlv_0= 'assert' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? ) + { + // InternalFiacre.g:8897:2: (otherlv_0= 'assert' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? ) + // InternalFiacre.g:8898:3: otherlv_0= 'assert' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? + { + otherlv_0=(Token)match(input,112,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getRequirementAccess().getAssertKeyword_0()); + + } + // InternalFiacre.g:8902:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:8903:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:8903:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:8904:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRequirementRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_102); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getRequirementAccess().getPropertyPropertyDeclarationCrossReference_1_0()); + + } + + } + + + } + + // InternalFiacre.g:8918:3: (otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==113) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // InternalFiacre.g:8919:4: otherlv_2= '-true' ( (lv_positive_3_0= RULE_STRING ) ) + { + otherlv_2=(Token)match(input,113,FollowSets000.FOLLOW_8); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getRequirementAccess().getTrueKeyword_2_0()); + + } + // InternalFiacre.g:8923:4: ( (lv_positive_3_0= RULE_STRING ) ) + // InternalFiacre.g:8924:5: (lv_positive_3_0= RULE_STRING ) + { + // InternalFiacre.g:8924:5: (lv_positive_3_0= RULE_STRING ) + // InternalFiacre.g:8925:6: lv_positive_3_0= RULE_STRING + { + lv_positive_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_103); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_positive_3_0, grammarAccess.getRequirementAccess().getPositiveSTRINGTerminalRuleCall_2_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRequirementRule()); + } + setWithLastConsumed( + current, + "positive", + lv_positive_3_0, + "org.eclipse.xtext.common.Terminals.STRING"); + + } + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:8942:3: (otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==114) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // InternalFiacre.g:8943:4: otherlv_4= '-false' ( (lv_negative_5_0= RULE_STRING ) ) + { + otherlv_4=(Token)match(input,114,FollowSets000.FOLLOW_8); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getRequirementAccess().getFalseKeyword_3_0()); + + } + // InternalFiacre.g:8947:4: ( (lv_negative_5_0= RULE_STRING ) ) + // InternalFiacre.g:8948:5: (lv_negative_5_0= RULE_STRING ) + { + // InternalFiacre.g:8948:5: (lv_negative_5_0= RULE_STRING ) + // InternalFiacre.g:8949:6: lv_negative_5_0= RULE_STRING + { + lv_negative_5_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_negative_5_0, grammarAccess.getRequirementAccess().getNegativeSTRINGTerminalRuleCall_3_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getRequirementRule()); + } + setWithLastConsumed( + current, + "negative", + lv_negative_5_0, + "org.eclipse.xtext.common.Terminals.STRING"); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRequirement" + + + // $ANTLR start "entryRulePropertyDeclaration" + // InternalFiacre.g:8970:1: entryRulePropertyDeclaration returns [EObject current=null] : iv_rulePropertyDeclaration= rulePropertyDeclaration EOF ; + public final EObject entryRulePropertyDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_rulePropertyDeclaration = null; + + + try { + // InternalFiacre.g:8970:60: (iv_rulePropertyDeclaration= rulePropertyDeclaration EOF ) + // InternalFiacre.g:8971:2: iv_rulePropertyDeclaration= rulePropertyDeclaration EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyDeclarationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePropertyDeclaration=rulePropertyDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePropertyDeclaration; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePropertyDeclaration" + + + // $ANTLR start "rulePropertyDeclaration" + // InternalFiacre.g:8977:1: rulePropertyDeclaration returns [EObject current=null] : (otherlv_0= 'property' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_property_3_0= ruleProperty ) ) ) ; + public final EObject rulePropertyDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + EObject lv_property_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:8983:2: ( (otherlv_0= 'property' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_property_3_0= ruleProperty ) ) ) ) + // InternalFiacre.g:8984:2: (otherlv_0= 'property' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_property_3_0= ruleProperty ) ) ) + { + // InternalFiacre.g:8984:2: (otherlv_0= 'property' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_property_3_0= ruleProperty ) ) ) + // InternalFiacre.g:8985:3: otherlv_0= 'property' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'is' ( (lv_property_3_0= ruleProperty ) ) + { + otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getPropertyDeclarationAccess().getPropertyKeyword_0()); + + } + // InternalFiacre.g:8989:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalFiacre.g:8990:4: (lv_name_1_0= RULE_ID ) + { + // InternalFiacre.g:8990:4: (lv_name_1_0= RULE_ID ) + // InternalFiacre.g:8991:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_15); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_name_1_0, grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPropertyDeclarationRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPropertyDeclarationAccess().getIsKeyword_2()); + + } + // InternalFiacre.g:9011:3: ( (lv_property_3_0= ruleProperty ) ) + // InternalFiacre.g:9012:4: (lv_property_3_0= ruleProperty ) + { + // InternalFiacre.g:9012:4: (lv_property_3_0= ruleProperty ) + // InternalFiacre.g:9013:5: lv_property_3_0= ruleProperty + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_property_3_0=ruleProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPropertyDeclarationRule()); + } + set( + current, + "property", + lv_property_3_0, + "fr.irit.fiacre.xtext.Fiacre.Property"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePropertyDeclaration" + + + // $ANTLR start "entryRuleProperty" + // InternalFiacre.g:9034:1: entryRuleProperty returns [EObject current=null] : iv_ruleProperty= ruleProperty EOF ; + public final EObject entryRuleProperty() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProperty = null; + + + try { + // InternalFiacre.g:9034:49: (iv_ruleProperty= ruleProperty EOF ) + // InternalFiacre.g:9035:2: iv_ruleProperty= ruleProperty EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleProperty=ruleProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleProperty; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProperty" + + + // $ANTLR start "ruleProperty" + // InternalFiacre.g:9041:1: ruleProperty returns [EObject current=null] : this_QuantifiedProperty_0= ruleQuantifiedProperty ; + public final EObject ruleProperty() throws RecognitionException { + EObject current = null; + + EObject this_QuantifiedProperty_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9047:2: (this_QuantifiedProperty_0= ruleQuantifiedProperty ) + // InternalFiacre.g:9048:2: this_QuantifiedProperty_0= ruleQuantifiedProperty + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyAccess().getQuantifiedPropertyParserRuleCall()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_QuantifiedProperty_0=ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_QuantifiedProperty_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProperty" + + + // $ANTLR start "entryRuleQuantifiedProperty" + // InternalFiacre.g:9062:1: entryRuleQuantifiedProperty returns [EObject current=null] : iv_ruleQuantifiedProperty= ruleQuantifiedProperty EOF ; + public final EObject entryRuleQuantifiedProperty() throws RecognitionException { + EObject current = null; + + EObject iv_ruleQuantifiedProperty = null; + + + try { + // InternalFiacre.g:9062:59: (iv_ruleQuantifiedProperty= ruleQuantifiedProperty EOF ) + // InternalFiacre.g:9063:2: iv_ruleQuantifiedProperty= ruleQuantifiedProperty EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getQuantifiedPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleQuantifiedProperty=ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleQuantifiedProperty; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleQuantifiedProperty" + + + // $ANTLR start "ruleQuantifiedProperty" + // InternalFiacre.g:9069:1: ruleQuantifiedProperty returns [EObject current=null] : ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) | this_PropertyDisjunction_9= rulePropertyDisjunction ) ; + public final EObject ruleQuantifiedProperty() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_variable_4_0 = null; + + EObject lv_type_6_0 = null; + + EObject lv_child_8_0 = null; + + EObject this_PropertyDisjunction_9 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9075:2: ( ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) | this_PropertyDisjunction_9= rulePropertyDisjunction ) ) + // InternalFiacre.g:9076:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) | this_PropertyDisjunction_9= rulePropertyDisjunction ) + { + // InternalFiacre.g:9076:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) | this_PropertyDisjunction_9= rulePropertyDisjunction ) + int alt144=2; + int LA144_0 = input.LA(1); + + if ( ((LA144_0>=83 && LA144_0<=84)) ) { + alt144=1; + } + else if ( (LA144_0==RULE_ID||LA144_0==RULE_INT||LA144_0==16||LA144_0==95||(LA144_0>=116 && LA144_0<=120)||LA144_0==127||LA144_0==129||(LA144_0>=134 && LA144_0<=135)) ) { + alt144=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 144, 0, input); + + throw nvae; + } + switch (alt144) { + case 1 : + // InternalFiacre.g:9077:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) + { + // InternalFiacre.g:9077:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) ) + // InternalFiacre.g:9078:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_variable_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleQuantifiedProperty ) ) + { + // InternalFiacre.g:9078:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==83) ) { + alt143=1; + } + else if ( (LA143_0==84) ) { + alt143=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 143, 0, input); + + throw nvae; + } + switch (alt143) { + case 1 : + // InternalFiacre.g:9079:5: ( () otherlv_1= 'all' ) + { + // InternalFiacre.g:9079:5: ( () otherlv_1= 'all' ) + // InternalFiacre.g:9080:6: () otherlv_1= 'all' + { + // InternalFiacre.g:9080:6: () + // InternalFiacre.g:9081:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getQuantifiedPropertyAccess().getAllPropertyAction_0_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getQuantifiedPropertyAccess().getAllKeyword_0_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:9096:5: ( () otherlv_3= 'exists' ) + { + // InternalFiacre.g:9096:5: ( () otherlv_3= 'exists' ) + // InternalFiacre.g:9097:6: () otherlv_3= 'exists' + { + // InternalFiacre.g:9097:6: () + // InternalFiacre.g:9098:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getQuantifiedPropertyAccess().getExistsPropertyAction_0_0_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getQuantifiedPropertyAccess().getExistsKeyword_0_0_1_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:9113:4: ( (lv_variable_4_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:9114:5: (lv_variable_4_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:9114:5: (lv_variable_4_0= ruleVariableDeclaration ) + // InternalFiacre.g:9115:6: lv_variable_4_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_69); + lv_variable_4_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + current, + "variable", + lv_variable_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getQuantifiedPropertyAccess().getInKeyword_0_2()); + + } + // InternalFiacre.g:9136:4: ( (lv_type_6_0= ruleRangeType ) ) + // InternalFiacre.g:9137:5: (lv_type_6_0= ruleRangeType ) + { + // InternalFiacre.g:9137:5: (lv_type_6_0= ruleRangeType ) + // InternalFiacre.g:9138:6: lv_type_6_0= ruleRangeType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_82); + lv_type_6_0=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,65,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getQuantifiedPropertyAccess().getFullStopKeyword_0_4()); + + } + // InternalFiacre.g:9159:4: ( (lv_child_8_0= ruleQuantifiedProperty ) ) + // InternalFiacre.g:9160:5: (lv_child_8_0= ruleQuantifiedProperty ) + { + // InternalFiacre.g:9160:5: (lv_child_8_0= ruleQuantifiedProperty ) + // InternalFiacre.g:9161:6: lv_child_8_0= ruleQuantifiedProperty + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_8_0=ruleQuantifiedProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getQuantifiedPropertyRule()); + } + set( + current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.QuantifiedProperty"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:9180:3: this_PropertyDisjunction_9= rulePropertyDisjunction + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getQuantifiedPropertyAccess().getPropertyDisjunctionParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PropertyDisjunction_9=rulePropertyDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PropertyDisjunction_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleQuantifiedProperty" + + + // $ANTLR start "entryRulePropertyDisjunction" + // InternalFiacre.g:9195:1: entryRulePropertyDisjunction returns [EObject current=null] : iv_rulePropertyDisjunction= rulePropertyDisjunction EOF ; + public final EObject entryRulePropertyDisjunction() throws RecognitionException { + EObject current = null; + + EObject iv_rulePropertyDisjunction = null; + + + try { + // InternalFiacre.g:9195:60: (iv_rulePropertyDisjunction= rulePropertyDisjunction EOF ) + // InternalFiacre.g:9196:2: iv_rulePropertyDisjunction= rulePropertyDisjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePropertyDisjunction=rulePropertyDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePropertyDisjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePropertyDisjunction" + + + // $ANTLR start "rulePropertyDisjunction" + // InternalFiacre.g:9202:1: rulePropertyDisjunction returns [EObject current=null] : (this_PropertyImplication_0= rulePropertyImplication ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* ) ; + public final EObject rulePropertyDisjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_PropertyImplication_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9208:2: ( (this_PropertyImplication_0= rulePropertyImplication ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* ) ) + // InternalFiacre.g:9209:2: (this_PropertyImplication_0= rulePropertyImplication ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* ) + { + // InternalFiacre.g:9209:2: (this_PropertyImplication_0= rulePropertyImplication ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* ) + // InternalFiacre.g:9210:3: this_PropertyImplication_0= rulePropertyImplication ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyDisjunctionAccess().getPropertyImplicationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + this_PropertyImplication_0=rulePropertyImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PropertyImplication_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:9221:3: ( () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) )* + loop145: + do { + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==85) ) { + alt145=1; + } + + + switch (alt145) { + case 1 : + // InternalFiacre.g:9222:4: () otherlv_2= 'or' ( (lv_right_3_0= rulePropertyImplication ) ) + { + // InternalFiacre.g:9222:4: () + // InternalFiacre.g:9223:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,85,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPropertyDisjunctionAccess().getOrKeyword_1_1()); + + } + // InternalFiacre.g:9236:4: ( (lv_right_3_0= rulePropertyImplication ) ) + // InternalFiacre.g:9237:5: (lv_right_3_0= rulePropertyImplication ) + { + // InternalFiacre.g:9237:5: (lv_right_3_0= rulePropertyImplication ) + // InternalFiacre.g:9238:6: lv_right_3_0= rulePropertyImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + lv_right_3_0=rulePropertyImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPropertyDisjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop145; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePropertyDisjunction" + + + // $ANTLR start "entryRulePropertyImplication" + // InternalFiacre.g:9260:1: entryRulePropertyImplication returns [EObject current=null] : iv_rulePropertyImplication= rulePropertyImplication EOF ; + public final EObject entryRulePropertyImplication() throws RecognitionException { + EObject current = null; + + EObject iv_rulePropertyImplication = null; + + + try { + // InternalFiacre.g:9260:60: (iv_rulePropertyImplication= rulePropertyImplication EOF ) + // InternalFiacre.g:9261:2: iv_rulePropertyImplication= rulePropertyImplication EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePropertyImplication=rulePropertyImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePropertyImplication; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePropertyImplication" + + + // $ANTLR start "rulePropertyImplication" + // InternalFiacre.g:9267:1: rulePropertyImplication returns [EObject current=null] : (this_PropertyConjunction_0= rulePropertyConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? ) ; + public final EObject rulePropertyImplication() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_PropertyConjunction_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9273:2: ( (this_PropertyConjunction_0= rulePropertyConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? ) ) + // InternalFiacre.g:9274:2: (this_PropertyConjunction_0= rulePropertyConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? ) + { + // InternalFiacre.g:9274:2: (this_PropertyConjunction_0= rulePropertyConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? ) + // InternalFiacre.g:9275:3: this_PropertyConjunction_0= rulePropertyConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyImplicationAccess().getPropertyConjunctionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_85); + this_PropertyConjunction_0=rulePropertyConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PropertyConjunction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:9286:3: ( () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) )? + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==86) ) { + alt146=1; + } + switch (alt146) { + case 1 : + // InternalFiacre.g:9287:4: () otherlv_2= '=>' ( (lv_right_3_0= rulePropertyImplication ) ) + { + // InternalFiacre.g:9287:4: () + // InternalFiacre.g:9288:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,86,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPropertyImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + + } + // InternalFiacre.g:9301:4: ( (lv_right_3_0= rulePropertyImplication ) ) + // InternalFiacre.g:9302:5: (lv_right_3_0= rulePropertyImplication ) + { + // InternalFiacre.g:9302:5: (lv_right_3_0= rulePropertyImplication ) + // InternalFiacre.g:9303:6: lv_right_3_0= rulePropertyImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=rulePropertyImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPropertyImplicationRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePropertyImplication" + + + // $ANTLR start "entryRulePropertyConjunction" + // InternalFiacre.g:9325:1: entryRulePropertyConjunction returns [EObject current=null] : iv_rulePropertyConjunction= rulePropertyConjunction EOF ; + public final EObject entryRulePropertyConjunction() throws RecognitionException { + EObject current = null; + + EObject iv_rulePropertyConjunction = null; + + + try { + // InternalFiacre.g:9325:60: (iv_rulePropertyConjunction= rulePropertyConjunction EOF ) + // InternalFiacre.g:9326:2: iv_rulePropertyConjunction= rulePropertyConjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePropertyConjunction=rulePropertyConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePropertyConjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePropertyConjunction" + + + // $ANTLR start "rulePropertyConjunction" + // InternalFiacre.g:9332:1: rulePropertyConjunction returns [EObject current=null] : (this_PropertyNegation_0= rulePropertyNegation ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* ) ; + public final EObject rulePropertyConjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_PropertyNegation_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9338:2: ( (this_PropertyNegation_0= rulePropertyNegation ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* ) ) + // InternalFiacre.g:9339:2: (this_PropertyNegation_0= rulePropertyNegation ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* ) + { + // InternalFiacre.g:9339:2: (this_PropertyNegation_0= rulePropertyNegation ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* ) + // InternalFiacre.g:9340:3: this_PropertyNegation_0= rulePropertyNegation ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyConjunctionAccess().getPropertyNegationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + this_PropertyNegation_0=rulePropertyNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PropertyNegation_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:9351:3: ( () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) )* + loop147: + do { + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==87) ) { + alt147=1; + } + + + switch (alt147) { + case 1 : + // InternalFiacre.g:9352:4: () otherlv_2= 'and' ( (lv_right_3_0= rulePropertyNegation ) ) + { + // InternalFiacre.g:9352:4: () + // InternalFiacre.g:9353:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,87,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPropertyConjunctionAccess().getAndKeyword_1_1()); + + } + // InternalFiacre.g:9366:4: ( (lv_right_3_0= rulePropertyNegation ) ) + // InternalFiacre.g:9367:5: (lv_right_3_0= rulePropertyNegation ) + { + // InternalFiacre.g:9367:5: (lv_right_3_0= rulePropertyNegation ) + // InternalFiacre.g:9368:6: lv_right_3_0= rulePropertyNegation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + lv_right_3_0=rulePropertyNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPropertyConjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyNegation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop147; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePropertyConjunction" + + + // $ANTLR start "entryRulePropertyNegation" + // InternalFiacre.g:9390:1: entryRulePropertyNegation returns [EObject current=null] : iv_rulePropertyNegation= rulePropertyNegation EOF ; + public final EObject entryRulePropertyNegation() throws RecognitionException { + EObject current = null; + + EObject iv_rulePropertyNegation = null; + + + try { + // InternalFiacre.g:9390:57: (iv_rulePropertyNegation= rulePropertyNegation EOF ) + // InternalFiacre.g:9391:2: iv_rulePropertyNegation= rulePropertyNegation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPropertyNegationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePropertyNegation=rulePropertyNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePropertyNegation; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePropertyNegation" + + + // $ANTLR start "rulePropertyNegation" + // InternalFiacre.g:9397:1: rulePropertyNegation returns [EObject current=null] : ( ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) | this_AtomicProperty_3= ruleAtomicProperty ) ; + public final EObject rulePropertyNegation() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_child_2_0 = null; + + EObject this_AtomicProperty_3 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9403:2: ( ( ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) | this_AtomicProperty_3= ruleAtomicProperty ) ) + // InternalFiacre.g:9404:2: ( ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) | this_AtomicProperty_3= ruleAtomicProperty ) + { + // InternalFiacre.g:9404:2: ( ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) | this_AtomicProperty_3= ruleAtomicProperty ) + int alt148=2; + int LA148_0 = input.LA(1); + + if ( (LA148_0==95) ) { + alt148=1; + } + else if ( (LA148_0==RULE_ID||LA148_0==RULE_INT||LA148_0==16||(LA148_0>=116 && LA148_0<=120)||LA148_0==127||LA148_0==129||(LA148_0>=134 && LA148_0<=135)) ) { + alt148=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 148, 0, input); + + throw nvae; + } + switch (alt148) { + case 1 : + // InternalFiacre.g:9405:3: ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) + { + // InternalFiacre.g:9405:3: ( () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) ) + // InternalFiacre.g:9406:4: () otherlv_1= 'not' ( (lv_child_2_0= rulePropertyNegation ) ) + { + // InternalFiacre.g:9406:4: () + // InternalFiacre.g:9407:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getPropertyNegationAccess().getPropertyNegationAction_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,95,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPropertyNegationAccess().getNotKeyword_0_1()); + + } + // InternalFiacre.g:9420:4: ( (lv_child_2_0= rulePropertyNegation ) ) + // InternalFiacre.g:9421:5: (lv_child_2_0= rulePropertyNegation ) + { + // InternalFiacre.g:9421:5: (lv_child_2_0= rulePropertyNegation ) + // InternalFiacre.g:9422:6: lv_child_2_0= rulePropertyNegation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_2_0=rulePropertyNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPropertyNegationRule()); + } + set( + current, + "child", + lv_child_2_0, + "fr.irit.fiacre.xtext.Fiacre.PropertyNegation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:9441:3: this_AtomicProperty_3= ruleAtomicProperty + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPropertyNegationAccess().getAtomicPropertyParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AtomicProperty_3=ruleAtomicProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AtomicProperty_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePropertyNegation" + + + // $ANTLR start "entryRuleAtomicProperty" + // InternalFiacre.g:9456:1: entryRuleAtomicProperty returns [EObject current=null] : iv_ruleAtomicProperty= ruleAtomicProperty EOF ; + public final EObject entryRuleAtomicProperty() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAtomicProperty = null; + + + try { + // InternalFiacre.g:9456:55: (iv_ruleAtomicProperty= ruleAtomicProperty EOF ) + // InternalFiacre.g:9457:2: iv_ruleAtomicProperty= ruleAtomicProperty EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAtomicProperty=ruleAtomicProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAtomicProperty; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAtomicProperty" + + + // $ANTLR start "ruleAtomicProperty" + // InternalFiacre.g:9463:1: ruleAtomicProperty returns [EObject current=null] : (this_PatternProperty_0= rulePatternProperty | (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) ) ; + public final EObject ruleAtomicProperty() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject this_PatternProperty_0 = null; + + EObject this_Property_2 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9469:2: ( (this_PatternProperty_0= rulePatternProperty | (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) ) ) + // InternalFiacre.g:9470:2: (this_PatternProperty_0= rulePatternProperty | (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) ) + { + // InternalFiacre.g:9470:2: (this_PatternProperty_0= rulePatternProperty | (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) ) + int alt149=2; + alt149 = dfa149.predict(input); + switch (alt149) { + case 1 : + // InternalFiacre.g:9471:3: this_PatternProperty_0= rulePatternProperty + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicPropertyAccess().getPatternPropertyParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PatternProperty_0=rulePatternProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PatternProperty_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:9483:3: (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) + { + // InternalFiacre.g:9483:3: (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) + // InternalFiacre.g:9484:4: otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' + { + otherlv_1=(Token)match(input,16,FollowSets000.FOLLOW_104); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + + } + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicPropertyAccess().getPropertyParserRuleCall_1_1()); + + } + pushFollow(FollowSets000.FOLLOW_62); + this_Property_2=ruleProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Property_2; + afterParserOrEnumRuleCall(); + + } + otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getAtomicPropertyAccess().getRightParenthesisKeyword_1_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAtomicProperty" + + + // $ANTLR start "entryRulePatternProperty" + // InternalFiacre.g:9508:1: entryRulePatternProperty returns [EObject current=null] : iv_rulePatternProperty= rulePatternProperty EOF ; + public final EObject entryRulePatternProperty() throws RecognitionException { + EObject current = null; + + EObject iv_rulePatternProperty = null; + + + try { + // InternalFiacre.g:9508:56: (iv_rulePatternProperty= rulePatternProperty EOF ) + // InternalFiacre.g:9509:2: iv_rulePatternProperty= rulePatternProperty EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPatternPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePatternProperty=rulePatternProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePatternProperty; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePatternProperty" + + + // $ANTLR start "rulePatternProperty" + // InternalFiacre.g:9515:1: rulePatternProperty returns [EObject current=null] : (this_LTLPattern_0= ruleLTLPattern | this_DeadlockFreePattern_1= ruleDeadlockFreePattern | this_InfinitelyOftenPattern_2= ruleInfinitelyOftenPattern | this_MortalPattern_3= ruleMortalPattern | this_PresencePattern_4= rulePresencePattern | this_AbsencePattern_5= ruleAbsencePattern | this_AlwaysPattern_6= ruleAlwaysPattern | this_SequencePattern_7= ruleSequencePattern ) ; + public final EObject rulePatternProperty() throws RecognitionException { + EObject current = null; + + EObject this_LTLPattern_0 = null; + + EObject this_DeadlockFreePattern_1 = null; + + EObject this_InfinitelyOftenPattern_2 = null; + + EObject this_MortalPattern_3 = null; + + EObject this_PresencePattern_4 = null; + + EObject this_AbsencePattern_5 = null; + + EObject this_AlwaysPattern_6 = null; + + EObject this_SequencePattern_7 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9521:2: ( (this_LTLPattern_0= ruleLTLPattern | this_DeadlockFreePattern_1= ruleDeadlockFreePattern | this_InfinitelyOftenPattern_2= ruleInfinitelyOftenPattern | this_MortalPattern_3= ruleMortalPattern | this_PresencePattern_4= rulePresencePattern | this_AbsencePattern_5= ruleAbsencePattern | this_AlwaysPattern_6= ruleAlwaysPattern | this_SequencePattern_7= ruleSequencePattern ) ) + // InternalFiacre.g:9522:2: (this_LTLPattern_0= ruleLTLPattern | this_DeadlockFreePattern_1= ruleDeadlockFreePattern | this_InfinitelyOftenPattern_2= ruleInfinitelyOftenPattern | this_MortalPattern_3= ruleMortalPattern | this_PresencePattern_4= rulePresencePattern | this_AbsencePattern_5= ruleAbsencePattern | this_AlwaysPattern_6= ruleAlwaysPattern | this_SequencePattern_7= ruleSequencePattern ) + { + // InternalFiacre.g:9522:2: (this_LTLPattern_0= ruleLTLPattern | this_DeadlockFreePattern_1= ruleDeadlockFreePattern | this_InfinitelyOftenPattern_2= ruleInfinitelyOftenPattern | this_MortalPattern_3= ruleMortalPattern | this_PresencePattern_4= rulePresencePattern | this_AbsencePattern_5= ruleAbsencePattern | this_AlwaysPattern_6= ruleAlwaysPattern | this_SequencePattern_7= ruleSequencePattern ) + int alt150=8; + switch ( input.LA(1) ) { + case 116: + { + alt150=1; + } + break; + case 117: + { + alt150=2; + } + break; + case 118: + { + alt150=3; + } + break; + case 119: + { + alt150=4; + } + break; + case 120: + { + alt150=5; + } + break; + case 127: + { + alt150=6; + } + break; + case 129: + { + alt150=7; + } + break; + case RULE_ID: + case RULE_INT: + case 16: + case 134: + case 135: + { + alt150=8; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 150, 0, input); + + throw nvae; + } + + switch (alt150) { + case 1 : + // InternalFiacre.g:9523:3: this_LTLPattern_0= ruleLTLPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getLTLPatternParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LTLPattern_0=ruleLTLPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLPattern_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:9535:3: this_DeadlockFreePattern_1= ruleDeadlockFreePattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getDeadlockFreePatternParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_DeadlockFreePattern_1=ruleDeadlockFreePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_DeadlockFreePattern_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:9547:3: this_InfinitelyOftenPattern_2= ruleInfinitelyOftenPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getInfinitelyOftenPatternParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_InfinitelyOftenPattern_2=ruleInfinitelyOftenPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_InfinitelyOftenPattern_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:9559:3: this_MortalPattern_3= ruleMortalPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getMortalPatternParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_MortalPattern_3=ruleMortalPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_MortalPattern_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 5 : + // InternalFiacre.g:9571:3: this_PresencePattern_4= rulePresencePattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getPresencePatternParserRuleCall_4()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PresencePattern_4=rulePresencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PresencePattern_4; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 6 : + // InternalFiacre.g:9583:3: this_AbsencePattern_5= ruleAbsencePattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getAbsencePatternParserRuleCall_5()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AbsencePattern_5=ruleAbsencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AbsencePattern_5; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 7 : + // InternalFiacre.g:9595:3: this_AlwaysPattern_6= ruleAlwaysPattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getAlwaysPatternParserRuleCall_6()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AlwaysPattern_6=ruleAlwaysPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AlwaysPattern_6; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 8 : + // InternalFiacre.g:9607:3: this_SequencePattern_7= ruleSequencePattern + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternPropertyAccess().getSequencePatternParserRuleCall_7()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_SequencePattern_7=ruleSequencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_SequencePattern_7; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePatternProperty" + + + // $ANTLR start "entryRuleLTLPattern" + // InternalFiacre.g:9622:1: entryRuleLTLPattern returns [EObject current=null] : iv_ruleLTLPattern= ruleLTLPattern EOF ; + public final EObject entryRuleLTLPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLPattern = null; + + + try { + // InternalFiacre.g:9622:51: (iv_ruleLTLPattern= ruleLTLPattern EOF ) + // InternalFiacre.g:9623:2: iv_ruleLTLPattern= ruleLTLPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLPattern=ruleLTLPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLPattern" + + + // $ANTLR start "ruleLTLPattern" + // InternalFiacre.g:9629:1: ruleLTLPattern returns [EObject current=null] : (otherlv_0= 'ltl' ( (lv_property_1_0= ruleLTLUnary ) ) ) ; + public final EObject ruleLTLPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_property_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9635:2: ( (otherlv_0= 'ltl' ( (lv_property_1_0= ruleLTLUnary ) ) ) ) + // InternalFiacre.g:9636:2: (otherlv_0= 'ltl' ( (lv_property_1_0= ruleLTLUnary ) ) ) + { + // InternalFiacre.g:9636:2: (otherlv_0= 'ltl' ( (lv_property_1_0= ruleLTLUnary ) ) ) + // InternalFiacre.g:9637:3: otherlv_0= 'ltl' ( (lv_property_1_0= ruleLTLUnary ) ) + { + otherlv_0=(Token)match(input,116,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getLTLPatternAccess().getLtlKeyword_0()); + + } + // InternalFiacre.g:9641:3: ( (lv_property_1_0= ruleLTLUnary ) ) + // InternalFiacre.g:9642:4: (lv_property_1_0= ruleLTLUnary ) + { + // InternalFiacre.g:9642:4: (lv_property_1_0= ruleLTLUnary ) + // InternalFiacre.g:9643:5: lv_property_1_0= ruleLTLUnary + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_property_1_0=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLPatternRule()); + } + set( + current, + "property", + lv_property_1_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLPattern" + + + // $ANTLR start "entryRuleDeadlockFreePattern" + // InternalFiacre.g:9664:1: entryRuleDeadlockFreePattern returns [EObject current=null] : iv_ruleDeadlockFreePattern= ruleDeadlockFreePattern EOF ; + public final EObject entryRuleDeadlockFreePattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDeadlockFreePattern = null; + + + try { + // InternalFiacre.g:9664:60: (iv_ruleDeadlockFreePattern= ruleDeadlockFreePattern EOF ) + // InternalFiacre.g:9665:2: iv_ruleDeadlockFreePattern= ruleDeadlockFreePattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getDeadlockFreePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleDeadlockFreePattern=ruleDeadlockFreePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleDeadlockFreePattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDeadlockFreePattern" + + + // $ANTLR start "ruleDeadlockFreePattern" + // InternalFiacre.g:9671:1: ruleDeadlockFreePattern returns [EObject current=null] : ( () otherlv_1= 'deadlockfree' ) ; + public final EObject ruleDeadlockFreePattern() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:9677:2: ( ( () otherlv_1= 'deadlockfree' ) ) + // InternalFiacre.g:9678:2: ( () otherlv_1= 'deadlockfree' ) + { + // InternalFiacre.g:9678:2: ( () otherlv_1= 'deadlockfree' ) + // InternalFiacre.g:9679:3: () otherlv_1= 'deadlockfree' + { + // InternalFiacre.g:9679:3: () + // InternalFiacre.g:9680:4: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getDeadlockFreePatternAccess().getDeadlockFreePatternAction_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getDeadlockFreePatternAccess().getDeadlockfreeKeyword_1()); + + } + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDeadlockFreePattern" + + + // $ANTLR start "entryRuleInfinitelyOftenPattern" + // InternalFiacre.g:9697:1: entryRuleInfinitelyOftenPattern returns [EObject current=null] : iv_ruleInfinitelyOftenPattern= ruleInfinitelyOftenPattern EOF ; + public final EObject entryRuleInfinitelyOftenPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInfinitelyOftenPattern = null; + + + try { + // InternalFiacre.g:9697:63: (iv_ruleInfinitelyOftenPattern= ruleInfinitelyOftenPattern EOF ) + // InternalFiacre.g:9698:2: iv_ruleInfinitelyOftenPattern= ruleInfinitelyOftenPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getInfinitelyOftenPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleInfinitelyOftenPattern=ruleInfinitelyOftenPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleInfinitelyOftenPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInfinitelyOftenPattern" + + + // $ANTLR start "ruleInfinitelyOftenPattern" + // InternalFiacre.g:9704:1: ruleInfinitelyOftenPattern returns [EObject current=null] : (otherlv_0= 'infinitelyoften' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ; + public final EObject ruleInfinitelyOftenPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_subject_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9710:2: ( (otherlv_0= 'infinitelyoften' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ) + // InternalFiacre.g:9711:2: (otherlv_0= 'infinitelyoften' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:9711:2: (otherlv_0= 'infinitelyoften' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:9712:3: otherlv_0= 'infinitelyoften' ( (lv_subject_1_0= ruleAtomicObservable ) ) + { + otherlv_0=(Token)match(input,118,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getInfinitelyOftenPatternAccess().getInfinitelyoftenKeyword_0()); + + } + // InternalFiacre.g:9716:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9717:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9717:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:9718:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInfinitelyOftenPatternRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInfinitelyOftenPattern" + + + // $ANTLR start "entryRuleMortalPattern" + // InternalFiacre.g:9739:1: entryRuleMortalPattern returns [EObject current=null] : iv_ruleMortalPattern= ruleMortalPattern EOF ; + public final EObject entryRuleMortalPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMortalPattern = null; + + + try { + // InternalFiacre.g:9739:54: (iv_ruleMortalPattern= ruleMortalPattern EOF ) + // InternalFiacre.g:9740:2: iv_ruleMortalPattern= ruleMortalPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getMortalPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleMortalPattern=ruleMortalPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleMortalPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMortalPattern" + + + // $ANTLR start "ruleMortalPattern" + // InternalFiacre.g:9746:1: ruleMortalPattern returns [EObject current=null] : (otherlv_0= 'mortal' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ; + public final EObject ruleMortalPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_subject_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9752:2: ( (otherlv_0= 'mortal' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ) + // InternalFiacre.g:9753:2: (otherlv_0= 'mortal' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:9753:2: (otherlv_0= 'mortal' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:9754:3: otherlv_0= 'mortal' ( (lv_subject_1_0= ruleAtomicObservable ) ) + { + otherlv_0=(Token)match(input,119,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getMortalPatternAccess().getMortalKeyword_0()); + + } + // InternalFiacre.g:9758:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9759:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9759:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:9760:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMortalPatternRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMortalPattern" + + + // $ANTLR start "entryRulePresencePattern" + // InternalFiacre.g:9781:1: entryRulePresencePattern returns [EObject current=null] : iv_rulePresencePattern= rulePresencePattern EOF ; + public final EObject entryRulePresencePattern() throws RecognitionException { + EObject current = null; + + EObject iv_rulePresencePattern = null; + + + try { + // InternalFiacre.g:9781:56: (iv_rulePresencePattern= rulePresencePattern EOF ) + // InternalFiacre.g:9782:2: iv_rulePresencePattern= rulePresencePattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPresencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePresencePattern=rulePresencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePresencePattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePresencePattern" + + + // $ANTLR start "rulePresencePattern" + // InternalFiacre.g:9788:1: rulePresencePattern returns [EObject current=null] : (otherlv_0= 'present' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? ) ; + public final EObject rulePresencePattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token lv_lasting_3_0=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_18=null; + Token otherlv_20=null; + EObject lv_subject_1_0 = null; + + EObject lv_after_5_0 = null; + + EObject lv_lower_7_0 = null; + + EObject lv_upper_9_0 = null; + + EObject lv_until_11_0 = null; + + EObject lv_before_13_0 = null; + + EObject lv_lower_15_0 = null; + + EObject lv_upper_17_0 = null; + + EObject lv_min_19_0 = null; + + EObject lv_max_21_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:9794:2: ( (otherlv_0= 'present' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? ) ) + // InternalFiacre.g:9795:2: (otherlv_0= 'present' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:9795:2: (otherlv_0= 'present' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:9796:3: otherlv_0= 'present' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? + { + otherlv_0=(Token)match(input,120,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getPresencePatternAccess().getPresentKeyword_0()); + + } + // InternalFiacre.g:9800:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9801:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9801:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:9802:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_107); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:9819:3: ( (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) | ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) | (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) )? + int alt153=5; + switch ( input.LA(1) ) { + case 121: + { + alt153=1; + } + break; + case 122: + { + alt153=2; + } + break; + case 125: + { + alt153=3; + } + break; + case 126: + { + alt153=4; + } + break; + } + + switch (alt153) { + case 1 : + // InternalFiacre.g:9820:4: (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) + { + // InternalFiacre.g:9820:4: (otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) ) + // InternalFiacre.g:9821:5: otherlv_2= 'lasting' ( (lv_lasting_3_0= RULE_INT ) ) + { + otherlv_2=(Token)match(input,121,FollowSets000.FOLLOW_63); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getPresencePatternAccess().getLastingKeyword_2_0_0()); + + } + // InternalFiacre.g:9825:5: ( (lv_lasting_3_0= RULE_INT ) ) + // InternalFiacre.g:9826:6: (lv_lasting_3_0= RULE_INT ) + { + // InternalFiacre.g:9826:6: (lv_lasting_3_0= RULE_INT ) + // InternalFiacre.g:9827:7: lv_lasting_3_0= RULE_INT + { + lv_lasting_3_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_lasting_3_0, grammarAccess.getPresencePatternAccess().getLastingINTTerminalRuleCall_2_0_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getPresencePatternRule()); + } + setWithLastConsumed( + current, + "lasting", + lv_lasting_3_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:9845:4: ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:9845:4: ( (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:9846:5: (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? + { + // InternalFiacre.g:9846:5: (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:9847:6: otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) + { + otherlv_4=(Token)match(input,122,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getPresencePatternAccess().getAfterKeyword_2_1_0_0()); + + } + // InternalFiacre.g:9851:6: ( (lv_after_5_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9852:7: (lv_after_5_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9852:7: (lv_after_5_0= ruleAtomicObservable ) + // InternalFiacre.g:9853:8: lv_after_5_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getAfterAtomicObservableParserRuleCall_2_1_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_108); + lv_after_5_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "after", + lv_after_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + // InternalFiacre.g:9871:5: ( (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) | (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) )? + int alt151=3; + int LA151_0 = input.LA(1); + + if ( (LA151_0==123) ) { + alt151=1; + } + else if ( (LA151_0==124) ) { + alt151=2; + } + switch (alt151) { + case 1 : + // InternalFiacre.g:9872:6: (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) + { + // InternalFiacre.g:9872:6: (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) ) + // InternalFiacre.g:9873:7: otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) + { + otherlv_6=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getPresencePatternAccess().getWithinKeyword_2_1_1_0_0()); + + } + // InternalFiacre.g:9877:7: ( (lv_lower_7_0= ruleLowerBound ) ) + // InternalFiacre.g:9878:8: (lv_lower_7_0= ruleLowerBound ) + { + // InternalFiacre.g:9878:8: (lv_lower_7_0= ruleLowerBound ) + // InternalFiacre.g:9879:9: lv_lower_7_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_7_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "lower", + lv_lower_7_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getPresencePatternAccess().getCommaKeyword_2_1_1_0_2()); + + } + // InternalFiacre.g:9900:7: ( (lv_upper_9_0= ruleUpperBound ) ) + // InternalFiacre.g:9901:8: (lv_upper_9_0= ruleUpperBound ) + { + // InternalFiacre.g:9901:8: (lv_upper_9_0= ruleUpperBound ) + // InternalFiacre.g:9902:9: lv_upper_9_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_0_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_9_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "upper", + lv_upper_9_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:9921:6: (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:9921:6: (otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:9922:7: otherlv_10= 'until' ( (lv_until_11_0= ruleAtomicObservable ) ) + { + otherlv_10=(Token)match(input,124,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getPresencePatternAccess().getUntilKeyword_2_1_1_1_0()); + + } + // InternalFiacre.g:9926:7: ( (lv_until_11_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9927:8: (lv_until_11_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9927:8: (lv_until_11_0= ruleAtomicObservable ) + // InternalFiacre.g:9928:9: lv_until_11_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_until_11_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "until", + lv_until_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:9949:4: ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) + { + // InternalFiacre.g:9949:4: ( (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? ) + // InternalFiacre.g:9950:5: (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? + { + // InternalFiacre.g:9950:5: (otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:9951:6: otherlv_12= 'before' ( (lv_before_13_0= ruleAtomicObservable ) ) + { + otherlv_12=(Token)match(input,125,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getPresencePatternAccess().getBeforeKeyword_2_2_0_0()); + + } + // InternalFiacre.g:9955:6: ( (lv_before_13_0= ruleAtomicObservable ) ) + // InternalFiacre.g:9956:7: (lv_before_13_0= ruleAtomicObservable ) + { + // InternalFiacre.g:9956:7: (lv_before_13_0= ruleAtomicObservable ) + // InternalFiacre.g:9957:8: lv_before_13_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_2_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_109); + lv_before_13_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "before", + lv_before_13_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + // InternalFiacre.g:9975:5: (otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) )? + int alt152=2; + int LA152_0 = input.LA(1); + + if ( (LA152_0==123) ) { + alt152=1; + } + switch (alt152) { + case 1 : + // InternalFiacre.g:9976:6: otherlv_14= 'within' ( (lv_lower_15_0= ruleLowerBound ) ) otherlv_16= ',' ( (lv_upper_17_0= ruleUpperBound ) ) + { + otherlv_14=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_14, grammarAccess.getPresencePatternAccess().getWithinKeyword_2_2_1_0()); + + } + // InternalFiacre.g:9980:6: ( (lv_lower_15_0= ruleLowerBound ) ) + // InternalFiacre.g:9981:7: (lv_lower_15_0= ruleLowerBound ) + { + // InternalFiacre.g:9981:7: (lv_lower_15_0= ruleLowerBound ) + // InternalFiacre.g:9982:8: lv_lower_15_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getLowerLowerBoundParserRuleCall_2_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_15_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "lower", + lv_lower_15_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_16=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_16, grammarAccess.getPresencePatternAccess().getCommaKeyword_2_2_1_2()); + + } + // InternalFiacre.g:10003:6: ( (lv_upper_17_0= ruleUpperBound ) ) + // InternalFiacre.g:10004:7: (lv_upper_17_0= ruleUpperBound ) + { + // InternalFiacre.g:10004:7: (lv_upper_17_0= ruleUpperBound ) + // InternalFiacre.g:10005:8: lv_upper_17_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getUpperUpperBoundParserRuleCall_2_2_1_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_17_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "upper", + lv_upper_17_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 4 : + // InternalFiacre.g:10025:4: (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10025:4: (otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10026:5: otherlv_18= 'between' ( (lv_min_19_0= ruleAtomicObservable ) ) otherlv_20= 'and' ( (lv_max_21_0= ruleAtomicObservable ) ) + { + otherlv_18=(Token)match(input,126,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_18, grammarAccess.getPresencePatternAccess().getBetweenKeyword_2_3_0()); + + } + // InternalFiacre.g:10030:5: ( (lv_min_19_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10031:6: (lv_min_19_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10031:6: (lv_min_19_0= ruleAtomicObservable ) + // InternalFiacre.g:10032:7: lv_min_19_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getMinAtomicObservableParserRuleCall_2_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_110); + lv_min_19_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "min", + lv_min_19_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_20=(Token)match(input,87,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getPresencePatternAccess().getAndKeyword_2_3_2()); + + } + // InternalFiacre.g:10053:5: ( (lv_max_21_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10054:6: (lv_max_21_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10054:6: (lv_max_21_0= ruleAtomicObservable ) + // InternalFiacre.g:10055:7: lv_max_21_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPresencePatternAccess().getMaxAtomicObservableParserRuleCall_2_3_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_max_21_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPresencePatternRule()); + } + set( + current, + "max", + lv_max_21_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePresencePattern" + + + // $ANTLR start "entryRuleAbsencePattern" + // InternalFiacre.g:10078:1: entryRuleAbsencePattern returns [EObject current=null] : iv_ruleAbsencePattern= ruleAbsencePattern EOF ; + public final EObject entryRuleAbsencePattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAbsencePattern = null; + + + try { + // InternalFiacre.g:10078:55: (iv_ruleAbsencePattern= ruleAbsencePattern EOF ) + // InternalFiacre.g:10079:2: iv_ruleAbsencePattern= ruleAbsencePattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAbsencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAbsencePattern=ruleAbsencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAbsencePattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAbsencePattern" + + + // $ANTLR start "ruleAbsencePattern" + // InternalFiacre.g:10085:1: ruleAbsencePattern returns [EObject current=null] : (otherlv_0= 'absent' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? ) ; + public final EObject ruleAbsencePattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_18=null; + EObject lv_subject_1_0 = null; + + EObject lv_after_3_0 = null; + + EObject lv_lower_5_0 = null; + + EObject lv_upper_7_0 = null; + + EObject lv_until_9_0 = null; + + EObject lv_before_11_0 = null; + + EObject lv_lower_13_0 = null; + + EObject lv_upper_15_0 = null; + + EObject lv_min_17_0 = null; + + EObject lv_max_19_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:10091:2: ( (otherlv_0= 'absent' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? ) ) + // InternalFiacre.g:10092:2: (otherlv_0= 'absent' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10092:2: (otherlv_0= 'absent' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10093:3: otherlv_0= 'absent' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? + { + otherlv_0=(Token)match(input,127,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getAbsencePatternAccess().getAbsentKeyword_0()); + + } + // InternalFiacre.g:10097:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10098:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10098:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:10099:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_111); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10116:3: ( ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) | ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) | (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) )? + int alt156=4; + switch ( input.LA(1) ) { + case 122: + { + alt156=1; + } + break; + case 125: + { + alt156=2; + } + break; + case 126: + { + alt156=3; + } + break; + } + + switch (alt156) { + case 1 : + // InternalFiacre.g:10117:4: ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10117:4: ( (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10118:5: (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? + { + // InternalFiacre.g:10118:5: (otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10119:6: otherlv_2= 'after' ( (lv_after_3_0= ruleAtomicObservable ) ) + { + otherlv_2=(Token)match(input,122,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getAbsencePatternAccess().getAfterKeyword_2_0_0_0()); + + } + // InternalFiacre.g:10123:6: ( (lv_after_3_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10124:7: (lv_after_3_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10124:7: (lv_after_3_0= ruleAtomicObservable ) + // InternalFiacre.g:10125:8: lv_after_3_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getAfterAtomicObservableParserRuleCall_2_0_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_108); + lv_after_3_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "after", + lv_after_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + // InternalFiacre.g:10143:5: ( (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) | (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) )? + int alt154=3; + int LA154_0 = input.LA(1); + + if ( (LA154_0==123) ) { + alt154=1; + } + else if ( (LA154_0==124) ) { + alt154=2; + } + switch (alt154) { + case 1 : + // InternalFiacre.g:10144:6: (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) + { + // InternalFiacre.g:10144:6: (otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) ) + // InternalFiacre.g:10145:7: otherlv_4= 'within' ( (lv_lower_5_0= ruleLowerBound ) ) otherlv_6= ',' ( (lv_upper_7_0= ruleUpperBound ) ) + { + otherlv_4=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getAbsencePatternAccess().getWithinKeyword_2_0_1_0_0()); + + } + // InternalFiacre.g:10149:7: ( (lv_lower_5_0= ruleLowerBound ) ) + // InternalFiacre.g:10150:8: (lv_lower_5_0= ruleLowerBound ) + { + // InternalFiacre.g:10150:8: (lv_lower_5_0= ruleLowerBound ) + // InternalFiacre.g:10151:9: lv_lower_5_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_0_1_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_5_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "lower", + lv_lower_5_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_0_1_0_2()); + + } + // InternalFiacre.g:10172:7: ( (lv_upper_7_0= ruleUpperBound ) ) + // InternalFiacre.g:10173:8: (lv_upper_7_0= ruleUpperBound ) + { + // InternalFiacre.g:10173:8: (lv_upper_7_0= ruleUpperBound ) + // InternalFiacre.g:10174:9: lv_upper_7_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_0_1_0_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_7_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "upper", + lv_upper_7_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10193:6: (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10193:6: (otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10194:7: otherlv_8= 'until' ( (lv_until_9_0= ruleAtomicObservable ) ) + { + otherlv_8=(Token)match(input,124,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getAbsencePatternAccess().getUntilKeyword_2_0_1_1_0()); + + } + // InternalFiacre.g:10198:7: ( (lv_until_9_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10199:8: (lv_until_9_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10199:8: (lv_until_9_0= ruleAtomicObservable ) + // InternalFiacre.g:10200:9: lv_until_9_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_until_9_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "until", + lv_until_9_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10221:4: ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) + { + // InternalFiacre.g:10221:4: ( (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? ) + // InternalFiacre.g:10222:5: (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? + { + // InternalFiacre.g:10222:5: (otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10223:6: otherlv_10= 'before' ( (lv_before_11_0= ruleAtomicObservable ) ) + { + otherlv_10=(Token)match(input,125,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getAbsencePatternAccess().getBeforeKeyword_2_1_0_0()); + + } + // InternalFiacre.g:10227:6: ( (lv_before_11_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10228:7: (lv_before_11_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10228:7: (lv_before_11_0= ruleAtomicObservable ) + // InternalFiacre.g:10229:8: lv_before_11_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getBeforeAtomicObservableParserRuleCall_2_1_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_112); + lv_before_11_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "before", + lv_before_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + // InternalFiacre.g:10247:5: (otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) )? + int alt155=2; + int LA155_0 = input.LA(1); + + if ( (LA155_0==128) ) { + alt155=1; + } + switch (alt155) { + case 1 : + // InternalFiacre.g:10248:6: otherlv_12= 'for' ( (lv_lower_13_0= ruleLowerBound ) ) otherlv_14= ',' ( (lv_upper_15_0= ruleUpperBound ) ) + { + otherlv_12=(Token)match(input,128,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getAbsencePatternAccess().getForKeyword_2_1_1_0()); + + } + // InternalFiacre.g:10252:6: ( (lv_lower_13_0= ruleLowerBound ) ) + // InternalFiacre.g:10253:7: (lv_lower_13_0= ruleLowerBound ) + { + // InternalFiacre.g:10253:7: (lv_lower_13_0= ruleLowerBound ) + // InternalFiacre.g:10254:8: lv_lower_13_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getLowerLowerBoundParserRuleCall_2_1_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_13_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "lower", + lv_lower_13_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_14=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_14, grammarAccess.getAbsencePatternAccess().getCommaKeyword_2_1_1_2()); + + } + // InternalFiacre.g:10275:6: ( (lv_upper_15_0= ruleUpperBound ) ) + // InternalFiacre.g:10276:7: (lv_upper_15_0= ruleUpperBound ) + { + // InternalFiacre.g:10276:7: (lv_upper_15_0= ruleUpperBound ) + // InternalFiacre.g:10277:8: lv_upper_15_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getUpperUpperBoundParserRuleCall_2_1_1_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_15_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "upper", + lv_upper_15_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:10297:4: (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10297:4: (otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10298:5: otherlv_16= 'between' ( (lv_min_17_0= ruleAtomicObservable ) ) otherlv_18= 'and' ( (lv_max_19_0= ruleAtomicObservable ) ) + { + otherlv_16=(Token)match(input,126,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_16, grammarAccess.getAbsencePatternAccess().getBetweenKeyword_2_2_0()); + + } + // InternalFiacre.g:10302:5: ( (lv_min_17_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10303:6: (lv_min_17_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10303:6: (lv_min_17_0= ruleAtomicObservable ) + // InternalFiacre.g:10304:7: lv_min_17_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_110); + lv_min_17_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "min", + lv_min_17_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_18=(Token)match(input,87,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_18, grammarAccess.getAbsencePatternAccess().getAndKeyword_2_2_2()); + + } + // InternalFiacre.g:10325:5: ( (lv_max_19_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10326:6: (lv_max_19_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10326:6: (lv_max_19_0= ruleAtomicObservable ) + // InternalFiacre.g:10327:7: lv_max_19_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAbsencePatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_max_19_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAbsencePatternRule()); + } + set( + current, + "max", + lv_max_19_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAbsencePattern" + + + // $ANTLR start "entryRuleAlwaysPattern" + // InternalFiacre.g:10350:1: entryRuleAlwaysPattern returns [EObject current=null] : iv_ruleAlwaysPattern= ruleAlwaysPattern EOF ; + public final EObject entryRuleAlwaysPattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAlwaysPattern = null; + + + try { + // InternalFiacre.g:10350:54: (iv_ruleAlwaysPattern= ruleAlwaysPattern EOF ) + // InternalFiacre.g:10351:2: iv_ruleAlwaysPattern= ruleAlwaysPattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAlwaysPatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAlwaysPattern=ruleAlwaysPattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAlwaysPattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAlwaysPattern" + + + // $ANTLR start "ruleAlwaysPattern" + // InternalFiacre.g:10357:1: ruleAlwaysPattern returns [EObject current=null] : (otherlv_0= 'always' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? ) ; + public final EObject ruleAlwaysPattern() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + EObject lv_subject_1_0 = null; + + EObject lv_before_3_0 = null; + + EObject lv_after_5_0 = null; + + EObject lv_until_7_0 = null; + + EObject lv_min_9_0 = null; + + EObject lv_max_11_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:10363:2: ( (otherlv_0= 'always' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? ) ) + // InternalFiacre.g:10364:2: (otherlv_0= 'always' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10364:2: (otherlv_0= 'always' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10365:3: otherlv_0= 'always' ( (lv_subject_1_0= ruleAtomicObservable ) ) ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? + { + otherlv_0=(Token)match(input,129,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getAlwaysPatternAccess().getAlwaysKeyword_0()); + + } + // InternalFiacre.g:10369:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10370:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10370:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:10371:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_111); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10388:3: ( (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) | (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) | (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) )? + int alt158=4; + switch ( input.LA(1) ) { + case 125: + { + alt158=1; + } + break; + case 122: + { + alt158=2; + } + break; + case 126: + { + alt158=3; + } + break; + } + + switch (alt158) { + case 1 : + // InternalFiacre.g:10389:4: (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10389:4: (otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10390:5: otherlv_2= 'before' ( (lv_before_3_0= ruleAtomicObservable ) ) + { + otherlv_2=(Token)match(input,125,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getAlwaysPatternAccess().getBeforeKeyword_2_0_0()); + + } + // InternalFiacre.g:10394:5: ( (lv_before_3_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10395:6: (lv_before_3_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10395:6: (lv_before_3_0= ruleAtomicObservable ) + // InternalFiacre.g:10396:7: lv_before_3_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getBeforeAtomicObservableParserRuleCall_2_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_before_3_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "before", + lv_before_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10415:4: (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) + { + // InternalFiacre.g:10415:4: (otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? ) + // InternalFiacre.g:10416:5: otherlv_4= 'after' ( (lv_after_5_0= ruleAtomicObservable ) ) (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? + { + otherlv_4=(Token)match(input,122,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getAlwaysPatternAccess().getAfterKeyword_2_1_0()); + + } + // InternalFiacre.g:10420:5: ( (lv_after_5_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10421:6: (lv_after_5_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10421:6: (lv_after_5_0= ruleAtomicObservable ) + // InternalFiacre.g:10422:7: lv_after_5_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getAfterAtomicObservableParserRuleCall_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_113); + lv_after_5_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "after", + lv_after_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10439:5: (otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) )? + int alt157=2; + int LA157_0 = input.LA(1); + + if ( (LA157_0==124) ) { + alt157=1; + } + switch (alt157) { + case 1 : + // InternalFiacre.g:10440:6: otherlv_6= 'until' ( (lv_until_7_0= ruleAtomicObservable ) ) + { + otherlv_6=(Token)match(input,124,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getAlwaysPatternAccess().getUntilKeyword_2_1_2_0()); + + } + // InternalFiacre.g:10444:6: ( (lv_until_7_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10445:7: (lv_until_7_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10445:7: (lv_until_7_0= ruleAtomicObservable ) + // InternalFiacre.g:10446:8: lv_until_7_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getUntilAtomicObservableParserRuleCall_2_1_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_until_7_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "until", + lv_until_7_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:10466:4: (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10466:4: (otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10467:5: otherlv_8= 'between' ( (lv_min_9_0= ruleAtomicObservable ) ) otherlv_10= 'and' ( (lv_max_11_0= ruleAtomicObservable ) ) + { + otherlv_8=(Token)match(input,126,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getAlwaysPatternAccess().getBetweenKeyword_2_2_0()); + + } + // InternalFiacre.g:10471:5: ( (lv_min_9_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10472:6: (lv_min_9_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10472:6: (lv_min_9_0= ruleAtomicObservable ) + // InternalFiacre.g:10473:7: lv_min_9_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getMinAtomicObservableParserRuleCall_2_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_110); + lv_min_9_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "min", + lv_min_9_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_10=(Token)match(input,87,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getAlwaysPatternAccess().getAndKeyword_2_2_2()); + + } + // InternalFiacre.g:10494:5: ( (lv_max_11_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10495:6: (lv_max_11_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10495:6: (lv_max_11_0= ruleAtomicObservable ) + // InternalFiacre.g:10496:7: lv_max_11_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAlwaysPatternAccess().getMaxAtomicObservableParserRuleCall_2_2_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_max_11_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAlwaysPatternRule()); + } + set( + current, + "max", + lv_max_11_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAlwaysPattern" + + + // $ANTLR start "entryRuleSequencePattern" + // InternalFiacre.g:10519:1: entryRuleSequencePattern returns [EObject current=null] : iv_ruleSequencePattern= ruleSequencePattern EOF ; + public final EObject entryRuleSequencePattern() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSequencePattern = null; + + + try { + // InternalFiacre.g:10519:56: (iv_ruleSequencePattern= ruleSequencePattern EOF ) + // InternalFiacre.g:10520:2: iv_ruleSequencePattern= ruleSequencePattern EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getSequencePatternRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleSequencePattern=ruleSequencePattern(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleSequencePattern; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSequencePattern" + + + // $ANTLR start "ruleSequencePattern" + // InternalFiacre.g:10526:1: ruleSequencePattern returns [EObject current=null] : (this_AtomicObservable_0= ruleAtomicObservable ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) ) ; + public final EObject ruleSequencePattern() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_29=null; + Token otherlv_31=null; + Token otherlv_33=null; + Token otherlv_35=null; + Token otherlv_37=null; + EObject this_AtomicObservable_0 = null; + + EObject lv_follower_3_0 = null; + + EObject lv_before_5_0 = null; + + EObject lv_lower_7_0 = null; + + EObject lv_upper_9_0 = null; + + EObject lv_lower_11_0 = null; + + EObject lv_upper_13_0 = null; + + EObject lv_after_15_0 = null; + + EObject lv_lower_17_0 = null; + + EObject lv_upper_19_0 = null; + + EObject lv_until_21_0 = null; + + EObject lv_min_23_0 = null; + + EObject lv_max_25_0 = null; + + EObject lv_follower_28_0 = null; + + EObject lv_before_30_0 = null; + + EObject lv_after_32_0 = null; + + EObject lv_until_34_0 = null; + + EObject lv_min_36_0 = null; + + EObject lv_max_38_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:10532:2: ( (this_AtomicObservable_0= ruleAtomicObservable ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) ) ) + // InternalFiacre.g:10533:2: (this_AtomicObservable_0= ruleAtomicObservable ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) ) + { + // InternalFiacre.g:10533:2: (this_AtomicObservable_0= ruleAtomicObservable ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) ) + // InternalFiacre.g:10534:3: this_AtomicObservable_0= ruleAtomicObservable ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getAtomicObservableParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_114); + this_AtomicObservable_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AtomicObservable_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:10545:3: ( (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) ) + int alt164=2; + int LA164_0 = input.LA(1); + + if ( (LA164_0==130) ) { + alt164=1; + } + else if ( (LA164_0==131) ) { + alt164=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 164, 0, input); + + throw nvae; + } + switch (alt164) { + case 1 : + // InternalFiacre.g:10546:4: (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10546:4: (otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10547:5: otherlv_1= 'leadsto' () ( (lv_follower_3_0= ruleAtomicObservable ) ) ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? + { + otherlv_1=(Token)match(input,130,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getSequencePatternAccess().getLeadstoKeyword_1_0_0()); + + } + // InternalFiacre.g:10551:5: () + // InternalFiacre.g:10552:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getSequencePatternAccess().getLeadsToPatternSubjectAction_1_0_1(), + current); + + } + + } + + // InternalFiacre.g:10561:5: ( (lv_follower_3_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10562:6: (lv_follower_3_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10562:6: (lv_follower_3_0= ruleAtomicObservable ) + // InternalFiacre.g:10563:7: lv_follower_3_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_115); + lv_follower_3_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "follower", + lv_follower_3_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10580:5: ( (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) | (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) | (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) | (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) )? + int alt161=5; + switch ( input.LA(1) ) { + case 125: + { + alt161=1; + } + break; + case 123: + { + alt161=2; + } + break; + case 122: + { + alt161=3; + } + break; + case 126: + { + alt161=4; + } + break; + } + + switch (alt161) { + case 1 : + // InternalFiacre.g:10581:6: (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) + { + // InternalFiacre.g:10581:6: (otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? ) + // InternalFiacre.g:10582:7: otherlv_4= 'before' ( (lv_before_5_0= ruleAtomicObservable ) ) (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? + { + otherlv_4=(Token)match(input,125,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_4, grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_0_3_0_0()); + + } + // InternalFiacre.g:10586:7: ( (lv_before_5_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10587:8: (lv_before_5_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10587:8: (lv_before_5_0= ruleAtomicObservable ) + // InternalFiacre.g:10588:9: lv_before_5_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_109); + lv_before_5_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "before", + lv_before_5_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10605:7: (otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) )? + int alt159=2; + int LA159_0 = input.LA(1); + + if ( (LA159_0==123) ) { + alt159=1; + } + switch (alt159) { + case 1 : + // InternalFiacre.g:10606:8: otherlv_6= 'within' ( (lv_lower_7_0= ruleLowerBound ) ) otherlv_8= ',' ( (lv_upper_9_0= ruleUpperBound ) ) + { + otherlv_6=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_6, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_0_2_0()); + + } + // InternalFiacre.g:10610:8: ( (lv_lower_7_0= ruleLowerBound ) ) + // InternalFiacre.g:10611:9: (lv_lower_7_0= ruleLowerBound ) + { + // InternalFiacre.g:10611:9: (lv_lower_7_0= ruleLowerBound ) + // InternalFiacre.g:10612:10: lv_lower_7_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_7_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "lower", + lv_lower_7_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_8=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_8, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_0_2_2()); + + } + // InternalFiacre.g:10633:8: ( (lv_upper_9_0= ruleUpperBound ) ) + // InternalFiacre.g:10634:9: (lv_upper_9_0= ruleUpperBound ) + { + // InternalFiacre.g:10634:9: (lv_upper_9_0= ruleUpperBound ) + // InternalFiacre.g:10635:10: lv_upper_9_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_9_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "upper", + lv_upper_9_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10655:6: (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) + { + // InternalFiacre.g:10655:6: (otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) ) + // InternalFiacre.g:10656:7: otherlv_10= 'within' ( (lv_lower_11_0= ruleLowerBound ) ) otherlv_12= ',' ( (lv_upper_13_0= ruleUpperBound ) ) + { + otherlv_10=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_10, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_1_0()); + + } + // InternalFiacre.g:10660:7: ( (lv_lower_11_0= ruleLowerBound ) ) + // InternalFiacre.g:10661:8: (lv_lower_11_0= ruleLowerBound ) + { + // InternalFiacre.g:10661:8: (lv_lower_11_0= ruleLowerBound ) + // InternalFiacre.g:10662:9: lv_lower_11_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_11_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "lower", + lv_lower_11_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_12, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_1_2()); + + } + // InternalFiacre.g:10683:7: ( (lv_upper_13_0= ruleUpperBound ) ) + // InternalFiacre.g:10684:8: (lv_upper_13_0= ruleUpperBound ) + { + // InternalFiacre.g:10684:8: (lv_upper_13_0= ruleUpperBound ) + // InternalFiacre.g:10685:9: lv_upper_13_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_1_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_13_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "upper", + lv_upper_13_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:10704:6: (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10704:6: (otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10705:7: otherlv_14= 'after' ( (lv_after_15_0= ruleAtomicObservable ) ) ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? + { + otherlv_14=(Token)match(input,122,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_14, grammarAccess.getSequencePatternAccess().getAfterKeyword_1_0_3_2_0()); + + } + // InternalFiacre.g:10709:7: ( (lv_after_15_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10710:8: (lv_after_15_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10710:8: (lv_after_15_0= ruleAtomicObservable ) + // InternalFiacre.g:10711:9: lv_after_15_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_108); + lv_after_15_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "after", + lv_after_15_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10728:7: ( (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) | (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) )? + int alt160=3; + int LA160_0 = input.LA(1); + + if ( (LA160_0==123) ) { + alt160=1; + } + else if ( (LA160_0==124) ) { + alt160=2; + } + switch (alt160) { + case 1 : + // InternalFiacre.g:10729:8: (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) + { + // InternalFiacre.g:10729:8: (otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) ) + // InternalFiacre.g:10730:9: otherlv_16= 'within' ( (lv_lower_17_0= ruleLowerBound ) ) otherlv_18= ',' ( (lv_upper_19_0= ruleUpperBound ) ) + { + otherlv_16=(Token)match(input,123,FollowSets000.FOLLOW_42); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_16, grammarAccess.getSequencePatternAccess().getWithinKeyword_1_0_3_2_2_0_0()); + + } + // InternalFiacre.g:10734:9: ( (lv_lower_17_0= ruleLowerBound ) ) + // InternalFiacre.g:10735:10: (lv_lower_17_0= ruleLowerBound ) + { + // InternalFiacre.g:10735:10: (lv_lower_17_0= ruleLowerBound ) + // InternalFiacre.g:10736:11: lv_lower_17_0= ruleLowerBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_43); + lv_lower_17_0=ruleLowerBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "lower", + lv_lower_17_0, + "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_44); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_18, grammarAccess.getSequencePatternAccess().getCommaKeyword_1_0_3_2_2_0_2()); + + } + // InternalFiacre.g:10757:9: ( (lv_upper_19_0= ruleUpperBound ) ) + // InternalFiacre.g:10758:10: (lv_upper_19_0= ruleUpperBound ) + { + // InternalFiacre.g:10758:10: (lv_upper_19_0= ruleUpperBound ) + // InternalFiacre.g:10759:11: lv_upper_19_0= ruleUpperBound + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_upper_19_0=ruleUpperBound(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "upper", + lv_upper_19_0, + "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10778:8: (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10778:8: (otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10779:9: otherlv_20= 'until' ( (lv_until_21_0= ruleAtomicObservable ) ) + { + otherlv_20=(Token)match(input,124,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_20, grammarAccess.getSequencePatternAccess().getUntilKeyword_1_0_3_2_2_1_0()); + + } + // InternalFiacre.g:10783:9: ( (lv_until_21_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10784:10: (lv_until_21_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10784:10: (lv_until_21_0= ruleAtomicObservable ) + // InternalFiacre.g:10785:11: lv_until_21_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_until_21_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "until", + lv_until_21_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 4 : + // InternalFiacre.g:10806:6: (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10806:6: (otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10807:7: otherlv_22= 'between' ( (lv_min_23_0= ruleAtomicObservable ) ) otherlv_24= 'and' ( (lv_max_25_0= ruleAtomicObservable ) ) + { + otherlv_22=(Token)match(input,126,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_22, grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_0_3_3_0()); + + } + // InternalFiacre.g:10811:7: ( (lv_min_23_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10812:8: (lv_min_23_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10812:8: (lv_min_23_0= ruleAtomicObservable ) + // InternalFiacre.g:10813:9: lv_min_23_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_0_3_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_110); + lv_min_23_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "min", + lv_min_23_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_24=(Token)match(input,87,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_24, grammarAccess.getSequencePatternAccess().getAndKeyword_1_0_3_3_2()); + + } + // InternalFiacre.g:10834:7: ( (lv_max_25_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10835:8: (lv_max_25_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10835:8: (lv_max_25_0= ruleAtomicObservable ) + // InternalFiacre.g:10836:9: lv_max_25_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_max_25_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "max", + lv_max_25_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10857:4: (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) + { + // InternalFiacre.g:10857:4: (otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? ) + // InternalFiacre.g:10858:5: otherlv_26= 'precedes' () ( (lv_follower_28_0= ruleAtomicObservable ) ) ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? + { + otherlv_26=(Token)match(input,131,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_26, grammarAccess.getSequencePatternAccess().getPrecedesKeyword_1_1_0()); + + } + // InternalFiacre.g:10862:5: () + // InternalFiacre.g:10863:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getSequencePatternAccess().getPrecedesPatternSubjectAction_1_1_1(), + current); + + } + + } + + // InternalFiacre.g:10872:5: ( (lv_follower_28_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10873:6: (lv_follower_28_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10873:6: (lv_follower_28_0= ruleAtomicObservable ) + // InternalFiacre.g:10874:7: lv_follower_28_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getFollowerAtomicObservableParserRuleCall_1_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_111); + lv_follower_28_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "follower", + lv_follower_28_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10891:5: ( (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) | (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) | (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) )? + int alt163=4; + switch ( input.LA(1) ) { + case 125: + { + alt163=1; + } + break; + case 122: + { + alt163=2; + } + break; + case 126: + { + alt163=3; + } + break; + } + + switch (alt163) { + case 1 : + // InternalFiacre.g:10892:6: (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10892:6: (otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10893:7: otherlv_29= 'before' ( (lv_before_30_0= ruleAtomicObservable ) ) + { + otherlv_29=(Token)match(input,125,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_29, grammarAccess.getSequencePatternAccess().getBeforeKeyword_1_1_3_0_0()); + + } + // InternalFiacre.g:10897:7: ( (lv_before_30_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10898:8: (lv_before_30_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10898:8: (lv_before_30_0= ruleAtomicObservable ) + // InternalFiacre.g:10899:9: lv_before_30_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_before_30_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "before", + lv_before_30_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:10918:6: (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) + { + // InternalFiacre.g:10918:6: (otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? ) + // InternalFiacre.g:10919:7: otherlv_31= 'after' ( (lv_after_32_0= ruleAtomicObservable ) ) (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? + { + otherlv_31=(Token)match(input,122,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_31, grammarAccess.getSequencePatternAccess().getAfterKeyword_1_1_3_1_0()); + + } + // InternalFiacre.g:10923:7: ( (lv_after_32_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10924:8: (lv_after_32_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10924:8: (lv_after_32_0= ruleAtomicObservable ) + // InternalFiacre.g:10925:9: lv_after_32_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_113); + lv_after_32_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "after", + lv_after_32_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:10942:7: (otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) )? + int alt162=2; + int LA162_0 = input.LA(1); + + if ( (LA162_0==124) ) { + alt162=1; + } + switch (alt162) { + case 1 : + // InternalFiacre.g:10943:8: otherlv_33= 'until' ( (lv_until_34_0= ruleAtomicObservable ) ) + { + otherlv_33=(Token)match(input,124,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_33, grammarAccess.getSequencePatternAccess().getUntilKeyword_1_1_3_1_2_0()); + + } + // InternalFiacre.g:10947:8: ( (lv_until_34_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10948:9: (lv_until_34_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10948:9: (lv_until_34_0= ruleAtomicObservable ) + // InternalFiacre.g:10949:10: lv_until_34_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_until_34_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "until", + lv_until_34_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + break; + case 3 : + // InternalFiacre.g:10969:6: (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:10969:6: (otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:10970:7: otherlv_35= 'between' ( (lv_min_36_0= ruleAtomicObservable ) ) otherlv_37= 'and' ( (lv_max_38_0= ruleAtomicObservable ) ) + { + otherlv_35=(Token)match(input,126,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_35, grammarAccess.getSequencePatternAccess().getBetweenKeyword_1_1_3_2_0()); + + } + // InternalFiacre.g:10974:7: ( (lv_min_36_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10975:8: (lv_min_36_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10975:8: (lv_min_36_0= ruleAtomicObservable ) + // InternalFiacre.g:10976:9: lv_min_36_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getMinAtomicObservableParserRuleCall_1_1_3_2_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_110); + lv_min_36_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "min", + lv_min_36_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_37=(Token)match(input,87,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_37, grammarAccess.getSequencePatternAccess().getAndKeyword_1_1_3_2_2()); + + } + // InternalFiacre.g:10997:7: ( (lv_max_38_0= ruleAtomicObservable ) ) + // InternalFiacre.g:10998:8: (lv_max_38_0= ruleAtomicObservable ) + { + // InternalFiacre.g:10998:8: (lv_max_38_0= ruleAtomicObservable ) + // InternalFiacre.g:10999:9: lv_max_38_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSequencePatternAccess().getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_max_38_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSequencePatternRule()); + } + set( + current, + "max", + lv_max_38_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSequencePattern" + + + // $ANTLR start "entryRuleLTLProperty" + // InternalFiacre.g:11024:1: entryRuleLTLProperty returns [EObject current=null] : iv_ruleLTLProperty= ruleLTLProperty EOF ; + public final EObject entryRuleLTLProperty() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLProperty = null; + + + try { + // InternalFiacre.g:11024:52: (iv_ruleLTLProperty= ruleLTLProperty EOF ) + // InternalFiacre.g:11025:2: iv_ruleLTLProperty= ruleLTLProperty EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLPropertyRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLProperty=ruleLTLProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLProperty; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLProperty" + + + // $ANTLR start "ruleLTLProperty" + // InternalFiacre.g:11031:1: ruleLTLProperty returns [EObject current=null] : this_LTLQuantified_0= ruleLTLQuantified ; + public final EObject ruleLTLProperty() throws RecognitionException { + EObject current = null; + + EObject this_LTLQuantified_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11037:2: (this_LTLQuantified_0= ruleLTLQuantified ) + // InternalFiacre.g:11038:2: this_LTLQuantified_0= ruleLTLQuantified + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLPropertyAccess().getLTLQuantifiedParserRuleCall()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LTLQuantified_0=ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLQuantified_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLProperty" + + + // $ANTLR start "entryRuleLTLQuantified" + // InternalFiacre.g:11052:1: entryRuleLTLQuantified returns [EObject current=null] : iv_ruleLTLQuantified= ruleLTLQuantified EOF ; + public final EObject entryRuleLTLQuantified() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLQuantified = null; + + + try { + // InternalFiacre.g:11052:54: (iv_ruleLTLQuantified= ruleLTLQuantified EOF ) + // InternalFiacre.g:11053:2: iv_ruleLTLQuantified= ruleLTLQuantified EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLQuantifiedRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLQuantified=ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLQuantified; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLQuantified" + + + // $ANTLR start "ruleLTLQuantified" + // InternalFiacre.g:11059:1: ruleLTLQuantified returns [EObject current=null] : ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) | this_LTLDisjunction_9= ruleLTLDisjunction ) ; + public final EObject ruleLTLQuantified() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_index_4_0 = null; + + EObject lv_type_6_0 = null; + + EObject lv_child_8_0 = null; + + EObject this_LTLDisjunction_9 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11065:2: ( ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) | this_LTLDisjunction_9= ruleLTLDisjunction ) ) + // InternalFiacre.g:11066:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) | this_LTLDisjunction_9= ruleLTLDisjunction ) + { + // InternalFiacre.g:11066:2: ( ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) | this_LTLDisjunction_9= ruleLTLDisjunction ) + int alt166=2; + int LA166_0 = input.LA(1); + + if ( ((LA166_0>=83 && LA166_0<=84)) ) { + alt166=1; + } + else if ( (LA166_0==RULE_ID||LA166_0==RULE_INT||LA166_0==16||LA166_0==54||LA166_0==89||LA166_0==95||(LA166_0>=133 && LA166_0<=135)) ) { + alt166=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 166, 0, input); + + throw nvae; + } + switch (alt166) { + case 1 : + // InternalFiacre.g:11067:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) + { + // InternalFiacre.g:11067:3: ( ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) ) + // InternalFiacre.g:11068:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) ( (lv_index_4_0= ruleVariableDeclaration ) ) otherlv_5= 'in' ( (lv_type_6_0= ruleRangeType ) ) otherlv_7= '.' ( (lv_child_8_0= ruleLTLQuantified ) ) + { + // InternalFiacre.g:11068:4: ( ( () otherlv_1= 'all' ) | ( () otherlv_3= 'exists' ) ) + int alt165=2; + int LA165_0 = input.LA(1); + + if ( (LA165_0==83) ) { + alt165=1; + } + else if ( (LA165_0==84) ) { + alt165=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 165, 0, input); + + throw nvae; + } + switch (alt165) { + case 1 : + // InternalFiacre.g:11069:5: ( () otherlv_1= 'all' ) + { + // InternalFiacre.g:11069:5: ( () otherlv_1= 'all' ) + // InternalFiacre.g:11070:6: () otherlv_1= 'all' + { + // InternalFiacre.g:11070:6: () + // InternalFiacre.g:11071:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLQuantifiedAccess().getLTLAllAction_0_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getLTLQuantifiedAccess().getAllKeyword_0_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:11086:5: ( () otherlv_3= 'exists' ) + { + // InternalFiacre.g:11086:5: ( () otherlv_3= 'exists' ) + // InternalFiacre.g:11087:6: () otherlv_3= 'exists' + { + // InternalFiacre.g:11087:6: () + // InternalFiacre.g:11088:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLQuantifiedAccess().getLTLExistsAction_0_0_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getLTLQuantifiedAccess().getExistsKeyword_0_0_1_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:11103:4: ( (lv_index_4_0= ruleVariableDeclaration ) ) + // InternalFiacre.g:11104:5: (lv_index_4_0= ruleVariableDeclaration ) + { + // InternalFiacre.g:11104:5: (lv_index_4_0= ruleVariableDeclaration ) + // InternalFiacre.g:11105:6: lv_index_4_0= ruleVariableDeclaration + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_69); + lv_index_4_0=ruleVariableDeclaration(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + current, + "index", + lv_index_4_0, + "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getLTLQuantifiedAccess().getInKeyword_0_2()); + + } + // InternalFiacre.g:11126:4: ( (lv_type_6_0= ruleRangeType ) ) + // InternalFiacre.g:11127:5: (lv_type_6_0= ruleRangeType ) + { + // InternalFiacre.g:11127:5: (lv_type_6_0= ruleRangeType ) + // InternalFiacre.g:11128:6: lv_type_6_0= ruleRangeType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0()); + + } + pushFollow(FollowSets000.FOLLOW_82); + lv_type_6_0=ruleRangeType(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + current, + "type", + lv_type_6_0, + "fr.irit.fiacre.xtext.Fiacre.RangeType"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_7=(Token)match(input,65,FollowSets000.FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getLTLQuantifiedAccess().getFullStopKeyword_0_4()); + + } + // InternalFiacre.g:11149:4: ( (lv_child_8_0= ruleLTLQuantified ) ) + // InternalFiacre.g:11150:5: (lv_child_8_0= ruleLTLQuantified ) + { + // InternalFiacre.g:11150:5: (lv_child_8_0= ruleLTLQuantified ) + // InternalFiacre.g:11151:6: lv_child_8_0= ruleLTLQuantified + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_8_0=ruleLTLQuantified(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLQuantifiedRule()); + } + set( + current, + "child", + lv_child_8_0, + "fr.irit.fiacre.xtext.Fiacre.LTLQuantified"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:11170:3: this_LTLDisjunction_9= ruleLTLDisjunction + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLQuantifiedAccess().getLTLDisjunctionParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LTLDisjunction_9=ruleLTLDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLDisjunction_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLQuantified" + + + // $ANTLR start "entryRuleLTLDisjunction" + // InternalFiacre.g:11185:1: entryRuleLTLDisjunction returns [EObject current=null] : iv_ruleLTLDisjunction= ruleLTLDisjunction EOF ; + public final EObject entryRuleLTLDisjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLDisjunction = null; + + + try { + // InternalFiacre.g:11185:55: (iv_ruleLTLDisjunction= ruleLTLDisjunction EOF ) + // InternalFiacre.g:11186:2: iv_ruleLTLDisjunction= ruleLTLDisjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLDisjunction=ruleLTLDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLDisjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLDisjunction" + + + // $ANTLR start "ruleLTLDisjunction" + // InternalFiacre.g:11192:1: ruleLTLDisjunction returns [EObject current=null] : (this_LTLImplication_0= ruleLTLImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* ) ; + public final EObject ruleLTLDisjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_LTLImplication_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11198:2: ( (this_LTLImplication_0= ruleLTLImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* ) ) + // InternalFiacre.g:11199:2: (this_LTLImplication_0= ruleLTLImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* ) + { + // InternalFiacre.g:11199:2: (this_LTLImplication_0= ruleLTLImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* ) + // InternalFiacre.g:11200:3: this_LTLImplication_0= ruleLTLImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLDisjunctionAccess().getLTLImplicationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + this_LTLImplication_0=ruleLTLImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLImplication_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11211:3: ( () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) )* + loop167: + do { + int alt167=2; + int LA167_0 = input.LA(1); + + if ( (LA167_0==85) ) { + alt167=1; + } + + + switch (alt167) { + case 1 : + // InternalFiacre.g:11212:4: () otherlv_2= 'or' ( (lv_right_3_0= ruleLTLImplication ) ) + { + // InternalFiacre.g:11212:4: () + // InternalFiacre.g:11213:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,85,FollowSets000.FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getLTLDisjunctionAccess().getOrKeyword_1_1()); + + } + // InternalFiacre.g:11226:4: ( (lv_right_3_0= ruleLTLImplication ) ) + // InternalFiacre.g:11227:5: (lv_right_3_0= ruleLTLImplication ) + { + // InternalFiacre.g:11227:5: (lv_right_3_0= ruleLTLImplication ) + // InternalFiacre.g:11228:6: lv_right_3_0= ruleLTLImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + lv_right_3_0=ruleLTLImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLDisjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop167; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLDisjunction" + + + // $ANTLR start "entryRuleLTLImplication" + // InternalFiacre.g:11250:1: entryRuleLTLImplication returns [EObject current=null] : iv_ruleLTLImplication= ruleLTLImplication EOF ; + public final EObject entryRuleLTLImplication() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLImplication = null; + + + try { + // InternalFiacre.g:11250:55: (iv_ruleLTLImplication= ruleLTLImplication EOF ) + // InternalFiacre.g:11251:2: iv_ruleLTLImplication= ruleLTLImplication EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLImplication=ruleLTLImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLImplication; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLImplication" + + + // $ANTLR start "ruleLTLImplication" + // InternalFiacre.g:11257:1: ruleLTLImplication returns [EObject current=null] : (this_LTLConjunction_0= ruleLTLConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? ) ; + public final EObject ruleLTLImplication() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_LTLConjunction_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11263:2: ( (this_LTLConjunction_0= ruleLTLConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? ) ) + // InternalFiacre.g:11264:2: (this_LTLConjunction_0= ruleLTLConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? ) + { + // InternalFiacre.g:11264:2: (this_LTLConjunction_0= ruleLTLConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? ) + // InternalFiacre.g:11265:3: this_LTLConjunction_0= ruleLTLConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLImplicationAccess().getLTLConjunctionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_85); + this_LTLConjunction_0=ruleLTLConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLConjunction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11276:3: ( () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) )? + int alt168=2; + int LA168_0 = input.LA(1); + + if ( (LA168_0==86) ) { + alt168=1; + } + switch (alt168) { + case 1 : + // InternalFiacre.g:11277:4: () otherlv_2= '=>' ( (lv_right_3_0= ruleLTLImplication ) ) + { + // InternalFiacre.g:11277:4: () + // InternalFiacre.g:11278:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,86,FollowSets000.FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getLTLImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + + } + // InternalFiacre.g:11291:4: ( (lv_right_3_0= ruleLTLImplication ) ) + // InternalFiacre.g:11292:5: (lv_right_3_0= ruleLTLImplication ) + { + // InternalFiacre.g:11292:5: (lv_right_3_0= ruleLTLImplication ) + // InternalFiacre.g:11293:6: lv_right_3_0= ruleLTLImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleLTLImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLImplicationRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLImplication" + + + // $ANTLR start "entryRuleLTLConjunction" + // InternalFiacre.g:11315:1: entryRuleLTLConjunction returns [EObject current=null] : iv_ruleLTLConjunction= ruleLTLConjunction EOF ; + public final EObject entryRuleLTLConjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLConjunction = null; + + + try { + // InternalFiacre.g:11315:55: (iv_ruleLTLConjunction= ruleLTLConjunction EOF ) + // InternalFiacre.g:11316:2: iv_ruleLTLConjunction= ruleLTLConjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLConjunction=ruleLTLConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLConjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLConjunction" + + + // $ANTLR start "ruleLTLConjunction" + // InternalFiacre.g:11322:1: ruleLTLConjunction returns [EObject current=null] : (this_LTLBinary_0= ruleLTLBinary ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* ) ; + public final EObject ruleLTLConjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_LTLBinary_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11328:2: ( (this_LTLBinary_0= ruleLTLBinary ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* ) ) + // InternalFiacre.g:11329:2: (this_LTLBinary_0= ruleLTLBinary ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* ) + { + // InternalFiacre.g:11329:2: (this_LTLBinary_0= ruleLTLBinary ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* ) + // InternalFiacre.g:11330:3: this_LTLBinary_0= ruleLTLBinary ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLConjunctionAccess().getLTLBinaryParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + this_LTLBinary_0=ruleLTLBinary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLBinary_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11341:3: ( () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) )* + loop169: + do { + int alt169=2; + int LA169_0 = input.LA(1); + + if ( (LA169_0==87) ) { + alt169=1; + } + + + switch (alt169) { + case 1 : + // InternalFiacre.g:11342:4: () otherlv_2= 'and' ( (lv_right_3_0= ruleLTLBinary ) ) + { + // InternalFiacre.g:11342:4: () + // InternalFiacre.g:11343:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,87,FollowSets000.FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getLTLConjunctionAccess().getAndKeyword_1_1()); + + } + // InternalFiacre.g:11356:4: ( (lv_right_3_0= ruleLTLBinary ) ) + // InternalFiacre.g:11357:5: (lv_right_3_0= ruleLTLBinary ) + { + // InternalFiacre.g:11357:5: (lv_right_3_0= ruleLTLBinary ) + // InternalFiacre.g:11358:6: lv_right_3_0= ruleLTLBinary + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + lv_right_3_0=ruleLTLBinary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLConjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLBinary"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop169; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLConjunction" + + + // $ANTLR start "entryRuleLTLBinary" + // InternalFiacre.g:11380:1: entryRuleLTLBinary returns [EObject current=null] : iv_ruleLTLBinary= ruleLTLBinary EOF ; + public final EObject entryRuleLTLBinary() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLBinary = null; + + + try { + // InternalFiacre.g:11380:50: (iv_ruleLTLBinary= ruleLTLBinary EOF ) + // InternalFiacre.g:11381:2: iv_ruleLTLBinary= ruleLTLBinary EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLBinaryRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLBinary=ruleLTLBinary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLBinary; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLBinary" + + + // $ANTLR start "ruleLTLBinary" + // InternalFiacre.g:11387:1: ruleLTLBinary returns [EObject current=null] : (this_LTLUnary_0= ruleLTLUnary ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? ) ; + public final EObject ruleLTLBinary() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + Token otherlv_5=null; + EObject this_LTLUnary_0 = null; + + EObject lv_right_3_0 = null; + + EObject lv_right_6_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11393:2: ( (this_LTLUnary_0= ruleLTLUnary ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? ) ) + // InternalFiacre.g:11394:2: (this_LTLUnary_0= ruleLTLUnary ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? ) + { + // InternalFiacre.g:11394:2: (this_LTLUnary_0= ruleLTLUnary ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? ) + // InternalFiacre.g:11395:3: this_LTLUnary_0= ruleLTLUnary ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLBinaryAccess().getLTLUnaryParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_117); + this_LTLUnary_0=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLUnary_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11406:3: ( ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) | ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) )? + int alt170=3; + int LA170_0 = input.LA(1); + + if ( (LA170_0==124) ) { + alt170=1; + } + else if ( (LA170_0==132) ) { + alt170=2; + } + switch (alt170) { + case 1 : + // InternalFiacre.g:11407:4: ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) + { + // InternalFiacre.g:11407:4: ( () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) ) + // InternalFiacre.g:11408:5: () otherlv_2= 'until' ( (lv_right_3_0= ruleLTLUnary ) ) + { + // InternalFiacre.g:11408:5: () + // InternalFiacre.g:11409:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,124,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getLTLBinaryAccess().getUntilKeyword_1_0_1()); + + } + // InternalFiacre.g:11422:5: ( (lv_right_3_0= ruleLTLUnary ) ) + // InternalFiacre.g:11423:6: (lv_right_3_0= ruleLTLUnary ) + { + // InternalFiacre.g:11423:6: (lv_right_3_0= ruleLTLUnary ) + // InternalFiacre.g:11424:7: lv_right_3_0= ruleLTLUnary + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLBinaryRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:11443:4: ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) + { + // InternalFiacre.g:11443:4: ( () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) ) + // InternalFiacre.g:11444:5: () otherlv_5= 'release' ( (lv_right_6_0= ruleLTLUnary ) ) + { + // InternalFiacre.g:11444:5: () + // InternalFiacre.g:11445:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0(), + current); + + } + + } + + otherlv_5=(Token)match(input,132,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getLTLBinaryAccess().getReleaseKeyword_1_1_1()); + + } + // InternalFiacre.g:11458:5: ( (lv_right_6_0= ruleLTLUnary ) ) + // InternalFiacre.g:11459:6: (lv_right_6_0= ruleLTLUnary ) + { + // InternalFiacre.g:11459:6: (lv_right_6_0= ruleLTLUnary ) + // InternalFiacre.g:11460:7: lv_right_6_0= ruleLTLUnary + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_6_0=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLBinaryRule()); + } + set( + current, + "right", + lv_right_6_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLBinary" + + + // $ANTLR start "entryRuleLTLUnary" + // InternalFiacre.g:11483:1: entryRuleLTLUnary returns [EObject current=null] : iv_ruleLTLUnary= ruleLTLUnary EOF ; + public final EObject entryRuleLTLUnary() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLTLUnary = null; + + + try { + // InternalFiacre.g:11483:49: (iv_ruleLTLUnary= ruleLTLUnary EOF ) + // InternalFiacre.g:11484:2: iv_ruleLTLUnary= ruleLTLUnary EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLTLUnaryRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLTLUnary=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLTLUnary; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLTLUnary" + + + // $ANTLR start "ruleLTLUnary" + // InternalFiacre.g:11490:1: ruleLTLUnary returns [EObject current=null] : ( ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) | this_AtomicLTL_9= ruleAtomicLTL ) ; + public final EObject ruleLTLUnary() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + EObject lv_operand_8_0 = null; + + EObject this_AtomicLTL_9 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11496:2: ( ( ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) | this_AtomicLTL_9= ruleAtomicLTL ) ) + // InternalFiacre.g:11497:2: ( ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) | this_AtomicLTL_9= ruleAtomicLTL ) + { + // InternalFiacre.g:11497:2: ( ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) | this_AtomicLTL_9= ruleAtomicLTL ) + int alt172=2; + int LA172_0 = input.LA(1); + + if ( (LA172_0==54||LA172_0==89||LA172_0==95||LA172_0==133) ) { + alt172=1; + } + else if ( (LA172_0==RULE_ID||LA172_0==RULE_INT||LA172_0==16||(LA172_0>=134 && LA172_0<=135)) ) { + alt172=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 172, 0, input); + + throw nvae; + } + switch (alt172) { + case 1 : + // InternalFiacre.g:11498:3: ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) + { + // InternalFiacre.g:11498:3: ( ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) ) + // InternalFiacre.g:11499:4: ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) ( (lv_operand_8_0= ruleLTLUnary ) ) + { + // InternalFiacre.g:11499:4: ( ( () otherlv_1= 'not' ) | ( () otherlv_3= 'next' ) | ( () otherlv_5= '[]' ) | ( () otherlv_7= '<>' ) ) + int alt171=4; + switch ( input.LA(1) ) { + case 95: + { + alt171=1; + } + break; + case 133: + { + alt171=2; + } + break; + case 54: + { + alt171=3; + } + break; + case 89: + { + alt171=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 171, 0, input); + + throw nvae; + } + + switch (alt171) { + case 1 : + // InternalFiacre.g:11500:5: ( () otherlv_1= 'not' ) + { + // InternalFiacre.g:11500:5: ( () otherlv_1= 'not' ) + // InternalFiacre.g:11501:6: () otherlv_1= 'not' + { + // InternalFiacre.g:11501:6: () + // InternalFiacre.g:11502:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryNegationAction_0_0_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,95,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getLTLUnaryAccess().getNotKeyword_0_0_0_1()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:11517:5: ( () otherlv_3= 'next' ) + { + // InternalFiacre.g:11517:5: ( () otherlv_3= 'next' ) + // InternalFiacre.g:11518:6: () otherlv_3= 'next' + { + // InternalFiacre.g:11518:6: () + // InternalFiacre.g:11519:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryNextAction_0_0_1_0(), + current); + + } + + } + + otherlv_3=(Token)match(input,133,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getLTLUnaryAccess().getNextKeyword_0_0_1_1()); + + } + + } + + + } + break; + case 3 : + // InternalFiacre.g:11534:5: ( () otherlv_5= '[]' ) + { + // InternalFiacre.g:11534:5: ( () otherlv_5= '[]' ) + // InternalFiacre.g:11535:6: () otherlv_5= '[]' + { + // InternalFiacre.g:11535:6: () + // InternalFiacre.g:11536:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryAlwaysAction_0_0_2_0(), + current); + + } + + } + + otherlv_5=(Token)match(input,54,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getLTLUnaryAccess().getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1()); + + } + + } + + + } + break; + case 4 : + // InternalFiacre.g:11551:5: ( () otherlv_7= '<>' ) + { + // InternalFiacre.g:11551:5: ( () otherlv_7= '<>' ) + // InternalFiacre.g:11552:6: () otherlv_7= '<>' + { + // InternalFiacre.g:11552:6: () + // InternalFiacre.g:11553:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getLTLUnaryAccess().getLTLUnaryEventuallyAction_0_0_3_0(), + current); + + } + + } + + otherlv_7=(Token)match(input,89,FollowSets000.FOLLOW_105); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_7, grammarAccess.getLTLUnaryAccess().getLessThanSignGreaterThanSignKeyword_0_0_3_1()); + + } + + } + + + } + break; + + } + + // InternalFiacre.g:11568:4: ( (lv_operand_8_0= ruleLTLUnary ) ) + // InternalFiacre.g:11569:5: (lv_operand_8_0= ruleLTLUnary ) + { + // InternalFiacre.g:11569:5: (lv_operand_8_0= ruleLTLUnary ) + // InternalFiacre.g:11570:6: lv_operand_8_0= ruleLTLUnary + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_operand_8_0=ruleLTLUnary(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLTLUnaryRule()); + } + set( + current, + "operand", + lv_operand_8_0, + "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:11589:3: this_AtomicLTL_9= ruleAtomicLTL + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLTLUnaryAccess().getAtomicLTLParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AtomicLTL_9=ruleAtomicLTL(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AtomicLTL_9; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLTLUnary" + + + // $ANTLR start "entryRuleAtomicLTL" + // InternalFiacre.g:11604:1: entryRuleAtomicLTL returns [EObject current=null] : iv_ruleAtomicLTL= ruleAtomicLTL EOF ; + public final EObject entryRuleAtomicLTL() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAtomicLTL = null; + + + try { + // InternalFiacre.g:11604:50: (iv_ruleAtomicLTL= ruleAtomicLTL EOF ) + // InternalFiacre.g:11605:2: iv_ruleAtomicLTL= ruleAtomicLTL EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicLTLRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAtomicLTL=ruleAtomicLTL(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAtomicLTL; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAtomicLTL" + + + // $ANTLR start "ruleAtomicLTL" + // InternalFiacre.g:11611:1: ruleAtomicLTL returns [EObject current=null] : ( ( () ( (otherlv_1= RULE_ID ) ) ) | this_ObservableEvent_2= ruleObservableEvent | (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) ) ; + public final EObject ruleAtomicLTL() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject this_ObservableEvent_2 = null; + + EObject this_LTLProperty_4 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11617:2: ( ( ( () ( (otherlv_1= RULE_ID ) ) ) | this_ObservableEvent_2= ruleObservableEvent | (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) ) ) + // InternalFiacre.g:11618:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) | this_ObservableEvent_2= ruleObservableEvent | (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) ) + { + // InternalFiacre.g:11618:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) | this_ObservableEvent_2= ruleObservableEvent | (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) ) + int alt173=3; + switch ( input.LA(1) ) { + case RULE_ID: + { + int LA173_1 = input.LA(2); + + if ( (LA173_1==93) ) { + alt173=2; + } + else if ( (LA173_1==EOF||LA173_1==RULE_ID||LA173_1==15||LA173_1==18||(LA173_1>=22 && LA173_1<=23)||(LA173_1>=39 && LA173_1<=40)||LA173_1==48||(LA173_1>=85 && LA173_1<=87)||LA173_1==112||LA173_1==115||LA173_1==124||LA173_1==132) ) { + alt173=1; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 173, 1, input); + + throw nvae; + } + } + break; + case RULE_INT: + case 134: + case 135: + { + alt173=2; + } + break; + case 16: + { + alt173=3; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 173, 0, input); + + throw nvae; + } + + switch (alt173) { + case 1 : + // InternalFiacre.g:11619:3: ( () ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:11619:3: ( () ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:11620:4: () ( (otherlv_1= RULE_ID ) ) + { + // InternalFiacre.g:11620:4: () + // InternalFiacre.g:11621:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getAtomicLTLAccess().getLTLVariableAction_0_0(), + current); + + } + + } + + // InternalFiacre.g:11630:4: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:11631:5: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:11631:5: (otherlv_1= RULE_ID ) + // InternalFiacre.g:11632:6: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getAtomicLTLRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseCrossReference_0_1_0()); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:11648:3: this_ObservableEvent_2= ruleObservableEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicLTLAccess().getObservableEventParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ObservableEvent_2=ruleObservableEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableEvent_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:11660:3: (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) + { + // InternalFiacre.g:11660:3: (otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' ) + // InternalFiacre.g:11661:4: otherlv_3= '(' this_LTLProperty_4= ruleLTLProperty otherlv_5= ')' + { + otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_116); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_3, grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + + } + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicLTLAccess().getLTLPropertyParserRuleCall_2_1()); + + } + pushFollow(FollowSets000.FOLLOW_62); + this_LTLProperty_4=ruleLTLProperty(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LTLProperty_4; + afterParserOrEnumRuleCall(); + + } + otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_5, grammarAccess.getAtomicLTLAccess().getRightParenthesisKeyword_2_2()); + + } + + } + + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAtomicLTL" + + + // $ANTLR start "entryRuleStateEvent" + // InternalFiacre.g:11685:1: entryRuleStateEvent returns [EObject current=null] : iv_ruleStateEvent= ruleStateEvent EOF ; + public final EObject entryRuleStateEvent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStateEvent = null; + + + try { + // InternalFiacre.g:11685:51: (iv_ruleStateEvent= ruleStateEvent EOF ) + // InternalFiacre.g:11686:2: iv_ruleStateEvent= ruleStateEvent EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStateEvent=ruleStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStateEvent; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStateEvent" + + + // $ANTLR start "ruleStateEvent" + // InternalFiacre.g:11692:1: ruleStateEvent returns [EObject current=null] : (this_EnterStateEvent_0= ruleEnterStateEvent | this_LeaveStateEvent_1= ruleLeaveStateEvent ) ; + public final EObject ruleStateEvent() throws RecognitionException { + EObject current = null; + + EObject this_EnterStateEvent_0 = null; + + EObject this_LeaveStateEvent_1 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11698:2: ( (this_EnterStateEvent_0= ruleEnterStateEvent | this_LeaveStateEvent_1= ruleLeaveStateEvent ) ) + // InternalFiacre.g:11699:2: (this_EnterStateEvent_0= ruleEnterStateEvent | this_LeaveStateEvent_1= ruleLeaveStateEvent ) + { + // InternalFiacre.g:11699:2: (this_EnterStateEvent_0= ruleEnterStateEvent | this_LeaveStateEvent_1= ruleLeaveStateEvent ) + int alt174=2; + int LA174_0 = input.LA(1); + + if ( (LA174_0==134) ) { + alt174=1; + } + else if ( (LA174_0==135) ) { + alt174=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 174, 0, input); + + throw nvae; + } + switch (alt174) { + case 1 : + // InternalFiacre.g:11700:3: this_EnterStateEvent_0= ruleEnterStateEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStateEventAccess().getEnterStateEventParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_EnterStateEvent_0=ruleEnterStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_EnterStateEvent_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:11712:3: this_LeaveStateEvent_1= ruleLeaveStateEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getStateEventAccess().getLeaveStateEventParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_LeaveStateEvent_1=ruleLeaveStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_LeaveStateEvent_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStateEvent" + + + // $ANTLR start "entryRuleEnterStateEvent" + // InternalFiacre.g:11727:1: entryRuleEnterStateEvent returns [EObject current=null] : iv_ruleEnterStateEvent= ruleEnterStateEvent EOF ; + public final EObject entryRuleEnterStateEvent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEnterStateEvent = null; + + + try { + // InternalFiacre.g:11727:56: (iv_ruleEnterStateEvent= ruleEnterStateEvent EOF ) + // InternalFiacre.g:11728:2: iv_ruleEnterStateEvent= ruleEnterStateEvent EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getEnterStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleEnterStateEvent=ruleEnterStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleEnterStateEvent; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEnterStateEvent" + + + // $ANTLR start "ruleEnterStateEvent" + // InternalFiacre.g:11734:1: ruleEnterStateEvent returns [EObject current=null] : (otherlv_0= 'enter' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ; + public final EObject ruleEnterStateEvent() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_subject_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11740:2: ( (otherlv_0= 'enter' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ) + // InternalFiacre.g:11741:2: (otherlv_0= 'enter' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:11741:2: (otherlv_0= 'enter' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:11742:3: otherlv_0= 'enter' ( (lv_subject_1_0= ruleAtomicObservable ) ) + { + otherlv_0=(Token)match(input,134,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getEnterStateEventAccess().getEnterKeyword_0()); + + } + // InternalFiacre.g:11746:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:11747:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:11747:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:11748:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getEnterStateEventRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEnterStateEvent" + + + // $ANTLR start "entryRuleLeaveStateEvent" + // InternalFiacre.g:11769:1: entryRuleLeaveStateEvent returns [EObject current=null] : iv_ruleLeaveStateEvent= ruleLeaveStateEvent EOF ; + public final EObject entryRuleLeaveStateEvent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLeaveStateEvent = null; + + + try { + // InternalFiacre.g:11769:56: (iv_ruleLeaveStateEvent= ruleLeaveStateEvent EOF ) + // InternalFiacre.g:11770:2: iv_ruleLeaveStateEvent= ruleLeaveStateEvent EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getLeaveStateEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleLeaveStateEvent=ruleLeaveStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleLeaveStateEvent; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLeaveStateEvent" + + + // $ANTLR start "ruleLeaveStateEvent" + // InternalFiacre.g:11776:1: ruleLeaveStateEvent returns [EObject current=null] : (otherlv_0= 'leave' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ; + public final EObject ruleLeaveStateEvent() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_subject_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11782:2: ( (otherlv_0= 'leave' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) ) + // InternalFiacre.g:11783:2: (otherlv_0= 'leave' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + { + // InternalFiacre.g:11783:2: (otherlv_0= 'leave' ( (lv_subject_1_0= ruleAtomicObservable ) ) ) + // InternalFiacre.g:11784:3: otherlv_0= 'leave' ( (lv_subject_1_0= ruleAtomicObservable ) ) + { + otherlv_0=(Token)match(input,135,FollowSets000.FOLLOW_106); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getLeaveStateEventAccess().getLeaveKeyword_0()); + + } + // InternalFiacre.g:11788:3: ( (lv_subject_1_0= ruleAtomicObservable ) ) + // InternalFiacre.g:11789:4: (lv_subject_1_0= ruleAtomicObservable ) + { + // InternalFiacre.g:11789:4: (lv_subject_1_0= ruleAtomicObservable ) + // InternalFiacre.g:11790:5: lv_subject_1_0= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_subject_1_0=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLeaveStateEventRule()); + } + set( + current, + "subject", + lv_subject_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLeaveStateEvent" + + + // $ANTLR start "entryRuleObservable" + // InternalFiacre.g:11811:1: entryRuleObservable returns [EObject current=null] : iv_ruleObservable= ruleObservable EOF ; + public final EObject entryRuleObservable() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservable = null; + + + try { + // InternalFiacre.g:11811:51: (iv_ruleObservable= ruleObservable EOF ) + // InternalFiacre.g:11812:2: iv_ruleObservable= ruleObservable EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservable=ruleObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservable; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservable" + + + // $ANTLR start "ruleObservable" + // InternalFiacre.g:11818:1: ruleObservable returns [EObject current=null] : this_ObservableDisjunction_0= ruleObservableDisjunction ; + public final EObject ruleObservable() throws RecognitionException { + EObject current = null; + + EObject this_ObservableDisjunction_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11824:2: (this_ObservableDisjunction_0= ruleObservableDisjunction ) + // InternalFiacre.g:11825:2: this_ObservableDisjunction_0= ruleObservableDisjunction + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableAccess().getObservableDisjunctionParserRuleCall()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ObservableDisjunction_0=ruleObservableDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableDisjunction_0; + afterParserOrEnumRuleCall(); + + } + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservable" + + + // $ANTLR start "entryRuleObservableDisjunction" + // InternalFiacre.g:11839:1: entryRuleObservableDisjunction returns [EObject current=null] : iv_ruleObservableDisjunction= ruleObservableDisjunction EOF ; + public final EObject entryRuleObservableDisjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservableDisjunction = null; + + + try { + // InternalFiacre.g:11839:62: (iv_ruleObservableDisjunction= ruleObservableDisjunction EOF ) + // InternalFiacre.g:11840:2: iv_ruleObservableDisjunction= ruleObservableDisjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableDisjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservableDisjunction=ruleObservableDisjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservableDisjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservableDisjunction" + + + // $ANTLR start "ruleObservableDisjunction" + // InternalFiacre.g:11846:1: ruleObservableDisjunction returns [EObject current=null] : (this_ObservableImplication_0= ruleObservableImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* ) ; + public final EObject ruleObservableDisjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_ObservableImplication_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11852:2: ( (this_ObservableImplication_0= ruleObservableImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* ) ) + // InternalFiacre.g:11853:2: (this_ObservableImplication_0= ruleObservableImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* ) + { + // InternalFiacre.g:11853:2: (this_ObservableImplication_0= ruleObservableImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* ) + // InternalFiacre.g:11854:3: this_ObservableImplication_0= ruleObservableImplication ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableDisjunctionAccess().getObservableImplicationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + this_ObservableImplication_0=ruleObservableImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableImplication_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11865:3: ( () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) )* + loop175: + do { + int alt175=2; + int LA175_0 = input.LA(1); + + if ( (LA175_0==85) ) { + alt175=1; + } + + + switch (alt175) { + case 1 : + // InternalFiacre.g:11866:4: () otherlv_2= 'or' ( (lv_right_3_0= ruleObservableImplication ) ) + { + // InternalFiacre.g:11866:4: () + // InternalFiacre.g:11867:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,85,FollowSets000.FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getObservableDisjunctionAccess().getOrKeyword_1_1()); + + } + // InternalFiacre.g:11880:4: ( (lv_right_3_0= ruleObservableImplication ) ) + // InternalFiacre.g:11881:5: (lv_right_3_0= ruleObservableImplication ) + { + // InternalFiacre.g:11881:5: (lv_right_3_0= ruleObservableImplication ) + // InternalFiacre.g:11882:6: lv_right_3_0= ruleObservableImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_84); + lv_right_3_0=ruleObservableImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObservableDisjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop175; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservableDisjunction" + + + // $ANTLR start "entryRuleObservableImplication" + // InternalFiacre.g:11904:1: entryRuleObservableImplication returns [EObject current=null] : iv_ruleObservableImplication= ruleObservableImplication EOF ; + public final EObject entryRuleObservableImplication() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservableImplication = null; + + + try { + // InternalFiacre.g:11904:62: (iv_ruleObservableImplication= ruleObservableImplication EOF ) + // InternalFiacre.g:11905:2: iv_ruleObservableImplication= ruleObservableImplication EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableImplicationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservableImplication=ruleObservableImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservableImplication; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservableImplication" + + + // $ANTLR start "ruleObservableImplication" + // InternalFiacre.g:11911:1: ruleObservableImplication returns [EObject current=null] : (this_ObservableConjunction_0= ruleObservableConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? ) ; + public final EObject ruleObservableImplication() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_ObservableConjunction_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11917:2: ( (this_ObservableConjunction_0= ruleObservableConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? ) ) + // InternalFiacre.g:11918:2: (this_ObservableConjunction_0= ruleObservableConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? ) + { + // InternalFiacre.g:11918:2: (this_ObservableConjunction_0= ruleObservableConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? ) + // InternalFiacre.g:11919:3: this_ObservableConjunction_0= ruleObservableConjunction ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableImplicationAccess().getObservableConjunctionParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_85); + this_ObservableConjunction_0=ruleObservableConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableConjunction_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11930:3: ( () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) )? + int alt176=2; + int LA176_0 = input.LA(1); + + if ( (LA176_0==86) ) { + alt176=1; + } + switch (alt176) { + case 1 : + // InternalFiacre.g:11931:4: () otherlv_2= '=>' ( (lv_right_3_0= ruleObservableImplication ) ) + { + // InternalFiacre.g:11931:4: () + // InternalFiacre.g:11932:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,86,FollowSets000.FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getObservableImplicationAccess().getEqualsSignGreaterThanSignKeyword_1_1()); + + } + // InternalFiacre.g:11945:4: ( (lv_right_3_0= ruleObservableImplication ) ) + // InternalFiacre.g:11946:5: (lv_right_3_0= ruleObservableImplication ) + { + // InternalFiacre.g:11946:5: (lv_right_3_0= ruleObservableImplication ) + // InternalFiacre.g:11947:6: lv_right_3_0= ruleObservableImplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleObservableImplication(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObservableImplicationRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableImplication"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservableImplication" + + + // $ANTLR start "entryRuleObservableConjunction" + // InternalFiacre.g:11969:1: entryRuleObservableConjunction returns [EObject current=null] : iv_ruleObservableConjunction= ruleObservableConjunction EOF ; + public final EObject entryRuleObservableConjunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservableConjunction = null; + + + try { + // InternalFiacre.g:11969:62: (iv_ruleObservableConjunction= ruleObservableConjunction EOF ) + // InternalFiacre.g:11970:2: iv_ruleObservableConjunction= ruleObservableConjunction EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableConjunctionRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservableConjunction=ruleObservableConjunction(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservableConjunction; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservableConjunction" + + + // $ANTLR start "ruleObservableConjunction" + // InternalFiacre.g:11976:1: ruleObservableConjunction returns [EObject current=null] : (this_ObservableNegation_0= ruleObservableNegation ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* ) ; + public final EObject ruleObservableConjunction() throws RecognitionException { + EObject current = null; + + Token otherlv_2=null; + EObject this_ObservableNegation_0 = null; + + EObject lv_right_3_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:11982:2: ( (this_ObservableNegation_0= ruleObservableNegation ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* ) ) + // InternalFiacre.g:11983:2: (this_ObservableNegation_0= ruleObservableNegation ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* ) + { + // InternalFiacre.g:11983:2: (this_ObservableNegation_0= ruleObservableNegation ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* ) + // InternalFiacre.g:11984:3: this_ObservableNegation_0= ruleObservableNegation ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableConjunctionAccess().getObservableNegationParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + this_ObservableNegation_0=ruleObservableNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableNegation_0; + afterParserOrEnumRuleCall(); + + } + // InternalFiacre.g:11995:3: ( () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) )* + loop177: + do { + int alt177=2; + int LA177_0 = input.LA(1); + + if ( (LA177_0==87) ) { + alt177=1; + } + + + switch (alt177) { + case 1 : + // InternalFiacre.g:11996:4: () otherlv_2= 'and' ( (lv_right_3_0= ruleObservableNegation ) ) + { + // InternalFiacre.g:11996:4: () + // InternalFiacre.g:11997:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElementAndSet( + grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0(), + current); + + } + + } + + otherlv_2=(Token)match(input,87,FollowSets000.FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getObservableConjunctionAccess().getAndKeyword_1_1()); + + } + // InternalFiacre.g:12010:4: ( (lv_right_3_0= ruleObservableNegation ) ) + // InternalFiacre.g:12011:5: (lv_right_3_0= ruleObservableNegation ) + { + // InternalFiacre.g:12011:5: (lv_right_3_0= ruleObservableNegation ) + // InternalFiacre.g:12012:6: lv_right_3_0= ruleObservableNegation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_86); + lv_right_3_0=ruleObservableNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObservableConjunctionRule()); + } + set( + current, + "right", + lv_right_3_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableNegation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + break; + + default : + break loop177; + } + } while (true); + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservableConjunction" + + + // $ANTLR start "entryRuleObservableNegation" + // InternalFiacre.g:12034:1: entryRuleObservableNegation returns [EObject current=null] : iv_ruleObservableNegation= ruleObservableNegation EOF ; + public final EObject entryRuleObservableNegation() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservableNegation = null; + + + try { + // InternalFiacre.g:12034:59: (iv_ruleObservableNegation= ruleObservableNegation EOF ) + // InternalFiacre.g:12035:2: iv_ruleObservableNegation= ruleObservableNegation EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableNegationRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservableNegation=ruleObservableNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservableNegation; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservableNegation" + + + // $ANTLR start "ruleObservableNegation" + // InternalFiacre.g:12041:1: ruleObservableNegation returns [EObject current=null] : ( ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) | this_AtomicObservable_3= ruleAtomicObservable ) ; + public final EObject ruleObservableNegation() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_child_2_0 = null; + + EObject this_AtomicObservable_3 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12047:2: ( ( ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) | this_AtomicObservable_3= ruleAtomicObservable ) ) + // InternalFiacre.g:12048:2: ( ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) | this_AtomicObservable_3= ruleAtomicObservable ) + { + // InternalFiacre.g:12048:2: ( ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) | this_AtomicObservable_3= ruleAtomicObservable ) + int alt178=2; + int LA178_0 = input.LA(1); + + if ( (LA178_0==95) ) { + alt178=1; + } + else if ( (LA178_0==RULE_ID||LA178_0==RULE_INT||LA178_0==16||(LA178_0>=134 && LA178_0<=135)) ) { + alt178=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 178, 0, input); + + throw nvae; + } + switch (alt178) { + case 1 : + // InternalFiacre.g:12049:3: ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) + { + // InternalFiacre.g:12049:3: ( () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) ) + // InternalFiacre.g:12050:4: () otherlv_1= 'not' ( (lv_child_2_0= ruleObservableNegation ) ) + { + // InternalFiacre.g:12050:4: () + // InternalFiacre.g:12051:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + current = forceCreateModelElement( + grammarAccess.getObservableNegationAccess().getObservableNegationAction_0_0(), + current); + + } + + } + + otherlv_1=(Token)match(input,95,FollowSets000.FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getObservableNegationAccess().getNotKeyword_0_1()); + + } + // InternalFiacre.g:12064:4: ( (lv_child_2_0= ruleObservableNegation ) ) + // InternalFiacre.g:12065:5: (lv_child_2_0= ruleObservableNegation ) + { + // InternalFiacre.g:12065:5: (lv_child_2_0= ruleObservableNegation ) + // InternalFiacre.g:12066:6: lv_child_2_0= ruleObservableNegation + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_child_2_0=ruleObservableNegation(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getObservableNegationRule()); + } + set( + current, + "child", + lv_child_2_0, + "fr.irit.fiacre.xtext.Fiacre.ObservableNegation"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:12085:3: this_AtomicObservable_3= ruleAtomicObservable + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableNegationAccess().getAtomicObservableParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_AtomicObservable_3=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_AtomicObservable_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservableNegation" + + + // $ANTLR start "entryRuleAtomicObservable" + // InternalFiacre.g:12100:1: entryRuleAtomicObservable returns [EObject current=null] : iv_ruleAtomicObservable= ruleAtomicObservable EOF ; + public final EObject entryRuleAtomicObservable() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAtomicObservable = null; + + + try { + // InternalFiacre.g:12100:57: (iv_ruleAtomicObservable= ruleAtomicObservable EOF ) + // InternalFiacre.g:12101:2: iv_ruleAtomicObservable= ruleAtomicObservable EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getAtomicObservableRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleAtomicObservable=ruleAtomicObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleAtomicObservable; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAtomicObservable" + + + // $ANTLR start "ruleAtomicObservable" + // InternalFiacre.g:12107:1: ruleAtomicObservable returns [EObject current=null] : ( (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) | this_ObservableEvent_3= ruleObservableEvent ) ; + public final EObject ruleAtomicObservable() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject this_Observable_1 = null; + + EObject this_ObservableEvent_3 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12113:2: ( ( (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) | this_ObservableEvent_3= ruleObservableEvent ) ) + // InternalFiacre.g:12114:2: ( (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) | this_ObservableEvent_3= ruleObservableEvent ) + { + // InternalFiacre.g:12114:2: ( (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) | this_ObservableEvent_3= ruleObservableEvent ) + int alt179=2; + int LA179_0 = input.LA(1); + + if ( (LA179_0==16) ) { + alt179=1; + } + else if ( (LA179_0==RULE_ID||LA179_0==RULE_INT||(LA179_0>=134 && LA179_0<=135)) ) { + alt179=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 179, 0, input); + + throw nvae; + } + switch (alt179) { + case 1 : + // InternalFiacre.g:12115:3: (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) + { + // InternalFiacre.g:12115:3: (otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' ) + // InternalFiacre.g:12116:4: otherlv_0= '(' this_Observable_1= ruleObservable otherlv_2= ')' + { + otherlv_0=(Token)match(input,16,FollowSets000.FOLLOW_118); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + + } + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicObservableAccess().getObservableParserRuleCall_0_1()); + + } + pushFollow(FollowSets000.FOLLOW_62); + this_Observable_1=ruleObservable(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_Observable_1; + afterParserOrEnumRuleCall(); + + } + otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_2, grammarAccess.getAtomicObservableAccess().getRightParenthesisKeyword_0_2()); + + } + + } + + + } + break; + case 2 : + // InternalFiacre.g:12137:3: this_ObservableEvent_3= ruleObservableEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAtomicObservableAccess().getObservableEventParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ObservableEvent_3=ruleObservableEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ObservableEvent_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAtomicObservable" + + + // $ANTLR start "entryRuleObservableEvent" + // InternalFiacre.g:12152:1: entryRuleObservableEvent returns [EObject current=null] : iv_ruleObservableEvent= ruleObservableEvent EOF ; + public final EObject entryRuleObservableEvent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleObservableEvent = null; + + + try { + // InternalFiacre.g:12152:56: (iv_ruleObservableEvent= ruleObservableEvent EOF ) + // InternalFiacre.g:12153:2: iv_ruleObservableEvent= ruleObservableEvent EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getObservableEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleObservableEvent=ruleObservableEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleObservableEvent; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleObservableEvent" + + + // $ANTLR start "ruleObservableEvent" + // InternalFiacre.g:12159:1: ruleObservableEvent returns [EObject current=null] : (this_PathEvent_0= rulePathEvent | this_StateEvent_1= ruleStateEvent ) ; + public final EObject ruleObservableEvent() throws RecognitionException { + EObject current = null; + + EObject this_PathEvent_0 = null; + + EObject this_StateEvent_1 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12165:2: ( (this_PathEvent_0= rulePathEvent | this_StateEvent_1= ruleStateEvent ) ) + // InternalFiacre.g:12166:2: (this_PathEvent_0= rulePathEvent | this_StateEvent_1= ruleStateEvent ) + { + // InternalFiacre.g:12166:2: (this_PathEvent_0= rulePathEvent | this_StateEvent_1= ruleStateEvent ) + int alt180=2; + int LA180_0 = input.LA(1); + + if ( (LA180_0==RULE_ID||LA180_0==RULE_INT) ) { + alt180=1; + } + else if ( ((LA180_0>=134 && LA180_0<=135)) ) { + alt180=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 180, 0, input); + + throw nvae; + } + switch (alt180) { + case 1 : + // InternalFiacre.g:12167:3: this_PathEvent_0= rulePathEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableEventAccess().getPathEventParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PathEvent_0=rulePathEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_PathEvent_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:12179:3: this_StateEvent_1= ruleStateEvent + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getObservableEventAccess().getStateEventParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_StateEvent_1=ruleStateEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StateEvent_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleObservableEvent" + + + // $ANTLR start "entryRulePathEvent" + // InternalFiacre.g:12194:1: entryRulePathEvent returns [EObject current=null] : iv_rulePathEvent= rulePathEvent EOF ; + public final EObject entryRulePathEvent() throws RecognitionException { + EObject current = null; + + EObject iv_rulePathEvent = null; + + + try { + // InternalFiacre.g:12194:50: (iv_rulePathEvent= rulePathEvent EOF ) + // InternalFiacre.g:12195:2: iv_rulePathEvent= rulePathEvent EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPathEventRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePathEvent=rulePathEvent(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePathEvent; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePathEvent" + + + // $ANTLR start "rulePathEvent" + // InternalFiacre.g:12201:1: rulePathEvent returns [EObject current=null] : ( ( (lv_path_0_0= rulePath ) ) ( (lv_item_1_0= ruleSubject ) ) ) ; + public final EObject rulePathEvent() throws RecognitionException { + EObject current = null; + + EObject lv_path_0_0 = null; + + EObject lv_item_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12207:2: ( ( ( (lv_path_0_0= rulePath ) ) ( (lv_item_1_0= ruleSubject ) ) ) ) + // InternalFiacre.g:12208:2: ( ( (lv_path_0_0= rulePath ) ) ( (lv_item_1_0= ruleSubject ) ) ) + { + // InternalFiacre.g:12208:2: ( ( (lv_path_0_0= rulePath ) ) ( (lv_item_1_0= ruleSubject ) ) ) + // InternalFiacre.g:12209:3: ( (lv_path_0_0= rulePath ) ) ( (lv_item_1_0= ruleSubject ) ) + { + // InternalFiacre.g:12209:3: ( (lv_path_0_0= rulePath ) ) + // InternalFiacre.g:12210:4: (lv_path_0_0= rulePath ) + { + // InternalFiacre.g:12210:4: (lv_path_0_0= rulePath ) + // InternalFiacre.g:12211:5: lv_path_0_0= rulePath + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_119); + lv_path_0_0=rulePath(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPathEventRule()); + } + set( + current, + "path", + lv_path_0_0, + "fr.irit.fiacre.xtext.Fiacre.Path"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + // InternalFiacre.g:12228:3: ( (lv_item_1_0= ruleSubject ) ) + // InternalFiacre.g:12229:4: (lv_item_1_0= ruleSubject ) + { + // InternalFiacre.g:12229:4: (lv_item_1_0= ruleSubject ) + // InternalFiacre.g:12230:5: lv_item_1_0= ruleSubject + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_item_1_0=ruleSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPathEventRule()); + } + set( + current, + "item", + lv_item_1_0, + "fr.irit.fiacre.xtext.Fiacre.Subject"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePathEvent" + + + // $ANTLR start "entryRulePath" + // InternalFiacre.g:12251:1: entryRulePath returns [EObject current=null] : iv_rulePath= rulePath EOF ; + public final EObject entryRulePath() throws RecognitionException { + EObject current = null; + + EObject iv_rulePath = null; + + + try { + // InternalFiacre.g:12251:45: (iv_rulePath= rulePath EOF ) + // InternalFiacre.g:12252:2: iv_rulePath= rulePath EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPathRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePath=rulePath(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePath; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePath" + + + // $ANTLR start "rulePath" + // InternalFiacre.g:12258:1: rulePath returns [EObject current=null] : ( ( (lv_items_0_0= rulePathItem ) ) otherlv_1= '/' )+ ; + public final EObject rulePath() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_items_0_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12264:2: ( ( ( (lv_items_0_0= rulePathItem ) ) otherlv_1= '/' )+ ) + // InternalFiacre.g:12265:2: ( ( (lv_items_0_0= rulePathItem ) ) otherlv_1= '/' )+ + { + // InternalFiacre.g:12265:2: ( ( (lv_items_0_0= rulePathItem ) ) otherlv_1= '/' )+ + int cnt181=0; + loop181: + do { + int alt181=2; + int LA181_0 = input.LA(1); + + if ( (LA181_0==RULE_ID||LA181_0==RULE_INT) ) { + alt181=1; + } + + + switch (alt181) { + case 1 : + // InternalFiacre.g:12266:3: ( (lv_items_0_0= rulePathItem ) ) otherlv_1= '/' + { + // InternalFiacre.g:12266:3: ( (lv_items_0_0= rulePathItem ) ) + // InternalFiacre.g:12267:4: (lv_items_0_0= rulePathItem ) + { + // InternalFiacre.g:12267:4: (lv_items_0_0= rulePathItem ) + // InternalFiacre.g:12268:5: lv_items_0_0= rulePathItem + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPathAccess().getItemsPathItemParserRuleCall_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_120); + lv_items_0_0=rulePathItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPathRule()); + } + add( + current, + "items", + lv_items_0_0, + "fr.irit.fiacre.xtext.Fiacre.PathItem"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + otherlv_1=(Token)match(input,93,FollowSets000.FOLLOW_121); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getPathAccess().getSolidusKeyword_1()); + + } + + } + break; + + default : + if ( cnt181 >= 1 ) break loop181; + if (state.backtracking>0) {state.failed=true; return current;} + EarlyExitException eee = + new EarlyExitException(181, input); + throw eee; + } + cnt181++; + } while (true); + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePath" + + + // $ANTLR start "entryRulePathItem" + // InternalFiacre.g:12293:1: entryRulePathItem returns [EObject current=null] : iv_rulePathItem= rulePathItem EOF ; + public final EObject entryRulePathItem() throws RecognitionException { + EObject current = null; + + EObject iv_rulePathItem = null; + + + try { + // InternalFiacre.g:12293:49: (iv_rulePathItem= rulePathItem EOF ) + // InternalFiacre.g:12294:2: iv_rulePathItem= rulePathItem EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getPathItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_rulePathItem=rulePathItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_rulePathItem; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePathItem" + + + // $ANTLR start "rulePathItem" + // InternalFiacre.g:12300:1: rulePathItem returns [EObject current=null] : (this_NaturalItem_0= ruleNaturalItem | this_NamedItem_1= ruleNamedItem ) ; + public final EObject rulePathItem() throws RecognitionException { + EObject current = null; + + EObject this_NaturalItem_0 = null; + + EObject this_NamedItem_1 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12306:2: ( (this_NaturalItem_0= ruleNaturalItem | this_NamedItem_1= ruleNamedItem ) ) + // InternalFiacre.g:12307:2: (this_NaturalItem_0= ruleNaturalItem | this_NamedItem_1= ruleNamedItem ) + { + // InternalFiacre.g:12307:2: (this_NaturalItem_0= ruleNaturalItem | this_NamedItem_1= ruleNamedItem ) + int alt182=2; + int LA182_0 = input.LA(1); + + if ( (LA182_0==RULE_INT) ) { + alt182=1; + } + else if ( (LA182_0==RULE_ID) ) { + alt182=2; + } + else { + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 182, 0, input); + + throw nvae; + } + switch (alt182) { + case 1 : + // InternalFiacre.g:12308:3: this_NaturalItem_0= ruleNaturalItem + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPathItemAccess().getNaturalItemParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NaturalItem_0=ruleNaturalItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NaturalItem_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:12320:3: this_NamedItem_1= ruleNamedItem + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPathItemAccess().getNamedItemParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_NamedItem_1=ruleNamedItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_NamedItem_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePathItem" + + + // $ANTLR start "entryRuleNaturalItem" + // InternalFiacre.g:12335:1: entryRuleNaturalItem returns [EObject current=null] : iv_ruleNaturalItem= ruleNaturalItem EOF ; + public final EObject entryRuleNaturalItem() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNaturalItem = null; + + + try { + // InternalFiacre.g:12335:52: (iv_ruleNaturalItem= ruleNaturalItem EOF ) + // InternalFiacre.g:12336:2: iv_ruleNaturalItem= ruleNaturalItem EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNaturalItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNaturalItem=ruleNaturalItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNaturalItem; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNaturalItem" + + + // $ANTLR start "ruleNaturalItem" + // InternalFiacre.g:12342:1: ruleNaturalItem returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ; + public final EObject ruleNaturalItem() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:12348:2: ( ( (lv_value_0_0= RULE_INT ) ) ) + // InternalFiacre.g:12349:2: ( (lv_value_0_0= RULE_INT ) ) + { + // InternalFiacre.g:12349:2: ( (lv_value_0_0= RULE_INT ) ) + // InternalFiacre.g:12350:3: (lv_value_0_0= RULE_INT ) + { + // InternalFiacre.g:12350:3: (lv_value_0_0= RULE_INT ) + // InternalFiacre.g:12351:4: lv_value_0_0= RULE_INT + { + lv_value_0_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_value_0_0, grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNaturalItemRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "fr.irit.fiacre.xtext.Fiacre.INT"); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNaturalItem" + + + // $ANTLR start "entryRuleNamedItem" + // InternalFiacre.g:12370:1: entryRuleNamedItem returns [EObject current=null] : iv_ruleNamedItem= ruleNamedItem EOF ; + public final EObject entryRuleNamedItem() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNamedItem = null; + + + try { + // InternalFiacre.g:12370:50: (iv_ruleNamedItem= ruleNamedItem EOF ) + // InternalFiacre.g:12371:2: iv_ruleNamedItem= ruleNamedItem EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getNamedItemRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleNamedItem=ruleNamedItem(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleNamedItem; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNamedItem" + + + // $ANTLR start "ruleNamedItem" + // InternalFiacre.g:12377:1: ruleNamedItem returns [EObject current=null] : ( (otherlv_0= RULE_ID ) ) ; + public final EObject ruleNamedItem() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:12383:2: ( ( (otherlv_0= RULE_ID ) ) ) + // InternalFiacre.g:12384:2: ( (otherlv_0= RULE_ID ) ) + { + // InternalFiacre.g:12384:2: ( (otherlv_0= RULE_ID ) ) + // InternalFiacre.g:12385:3: (otherlv_0= RULE_ID ) + { + // InternalFiacre.g:12385:3: (otherlv_0= RULE_ID ) + // InternalFiacre.g:12386:4: otherlv_0= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getNamedItemRule()); + } + + } + otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseCrossReference_0()); + + } + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNamedItem" + + + // $ANTLR start "entryRuleSubject" + // InternalFiacre.g:12403:1: entryRuleSubject returns [EObject current=null] : iv_ruleSubject= ruleSubject EOF ; + public final EObject entryRuleSubject() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSubject = null; + + + try { + // InternalFiacre.g:12403:48: (iv_ruleSubject= ruleSubject EOF ) + // InternalFiacre.g:12404:2: iv_ruleSubject= ruleSubject EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleSubject=ruleSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleSubject; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSubject" + + + // $ANTLR start "ruleSubject" + // InternalFiacre.g:12410:1: ruleSubject returns [EObject current=null] : (this_StateSubject_0= ruleStateSubject | this_ValueSubject_1= ruleValueSubject | this_TagSubject_2= ruleTagSubject | this_EventSubject_3= ruleEventSubject ) ; + public final EObject ruleSubject() throws RecognitionException { + EObject current = null; + + EObject this_StateSubject_0 = null; + + EObject this_ValueSubject_1 = null; + + EObject this_TagSubject_2 = null; + + EObject this_EventSubject_3 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12416:2: ( (this_StateSubject_0= ruleStateSubject | this_ValueSubject_1= ruleValueSubject | this_TagSubject_2= ruleTagSubject | this_EventSubject_3= ruleEventSubject ) ) + // InternalFiacre.g:12417:2: (this_StateSubject_0= ruleStateSubject | this_ValueSubject_1= ruleValueSubject | this_TagSubject_2= ruleTagSubject | this_EventSubject_3= ruleEventSubject ) + { + // InternalFiacre.g:12417:2: (this_StateSubject_0= ruleStateSubject | this_ValueSubject_1= ruleValueSubject | this_TagSubject_2= ruleTagSubject | this_EventSubject_3= ruleEventSubject ) + int alt183=4; + switch ( input.LA(1) ) { + case 136: + { + alt183=1; + } + break; + case 137: + { + alt183=2; + } + break; + case 138: + { + alt183=3; + } + break; + case 139: + { + alt183=4; + } + break; + default: + if (state.backtracking>0) {state.failed=true; return current;} + NoViableAltException nvae = + new NoViableAltException("", 183, 0, input); + + throw nvae; + } + + switch (alt183) { + case 1 : + // InternalFiacre.g:12418:3: this_StateSubject_0= ruleStateSubject + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubjectAccess().getStateSubjectParserRuleCall_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_StateSubject_0=ruleStateSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_StateSubject_0; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 2 : + // InternalFiacre.g:12430:3: this_ValueSubject_1= ruleValueSubject + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubjectAccess().getValueSubjectParserRuleCall_1()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_ValueSubject_1=ruleValueSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_ValueSubject_1; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 3 : + // InternalFiacre.g:12442:3: this_TagSubject_2= ruleTagSubject + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubjectAccess().getTagSubjectParserRuleCall_2()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_TagSubject_2=ruleTagSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_TagSubject_2; + afterParserOrEnumRuleCall(); + + } + + } + break; + case 4 : + // InternalFiacre.g:12454:3: this_EventSubject_3= ruleEventSubject + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubjectAccess().getEventSubjectParserRuleCall_3()); + + } + pushFollow(FollowSets000.FOLLOW_2); + this_EventSubject_3=ruleEventSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + current = this_EventSubject_3; + afterParserOrEnumRuleCall(); + + } + + } + break; + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSubject" + + + // $ANTLR start "entryRuleStateSubject" + // InternalFiacre.g:12469:1: entryRuleStateSubject returns [EObject current=null] : iv_ruleStateSubject= ruleStateSubject EOF ; + public final EObject entryRuleStateSubject() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStateSubject = null; + + + try { + // InternalFiacre.g:12469:53: (iv_ruleStateSubject= ruleStateSubject EOF ) + // InternalFiacre.g:12470:2: iv_ruleStateSubject= ruleStateSubject EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getStateSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleStateSubject=ruleStateSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleStateSubject; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStateSubject" + + + // $ANTLR start "ruleStateSubject" + // InternalFiacre.g:12476:1: ruleStateSubject returns [EObject current=null] : (otherlv_0= 'state' ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleStateSubject() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:12482:2: ( (otherlv_0= 'state' ( (otherlv_1= RULE_ID ) ) ) ) + // InternalFiacre.g:12483:2: (otherlv_0= 'state' ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:12483:2: (otherlv_0= 'state' ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:12484:3: otherlv_0= 'state' ( (otherlv_1= RULE_ID ) ) + { + otherlv_0=(Token)match(input,136,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getStateSubjectAccess().getStateKeyword_0()); + + } + // InternalFiacre.g:12488:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:12489:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:12489:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:12490:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getStateSubjectRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getStateSubjectAccess().getStateStateDeclarationCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStateSubject" + + + // $ANTLR start "entryRuleValueSubject" + // InternalFiacre.g:12508:1: entryRuleValueSubject returns [EObject current=null] : iv_ruleValueSubject= ruleValueSubject EOF ; + public final EObject entryRuleValueSubject() throws RecognitionException { + EObject current = null; + + EObject iv_ruleValueSubject = null; + + + try { + // InternalFiacre.g:12508:53: (iv_ruleValueSubject= ruleValueSubject EOF ) + // InternalFiacre.g:12509:2: iv_ruleValueSubject= ruleValueSubject EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getValueSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleValueSubject=ruleValueSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleValueSubject; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValueSubject" + + + // $ANTLR start "ruleValueSubject" + // InternalFiacre.g:12515:1: ruleValueSubject returns [EObject current=null] : (otherlv_0= 'value' ( (lv_value_1_0= ruleAtomicExpression ) ) ) ; + public final EObject ruleValueSubject() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + EObject lv_value_1_0 = null; + + + + enterRule(); + + try { + // InternalFiacre.g:12521:2: ( (otherlv_0= 'value' ( (lv_value_1_0= ruleAtomicExpression ) ) ) ) + // InternalFiacre.g:12522:2: (otherlv_0= 'value' ( (lv_value_1_0= ruleAtomicExpression ) ) ) + { + // InternalFiacre.g:12522:2: (otherlv_0= 'value' ( (lv_value_1_0= ruleAtomicExpression ) ) ) + // InternalFiacre.g:12523:3: otherlv_0= 'value' ( (lv_value_1_0= ruleAtomicExpression ) ) + { + otherlv_0=(Token)match(input,137,FollowSets000.FOLLOW_19); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getValueSubjectAccess().getValueKeyword_0()); + + } + // InternalFiacre.g:12527:3: ( (lv_value_1_0= ruleAtomicExpression ) ) + // InternalFiacre.g:12528:4: (lv_value_1_0= ruleAtomicExpression ) + { + // InternalFiacre.g:12528:4: (lv_value_1_0= ruleAtomicExpression ) + // InternalFiacre.g:12529:5: lv_value_1_0= ruleAtomicExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_value_1_0=ruleAtomicExpression(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElementForParent(grammarAccess.getValueSubjectRule()); + } + set( + current, + "value", + lv_value_1_0, + "fr.irit.fiacre.xtext.Fiacre.AtomicExpression"); + afterParserOrEnumRuleCall(); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValueSubject" + + + // $ANTLR start "entryRuleTagSubject" + // InternalFiacre.g:12550:1: entryRuleTagSubject returns [EObject current=null] : iv_ruleTagSubject= ruleTagSubject EOF ; + public final EObject entryRuleTagSubject() throws RecognitionException { + EObject current = null; + + EObject iv_ruleTagSubject = null; + + + try { + // InternalFiacre.g:12550:51: (iv_ruleTagSubject= ruleTagSubject EOF ) + // InternalFiacre.g:12551:2: iv_ruleTagSubject= ruleTagSubject EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getTagSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleTagSubject=ruleTagSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleTagSubject; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleTagSubject" + + + // $ANTLR start "ruleTagSubject" + // InternalFiacre.g:12557:1: ruleTagSubject returns [EObject current=null] : (otherlv_0= 'tag' ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleTagSubject() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalFiacre.g:12563:2: ( (otherlv_0= 'tag' ( (otherlv_1= RULE_ID ) ) ) ) + // InternalFiacre.g:12564:2: (otherlv_0= 'tag' ( (otherlv_1= RULE_ID ) ) ) + { + // InternalFiacre.g:12564:2: (otherlv_0= 'tag' ( (otherlv_1= RULE_ID ) ) ) + // InternalFiacre.g:12565:3: otherlv_0= 'tag' ( (otherlv_1= RULE_ID ) ) + { + otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getTagSubjectAccess().getTagKeyword_0()); + + } + // InternalFiacre.g:12569:3: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:12570:4: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:12570:4: (otherlv_1= RULE_ID ) + // InternalFiacre.g:12571:5: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getTagSubjectRule()); + } + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_1, grammarAccess.getTagSubjectAccess().getTagTaggedStatementCrossReference_1_0()); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleTagSubject" + + + // $ANTLR start "entryRuleEventSubject" + // InternalFiacre.g:12589:1: entryRuleEventSubject returns [EObject current=null] : iv_ruleEventSubject= ruleEventSubject EOF ; + public final EObject entryRuleEventSubject() throws RecognitionException { + EObject current = null; + + EObject iv_ruleEventSubject = null; + + + try { + // InternalFiacre.g:12589:53: (iv_ruleEventSubject= ruleEventSubject EOF ) + // InternalFiacre.g:12590:2: iv_ruleEventSubject= ruleEventSubject EOF + { + if ( state.backtracking==0 ) { + newCompositeNode(grammarAccess.getEventSubjectRule()); + } + pushFollow(FollowSets000.FOLLOW_1); + iv_ruleEventSubject=ruleEventSubject(); + + state._fsp--; + if (state.failed) return current; + if ( state.backtracking==0 ) { + current =iv_ruleEventSubject; + } + match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEventSubject" + + + // $ANTLR start "ruleEventSubject" + // InternalFiacre.g:12596:1: ruleEventSubject returns [EObject current=null] : (otherlv_0= 'event' ( (lv_event_1_0= RULE_ID ) ) ) ; + public final EObject ruleEventSubject() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_event_1_0=null; + + + enterRule(); + + try { + // InternalFiacre.g:12602:2: ( (otherlv_0= 'event' ( (lv_event_1_0= RULE_ID ) ) ) ) + // InternalFiacre.g:12603:2: (otherlv_0= 'event' ( (lv_event_1_0= RULE_ID ) ) ) + { + // InternalFiacre.g:12603:2: (otherlv_0= 'event' ( (lv_event_1_0= RULE_ID ) ) ) + // InternalFiacre.g:12604:3: otherlv_0= 'event' ( (lv_event_1_0= RULE_ID ) ) + { + otherlv_0=(Token)match(input,139,FollowSets000.FOLLOW_6); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(otherlv_0, grammarAccess.getEventSubjectAccess().getEventKeyword_0()); + + } + // InternalFiacre.g:12608:3: ( (lv_event_1_0= RULE_ID ) ) + // InternalFiacre.g:12609:4: (lv_event_1_0= RULE_ID ) + { + // InternalFiacre.g:12609:4: (lv_event_1_0= RULE_ID ) + // InternalFiacre.g:12610:5: lv_event_1_0= RULE_ID + { + lv_event_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; + if ( state.backtracking==0 ) { + + newLeafNode(lv_event_1_0, grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0()); + + } + if ( state.backtracking==0 ) { + + if (current==null) { + current = createModelElement(grammarAccess.getEventSubjectRule()); + } + setWithLastConsumed( + current, + "event", + lv_event_1_0, + "fr.irit.fiacre.xtext.Fiacre.ID"); + + } + + } + + + } + + + } + + + } + + if ( state.backtracking==0 ) { + + leaveRule(); + + } + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEventSubject" + + // $ANTLR start synpred17_InternalFiacre + public final void synpred17_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_size_2_0 = null; + + + // InternalFiacre.g:790:4: (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' ) + // InternalFiacre.g:790:4: otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' + { + otherlv_1=(Token)match(input,24,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:794:4: ( (lv_size_2_0= ruleExpression ) ) + // InternalFiacre.g:795:5: (lv_size_2_0= ruleExpression ) + { + // InternalFiacre.g:795:5: (lv_size_2_0= ruleExpression ) + // InternalFiacre.g:796:6: lv_size_2_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getChannelTypeAccess().getSizeExpressionParserRuleCall_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_20); + lv_size_2_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred17_InternalFiacre + + // $ANTLR start synpred22_InternalFiacre + public final void synpred22_InternalFiacre_fragment() throws RecognitionException { + Token lv_in_4_0=null; + Token lv_out_5_0=null; + Token lv_out_6_0=null; + Token otherlv_8=null; + EObject lv_type_7_0 = null; + + + // InternalFiacre.g:819:4: ( ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) ) + // InternalFiacre.g:819:4: ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) + { + // InternalFiacre.g:819:4: ( ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) ) + // InternalFiacre.g:820:5: ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) + { + // InternalFiacre.g:820:5: ( ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) | ( (lv_out_6_0= 'out' ) ) )? + int alt189=3; + int LA189_0 = input.LA(1); + + if ( (LA189_0==26) ) { + alt189=1; + } + else if ( (LA189_0==27) ) { + alt189=2; + } + switch (alt189) { + case 1 : + // InternalFiacre.g:821:6: ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) + { + // InternalFiacre.g:821:6: ( ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? ) + // InternalFiacre.g:822:7: ( (lv_in_4_0= 'in' ) ) ( (lv_out_5_0= 'out' ) )? + { + // InternalFiacre.g:822:7: ( (lv_in_4_0= 'in' ) ) + // InternalFiacre.g:823:8: (lv_in_4_0= 'in' ) + { + // InternalFiacre.g:823:8: (lv_in_4_0= 'in' ) + // InternalFiacre.g:824:9: lv_in_4_0= 'in' + { + lv_in_4_0=(Token)match(input,26,FollowSets000.FOLLOW_21); if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:836:7: ( (lv_out_5_0= 'out' ) )? + int alt188=2; + int LA188_0 = input.LA(1); + + if ( (LA188_0==27) ) { + alt188=1; + } + switch (alt188) { + case 1 : + // InternalFiacre.g:837:8: (lv_out_5_0= 'out' ) + { + // InternalFiacre.g:837:8: (lv_out_5_0= 'out' ) + // InternalFiacre.g:838:9: lv_out_5_0= 'out' + { + lv_out_5_0=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return ; + + } + + + } + break; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:852:6: ( (lv_out_6_0= 'out' ) ) + { + // InternalFiacre.g:852:6: ( (lv_out_6_0= 'out' ) ) + // InternalFiacre.g:853:7: (lv_out_6_0= 'out' ) + { + // InternalFiacre.g:853:7: (lv_out_6_0= 'out' ) + // InternalFiacre.g:854:8: lv_out_6_0= 'out' + { + lv_out_6_0=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return ; + + } + + + } + + + } + break; + + } + + // InternalFiacre.g:867:5: ( ( (lv_type_7_0= ruleTupleType ) ) | otherlv_8= 'none' ) + int alt190=2; + int LA190_0 = input.LA(1); + + if ( (LA190_0==RULE_ID||LA190_0==RULE_INT||LA190_0==16||LA190_0==24||(LA190_0>=31 && LA190_0<=33)||LA190_0==35||(LA190_0>=37 && LA190_0<=38)||LA190_0==41||LA190_0==51||(LA190_0>=63 && LA190_0<=64)||(LA190_0>=83 && LA190_0<=84)||(LA190_0>=95 && LA190_0<=101)||LA190_0==103||LA190_0==105||(LA190_0>=107 && LA190_0<=110)) ) { + alt190=1; + } + else if ( (LA190_0==28) ) { + alt190=2; + } + else { + if (state.backtracking>0) {state.failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("", 190, 0, input); + + throw nvae; + } + switch (alt190) { + case 1 : + // InternalFiacre.g:868:6: ( (lv_type_7_0= ruleTupleType ) ) + { + // InternalFiacre.g:868:6: ( (lv_type_7_0= ruleTupleType ) ) + // InternalFiacre.g:869:7: (lv_type_7_0= ruleTupleType ) + { + // InternalFiacre.g:869:7: (lv_type_7_0= ruleTupleType ) + // InternalFiacre.g:870:8: lv_type_7_0= ruleTupleType + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getChannelTypeAccess().getTypeTupleTypeParserRuleCall_2_0_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_type_7_0=ruleTupleType(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + case 2 : + // InternalFiacre.g:888:6: otherlv_8= 'none' + { + otherlv_8=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred22_InternalFiacre + + // $ANTLR start synpred23_InternalFiacre + public final void synpred23_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_9=null; + + // InternalFiacre.g:895:4: (otherlv_9= 'none' ) + // InternalFiacre.g:895:4: otherlv_9= 'none' + { + otherlv_9=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred23_InternalFiacre + + // $ANTLR start synpred25_InternalFiacre + public final void synpred25_InternalFiacre_fragment() throws RecognitionException { + EObject this_RangeType_1 = null; + + + // InternalFiacre.g:936:3: (this_RangeType_1= ruleRangeType ) + // InternalFiacre.g:936:3: this_RangeType_1= ruleRangeType + { + if ( state.backtracking==0 ) { + + /* */ + + } + pushFollow(FollowSets000.FOLLOW_2); + this_RangeType_1=ruleRangeType(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred25_InternalFiacre + + // $ANTLR start synpred94_InternalFiacre + public final void synpred94_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_1=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + EObject lv_patterns_3_0 = null; + + EObject lv_patterns_5_0 = null; + + EObject lv_values_7_0 = null; + + EObject lv_values_9_0 = null; + + + // InternalFiacre.g:4024:4: ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) ) + // InternalFiacre.g:4024:4: (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) + { + // InternalFiacre.g:4024:4: (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) + // InternalFiacre.g:4025:5: otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* + { + otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return ; + // InternalFiacre.g:4029:5: () + // InternalFiacre.g:4030:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + // InternalFiacre.g:4039:5: ( (lv_patterns_3_0= rulePattern ) ) + // InternalFiacre.g:4040:6: (lv_patterns_3_0= rulePattern ) + { + // InternalFiacre.g:4040:6: (lv_patterns_3_0= rulePattern ) + // InternalFiacre.g:4041:7: lv_patterns_3_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_3_0=rulePattern(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:4058:5: (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* + loop202: + do { + int alt202=2; + int LA202_0 = input.LA(1); + + if ( (LA202_0==17) ) { + alt202=1; + } + + + switch (alt202) { + case 1 : + // InternalFiacre.g:4059:6: otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return ; + // InternalFiacre.g:4063:6: ( (lv_patterns_5_0= rulePattern ) ) + // InternalFiacre.g:4064:7: (lv_patterns_5_0= rulePattern ) + { + // InternalFiacre.g:4064:7: (lv_patterns_5_0= rulePattern ) + // InternalFiacre.g:4065:8: lv_patterns_5_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_0_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_5_0=rulePattern(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop202; + } + } while (true); + + otherlv_6=(Token)match(input,52,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4087:5: ( (lv_values_7_0= ruleExpression ) ) + // InternalFiacre.g:4088:6: (lv_values_7_0= ruleExpression ) + { + // InternalFiacre.g:4088:6: (lv_values_7_0= ruleExpression ) + // InternalFiacre.g:4089:7: lv_values_7_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_5_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_7_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:4106:5: (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* + loop203: + do { + int alt203=2; + int LA203_0 = input.LA(1); + + if ( (LA203_0==17) ) { + alt203=1; + } + + + switch (alt203) { + case 1 : + // InternalFiacre.g:4107:6: otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) + { + otherlv_8=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4111:6: ( (lv_values_9_0= ruleExpression ) ) + // InternalFiacre.g:4112:7: (lv_values_9_0= ruleExpression ) + { + // InternalFiacre.g:4112:7: (lv_values_9_0= ruleExpression ) + // InternalFiacre.g:4113:8: lv_values_9_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_0_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_9_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop203; + } + } while (true); + + + } + + + } + } + // $ANTLR end synpred94_InternalFiacre + + // $ANTLR start synpred96_InternalFiacre + public final void synpred96_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_10=null; + Token otherlv_13=null; + EObject lv_values_12_0 = null; + + EObject lv_values_14_0 = null; + + + // InternalFiacre.g:4133:4: ( (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) ) + // InternalFiacre.g:4133:4: (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) + { + // InternalFiacre.g:4133:4: (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) + // InternalFiacre.g:4134:5: otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) + { + otherlv_10=(Token)match(input,52,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4138:5: () + // InternalFiacre.g:4139:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + // InternalFiacre.g:4148:5: ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) + // InternalFiacre.g:4149:6: ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* + { + // InternalFiacre.g:4149:6: ( (lv_values_12_0= ruleExpression ) ) + // InternalFiacre.g:4150:7: (lv_values_12_0= ruleExpression ) + { + // InternalFiacre.g:4150:7: (lv_values_12_0= ruleExpression ) + // InternalFiacre.g:4151:8: lv_values_12_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_12_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:4168:6: (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* + loop204: + do { + int alt204=2; + int LA204_0 = input.LA(1); + + if ( (LA204_0==17) ) { + alt204=1; + } + + + switch (alt204) { + case 1 : + // InternalFiacre.g:4169:7: otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) + { + otherlv_13=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4173:7: ( (lv_values_14_0= ruleExpression ) ) + // InternalFiacre.g:4174:8: (lv_values_14_0= ruleExpression ) + { + // InternalFiacre.g:4174:8: (lv_values_14_0= ruleExpression ) + // InternalFiacre.g:4175:9: lv_values_14_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getValuesExpressionParserRuleCall_1_1_2_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_58); + lv_values_14_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop204; + } + } while (true); + + + } + + + } + + + } + } + // $ANTLR end synpred96_InternalFiacre + + // $ANTLR start synpred99_InternalFiacre + public final void synpred99_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_15=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_21=null; + Token otherlv_22=null; + EObject lv_patterns_17_0 = null; + + EObject lv_patterns_19_0 = null; + + EObject lv_exp_23_0 = null; + + + // InternalFiacre.g:4196:4: ( (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) ) + // InternalFiacre.g:4196:4: (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:4196:4: (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) + // InternalFiacre.g:4197:5: otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? + { + otherlv_15=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return ; + // InternalFiacre.g:4201:5: () + // InternalFiacre.g:4202:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + // InternalFiacre.g:4211:5: ( (lv_patterns_17_0= rulePattern ) ) + // InternalFiacre.g:4212:6: (lv_patterns_17_0= rulePattern ) + { + // InternalFiacre.g:4212:6: (lv_patterns_17_0= rulePattern ) + // InternalFiacre.g:4213:7: lv_patterns_17_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_17_0=rulePattern(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:4230:5: (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* + loop205: + do { + int alt205=2; + int LA205_0 = input.LA(1); + + if ( (LA205_0==17) ) { + alt205=1; + } + + + switch (alt205) { + case 1 : + // InternalFiacre.g:4231:6: otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) + { + otherlv_18=(Token)match(input,17,FollowSets000.FOLLOW_56); if (state.failed) return ; + // InternalFiacre.g:4235:6: ( (lv_patterns_19_0= rulePattern ) ) + // InternalFiacre.g:4236:7: (lv_patterns_19_0= rulePattern ) + { + // InternalFiacre.g:4236:7: (lv_patterns_19_0= rulePattern ) + // InternalFiacre.g:4237:8: lv_patterns_19_0= rulePattern + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getPatternsPatternParserRuleCall_1_2_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_57); + lv_patterns_19_0=rulePattern(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop205; + } + } while (true); + + otherlv_20=(Token)match(input,52,FollowSets000.FOLLOW_59); if (state.failed) return ; + otherlv_21=(Token)match(input,59,FollowSets000.FOLLOW_60); if (state.failed) return ; + // InternalFiacre.g:4263:5: (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? + int alt206=2; + int LA206_0 = input.LA(1); + + if ( (LA206_0==60) ) { + alt206=1; + } + switch (alt206) { + case 1 : + // InternalFiacre.g:4264:6: otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) + { + otherlv_22=(Token)match(input,60,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4268:6: ( (lv_exp_23_0= ruleExpression ) ) + // InternalFiacre.g:4269:7: (lv_exp_23_0= ruleExpression ) + { + // InternalFiacre.g:4269:7: (lv_exp_23_0= ruleExpression ) + // InternalFiacre.g:4270:8: lv_exp_23_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_2_6_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_exp_23_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred99_InternalFiacre + + // $ANTLR start synpred101_InternalFiacre + public final void synpred101_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_27=null; + EObject lv_exp_28_0 = null; + + + // InternalFiacre.g:4290:4: ( (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) ) + // InternalFiacre.g:4290:4: (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) + { + // InternalFiacre.g:4290:4: (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) + // InternalFiacre.g:4291:5: otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? + { + otherlv_24=(Token)match(input,52,FollowSets000.FOLLOW_59); if (state.failed) return ; + // InternalFiacre.g:4295:5: () + // InternalFiacre.g:4296:6: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + otherlv_26=(Token)match(input,59,FollowSets000.FOLLOW_60); if (state.failed) return ; + // InternalFiacre.g:4309:5: (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? + int alt207=2; + int LA207_0 = input.LA(1); + + if ( (LA207_0==60) ) { + alt207=1; + } + switch (alt207) { + case 1 : + // InternalFiacre.g:4310:6: otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) + { + otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:4314:6: ( (lv_exp_28_0= ruleExpression ) ) + // InternalFiacre.g:4315:7: (lv_exp_28_0= ruleExpression ) + { + // InternalFiacre.g:4315:7: (lv_exp_28_0= ruleExpression ) + // InternalFiacre.g:4316:8: lv_exp_28_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getPatternStatementAccess().getExpExpressionParserRuleCall_1_3_3_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_exp_28_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + } + + + } + + + } + } + // $ANTLR end synpred101_InternalFiacre + + // $ANTLR start synpred126_InternalFiacre + public final void synpred126_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_2=null; + EObject lv_global_1_0 = null; + + + // InternalFiacre.g:5675:4: ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' ) + // InternalFiacre.g:5675:4: ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' + { + // InternalFiacre.g:5675:4: ( (lv_global_1_0= rulePortSet ) ) + // InternalFiacre.g:5676:5: (lv_global_1_0= rulePortSet ) + { + // InternalFiacre.g:5676:5: (lv_global_1_0= rulePortSet ) + // InternalFiacre.g:5677:6: lv_global_1_0= rulePortSet + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getCompositionAccess().getGlobalPortSetParserRuleCall_1_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_69); + lv_global_1_0=rulePortSet(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + otherlv_2=(Token)match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + } + // $ANTLR end synpred126_InternalFiacre + + // $ANTLR start synpred129_InternalFiacre + public final void synpred129_InternalFiacre_fragment() throws RecognitionException { + EObject this_CompositeBlock_0 = null; + + + // InternalFiacre.g:5772:3: (this_CompositeBlock_0= ruleCompositeBlock ) + // InternalFiacre.g:5772:3: this_CompositeBlock_0= ruleCompositeBlock + { + if ( state.backtracking==0 ) { + + /* */ + + } + pushFollow(FollowSets000.FOLLOW_2); + this_CompositeBlock_0=ruleCompositeBlock(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred129_InternalFiacre + + // $ANTLR start synpred132_InternalFiacre + public final void synpred132_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_1=null; + EObject lv_local_0_0 = null; + + + // InternalFiacre.g:5885:4: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) ) + // InternalFiacre.g:5885:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + { + // InternalFiacre.g:5885:4: ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) + // InternalFiacre.g:5886:5: ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' + { + // InternalFiacre.g:5886:5: ( (lv_local_0_0= rulePortSet ) ) + // InternalFiacre.g:5887:6: (lv_local_0_0= rulePortSet ) + { + // InternalFiacre.g:5887:6: (lv_local_0_0= rulePortSet ) + // InternalFiacre.g:5888:7: lv_local_0_0= rulePortSet + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getInstanceDeclarationAccess().getLocalPortSetParserRuleCall_0_0_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_74); + lv_local_0_0=rulePortSet(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred132_InternalFiacre + + // $ANTLR start synpred153_InternalFiacre + public final void synpred153_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_2=null; + EObject lv_right_3_0 = null; + + + // InternalFiacre.g:6789:4: ( () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) ) + // InternalFiacre.g:6789:4: () otherlv_2= '+' ( (lv_right_3_0= ruleSubstraction ) ) + { + // InternalFiacre.g:6789:4: () + // InternalFiacre.g:6790:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + otherlv_2=(Token)match(input,63,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:6803:4: ( (lv_right_3_0= ruleSubstraction ) ) + // InternalFiacre.g:6804:5: (lv_right_3_0= ruleSubstraction ) + { + // InternalFiacre.g:6804:5: (lv_right_3_0= ruleSubstraction ) + // InternalFiacre.g:6805:6: lv_right_3_0= ruleSubstraction + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleSubstraction(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred153_InternalFiacre + + // $ANTLR start synpred154_InternalFiacre + public final void synpred154_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_2=null; + EObject lv_right_3_0 = null; + + + // InternalFiacre.g:6854:4: ( () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) ) + // InternalFiacre.g:6854:4: () otherlv_2= '-' ( (lv_right_3_0= ruleMultiplication ) ) + { + // InternalFiacre.g:6854:4: () + // InternalFiacre.g:6855:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + otherlv_2=(Token)match(input,64,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:6868:4: ( (lv_right_3_0= ruleMultiplication ) ) + // InternalFiacre.g:6869:5: (lv_right_3_0= ruleMultiplication ) + { + // InternalFiacre.g:6869:5: (lv_right_3_0= ruleMultiplication ) + // InternalFiacre.g:6870:6: lv_right_3_0= ruleMultiplication + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0()); + + } + pushFollow(FollowSets000.FOLLOW_2); + lv_right_3_0=ruleMultiplication(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + } + // $ANTLR end synpred154_InternalFiacre + + // $ANTLR start synpred178_InternalFiacre + public final void synpred178_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_parameters_3_0 = null; + + EObject lv_parameters_5_0 = null; + + + // InternalFiacre.g:7548:3: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) ) + // InternalFiacre.g:7548:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) + { + // InternalFiacre.g:7548:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' ) + // InternalFiacre.g:7549:4: () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? otherlv_6= ')' + { + // InternalFiacre.g:7549:4: () + // InternalFiacre.g:7550:5: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + // InternalFiacre.g:7559:4: ( (otherlv_1= RULE_ID ) ) + // InternalFiacre.g:7560:5: (otherlv_1= RULE_ID ) + { + // InternalFiacre.g:7560:5: (otherlv_1= RULE_ID ) + // InternalFiacre.g:7561:6: otherlv_1= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_9); if (state.failed) return ; + + } + + + } + + otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_94); if (state.failed) return ; + // InternalFiacre.g:7579:4: ( ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* )? + int alt222=2; + int LA222_0 = input.LA(1); + + if ( (LA222_0==RULE_ID||LA222_0==RULE_INT||LA222_0==16||LA222_0==41||LA222_0==51||(LA222_0>=63 && LA222_0<=64)||(LA222_0>=83 && LA222_0<=84)||(LA222_0>=95 && LA222_0<=101)||LA222_0==103||LA222_0==105||(LA222_0>=107 && LA222_0<=110)) ) { + alt222=1; + } + switch (alt222) { + case 1 : + // InternalFiacre.g:7580:5: ( (lv_parameters_3_0= ruleExpression ) ) (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* + { + // InternalFiacre.g:7580:5: ( (lv_parameters_3_0= ruleExpression ) ) + // InternalFiacre.g:7581:6: (lv_parameters_3_0= ruleExpression ) + { + // InternalFiacre.g:7581:6: (lv_parameters_3_0= ruleExpression ) + // InternalFiacre.g:7582:7: lv_parameters_3_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_0_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_3_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + // InternalFiacre.g:7599:5: (otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) )* + loop221: + do { + int alt221=2; + int LA221_0 = input.LA(1); + + if ( (LA221_0==17) ) { + alt221=1; + } + + + switch (alt221) { + case 1 : + // InternalFiacre.g:7600:6: otherlv_4= ',' ( (lv_parameters_5_0= ruleExpression ) ) + { + otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_19); if (state.failed) return ; + // InternalFiacre.g:7604:6: ( (lv_parameters_5_0= ruleExpression ) ) + // InternalFiacre.g:7605:7: (lv_parameters_5_0= ruleExpression ) + { + // InternalFiacre.g:7605:7: (lv_parameters_5_0= ruleExpression ) + // InternalFiacre.g:7606:8: lv_parameters_5_0= ruleExpression + { + if ( state.backtracking==0 ) { + + newCompositeNode(grammarAccess.getIdentifierExpressionAccess().getParametersExpressionParserRuleCall_0_3_1_1_0()); + + } + pushFollow(FollowSets000.FOLLOW_11); + lv_parameters_5_0=ruleExpression(); + + state._fsp--; + if (state.failed) return ; + + } + + + } + + + } + break; + + default : + break loop221; + } + } while (true); + + + } + break; + + } + + otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + + } + } + // $ANTLR end synpred178_InternalFiacre + + // $ANTLR start synpred181_InternalFiacre + public final void synpred181_InternalFiacre_fragment() throws RecognitionException { + Token otherlv_14=null; + Token otherlv_16=null; + + // InternalFiacre.g:7714:5: ( (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) ) + // InternalFiacre.g:7714:5: (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) + { + // InternalFiacre.g:7714:5: (otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) ) + // InternalFiacre.g:7715:6: otherlv_14= '.' () ( (otherlv_16= RULE_ID ) ) + { + otherlv_14=(Token)match(input,65,FollowSets000.FOLLOW_6); if (state.failed) return ; + // InternalFiacre.g:7719:6: () + // InternalFiacre.g:7720:7: + { + if ( state.backtracking==0 ) { + + /* */ + + } + + } + + // InternalFiacre.g:7729:6: ( (otherlv_16= RULE_ID ) ) + // InternalFiacre.g:7730:7: (otherlv_16= RULE_ID ) + { + // InternalFiacre.g:7730:7: (otherlv_16= RULE_ID ) + // InternalFiacre.g:7731:8: otherlv_16= RULE_ID + { + if ( state.backtracking==0 ) { + + /* */ + + } + otherlv_16=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return ; + + } + + + } + + + } + + + } + } + // $ANTLR end synpred181_InternalFiacre + + // $ANTLR start synpred208_InternalFiacre + public final void synpred208_InternalFiacre_fragment() throws RecognitionException { + EObject this_PatternProperty_0 = null; + + + // InternalFiacre.g:9471:3: (this_PatternProperty_0= rulePatternProperty ) + // InternalFiacre.g:9471:3: this_PatternProperty_0= rulePatternProperty + { + if ( state.backtracking==0 ) { + + /* */ + + } + pushFollow(FollowSets000.FOLLOW_2); + this_PatternProperty_0=rulePatternProperty(); + + state._fsp--; + if (state.failed) return ; + + } + } + // $ANTLR end synpred208_InternalFiacre + + // Delegated rules + + public final boolean synpred96_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred96_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred132_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred132_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred126_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred126_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred129_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred129_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred99_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred99_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred17_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred17_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred178_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred178_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred154_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred154_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred208_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred208_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred22_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred22_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred101_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred101_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred94_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred94_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred153_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred153_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred23_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred23_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred25_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred25_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred181_InternalFiacre() { + state.backtracking++; + int start = input.mark(); + try { + synpred181_InternalFiacre_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + state.backtracking--; + state.failed=false; + return success; + } + + + protected DFA11 dfa11 = new DFA11(this); + protected DFA16 dfa16 = new DFA16(this); + protected DFA75 dfa75 = new DFA75(this); + protected DFA91 dfa91 = new DFA91(this); + protected DFA94 dfa94 = new DFA94(this); + protected DFA96 dfa96 = new DFA96(this); + protected DFA149 dfa149 = new DFA149(this); + static final String dfa_1s = "\43\uffff"; + static final String dfa_2s = "\1\4\1\0\41\uffff"; + static final String dfa_3s = "\1\156\1\0\41\uffff"; + static final String dfa_4s = "\2\uffff\1\2\37\uffff\1\1"; + static final String dfa_5s = "\1\uffff\1\0\41\uffff}>"; + static final String[] dfa_6s = { + "\1\2\1\uffff\1\2\11\uffff\1\2\7\uffff\1\1\1\uffff\4\2\1\uffff\3\2\1\uffff\1\2\1\uffff\2\2\2\uffff\1\2\11\uffff\1\2\13\uffff\2\2\22\uffff\2\2\12\uffff\7\2\1\uffff\1\2\1\uffff\1\2\1\uffff\4\2", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); + static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); + static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); + static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); + static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); + static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); + + class DFA11 extends DFA { + + public DFA11(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 11; + this.eot = dfa_1; + this.eof = dfa_1; + this.min = dfa_2; + this.max = dfa_3; + this.accept = dfa_4; + this.special = dfa_5; + this.transition = dfa_6; + } + public String getDescription() { + return "789:3: (otherlv_1= 'array' ( (lv_size_2_0= ruleExpression ) ) otherlv_3= 'of' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA11_1 = input.LA(1); + + + int index11_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred17_InternalFiacre()) ) {s = 34;} + + else if ( (true) ) {s = 2;} + + + input.seek(index11_1); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 11, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_7s = "\37\uffff"; + static final String dfa_8s = "\1\4\16\uffff\1\0\17\uffff"; + static final String dfa_9s = "\1\156\16\uffff\1\0\17\uffff"; + static final String dfa_10s = "\1\uffff\1\1\2\uffff\1\2\25\uffff\1\3\1\4\1\5\1\6\1\7"; + static final String dfa_11s = "\17\uffff\1\0\17\uffff}>"; + static final String[] dfa_12s = { + "\1\17\1\uffff\1\4\11\uffff\1\4\7\uffff\1\35\6\uffff\3\1\1\uffff\1\32\1\uffff\1\33\1\34\2\uffff\1\4\11\uffff\1\4\13\uffff\2\4\22\uffff\2\4\12\uffff\7\4\1\uffff\1\4\1\uffff\1\4\1\uffff\4\4", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); + static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); + static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); + static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); + static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); + static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); + + class DFA16 extends DFA { + + public DFA16(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 16; + this.eot = dfa_7; + this.eof = dfa_7; + this.min = dfa_8; + this.max = dfa_9; + this.accept = dfa_10; + this.special = dfa_11; + this.transition = dfa_12; + } + public String getDescription() { + return "923:2: (this_BasicType_0= ruleBasicType | this_RangeType_1= ruleRangeType | this_UnionType_2= ruleUnionType | this_RecordType_3= ruleRecordType | this_QueueType_4= ruleQueueType | this_ArrayType_5= ruleArrayType | this_ReferencedType_6= ruleReferencedType )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA16_15 = input.LA(1); + + + int index16_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred25_InternalFiacre()) ) {s = 4;} + + else if ( (true) ) {s = 30;} + + + input.seek(index16_15); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 16, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_13s = "\34\uffff"; + static final String dfa_14s = "\1\5\33\uffff"; + static final String dfa_15s = "\1\4\2\0\31\uffff"; + static final String dfa_16s = "\1\163\2\0\31\uffff"; + static final String dfa_17s = "\3\uffff\1\5\1\6\1\7\22\uffff\1\1\1\3\1\2\1\4"; + static final String dfa_18s = "\1\uffff\1\0\1\1\31\uffff}>"; + static final String[] dfa_19s = { + "\1\5\10\uffff\1\5\1\uffff\1\5\1\uffff\1\1\4\uffff\2\5\14\uffff\1\5\2\uffff\2\5\6\uffff\2\5\3\uffff\1\2\3\5\5\uffff\1\3\1\4\5\uffff\2\5\12\uffff\1\5\37\uffff\1\5\2\uffff\1\5", + "\1\uffff", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); + static final short[] dfa_14 = DFA.unpackEncodedString(dfa_14s); + static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); + static final char[] dfa_16 = DFA.unpackEncodedStringToUnsignedChars(dfa_16s); + static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); + static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); + static final short[][] dfa_19 = unpackEncodedStringArray(dfa_19s); + + class DFA75 extends DFA { + + public DFA75(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 75; + this.eot = dfa_13; + this.eof = dfa_14; + this.min = dfa_15; + this.max = dfa_16; + this.accept = dfa_17; + this.special = dfa_18; + this.transition = dfa_19; + } + public String getDescription() { + return "4023:3: ( (otherlv_1= ',' () ( (lv_patterns_3_0= rulePattern ) ) (otherlv_4= ',' ( (lv_patterns_5_0= rulePattern ) ) )* otherlv_6= ':=' ( (lv_values_7_0= ruleExpression ) ) (otherlv_8= ',' ( (lv_values_9_0= ruleExpression ) ) )* ) | (otherlv_10= ':=' () ( ( (lv_values_12_0= ruleExpression ) ) (otherlv_13= ',' ( (lv_values_14_0= ruleExpression ) ) )* ) ) | (otherlv_15= ',' () ( (lv_patterns_17_0= rulePattern ) ) (otherlv_18= ',' ( (lv_patterns_19_0= rulePattern ) ) )* otherlv_20= ':=' otherlv_21= 'any' (otherlv_22= 'where' ( (lv_exp_23_0= ruleExpression ) ) )? ) | (otherlv_24= ':=' () otherlv_26= 'any' (otherlv_27= 'where' ( (lv_exp_28_0= ruleExpression ) ) )? ) | (otherlv_29= '!' () ( (lv_values_31_0= ruleExpression ) ) (otherlv_32= ',' ( (lv_values_33_0= ruleExpression ) ) )* ) | (otherlv_34= '?' () ( (lv_patterns_36_0= rulePattern ) ) (otherlv_37= ',' ( (lv_patterns_38_0= rulePattern ) ) )* (otherlv_39= 'where' ( (lv_exp_40_0= ruleExpression ) ) )? ) )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA75_1 = input.LA(1); + + + int index75_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred94_InternalFiacre()) ) {s = 24;} + + else if ( (synpred99_InternalFiacre()) ) {s = 25;} + + + input.seek(index75_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA75_2 = input.LA(1); + + + int index75_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred96_InternalFiacre()) ) {s = 26;} + + else if ( (synpred101_InternalFiacre()) ) {s = 27;} + + + input.seek(index75_2); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 75, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_20s = "\33\uffff"; + static final String dfa_21s = "\1\4\27\0\3\uffff"; + static final String dfa_22s = "\1\156\27\0\3\uffff"; + static final String dfa_23s = "\30\uffff\1\2\1\uffff\1\1"; + static final String dfa_24s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\3\uffff}>"; + static final String[] dfa_25s = { + "\1\15\1\uffff\1\21\11\uffff\1\27\30\uffff\1\23\11\uffff\1\16\13\uffff\1\4\1\5\13\uffff\1\30\3\uffff\1\30\1\uffff\1\1\1\2\1\3\12\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\uffff\1\22\1\uffff\1\24\1\uffff\1\25\1\26\1\17\1\20", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "", + "" + }; + + static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); + static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s); + static final char[] dfa_22 = DFA.unpackEncodedStringToUnsignedChars(dfa_22s); + static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); + static final short[] dfa_24 = DFA.unpackEncodedString(dfa_24s); + static final short[][] dfa_25 = unpackEncodedStringArray(dfa_25s); + + class DFA91 extends DFA { + + public DFA91(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 91; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_21; + this.max = dfa_22; + this.accept = dfa_23; + this.special = dfa_24; + this.transition = dfa_25; + } + public String getDescription() { + return "5674:3: ( ( (lv_global_1_0= rulePortSet ) ) otherlv_2= 'in' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA91_1 = input.LA(1); + + + int index91_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA91_2 = input.LA(1); + + + int index91_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA91_3 = input.LA(1); + + + int index91_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA91_4 = input.LA(1); + + + int index91_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA91_5 = input.LA(1); + + + int index91_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA91_6 = input.LA(1); + + + int index91_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA91_7 = input.LA(1); + + + int index91_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA91_8 = input.LA(1); + + + int index91_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA91_9 = input.LA(1); + + + int index91_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA91_10 = input.LA(1); + + + int index91_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA91_11 = input.LA(1); + + + int index91_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA91_12 = input.LA(1); + + + int index91_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA91_13 = input.LA(1); + + + int index91_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA91_14 = input.LA(1); + + + int index91_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA91_15 = input.LA(1); + + + int index91_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA91_16 = input.LA(1); + + + int index91_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA91_17 = input.LA(1); + + + int index91_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA91_18 = input.LA(1); + + + int index91_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA91_19 = input.LA(1); + + + int index91_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA91_20 = input.LA(1); + + + int index91_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA91_21 = input.LA(1); + + + int index91_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA91_22 = input.LA(1); + + + int index91_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA91_23 = input.LA(1); + + + int index91_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred126_InternalFiacre()) ) {s = 26;} + + else if ( (true) ) {s = 24;} + + + input.seek(index91_23); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 91, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_26s = "\1\4\30\0\2\uffff"; + static final String dfa_27s = "\1\156\30\0\2\uffff"; + static final String dfa_28s = "\31\uffff\1\1\1\2"; + static final String dfa_29s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\2\uffff}>"; + static final String[] dfa_30s = { + "\1\15\1\uffff\1\21\11\uffff\1\27\30\uffff\1\23\11\uffff\1\16\13\uffff\1\4\1\5\13\uffff\1\30\3\uffff\1\31\1\uffff\1\1\1\2\1\3\12\uffff\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\uffff\1\22\1\uffff\1\24\1\uffff\1\25\1\26\1\17\1\20", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "\1\uffff", + "", + "" + }; + static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s); + static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s); + static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s); + static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); + static final short[][] dfa_30 = unpackEncodedStringArray(dfa_30s); + + class DFA94 extends DFA { + + public DFA94(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 94; + this.eot = dfa_20; + this.eof = dfa_20; + this.min = dfa_26; + this.max = dfa_27; + this.accept = dfa_28; + this.special = dfa_29; + this.transition = dfa_30; + } + public String getDescription() { + return "5771:2: (this_CompositeBlock_0= ruleCompositeBlock | this_InstanceDeclaration_1= ruleInstanceDeclaration )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA94_1 = input.LA(1); + + + int index94_1 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_1); + if ( s>=0 ) return s; + break; + case 1 : + int LA94_2 = input.LA(1); + + + int index94_2 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_2); + if ( s>=0 ) return s; + break; + case 2 : + int LA94_3 = input.LA(1); + + + int index94_3 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_3); + if ( s>=0 ) return s; + break; + case 3 : + int LA94_4 = input.LA(1); + + + int index94_4 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_4); + if ( s>=0 ) return s; + break; + case 4 : + int LA94_5 = input.LA(1); + + + int index94_5 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_5); + if ( s>=0 ) return s; + break; + case 5 : + int LA94_6 = input.LA(1); + + + int index94_6 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_6); + if ( s>=0 ) return s; + break; + case 6 : + int LA94_7 = input.LA(1); + + + int index94_7 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_7); + if ( s>=0 ) return s; + break; + case 7 : + int LA94_8 = input.LA(1); + + + int index94_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_8); + if ( s>=0 ) return s; + break; + case 8 : + int LA94_9 = input.LA(1); + + + int index94_9 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_9); + if ( s>=0 ) return s; + break; + case 9 : + int LA94_10 = input.LA(1); + + + int index94_10 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_10); + if ( s>=0 ) return s; + break; + case 10 : + int LA94_11 = input.LA(1); + + + int index94_11 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_11); + if ( s>=0 ) return s; + break; + case 11 : + int LA94_12 = input.LA(1); + + + int index94_12 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_12); + if ( s>=0 ) return s; + break; + case 12 : + int LA94_13 = input.LA(1); + + + int index94_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_13); + if ( s>=0 ) return s; + break; + case 13 : + int LA94_14 = input.LA(1); + + + int index94_14 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_14); + if ( s>=0 ) return s; + break; + case 14 : + int LA94_15 = input.LA(1); + + + int index94_15 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_15); + if ( s>=0 ) return s; + break; + case 15 : + int LA94_16 = input.LA(1); + + + int index94_16 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_16); + if ( s>=0 ) return s; + break; + case 16 : + int LA94_17 = input.LA(1); + + + int index94_17 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_17); + if ( s>=0 ) return s; + break; + case 17 : + int LA94_18 = input.LA(1); + + + int index94_18 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_18); + if ( s>=0 ) return s; + break; + case 18 : + int LA94_19 = input.LA(1); + + + int index94_19 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_19); + if ( s>=0 ) return s; + break; + case 19 : + int LA94_20 = input.LA(1); + + + int index94_20 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_20); + if ( s>=0 ) return s; + break; + case 20 : + int LA94_21 = input.LA(1); + + + int index94_21 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_21); + if ( s>=0 ) return s; + break; + case 21 : + int LA94_22 = input.LA(1); + + + int index94_22 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_22); + if ( s>=0 ) return s; + break; + case 22 : + int LA94_23 = input.LA(1); + + + int index94_23 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_23); + if ( s>=0 ) return s; + break; + case 23 : + int LA94_24 = input.LA(1); + + + int index94_24 = input.index(); + input.rewind(); + s = -1; + if ( (synpred129_InternalFiacre()) ) {s = 25;} + + else if ( (true) ) {s = 26;} + + + input.seek(index94_24); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 94, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_31s = "\32\uffff"; + static final String dfa_32s = "\1\4\14\uffff\1\0\14\uffff"; + static final String dfa_33s = "\1\156\14\uffff\1\0\14\uffff"; + static final String dfa_34s = "\1\uffff\1\1\26\uffff\1\2\1\3"; + static final String dfa_35s = "\15\uffff\1\0\14\uffff}>"; + static final String[] dfa_36s = { + "\1\15\1\uffff\1\1\11\uffff\1\1\30\uffff\1\1\11\uffff\1\1\13\uffff\2\1\13\uffff\1\30\5\uffff\3\1\12\uffff\7\1\1\uffff\1\1\1\uffff\1\1\1\uffff\4\1", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); + static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); + static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); + static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); + static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); + static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s); + + class DFA96 extends DFA { + + public DFA96(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 96; + this.eot = dfa_31; + this.eof = dfa_31; + this.min = dfa_32; + this.max = dfa_33; + this.accept = dfa_34; + this.special = dfa_35; + this.transition = dfa_36; + } + public String getDescription() { + return "5884:3: ( ( ( (lv_local_0_0= rulePortSet ) ) otherlv_1= '->' ) | otherlv_2= '->' )?"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA96_13 = input.LA(1); + + + int index96_13 = input.index(); + input.rewind(); + s = -1; + if ( (synpred132_InternalFiacre()) ) {s = 1;} + + else if ( (true) ) {s = 25;} + + + input.seek(index96_13); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 96, _s, input); + error(nvae); + throw nvae; + } + } + static final String dfa_37s = "\16\uffff"; + static final String dfa_38s = "\1\4\7\uffff\1\0\5\uffff"; + static final String dfa_39s = "\1\u0087\7\uffff\1\0\5\uffff"; + static final String dfa_40s = "\1\uffff\1\1\13\uffff\1\2"; + static final String dfa_41s = "\10\uffff\1\0\5\uffff}>"; + static final String[] dfa_42s = { + "\1\1\1\uffff\1\1\11\uffff\1\10\143\uffff\5\1\6\uffff\1\1\1\uffff\1\1\4\uffff\2\1", + "", + "", + "", + "", + "", + "", + "", + "\1\uffff", + "", + "", + "", + "", + "" + }; + + static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); + static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s); + static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); + static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); + static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); + static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s); + + class DFA149 extends DFA { + + public DFA149(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 149; + this.eot = dfa_37; + this.eof = dfa_37; + this.min = dfa_38; + this.max = dfa_39; + this.accept = dfa_40; + this.special = dfa_41; + this.transition = dfa_42; + } + public String getDescription() { + return "9470:2: (this_PatternProperty_0= rulePatternProperty | (otherlv_1= '(' this_Property_2= ruleProperty otherlv_3= ')' ) )"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + TokenStream input = (TokenStream)_input; + int _s = s; + switch ( s ) { + case 0 : + int LA149_8 = input.LA(1); + + + int index149_8 = input.index(); + input.rewind(); + s = -1; + if ( (synpred208_InternalFiacre()) ) {s = 1;} + + else if ( (true) ) {s = 13;} + + + input.seek(index149_8); + if ( s>=0 ) return s; + break; + } + if (state.backtracking>0) {state.failed=true; return -1;} + NoViableAltException nvae = + new NoViableAltException(getDescription(), 149, _s, input); + error(nvae); + throw nvae; + } + } + + + + private static class FollowSets000 { + 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[]{0x0001018000C0C012L,0x0009000000000000L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0001018000C08012L,0x0009000000000000L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000001002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000002002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0008000000040010L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000060000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0008000000000010L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x8008026B81010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x8F00000040210050L,0x000060000000EEC5L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x8F00000040230050L,0x000060000000EEC5L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x8008026BBD010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x8008020000010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x8008026B99010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x8008026B91010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000040000002L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000001000002000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000800000002L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000002020002L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001000020000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000002000000002L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00000000000A0000L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000020000110000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000040000020000L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000000110000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000380000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000300000020000L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000200000020000L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000C00000220000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000C00000220002L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000580000200000L,0x0000000000010000L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000580000220000L,0x0000000000010000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000060000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000000000020000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x00000000000000D0L,0x0000800000000000L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x800E026B81010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x800C026B81010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000020000000010L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0010000000000002L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0020000000000002L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0040000000000002L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0080000000000002L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x6010000000020002L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x8800000000010050L,0x0000600000000001L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0010000000020000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000020002L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0800000000000000L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x1000000000000002L}); + public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x1000000000020002L}); + public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x8800000000050050L,0x0000600000000001L}); + public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0000020000000002L,0x0000000000000002L}); + public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000001000000000L,0x0000000000000030L}); + public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L}); + public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000004000000L}); + public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000040L}); + public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000080L}); + public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); + public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); + public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x80085A0000210050L,0x00007ABF801D1001L}); + public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000001000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000000002L,0x0000000000010000L}); + public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000020000010002L}); + public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000010002L}); + public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x4000000000000002L}); + public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); + public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); + public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L}); + public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000001002L,0x000000001F000000L}); + public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L}); + public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); + public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000002L,0x0000000040000000L}); + public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L}); + public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x8008020000050050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000020000L,0x0000010000000000L}); + public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); + public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x8008060000010050L,0x00007ABF80180001L}); + public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x8008020000010050L,0x00007EBF80180001L}); + public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000020000L,0x0000040000000000L}); + public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000002L,0x0006000000000000L}); + public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000002L,0x0004000000000000L}); + public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000010050L,0x81F0000080180000L,0x00000000000000C2L}); + public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0040000000010050L,0x81F0000082000000L,0x00000000000000E2L}); + public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000010050L,0x81F0000000000000L,0x00000000000000C2L}); + public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000002L,0x6600000000000000L}); + public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000002L,0x1800000000000000L}); + public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); + public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L}); + public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000002L,0x6400000000000000L}); + public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000002L,0x1000000000000000L}); + public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000000000000000CL}); + public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000000000000002L,0x6C00000000000000L}); + public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0040000000010050L,0x81F0000082180000L,0x00000000000000E2L}); + public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x1000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0000000000010050L,0x81F0000080000000L,0x00000000000000C2L}); + public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000F00L}); + public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0000000000000052L}); + } + + +} \ No newline at end of file diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/scoping/AbstractFiacreScopeProvider.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/scoping/AbstractFiacreScopeProvider.java new file mode 100644 index 0000000..0b0a495 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/scoping/AbstractFiacreScopeProvider.java @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.scoping; + +import org.eclipse.xtext.scoping.impl.DelegatingScopeProvider; + +public abstract class AbstractFiacreScopeProvider extends DelegatingScopeProvider { +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSemanticSequencer.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSemanticSequencer.java new file mode 100644 index 0000000..6c7555c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSemanticSequencer.java @@ -0,0 +1,5387 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.serializer; + +import com.google.inject.Inject; +import fr.irit.fiacre.xtext.fiacre.AbsencePattern; +import fr.irit.fiacre.xtext.fiacre.Addition; +import fr.irit.fiacre.xtext.fiacre.AllExpression; +import fr.irit.fiacre.xtext.fiacre.AllProperty; +import fr.irit.fiacre.xtext.fiacre.AlwaysPattern; +import fr.irit.fiacre.xtext.fiacre.AnyPattern; +import fr.irit.fiacre.xtext.fiacre.AppendExpression; +import fr.irit.fiacre.xtext.fiacre.ArrayAccessExpression; +import fr.irit.fiacre.xtext.fiacre.ArrayAccessPattern; +import fr.irit.fiacre.xtext.fiacre.ArrayExpression; +import fr.irit.fiacre.xtext.fiacre.ArrayType; +import fr.irit.fiacre.xtext.fiacre.AssignAnyStatement; +import fr.irit.fiacre.xtext.fiacre.AssignStatement; +import fr.irit.fiacre.xtext.fiacre.BlockStatement; +import fr.irit.fiacre.xtext.fiacre.BooleanType; +import fr.irit.fiacre.xtext.fiacre.CaseStatement; +import fr.irit.fiacre.xtext.fiacre.ChannelDeclaration; +import fr.irit.fiacre.xtext.fiacre.ChannelType; +import fr.irit.fiacre.xtext.fiacre.ComparisonEqual; +import fr.irit.fiacre.xtext.fiacre.ComparisonGreater; +import fr.irit.fiacre.xtext.fiacre.ComparisonGreaterEqual; +import fr.irit.fiacre.xtext.fiacre.ComparisonLesser; +import fr.irit.fiacre.xtext.fiacre.ComparisonLesserEqual; +import fr.irit.fiacre.xtext.fiacre.ComparisonNotEqual; +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration; +import fr.irit.fiacre.xtext.fiacre.ComponentInstance; +import fr.irit.fiacre.xtext.fiacre.CompositeBlock; +import fr.irit.fiacre.xtext.fiacre.Composition; +import fr.irit.fiacre.xtext.fiacre.Conditional; +import fr.irit.fiacre.xtext.fiacre.ConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.Conjunction; +import fr.irit.fiacre.xtext.fiacre.ConstantDeclaration; +import fr.irit.fiacre.xtext.fiacre.ConstantPattern; +import fr.irit.fiacre.xtext.fiacre.ConstructionExpression; +import fr.irit.fiacre.xtext.fiacre.ConstructorPattern; +import fr.irit.fiacre.xtext.fiacre.DeadlockFreePattern; +import fr.irit.fiacre.xtext.fiacre.DecimalLowerBound; +import fr.irit.fiacre.xtext.fiacre.DecimalUpperBound; +import fr.irit.fiacre.xtext.fiacre.Disjunction; +import fr.irit.fiacre.xtext.fiacre.Division; +import fr.irit.fiacre.xtext.fiacre.EnqueueExpression; +import fr.irit.fiacre.xtext.fiacre.EnterStateEvent; +import fr.irit.fiacre.xtext.fiacre.EventSubject; +import fr.irit.fiacre.xtext.fiacre.ExistsExpression; +import fr.irit.fiacre.xtext.fiacre.ExistsProperty; +import fr.irit.fiacre.xtext.fiacre.ExtendedConditionalStatement; +import fr.irit.fiacre.xtext.fiacre.FalseLiteral; +import fr.irit.fiacre.xtext.fiacre.FiacrePackage; +import fr.irit.fiacre.xtext.fiacre.FieldExpression; +import fr.irit.fiacre.xtext.fiacre.ForeachStatement; +import fr.irit.fiacre.xtext.fiacre.FunctionDeclaration; +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression; +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern; +import fr.irit.fiacre.xtext.fiacre.Implication; +import fr.irit.fiacre.xtext.fiacre.ImportDeclaration; +import fr.irit.fiacre.xtext.fiacre.InfiniteUpperBound; +import fr.irit.fiacre.xtext.fiacre.InfinitelyOftenPattern; +import fr.irit.fiacre.xtext.fiacre.InstanceDeclaration; +import fr.irit.fiacre.xtext.fiacre.IntegerPattern; +import fr.irit.fiacre.xtext.fiacre.IntegerType; +import fr.irit.fiacre.xtext.fiacre.LTLAll; +import fr.irit.fiacre.xtext.fiacre.LTLConjunction; +import fr.irit.fiacre.xtext.fiacre.LTLDisjunction; +import fr.irit.fiacre.xtext.fiacre.LTLExists; +import fr.irit.fiacre.xtext.fiacre.LTLImplication; +import fr.irit.fiacre.xtext.fiacre.LTLPattern; +import fr.irit.fiacre.xtext.fiacre.LTLRelease; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryAlways; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryEventually; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNegation; +import fr.irit.fiacre.xtext.fiacre.LTLUnaryNext; +import fr.irit.fiacre.xtext.fiacre.LTLUntil; +import fr.irit.fiacre.xtext.fiacre.LTLVariable; +import fr.irit.fiacre.xtext.fiacre.LeadsToPattern; +import fr.irit.fiacre.xtext.fiacre.LeaveStateEvent; +import fr.irit.fiacre.xtext.fiacre.LocalPortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.LoopStatement; +import fr.irit.fiacre.xtext.fiacre.Model; +import fr.irit.fiacre.xtext.fiacre.Modulo; +import fr.irit.fiacre.xtext.fiacre.MortalPattern; +import fr.irit.fiacre.xtext.fiacre.Multiplication; +import fr.irit.fiacre.xtext.fiacre.NamedItem; +import fr.irit.fiacre.xtext.fiacre.NaturalItem; +import fr.irit.fiacre.xtext.fiacre.NaturalLiteral; +import fr.irit.fiacre.xtext.fiacre.NaturalLowerBound; +import fr.irit.fiacre.xtext.fiacre.NaturalType; +import fr.irit.fiacre.xtext.fiacre.NaturalUpperBound; +import fr.irit.fiacre.xtext.fiacre.NullStatement; +import fr.irit.fiacre.xtext.fiacre.ObservableConjunction; +import fr.irit.fiacre.xtext.fiacre.ObservableDisjunction; +import fr.irit.fiacre.xtext.fiacre.ObservableImplication; +import fr.irit.fiacre.xtext.fiacre.ObservableNegation; +import fr.irit.fiacre.xtext.fiacre.OnStatement; +import fr.irit.fiacre.xtext.fiacre.ParameterDeclaration; +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration; +import fr.irit.fiacre.xtext.fiacre.Path; +import fr.irit.fiacre.xtext.fiacre.PathEvent; +import fr.irit.fiacre.xtext.fiacre.PortDeclaration; +import fr.irit.fiacre.xtext.fiacre.PortSet; +import fr.irit.fiacre.xtext.fiacre.PortsDeclaration; +import fr.irit.fiacre.xtext.fiacre.PrecedesPattern; +import fr.irit.fiacre.xtext.fiacre.PresencePattern; +import fr.irit.fiacre.xtext.fiacre.PriorityDeclaration; +import fr.irit.fiacre.xtext.fiacre.PriorityGroup; +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration; +import fr.irit.fiacre.xtext.fiacre.Projection; +import fr.irit.fiacre.xtext.fiacre.PropertyConjunction; +import fr.irit.fiacre.xtext.fiacre.PropertyDeclaration; +import fr.irit.fiacre.xtext.fiacre.PropertyDisjunction; +import fr.irit.fiacre.xtext.fiacre.PropertyImplication; +import fr.irit.fiacre.xtext.fiacre.PropertyNegation; +import fr.irit.fiacre.xtext.fiacre.QueueExpression; +import fr.irit.fiacre.xtext.fiacre.QueueType; +import fr.irit.fiacre.xtext.fiacre.RangeType; +import fr.irit.fiacre.xtext.fiacre.ReceiveStatement; +import fr.irit.fiacre.xtext.fiacre.RecordAccessExpression; +import fr.irit.fiacre.xtext.fiacre.RecordAccessPattern; +import fr.irit.fiacre.xtext.fiacre.RecordExpression; +import fr.irit.fiacre.xtext.fiacre.RecordFieldDeclaration; +import fr.irit.fiacre.xtext.fiacre.RecordFields; +import fr.irit.fiacre.xtext.fiacre.RecordType; +import fr.irit.fiacre.xtext.fiacre.ReferenceExpression; +import fr.irit.fiacre.xtext.fiacre.ReferencedType; +import fr.irit.fiacre.xtext.fiacre.Requirement; +import fr.irit.fiacre.xtext.fiacre.ReturnStatement; +import fr.irit.fiacre.xtext.fiacre.Root; +import fr.irit.fiacre.xtext.fiacre.SelectStatement; +import fr.irit.fiacre.xtext.fiacre.SendStatement; +import fr.irit.fiacre.xtext.fiacre.StateDeclaration; +import fr.irit.fiacre.xtext.fiacre.StateSubject; +import fr.irit.fiacre.xtext.fiacre.StatementChoice; +import fr.irit.fiacre.xtext.fiacre.StatementSequence; +import fr.irit.fiacre.xtext.fiacre.Substraction; +import fr.irit.fiacre.xtext.fiacre.TagSubject; +import fr.irit.fiacre.xtext.fiacre.TaggedStatement; +import fr.irit.fiacre.xtext.fiacre.ToStatement; +import fr.irit.fiacre.xtext.fiacre.Transition; +import fr.irit.fiacre.xtext.fiacre.TransitionSource; +import fr.irit.fiacre.xtext.fiacre.TrueLiteral; +import fr.irit.fiacre.xtext.fiacre.TupleType; +import fr.irit.fiacre.xtext.fiacre.TypeDeclaration; +import fr.irit.fiacre.xtext.fiacre.UnaryCoerceExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryDeQueueExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryEmptyExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryFirstExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryFullExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryLengthExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryMinusExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryNegationExpression; +import fr.irit.fiacre.xtext.fiacre.UnaryPlusExpression; +import fr.irit.fiacre.xtext.fiacre.UnionTagDeclaration; +import fr.irit.fiacre.xtext.fiacre.UnionTags; +import fr.irit.fiacre.xtext.fiacre.UnionType; +import fr.irit.fiacre.xtext.fiacre.UnlessStatement; +import fr.irit.fiacre.xtext.fiacre.ValueSubject; +import fr.irit.fiacre.xtext.fiacre.VariableDeclaration; +import fr.irit.fiacre.xtext.fiacre.VariableLowerBound; +import fr.irit.fiacre.xtext.fiacre.VariableUpperBound; +import fr.irit.fiacre.xtext.fiacre.VariablesDeclaration; +import fr.irit.fiacre.xtext.fiacre.WaitStatement; +import fr.irit.fiacre.xtext.fiacre.WhileStatement; +import fr.irit.fiacre.xtext.services.FiacreGrammarAccess; +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.AbstractDelegatingSemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; + +@SuppressWarnings("all") +public class FiacreSemanticSequencer extends AbstractDelegatingSemanticSequencer { + + @Inject + private FiacreGrammarAccess grammarAccess; + + @Override + public void sequence(ISerializationContext context, EObject semanticObject) { + EPackage epackage = semanticObject.eClass().getEPackage(); + ParserRule rule = context.getParserRule(); + Action action = context.getAssignedAction(); + Set parameters = context.getEnabledBooleanParameters(); + if (epackage == FiacrePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case FiacrePackage.ABSENCE_PATTERN: + sequence_AbsencePattern(context, (AbsencePattern) semanticObject); + return; + case FiacrePackage.ADDITION: + sequence_Addition(context, (Addition) semanticObject); + return; + case FiacrePackage.ALL_EXPRESSION: + sequence_QuantifiedExpression(context, (AllExpression) semanticObject); + return; + case FiacrePackage.ALL_PROPERTY: + sequence_QuantifiedProperty(context, (AllProperty) semanticObject); + return; + case FiacrePackage.ALWAYS_PATTERN: + sequence_AlwaysPattern(context, (AlwaysPattern) semanticObject); + return; + case FiacrePackage.ANY_PATTERN: + sequence_AnyPattern(context, (AnyPattern) semanticObject); + return; + case FiacrePackage.APPEND_EXPRESSION: + sequence_AppendExpression(context, (AppendExpression) semanticObject); + return; + case FiacrePackage.ARRAY_ACCESS_EXPRESSION: + sequence_IdentifierExpression(context, (ArrayAccessExpression) semanticObject); + return; + case FiacrePackage.ARRAY_ACCESS_PATTERN: + sequence_IdentifierPattern(context, (ArrayAccessPattern) semanticObject); + return; + case FiacrePackage.ARRAY_EXPRESSION: + sequence_ArrayExpression(context, (ArrayExpression) semanticObject); + return; + case FiacrePackage.ARRAY_TYPE: + sequence_ArrayType(context, (ArrayType) semanticObject); + return; + case FiacrePackage.ASSIGN_ANY_STATEMENT: + sequence_PatternStatement(context, (AssignAnyStatement) semanticObject); + return; + case FiacrePackage.ASSIGN_STATEMENT: + sequence_PatternStatement(context, (AssignStatement) semanticObject); + return; + case FiacrePackage.BLOCK_STATEMENT: + sequence_BlockStatement(context, (BlockStatement) semanticObject); + return; + case FiacrePackage.BOOLEAN_TYPE: + sequence_BasicType(context, (BooleanType) semanticObject); + return; + case FiacrePackage.CASE_STATEMENT: + sequence_CaseStatement(context, (CaseStatement) semanticObject); + return; + case FiacrePackage.CHANNEL_DECLARATION: + sequence_ChannelDeclaration(context, (ChannelDeclaration) semanticObject); + return; + case FiacrePackage.CHANNEL_TYPE: + sequence_ChannelType(context, (ChannelType) semanticObject); + return; + case FiacrePackage.COMPARISON_EQUAL: + sequence_Comparison(context, (ComparisonEqual) semanticObject); + return; + case FiacrePackage.COMPARISON_GREATER: + sequence_Comparison(context, (ComparisonGreater) semanticObject); + return; + case FiacrePackage.COMPARISON_GREATER_EQUAL: + sequence_Comparison(context, (ComparisonGreaterEqual) semanticObject); + return; + case FiacrePackage.COMPARISON_LESSER: + sequence_Comparison(context, (ComparisonLesser) semanticObject); + return; + case FiacrePackage.COMPARISON_LESSER_EQUAL: + sequence_Comparison(context, (ComparisonLesserEqual) semanticObject); + return; + case FiacrePackage.COMPARISON_NOT_EQUAL: + sequence_Comparison(context, (ComparisonNotEqual) semanticObject); + return; + case FiacrePackage.COMPONENT_DECLARATION: + sequence_ComponentDeclaration(context, (ComponentDeclaration) semanticObject); + return; + case FiacrePackage.COMPONENT_INSTANCE: + sequence_ComponentInstance(context, (ComponentInstance) semanticObject); + return; + case FiacrePackage.COMPOSITE_BLOCK: + sequence_CompositeBlock(context, (CompositeBlock) semanticObject); + return; + case FiacrePackage.COMPOSITION: + sequence_Composition(context, (Composition) semanticObject); + return; + case FiacrePackage.CONDITIONAL: + sequence_Conditional(context, (Conditional) semanticObject); + return; + case FiacrePackage.CONDITIONAL_STATEMENT: + sequence_ConditionalStatement(context, (ConditionalStatement) semanticObject); + return; + case FiacrePackage.CONJUNCTION: + sequence_Conjunction(context, (Conjunction) semanticObject); + return; + case FiacrePackage.CONSTANT_DECLARATION: + sequence_ConstantDeclaration(context, (ConstantDeclaration) semanticObject); + return; + case FiacrePackage.CONSTANT_PATTERN: + sequence_ConstantPattern(context, (ConstantPattern) semanticObject); + return; + case FiacrePackage.CONSTRUCTION_EXPRESSION: + sequence_IdentifierExpression(context, (ConstructionExpression) semanticObject); + return; + case FiacrePackage.CONSTRUCTOR_PATTERN: + sequence_IdentifierPattern(context, (ConstructorPattern) semanticObject); + return; + case FiacrePackage.DEADLOCK_FREE_PATTERN: + sequence_DeadlockFreePattern(context, (DeadlockFreePattern) semanticObject); + return; + case FiacrePackage.DECIMAL_LOWER_BOUND: + sequence_DecimalLowerBound(context, (DecimalLowerBound) semanticObject); + return; + case FiacrePackage.DECIMAL_UPPER_BOUND: + sequence_DecimalUpperBound(context, (DecimalUpperBound) semanticObject); + return; + case FiacrePackage.DISJUNCTION: + sequence_Disjunction(context, (Disjunction) semanticObject); + return; + case FiacrePackage.DIVISION: + sequence_Division(context, (Division) semanticObject); + return; + case FiacrePackage.ENQUEUE_EXPRESSION: + sequence_EnqueueExpression(context, (EnqueueExpression) semanticObject); + return; + case FiacrePackage.ENTER_STATE_EVENT: + sequence_EnterStateEvent(context, (EnterStateEvent) semanticObject); + return; + case FiacrePackage.EVENT_SUBJECT: + sequence_EventSubject(context, (EventSubject) semanticObject); + return; + case FiacrePackage.EXISTS_EXPRESSION: + sequence_QuantifiedExpression(context, (ExistsExpression) semanticObject); + return; + case FiacrePackage.EXISTS_PROPERTY: + sequence_QuantifiedProperty(context, (ExistsProperty) semanticObject); + return; + case FiacrePackage.EXTENDED_CONDITIONAL_STATEMENT: + sequence_ExtendedConditionalStatement(context, (ExtendedConditionalStatement) semanticObject); + return; + case FiacrePackage.FALSE_LITERAL: + sequence_BooleanLiteral(context, (FalseLiteral) semanticObject); + return; + case FiacrePackage.FIELD_EXPRESSION: + sequence_FieldExpression(context, (FieldExpression) semanticObject); + return; + case FiacrePackage.FOREACH_STATEMENT: + sequence_ForeachStatement(context, (ForeachStatement) semanticObject); + return; + case FiacrePackage.FUNCTION_DECLARATION: + sequence_FunctionDeclaration(context, (FunctionDeclaration) semanticObject); + return; + case FiacrePackage.IDENTIFIER_EXPRESSION: + sequence_IdentifierExpression(context, (IdentifierExpression) semanticObject); + return; + case FiacrePackage.IDENTIFIER_PATTERN: + sequence_IdentifierPattern(context, (IdentifierPattern) semanticObject); + return; + case FiacrePackage.IMPLICATION: + sequence_Implication(context, (Implication) semanticObject); + return; + case FiacrePackage.IMPORT_DECLARATION: + sequence_ImportDeclaration(context, (ImportDeclaration) semanticObject); + return; + case FiacrePackage.INFINITE_UPPER_BOUND: + sequence_InfiniteUpperBound(context, (InfiniteUpperBound) semanticObject); + return; + case FiacrePackage.INFINITELY_OFTEN_PATTERN: + sequence_InfinitelyOftenPattern(context, (InfinitelyOftenPattern) semanticObject); + return; + case FiacrePackage.INSTANCE_DECLARATION: + sequence_InstanceDeclaration(context, (InstanceDeclaration) semanticObject); + return; + case FiacrePackage.INTEGER_PATTERN: + sequence_IntegerPattern(context, (IntegerPattern) semanticObject); + return; + case FiacrePackage.INTEGER_TYPE: + sequence_BasicType(context, (IntegerType) semanticObject); + return; + case FiacrePackage.LTL_ALL: + sequence_LTLQuantified(context, (LTLAll) semanticObject); + return; + case FiacrePackage.LTL_CONJUNCTION: + sequence_LTLConjunction(context, (LTLConjunction) semanticObject); + return; + case FiacrePackage.LTL_DISJUNCTION: + sequence_LTLDisjunction(context, (LTLDisjunction) semanticObject); + return; + case FiacrePackage.LTL_EXISTS: + sequence_LTLQuantified(context, (LTLExists) semanticObject); + return; + case FiacrePackage.LTL_IMPLICATION: + sequence_LTLImplication(context, (LTLImplication) semanticObject); + return; + case FiacrePackage.LTL_PATTERN: + sequence_LTLPattern(context, (LTLPattern) semanticObject); + return; + case FiacrePackage.LTL_RELEASE: + sequence_LTLBinary(context, (LTLRelease) semanticObject); + return; + case FiacrePackage.LTL_UNARY_ALWAYS: + sequence_LTLUnary(context, (LTLUnaryAlways) semanticObject); + return; + case FiacrePackage.LTL_UNARY_EVENTUALLY: + sequence_LTLUnary(context, (LTLUnaryEventually) semanticObject); + return; + case FiacrePackage.LTL_UNARY_NEGATION: + sequence_LTLUnary(context, (LTLUnaryNegation) semanticObject); + return; + case FiacrePackage.LTL_UNARY_NEXT: + sequence_LTLUnary(context, (LTLUnaryNext) semanticObject); + return; + case FiacrePackage.LTL_UNTIL: + sequence_LTLBinary(context, (LTLUntil) semanticObject); + return; + case FiacrePackage.LTL_VARIABLE: + sequence_AtomicLTL(context, (LTLVariable) semanticObject); + return; + case FiacrePackage.LEADS_TO_PATTERN: + sequence_SequencePattern(context, (LeadsToPattern) semanticObject); + return; + case FiacrePackage.LEAVE_STATE_EVENT: + sequence_LeaveStateEvent(context, (LeaveStateEvent) semanticObject); + return; + case FiacrePackage.LOCAL_PORTS_DECLARATION: + sequence_LocalPortsDeclaration(context, (LocalPortsDeclaration) semanticObject); + return; + case FiacrePackage.LOOP_STATEMENT: + sequence_LoopStatement(context, (LoopStatement) semanticObject); + return; + case FiacrePackage.MODEL: + sequence_Model(context, (Model) semanticObject); + return; + case FiacrePackage.MODULO: + sequence_Modulo(context, (Modulo) semanticObject); + return; + case FiacrePackage.MORTAL_PATTERN: + sequence_MortalPattern(context, (MortalPattern) semanticObject); + return; + case FiacrePackage.MULTIPLICATION: + sequence_Multiplication(context, (Multiplication) semanticObject); + return; + case FiacrePackage.NAMED_ITEM: + sequence_NamedItem(context, (NamedItem) semanticObject); + return; + case FiacrePackage.NATURAL_ITEM: + sequence_NaturalItem(context, (NaturalItem) semanticObject); + return; + case FiacrePackage.NATURAL_LITERAL: + sequence_NaturalLiteral(context, (NaturalLiteral) semanticObject); + return; + case FiacrePackage.NATURAL_LOWER_BOUND: + sequence_NaturalLowerBound(context, (NaturalLowerBound) semanticObject); + return; + case FiacrePackage.NATURAL_TYPE: + sequence_BasicType(context, (NaturalType) semanticObject); + return; + case FiacrePackage.NATURAL_UPPER_BOUND: + sequence_NaturalUpperBound(context, (NaturalUpperBound) semanticObject); + return; + case FiacrePackage.NULL_STATEMENT: + sequence_NullStatement(context, (NullStatement) semanticObject); + return; + case FiacrePackage.OBSERVABLE_CONJUNCTION: + sequence_ObservableConjunction(context, (ObservableConjunction) semanticObject); + return; + case FiacrePackage.OBSERVABLE_DISJUNCTION: + sequence_ObservableDisjunction(context, (ObservableDisjunction) semanticObject); + return; + case FiacrePackage.OBSERVABLE_IMPLICATION: + sequence_ObservableImplication(context, (ObservableImplication) semanticObject); + return; + case FiacrePackage.OBSERVABLE_NEGATION: + sequence_ObservableNegation(context, (ObservableNegation) semanticObject); + return; + case FiacrePackage.ON_STATEMENT: + sequence_OnStatement(context, (OnStatement) semanticObject); + return; + case FiacrePackage.PARAMETER_DECLARATION: + sequence_ParameterDeclaration(context, (ParameterDeclaration) semanticObject); + return; + case FiacrePackage.PARAMETERS_DECLARATION: + sequence_ParametersDeclaration(context, (ParametersDeclaration) semanticObject); + return; + case FiacrePackage.PATH: + sequence_Path(context, (Path) semanticObject); + return; + case FiacrePackage.PATH_EVENT: + sequence_PathEvent(context, (PathEvent) semanticObject); + return; + case FiacrePackage.PORT_DECLARATION: + sequence_PortDeclaration(context, (PortDeclaration) semanticObject); + return; + case FiacrePackage.PORT_SET: + sequence_PortSet(context, (PortSet) semanticObject); + return; + case FiacrePackage.PORTS_DECLARATION: + sequence_PortsDeclaration(context, (PortsDeclaration) semanticObject); + return; + case FiacrePackage.PRECEDES_PATTERN: + sequence_SequencePattern(context, (PrecedesPattern) semanticObject); + return; + case FiacrePackage.PRESENCE_PATTERN: + sequence_PresencePattern(context, (PresencePattern) semanticObject); + return; + case FiacrePackage.PRIORITY_DECLARATION: + sequence_PriorityDeclaration(context, (PriorityDeclaration) semanticObject); + return; + case FiacrePackage.PRIORITY_GROUP: + sequence_PriorityGroup(context, (PriorityGroup) semanticObject); + return; + case FiacrePackage.PROCESS_DECLARATION: + sequence_ProcessDeclaration(context, (ProcessDeclaration) semanticObject); + return; + case FiacrePackage.PROJECTION: + sequence_Projection(context, (Projection) semanticObject); + return; + case FiacrePackage.PROPERTY_CONJUNCTION: + sequence_PropertyConjunction(context, (PropertyConjunction) semanticObject); + return; + case FiacrePackage.PROPERTY_DECLARATION: + sequence_PropertyDeclaration(context, (PropertyDeclaration) semanticObject); + return; + case FiacrePackage.PROPERTY_DISJUNCTION: + sequence_PropertyDisjunction(context, (PropertyDisjunction) semanticObject); + return; + case FiacrePackage.PROPERTY_IMPLICATION: + sequence_PropertyImplication(context, (PropertyImplication) semanticObject); + return; + case FiacrePackage.PROPERTY_NEGATION: + sequence_PropertyNegation(context, (PropertyNegation) semanticObject); + return; + case FiacrePackage.QUEUE_EXPRESSION: + sequence_QueueExpression(context, (QueueExpression) semanticObject); + return; + case FiacrePackage.QUEUE_TYPE: + sequence_QueueType(context, (QueueType) semanticObject); + return; + case FiacrePackage.RANGE_TYPE: + sequence_RangeType(context, (RangeType) semanticObject); + return; + case FiacrePackage.RECEIVE_STATEMENT: + sequence_PatternStatement(context, (ReceiveStatement) semanticObject); + return; + case FiacrePackage.RECORD_ACCESS_EXPRESSION: + sequence_IdentifierExpression(context, (RecordAccessExpression) semanticObject); + return; + case FiacrePackage.RECORD_ACCESS_PATTERN: + sequence_IdentifierPattern(context, (RecordAccessPattern) semanticObject); + return; + case FiacrePackage.RECORD_EXPRESSION: + sequence_RecordExpression(context, (RecordExpression) semanticObject); + return; + case FiacrePackage.RECORD_FIELD_DECLARATION: + sequence_RecordFieldDeclaration(context, (RecordFieldDeclaration) semanticObject); + return; + case FiacrePackage.RECORD_FIELDS: + sequence_RecordFields(context, (RecordFields) semanticObject); + return; + case FiacrePackage.RECORD_TYPE: + sequence_RecordType(context, (RecordType) semanticObject); + return; + case FiacrePackage.REFERENCE_EXPRESSION: + sequence_ReferenceExpression(context, (ReferenceExpression) semanticObject); + return; + case FiacrePackage.REFERENCED_TYPE: + sequence_ReferencedType(context, (ReferencedType) semanticObject); + return; + case FiacrePackage.REQUIREMENT: + sequence_Requirement(context, (Requirement) semanticObject); + return; + case FiacrePackage.RETURN_STATEMENT: + sequence_ReturnStatement(context, (ReturnStatement) semanticObject); + return; + case FiacrePackage.ROOT: + sequence_Root(context, (Root) semanticObject); + return; + case FiacrePackage.SELECT_STATEMENT: + sequence_SelectStatement(context, (SelectStatement) semanticObject); + return; + case FiacrePackage.SEND_STATEMENT: + sequence_PatternStatement(context, (SendStatement) semanticObject); + return; + case FiacrePackage.STATE_DECLARATION: + sequence_StateDeclaration(context, (StateDeclaration) semanticObject); + return; + case FiacrePackage.STATE_SUBJECT: + sequence_StateSubject(context, (StateSubject) semanticObject); + return; + case FiacrePackage.STATEMENT_CHOICE: + sequence_StatementChoice(context, (StatementChoice) semanticObject); + return; + case FiacrePackage.STATEMENT_SEQUENCE: + sequence_StatementSequence(context, (StatementSequence) semanticObject); + return; + case FiacrePackage.SUBSTRACTION: + sequence_Substraction(context, (Substraction) semanticObject); + return; + case FiacrePackage.TAG_SUBJECT: + sequence_TagSubject(context, (TagSubject) semanticObject); + return; + case FiacrePackage.TAGGED_STATEMENT: + sequence_TaggedStatement(context, (TaggedStatement) semanticObject); + return; + case FiacrePackage.TO_STATEMENT: + sequence_ToStatement(context, (ToStatement) semanticObject); + return; + case FiacrePackage.TRANSITION: + sequence_Transition(context, (Transition) semanticObject); + return; + case FiacrePackage.TRANSITION_SOURCE: + sequence_TransitionSource(context, (TransitionSource) semanticObject); + return; + case FiacrePackage.TRUE_LITERAL: + sequence_BooleanLiteral(context, (TrueLiteral) semanticObject); + return; + case FiacrePackage.TUPLE_TYPE: + sequence_TupleType(context, (TupleType) semanticObject); + return; + case FiacrePackage.TYPE_DECLARATION: + sequence_TypeDeclaration(context, (TypeDeclaration) semanticObject); + return; + case FiacrePackage.UNARY_COERCE_EXPRESSION: + sequence_UnaryExpression(context, (UnaryCoerceExpression) semanticObject); + return; + case FiacrePackage.UNARY_DE_QUEUE_EXPRESSION: + sequence_UnaryExpression(context, (UnaryDeQueueExpression) semanticObject); + return; + case FiacrePackage.UNARY_EMPTY_EXPRESSION: + sequence_UnaryExpression(context, (UnaryEmptyExpression) semanticObject); + return; + case FiacrePackage.UNARY_FIRST_EXPRESSION: + sequence_UnaryExpression(context, (UnaryFirstExpression) semanticObject); + return; + case FiacrePackage.UNARY_FULL_EXPRESSION: + sequence_UnaryExpression(context, (UnaryFullExpression) semanticObject); + return; + case FiacrePackage.UNARY_LENGTH_EXPRESSION: + sequence_UnaryExpression(context, (UnaryLengthExpression) semanticObject); + return; + case FiacrePackage.UNARY_MINUS_EXPRESSION: + sequence_UnaryExpression(context, (UnaryMinusExpression) semanticObject); + return; + case FiacrePackage.UNARY_NEGATION_EXPRESSION: + sequence_UnaryExpression(context, (UnaryNegationExpression) semanticObject); + return; + case FiacrePackage.UNARY_PLUS_EXPRESSION: + sequence_UnaryExpression(context, (UnaryPlusExpression) semanticObject); + return; + case FiacrePackage.UNION_TAG_DECLARATION: + sequence_UnionTagDeclaration(context, (UnionTagDeclaration) semanticObject); + return; + case FiacrePackage.UNION_TAGS: + sequence_UnionTags(context, (UnionTags) semanticObject); + return; + case FiacrePackage.UNION_TYPE: + sequence_UnionType(context, (UnionType) semanticObject); + return; + case FiacrePackage.UNLESS_STATEMENT: + sequence_UnlessStatement(context, (UnlessStatement) semanticObject); + return; + case FiacrePackage.VALUE_SUBJECT: + sequence_ValueSubject(context, (ValueSubject) semanticObject); + return; + case FiacrePackage.VARIABLE_DECLARATION: + sequence_VariableDeclaration(context, (VariableDeclaration) semanticObject); + return; + case FiacrePackage.VARIABLE_LOWER_BOUND: + sequence_VariableLowerBound(context, (VariableLowerBound) semanticObject); + return; + case FiacrePackage.VARIABLE_UPPER_BOUND: + sequence_VariableUpperBound(context, (VariableUpperBound) semanticObject); + return; + case FiacrePackage.VARIABLES_DECLARATION: + sequence_VariablesDeclaration(context, (VariablesDeclaration) semanticObject); + return; + case FiacrePackage.WAIT_STATEMENT: + sequence_WaitStatement(context, (WaitStatement) semanticObject); + return; + case FiacrePackage.WHILE_STATEMENT: + sequence_WhileStatement(context, (WhileStatement) semanticObject); + return; + } + if (errorAcceptor != null) + errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); + } + + /** + * Contexts: + * Property returns AbsencePattern + * QuantifiedProperty returns AbsencePattern + * PropertyDisjunction returns AbsencePattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns AbsencePattern + * PropertyImplication returns AbsencePattern + * PropertyImplication.PropertyImplication_1_0 returns AbsencePattern + * PropertyConjunction returns AbsencePattern + * PropertyConjunction.PropertyConjunction_1_0 returns AbsencePattern + * PropertyNegation returns AbsencePattern + * AtomicProperty returns AbsencePattern + * PatternProperty returns AbsencePattern + * AbsencePattern returns AbsencePattern + * + * Constraint: + * ( + * subject=AtomicObservable + * ( + * (after=AtomicObservable ((lower=LowerBound upper=UpperBound) | until=AtomicObservable)?) | + * (before=AtomicObservable (lower=LowerBound upper=UpperBound)?) | + * (min=AtomicObservable max=AtomicObservable) + * )? + * ) + */ + protected void sequence_AbsencePattern(ISerializationContext context, AbsencePattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Addition + * QuantifiedExpression returns Addition + * Conditional returns Addition + * Conditional.Conditional_1_1 returns Addition + * Disjunction returns Addition + * Disjunction.Disjunction_1_0 returns Addition + * Implication returns Addition + * Implication.Implication_1_0 returns Addition + * Conjunction returns Addition + * Conjunction.Conjunction_1_0 returns Addition + * Comparison returns Addition + * Comparison.ComparisonEqual_1_0_0_0 returns Addition + * Comparison.ComparisonNotEqual_1_0_1_0 returns Addition + * Comparison.ComparisonLesser_1_0_2_0 returns Addition + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Addition + * Comparison.ComparisonGreater_1_0_4_0 returns Addition + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Addition + * Addition returns Addition + * Addition.Addition_1_0 returns Addition + * Substraction returns Addition + * Substraction.Substraction_1_0 returns Addition + * Multiplication returns Addition + * Multiplication.Multiplication_1_0 returns Addition + * Division returns Addition + * Division.Division_1_0 returns Addition + * Modulo returns Addition + * Modulo.Modulo_1_0 returns Addition + * UnaryExpression returns Addition + * Projection returns Addition + * Projection.Projection_1_0 returns Addition + * AtomicExpression returns Addition + * + * Constraint: + * (left=Addition_Addition_1_0 right=Substraction) + */ + protected void sequence_Addition(ISerializationContext context, Addition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAddition_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAddition_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAddition_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAddition_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getAdditionAccess().getRightSubstractionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns AlwaysPattern + * QuantifiedProperty returns AlwaysPattern + * PropertyDisjunction returns AlwaysPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns AlwaysPattern + * PropertyImplication returns AlwaysPattern + * PropertyImplication.PropertyImplication_1_0 returns AlwaysPattern + * PropertyConjunction returns AlwaysPattern + * PropertyConjunction.PropertyConjunction_1_0 returns AlwaysPattern + * PropertyNegation returns AlwaysPattern + * AtomicProperty returns AlwaysPattern + * PatternProperty returns AlwaysPattern + * AlwaysPattern returns AlwaysPattern + * + * Constraint: + * ( + * subject=AtomicObservable + * (before=AtomicObservable | (after=AtomicObservable until=AtomicObservable?) | (min=AtomicObservable max=AtomicObservable))? + * ) + */ + protected void sequence_AlwaysPattern(ISerializationContext context, AlwaysPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns AnyPattern + * UnlessStatement.UnlessStatement_1_0 returns AnyPattern + * StatementChoice returns AnyPattern + * StatementChoice.StatementChoice_1_0 returns AnyPattern + * StatementSequence returns AnyPattern + * StatementSequence.StatementSequence_1_0 returns AnyPattern + * Statement returns AnyPattern + * PatternStatement returns AnyPattern + * PatternStatement.AssignStatement_1_0_1 returns AnyPattern + * PatternStatement.AssignStatement_1_1_1 returns AnyPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns AnyPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns AnyPattern + * PatternStatement.SendStatement_1_4_1 returns AnyPattern + * PatternStatement.ReceiveStatement_1_5_1 returns AnyPattern + * Pattern returns AnyPattern + * AnyPattern returns AnyPattern + * + * Constraint: + * {AnyPattern} + */ + protected void sequence_AnyPattern(ISerializationContext context, AnyPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns AppendExpression + * QuantifiedExpression returns AppendExpression + * Conditional returns AppendExpression + * Conditional.Conditional_1_1 returns AppendExpression + * Disjunction returns AppendExpression + * Disjunction.Disjunction_1_0 returns AppendExpression + * Implication returns AppendExpression + * Implication.Implication_1_0 returns AppendExpression + * Conjunction returns AppendExpression + * Conjunction.Conjunction_1_0 returns AppendExpression + * Comparison returns AppendExpression + * Comparison.ComparisonEqual_1_0_0_0 returns AppendExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns AppendExpression + * Comparison.ComparisonLesser_1_0_2_0 returns AppendExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns AppendExpression + * Comparison.ComparisonGreater_1_0_4_0 returns AppendExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns AppendExpression + * Addition returns AppendExpression + * Addition.Addition_1_0 returns AppendExpression + * Substraction returns AppendExpression + * Substraction.Substraction_1_0 returns AppendExpression + * Multiplication returns AppendExpression + * Multiplication.Multiplication_1_0 returns AppendExpression + * Division returns AppendExpression + * Division.Division_1_0 returns AppendExpression + * Modulo returns AppendExpression + * Modulo.Modulo_1_0 returns AppendExpression + * UnaryExpression returns AppendExpression + * Projection returns AppendExpression + * Projection.Projection_1_0 returns AppendExpression + * AtomicExpression returns AppendExpression + * AppendExpression returns AppendExpression + * + * Constraint: + * (left=Expression right=Expression) + */ + protected void sequence_AppendExpression(ISerializationContext context, AppendExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAppendExpression_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAppendExpression_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAppendExpression_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAppendExpression_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAppendExpressionAccess().getLeftExpressionParserRuleCall_2_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getAppendExpressionAccess().getRightExpressionParserRuleCall_4_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ArrayExpression + * QuantifiedExpression returns ArrayExpression + * Conditional returns ArrayExpression + * Conditional.Conditional_1_1 returns ArrayExpression + * Disjunction returns ArrayExpression + * Disjunction.Disjunction_1_0 returns ArrayExpression + * Implication returns ArrayExpression + * Implication.Implication_1_0 returns ArrayExpression + * Conjunction returns ArrayExpression + * Conjunction.Conjunction_1_0 returns ArrayExpression + * Comparison returns ArrayExpression + * Comparison.ComparisonEqual_1_0_0_0 returns ArrayExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns ArrayExpression + * Comparison.ComparisonLesser_1_0_2_0 returns ArrayExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ArrayExpression + * Comparison.ComparisonGreater_1_0_4_0 returns ArrayExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ArrayExpression + * Addition returns ArrayExpression + * Addition.Addition_1_0 returns ArrayExpression + * Substraction returns ArrayExpression + * Substraction.Substraction_1_0 returns ArrayExpression + * Multiplication returns ArrayExpression + * Multiplication.Multiplication_1_0 returns ArrayExpression + * Division returns ArrayExpression + * Division.Division_1_0 returns ArrayExpression + * Modulo returns ArrayExpression + * Modulo.Modulo_1_0 returns ArrayExpression + * UnaryExpression returns ArrayExpression + * Projection returns ArrayExpression + * Projection.Projection_1_0 returns ArrayExpression + * ValueExpression returns ArrayExpression + * AtomicExpression returns ArrayExpression + * ArrayExpression returns ArrayExpression + * + * Constraint: + * (values+=Expression values+=Expression*)? + */ + protected void sequence_ArrayExpression(ISerializationContext context, ArrayExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns ArrayType + * TupleType returns ArrayType + * TupleType.TupleType_1_0 returns ArrayType + * ArrayType returns ArrayType + * + * Constraint: + * (size=Expression type=Type) + */ + protected void sequence_ArrayType(ISerializationContext context, ArrayType semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getArrayType_Size()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getArrayType_Size())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getArrayType_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getArrayType_Type())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getArrayTypeAccess().getSizeExpressionParserRuleCall_1_0(), semanticObject.getSize()); + feeder.accept(grammarAccess.getArrayTypeAccess().getTypeTypeParserRuleCall_3_0(), semanticObject.getType()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLVariable + * LTLQuantified returns LTLVariable + * LTLDisjunction returns LTLVariable + * LTLDisjunction.LTLDisjunction_1_0 returns LTLVariable + * LTLImplication returns LTLVariable + * LTLImplication.LTLImplication_1_0 returns LTLVariable + * LTLConjunction returns LTLVariable + * LTLConjunction.LTLConjunction_1_0 returns LTLVariable + * LTLBinary returns LTLVariable + * LTLBinary.LTLUntil_1_0_0 returns LTLVariable + * LTLBinary.LTLRelease_1_1_0 returns LTLVariable + * LTLUnary returns LTLVariable + * AtomicLTL returns LTLVariable + * + * Constraint: + * declaration=[PropertyDeclarationUse|ID] + */ + protected void sequence_AtomicLTL(ISerializationContext context, LTLVariable semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLVariable_Declaration()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLVariable_Declaration())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getAtomicLTLAccess().getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1(), semanticObject.getDeclaration()); + feeder.finish(); + } + + + /** + * Contexts: + * Type returns BooleanType + * TupleType returns BooleanType + * TupleType.TupleType_1_0 returns BooleanType + * BasicType returns BooleanType + * + * Constraint: + * {BooleanType} + */ + protected void sequence_BasicType(ISerializationContext context, BooleanType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns IntegerType + * TupleType returns IntegerType + * TupleType.TupleType_1_0 returns IntegerType + * BasicType returns IntegerType + * + * Constraint: + * {IntegerType} + */ + protected void sequence_BasicType(ISerializationContext context, IntegerType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns NaturalType + * TupleType returns NaturalType + * TupleType.TupleType_1_0 returns NaturalType + * BasicType returns NaturalType + * + * Constraint: + * {NaturalType} + */ + protected void sequence_BasicType(ISerializationContext context, NaturalType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns BlockStatement + * UnlessStatement.UnlessStatement_1_0 returns BlockStatement + * StatementChoice returns BlockStatement + * StatementChoice.StatementChoice_1_0 returns BlockStatement + * StatementSequence returns BlockStatement + * StatementSequence.StatementSequence_1_0 returns BlockStatement + * Statement returns BlockStatement + * BlockStatement returns BlockStatement + * + * Constraint: + * body=StatementSequence + */ + protected void sequence_BlockStatement(ISerializationContext context, BlockStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getBlockStatement_Body()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getBlockStatement_Body())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getBlockStatementAccess().getBodyStatementSequenceParserRuleCall_1_0(), semanticObject.getBody()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns FalseLiteral + * QuantifiedExpression returns FalseLiteral + * Conditional returns FalseLiteral + * Conditional.Conditional_1_1 returns FalseLiteral + * Disjunction returns FalseLiteral + * Disjunction.Disjunction_1_0 returns FalseLiteral + * Implication returns FalseLiteral + * Implication.Implication_1_0 returns FalseLiteral + * Conjunction returns FalseLiteral + * Conjunction.Conjunction_1_0 returns FalseLiteral + * Comparison returns FalseLiteral + * Comparison.ComparisonEqual_1_0_0_0 returns FalseLiteral + * Comparison.ComparisonNotEqual_1_0_1_0 returns FalseLiteral + * Comparison.ComparisonLesser_1_0_2_0 returns FalseLiteral + * Comparison.ComparisonLesserEqual_1_0_3_0 returns FalseLiteral + * Comparison.ComparisonGreater_1_0_4_0 returns FalseLiteral + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns FalseLiteral + * Addition returns FalseLiteral + * Addition.Addition_1_0 returns FalseLiteral + * Substraction returns FalseLiteral + * Substraction.Substraction_1_0 returns FalseLiteral + * Multiplication returns FalseLiteral + * Multiplication.Multiplication_1_0 returns FalseLiteral + * Division returns FalseLiteral + * Division.Division_1_0 returns FalseLiteral + * Modulo returns FalseLiteral + * Modulo.Modulo_1_0 returns FalseLiteral + * UnaryExpression returns FalseLiteral + * Projection returns FalseLiteral + * Projection.Projection_1_0 returns FalseLiteral + * ValueExpression returns FalseLiteral + * AtomicExpression returns FalseLiteral + * LiteralExpression returns FalseLiteral + * BooleanLiteral returns FalseLiteral + * + * Constraint: + * {FalseLiteral} + */ + protected void sequence_BooleanLiteral(ISerializationContext context, FalseLiteral semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns TrueLiteral + * QuantifiedExpression returns TrueLiteral + * Conditional returns TrueLiteral + * Conditional.Conditional_1_1 returns TrueLiteral + * Disjunction returns TrueLiteral + * Disjunction.Disjunction_1_0 returns TrueLiteral + * Implication returns TrueLiteral + * Implication.Implication_1_0 returns TrueLiteral + * Conjunction returns TrueLiteral + * Conjunction.Conjunction_1_0 returns TrueLiteral + * Comparison returns TrueLiteral + * Comparison.ComparisonEqual_1_0_0_0 returns TrueLiteral + * Comparison.ComparisonNotEqual_1_0_1_0 returns TrueLiteral + * Comparison.ComparisonLesser_1_0_2_0 returns TrueLiteral + * Comparison.ComparisonLesserEqual_1_0_3_0 returns TrueLiteral + * Comparison.ComparisonGreater_1_0_4_0 returns TrueLiteral + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns TrueLiteral + * Addition returns TrueLiteral + * Addition.Addition_1_0 returns TrueLiteral + * Substraction returns TrueLiteral + * Substraction.Substraction_1_0 returns TrueLiteral + * Multiplication returns TrueLiteral + * Multiplication.Multiplication_1_0 returns TrueLiteral + * Division returns TrueLiteral + * Division.Division_1_0 returns TrueLiteral + * Modulo returns TrueLiteral + * Modulo.Modulo_1_0 returns TrueLiteral + * UnaryExpression returns TrueLiteral + * Projection returns TrueLiteral + * Projection.Projection_1_0 returns TrueLiteral + * ValueExpression returns TrueLiteral + * AtomicExpression returns TrueLiteral + * LiteralExpression returns TrueLiteral + * BooleanLiteral returns TrueLiteral + * + * Constraint: + * {TrueLiteral} + */ + protected void sequence_BooleanLiteral(ISerializationContext context, TrueLiteral semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns CaseStatement + * UnlessStatement.UnlessStatement_1_0 returns CaseStatement + * StatementChoice returns CaseStatement + * StatementChoice.StatementChoice_1_0 returns CaseStatement + * StatementSequence returns CaseStatement + * StatementSequence.StatementSequence_1_0 returns CaseStatement + * Statement returns CaseStatement + * CaseStatement returns CaseStatement + * + * Constraint: + * (value=Expression pattern+=Pattern body+=StatementSequence (pattern+=Pattern body+=StatementSequence)*) + */ + protected void sequence_CaseStatement(ISerializationContext context, CaseStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * NamedElement returns ChannelDeclaration + * TypeDeclarationUse returns ChannelDeclaration + * Declaration returns ChannelDeclaration + * ChannelDeclaration returns ChannelDeclaration + * + * Constraint: + * (name=ID value=ChannelType) + */ + protected void sequence_ChannelDeclaration(ISerializationContext context, ChannelDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getChannelDeclaration_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getChannelDeclaration_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getChannelDeclarationAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getChannelDeclarationAccess().getValueChannelTypeParserRuleCall_3_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * ChannelType returns ChannelType + * + * Constraint: + * (size=Expression? ((in?='in' out?='out'?) | out?='out')? type=TupleType?) + */ + protected void sequence_ChannelType(ISerializationContext context, ChannelType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns ComparisonEqual + * QuantifiedExpression returns ComparisonEqual + * Conditional returns ComparisonEqual + * Conditional.Conditional_1_1 returns ComparisonEqual + * Disjunction returns ComparisonEqual + * Disjunction.Disjunction_1_0 returns ComparisonEqual + * Implication returns ComparisonEqual + * Implication.Implication_1_0 returns ComparisonEqual + * Conjunction returns ComparisonEqual + * Conjunction.Conjunction_1_0 returns ComparisonEqual + * Comparison returns ComparisonEqual + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonEqual + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonEqual + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonEqual + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonEqual + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonEqual + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonEqual + * Addition returns ComparisonEqual + * Addition.Addition_1_0 returns ComparisonEqual + * Substraction returns ComparisonEqual + * Substraction.Substraction_1_0 returns ComparisonEqual + * Multiplication returns ComparisonEqual + * Multiplication.Multiplication_1_0 returns ComparisonEqual + * Division returns ComparisonEqual + * Division.Division_1_0 returns ComparisonEqual + * Modulo returns ComparisonEqual + * Modulo.Modulo_1_0 returns ComparisonEqual + * UnaryExpression returns ComparisonEqual + * Projection returns ComparisonEqual + * Projection.Projection_1_0 returns ComparisonEqual + * AtomicExpression returns ComparisonEqual + * + * Constraint: + * (left=Comparison_ComparisonEqual_1_0_0_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonEqual semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonEqual_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonEqual_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonEqual_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonEqual_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonEqualLeftAction_1_0_0_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ComparisonGreater + * QuantifiedExpression returns ComparisonGreater + * Conditional returns ComparisonGreater + * Conditional.Conditional_1_1 returns ComparisonGreater + * Disjunction returns ComparisonGreater + * Disjunction.Disjunction_1_0 returns ComparisonGreater + * Implication returns ComparisonGreater + * Implication.Implication_1_0 returns ComparisonGreater + * Conjunction returns ComparisonGreater + * Conjunction.Conjunction_1_0 returns ComparisonGreater + * Comparison returns ComparisonGreater + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonGreater + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonGreater + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonGreater + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonGreater + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonGreater + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonGreater + * Addition returns ComparisonGreater + * Addition.Addition_1_0 returns ComparisonGreater + * Substraction returns ComparisonGreater + * Substraction.Substraction_1_0 returns ComparisonGreater + * Multiplication returns ComparisonGreater + * Multiplication.Multiplication_1_0 returns ComparisonGreater + * Division returns ComparisonGreater + * Division.Division_1_0 returns ComparisonGreater + * Modulo returns ComparisonGreater + * Modulo.Modulo_1_0 returns ComparisonGreater + * UnaryExpression returns ComparisonGreater + * Projection returns ComparisonGreater + * Projection.Projection_1_0 returns ComparisonGreater + * AtomicExpression returns ComparisonGreater + * + * Constraint: + * (left=Comparison_ComparisonGreater_1_0_4_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonGreater semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreater_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreater_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreater_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreater_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonGreaterLeftAction_1_0_4_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ComparisonGreaterEqual + * QuantifiedExpression returns ComparisonGreaterEqual + * Conditional returns ComparisonGreaterEqual + * Conditional.Conditional_1_1 returns ComparisonGreaterEqual + * Disjunction returns ComparisonGreaterEqual + * Disjunction.Disjunction_1_0 returns ComparisonGreaterEqual + * Implication returns ComparisonGreaterEqual + * Implication.Implication_1_0 returns ComparisonGreaterEqual + * Conjunction returns ComparisonGreaterEqual + * Conjunction.Conjunction_1_0 returns ComparisonGreaterEqual + * Comparison returns ComparisonGreaterEqual + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonGreaterEqual + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonGreaterEqual + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonGreaterEqual + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonGreaterEqual + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonGreaterEqual + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonGreaterEqual + * Addition returns ComparisonGreaterEqual + * Addition.Addition_1_0 returns ComparisonGreaterEqual + * Substraction returns ComparisonGreaterEqual + * Substraction.Substraction_1_0 returns ComparisonGreaterEqual + * Multiplication returns ComparisonGreaterEqual + * Multiplication.Multiplication_1_0 returns ComparisonGreaterEqual + * Division returns ComparisonGreaterEqual + * Division.Division_1_0 returns ComparisonGreaterEqual + * Modulo returns ComparisonGreaterEqual + * Modulo.Modulo_1_0 returns ComparisonGreaterEqual + * UnaryExpression returns ComparisonGreaterEqual + * Projection returns ComparisonGreaterEqual + * Projection.Projection_1_0 returns ComparisonGreaterEqual + * AtomicExpression returns ComparisonGreaterEqual + * + * Constraint: + * (left=Comparison_ComparisonGreaterEqual_1_0_5_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonGreaterEqual semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonGreaterEqual_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonGreaterEqualLeftAction_1_0_5_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ComparisonLesser + * QuantifiedExpression returns ComparisonLesser + * Conditional returns ComparisonLesser + * Conditional.Conditional_1_1 returns ComparisonLesser + * Disjunction returns ComparisonLesser + * Disjunction.Disjunction_1_0 returns ComparisonLesser + * Implication returns ComparisonLesser + * Implication.Implication_1_0 returns ComparisonLesser + * Conjunction returns ComparisonLesser + * Conjunction.Conjunction_1_0 returns ComparisonLesser + * Comparison returns ComparisonLesser + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonLesser + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonLesser + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonLesser + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonLesser + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonLesser + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonLesser + * Addition returns ComparisonLesser + * Addition.Addition_1_0 returns ComparisonLesser + * Substraction returns ComparisonLesser + * Substraction.Substraction_1_0 returns ComparisonLesser + * Multiplication returns ComparisonLesser + * Multiplication.Multiplication_1_0 returns ComparisonLesser + * Division returns ComparisonLesser + * Division.Division_1_0 returns ComparisonLesser + * Modulo returns ComparisonLesser + * Modulo.Modulo_1_0 returns ComparisonLesser + * UnaryExpression returns ComparisonLesser + * Projection returns ComparisonLesser + * Projection.Projection_1_0 returns ComparisonLesser + * AtomicExpression returns ComparisonLesser + * + * Constraint: + * (left=Comparison_ComparisonLesser_1_0_2_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonLesser semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesser_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesser_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesser_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesser_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonLesserLeftAction_1_0_2_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ComparisonLesserEqual + * QuantifiedExpression returns ComparisonLesserEqual + * Conditional returns ComparisonLesserEqual + * Conditional.Conditional_1_1 returns ComparisonLesserEqual + * Disjunction returns ComparisonLesserEqual + * Disjunction.Disjunction_1_0 returns ComparisonLesserEqual + * Implication returns ComparisonLesserEqual + * Implication.Implication_1_0 returns ComparisonLesserEqual + * Conjunction returns ComparisonLesserEqual + * Conjunction.Conjunction_1_0 returns ComparisonLesserEqual + * Comparison returns ComparisonLesserEqual + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonLesserEqual + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonLesserEqual + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonLesserEqual + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonLesserEqual + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonLesserEqual + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonLesserEqual + * Addition returns ComparisonLesserEqual + * Addition.Addition_1_0 returns ComparisonLesserEqual + * Substraction returns ComparisonLesserEqual + * Substraction.Substraction_1_0 returns ComparisonLesserEqual + * Multiplication returns ComparisonLesserEqual + * Multiplication.Multiplication_1_0 returns ComparisonLesserEqual + * Division returns ComparisonLesserEqual + * Division.Division_1_0 returns ComparisonLesserEqual + * Modulo returns ComparisonLesserEqual + * Modulo.Modulo_1_0 returns ComparisonLesserEqual + * UnaryExpression returns ComparisonLesserEqual + * Projection returns ComparisonLesserEqual + * Projection.Projection_1_0 returns ComparisonLesserEqual + * AtomicExpression returns ComparisonLesserEqual + * + * Constraint: + * (left=Comparison_ComparisonLesserEqual_1_0_3_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonLesserEqual semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesserEqual_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonLesserEqual_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonLesserEqualLeftAction_1_0_3_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns ComparisonNotEqual + * QuantifiedExpression returns ComparisonNotEqual + * Conditional returns ComparisonNotEqual + * Conditional.Conditional_1_1 returns ComparisonNotEqual + * Disjunction returns ComparisonNotEqual + * Disjunction.Disjunction_1_0 returns ComparisonNotEqual + * Implication returns ComparisonNotEqual + * Implication.Implication_1_0 returns ComparisonNotEqual + * Conjunction returns ComparisonNotEqual + * Conjunction.Conjunction_1_0 returns ComparisonNotEqual + * Comparison returns ComparisonNotEqual + * Comparison.ComparisonEqual_1_0_0_0 returns ComparisonNotEqual + * Comparison.ComparisonNotEqual_1_0_1_0 returns ComparisonNotEqual + * Comparison.ComparisonLesser_1_0_2_0 returns ComparisonNotEqual + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ComparisonNotEqual + * Comparison.ComparisonGreater_1_0_4_0 returns ComparisonNotEqual + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ComparisonNotEqual + * Addition returns ComparisonNotEqual + * Addition.Addition_1_0 returns ComparisonNotEqual + * Substraction returns ComparisonNotEqual + * Substraction.Substraction_1_0 returns ComparisonNotEqual + * Multiplication returns ComparisonNotEqual + * Multiplication.Multiplication_1_0 returns ComparisonNotEqual + * Division returns ComparisonNotEqual + * Division.Division_1_0 returns ComparisonNotEqual + * Modulo returns ComparisonNotEqual + * Modulo.Modulo_1_0 returns ComparisonNotEqual + * UnaryExpression returns ComparisonNotEqual + * Projection returns ComparisonNotEqual + * Projection.Projection_1_0 returns ComparisonNotEqual + * AtomicExpression returns ComparisonNotEqual + * + * Constraint: + * (left=Comparison_ComparisonNotEqual_1_0_1_0 right=Addition) + */ + protected void sequence_Comparison(ISerializationContext context, ComparisonNotEqual semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonNotEqual_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonNotEqual_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getComparisonNotEqual_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getComparisonNotEqual_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getComparisonAccess().getComparisonNotEqualLeftAction_1_0_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getComparisonAccess().getRightAdditionParserRuleCall_1_1_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * RootDeclaration returns ComponentDeclaration + * NamedElement returns ComponentDeclaration + * PathDeclarationUse returns ComponentDeclaration + * Declaration returns ComponentDeclaration + * ParameterizedDeclaration returns ComponentDeclaration + * ComponentDeclaration returns ComponentDeclaration + * + * Constraint: + * ( + * name=ID + * (ports+=PortsDeclaration ports+=PortsDeclaration*)? + * (parameters+=ParametersDeclaration parameters+=ParametersDeclaration*)? + * (variables+=VariablesDeclaration variables+=VariablesDeclaration*)? + * (localPorts+=LocalPortsDeclaration localPorts+=LocalPortsDeclaration*)? + * (priorities+=PriorityDeclaration priorities+=PriorityDeclaration*)? + * prelude=StatementSequence? + * body=Composition + * ) + */ + protected void sequence_ComponentDeclaration(ISerializationContext context, ComponentDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * ComponentInstance returns ComponentInstance + * + * Constraint: + * (component=[ParameterizedDeclaration|ID] (ports+=Expression ports+=Expression*)? (parameters+=Expression parameters+=Expression*)?) + */ + protected void sequence_ComponentInstance(ISerializationContext context, ComponentInstance semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Block returns CompositeBlock + * CompositeBlock returns CompositeBlock + * + * Constraint: + * (local=PortSet? composition=Composition) + */ + protected void sequence_CompositeBlock(ISerializationContext context, CompositeBlock semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Composition returns Composition + * + * Constraint: + * (global=PortSet? blocks+=Block blocks+=Block*) + */ + protected void sequence_Composition(ISerializationContext context, Composition semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns ConditionalStatement + * UnlessStatement.UnlessStatement_1_0 returns ConditionalStatement + * StatementChoice returns ConditionalStatement + * StatementChoice.StatementChoice_1_0 returns ConditionalStatement + * StatementSequence returns ConditionalStatement + * StatementSequence.StatementSequence_1_0 returns ConditionalStatement + * Statement returns ConditionalStatement + * ConditionalStatement returns ConditionalStatement + * + * Constraint: + * (condition=Expression then=StatementSequence elseif+=ExtendedConditionalStatement* else=StatementSequence?) + */ + protected void sequence_ConditionalStatement(ISerializationContext context, ConditionalStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Conditional + * QuantifiedExpression returns Conditional + * Conditional returns Conditional + * Conditional.Conditional_1_1 returns Conditional + * Disjunction returns Conditional + * Disjunction.Disjunction_1_0 returns Conditional + * Implication returns Conditional + * Implication.Implication_1_0 returns Conditional + * Conjunction returns Conditional + * Conjunction.Conjunction_1_0 returns Conditional + * Comparison returns Conditional + * Comparison.ComparisonEqual_1_0_0_0 returns Conditional + * Comparison.ComparisonNotEqual_1_0_1_0 returns Conditional + * Comparison.ComparisonLesser_1_0_2_0 returns Conditional + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Conditional + * Comparison.ComparisonGreater_1_0_4_0 returns Conditional + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Conditional + * Addition returns Conditional + * Addition.Addition_1_0 returns Conditional + * Substraction returns Conditional + * Substraction.Substraction_1_0 returns Conditional + * Multiplication returns Conditional + * Multiplication.Multiplication_1_0 returns Conditional + * Division returns Conditional + * Division.Division_1_0 returns Conditional + * Modulo returns Conditional + * Modulo.Modulo_1_0 returns Conditional + * UnaryExpression returns Conditional + * Projection returns Conditional + * Projection.Projection_1_0 returns Conditional + * AtomicExpression returns Conditional + * + * Constraint: + * (condition=Conditional_Conditional_1_1 then=Disjunction else=Disjunction) + */ + protected void sequence_Conditional(ISerializationContext context, Conditional semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConditional_Condition()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConditional_Condition())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConditional_Then()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConditional_Then())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConditional_Else()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConditional_Else())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getConditionalAccess().getConditionalConditionAction_1_1(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getConditionalAccess().getThenDisjunctionParserRuleCall_1_2_0(), semanticObject.getThen()); + feeder.accept(grammarAccess.getConditionalAccess().getElseDisjunctionParserRuleCall_1_4_0(), semanticObject.getElse()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns Conjunction + * QuantifiedExpression returns Conjunction + * Conditional returns Conjunction + * Conditional.Conditional_1_1 returns Conjunction + * Disjunction returns Conjunction + * Disjunction.Disjunction_1_0 returns Conjunction + * Implication returns Conjunction + * Implication.Implication_1_0 returns Conjunction + * Conjunction returns Conjunction + * Conjunction.Conjunction_1_0 returns Conjunction + * Comparison returns Conjunction + * Comparison.ComparisonEqual_1_0_0_0 returns Conjunction + * Comparison.ComparisonNotEqual_1_0_1_0 returns Conjunction + * Comparison.ComparisonLesser_1_0_2_0 returns Conjunction + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Conjunction + * Comparison.ComparisonGreater_1_0_4_0 returns Conjunction + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Conjunction + * Addition returns Conjunction + * Addition.Addition_1_0 returns Conjunction + * Substraction returns Conjunction + * Substraction.Substraction_1_0 returns Conjunction + * Multiplication returns Conjunction + * Multiplication.Multiplication_1_0 returns Conjunction + * Division returns Conjunction + * Division.Division_1_0 returns Conjunction + * Modulo returns Conjunction + * Modulo.Modulo_1_0 returns Conjunction + * UnaryExpression returns Conjunction + * Projection returns Conjunction + * Projection.Projection_1_0 returns Conjunction + * AtomicExpression returns Conjunction + * + * Constraint: + * (left=Conjunction_Conjunction_1_0 right=Comparison) + */ + protected void sequence_Conjunction(ISerializationContext context, Conjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getConjunctionAccess().getConjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getConjunctionAccess().getRightComparisonParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns ConstantDeclaration + * ConstantDeclarationUse returns ConstantDeclaration + * ExpressionDeclarationUse returns ConstantDeclaration + * BoundDeclarationUse returns ConstantDeclaration + * Declaration returns ConstantDeclaration + * ConstantDeclaration returns ConstantDeclaration + * + * Constraint: + * (name=ID type=Type value=Expression) + */ + protected void sequence_ConstantDeclaration(ISerializationContext context, ConstantDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConstantDeclaration_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConstantDeclaration_Type())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConstantDeclaration_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConstantDeclaration_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getConstantDeclarationAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getConstantDeclarationAccess().getTypeTypeParserRuleCall_3_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getConstantDeclarationAccess().getValueExpressionParserRuleCall_5_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns ConstantPattern + * UnlessStatement.UnlessStatement_1_0 returns ConstantPattern + * StatementChoice returns ConstantPattern + * StatementChoice.StatementChoice_1_0 returns ConstantPattern + * StatementSequence returns ConstantPattern + * StatementSequence.StatementSequence_1_0 returns ConstantPattern + * Statement returns ConstantPattern + * PatternStatement returns ConstantPattern + * PatternStatement.AssignStatement_1_0_1 returns ConstantPattern + * PatternStatement.AssignStatement_1_1_1 returns ConstantPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns ConstantPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns ConstantPattern + * PatternStatement.SendStatement_1_4_1 returns ConstantPattern + * PatternStatement.ReceiveStatement_1_5_1 returns ConstantPattern + * Pattern returns ConstantPattern + * ConstantPattern returns ConstantPattern + * + * Constraint: + * value=LiteralExpression + */ + protected void sequence_ConstantPattern(ISerializationContext context, ConstantPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getConstantPattern_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getConstantPattern_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getConstantPatternAccess().getValueLiteralExpressionParserRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns DeadlockFreePattern + * QuantifiedProperty returns DeadlockFreePattern + * PropertyDisjunction returns DeadlockFreePattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns DeadlockFreePattern + * PropertyImplication returns DeadlockFreePattern + * PropertyImplication.PropertyImplication_1_0 returns DeadlockFreePattern + * PropertyConjunction returns DeadlockFreePattern + * PropertyConjunction.PropertyConjunction_1_0 returns DeadlockFreePattern + * PropertyNegation returns DeadlockFreePattern + * AtomicProperty returns DeadlockFreePattern + * PatternProperty returns DeadlockFreePattern + * DeadlockFreePattern returns DeadlockFreePattern + * + * Constraint: + * {DeadlockFreePattern} + */ + protected void sequence_DeadlockFreePattern(ISerializationContext context, DeadlockFreePattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * LowerBound returns DecimalLowerBound + * DecimalLowerBound returns DecimalLowerBound + * + * Constraint: + * ((left?='[' | right?=']') value=FLT) + */ + protected void sequence_DecimalLowerBound(ISerializationContext context, DecimalLowerBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UpperBound returns DecimalUpperBound + * DecimalUpperBound returns DecimalUpperBound + * + * Constraint: + * (value=FLT (left?='[' | right?=']')) + */ + protected void sequence_DecimalUpperBound(ISerializationContext context, DecimalUpperBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Disjunction + * QuantifiedExpression returns Disjunction + * Conditional returns Disjunction + * Conditional.Conditional_1_1 returns Disjunction + * Disjunction returns Disjunction + * Disjunction.Disjunction_1_0 returns Disjunction + * Implication returns Disjunction + * Implication.Implication_1_0 returns Disjunction + * Conjunction returns Disjunction + * Conjunction.Conjunction_1_0 returns Disjunction + * Comparison returns Disjunction + * Comparison.ComparisonEqual_1_0_0_0 returns Disjunction + * Comparison.ComparisonNotEqual_1_0_1_0 returns Disjunction + * Comparison.ComparisonLesser_1_0_2_0 returns Disjunction + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Disjunction + * Comparison.ComparisonGreater_1_0_4_0 returns Disjunction + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Disjunction + * Addition returns Disjunction + * Addition.Addition_1_0 returns Disjunction + * Substraction returns Disjunction + * Substraction.Substraction_1_0 returns Disjunction + * Multiplication returns Disjunction + * Multiplication.Multiplication_1_0 returns Disjunction + * Division returns Disjunction + * Division.Division_1_0 returns Disjunction + * Modulo returns Disjunction + * Modulo.Modulo_1_0 returns Disjunction + * UnaryExpression returns Disjunction + * Projection returns Disjunction + * Projection.Projection_1_0 returns Disjunction + * AtomicExpression returns Disjunction + * + * Constraint: + * (left=Disjunction_Disjunction_1_0 right=Implication) + */ + protected void sequence_Disjunction(ISerializationContext context, Disjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getDisjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getDisjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getDisjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getDisjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getDisjunctionAccess().getDisjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getDisjunctionAccess().getRightImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns Division + * QuantifiedExpression returns Division + * Conditional returns Division + * Conditional.Conditional_1_1 returns Division + * Disjunction returns Division + * Disjunction.Disjunction_1_0 returns Division + * Implication returns Division + * Implication.Implication_1_0 returns Division + * Conjunction returns Division + * Conjunction.Conjunction_1_0 returns Division + * Comparison returns Division + * Comparison.ComparisonEqual_1_0_0_0 returns Division + * Comparison.ComparisonNotEqual_1_0_1_0 returns Division + * Comparison.ComparisonLesser_1_0_2_0 returns Division + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Division + * Comparison.ComparisonGreater_1_0_4_0 returns Division + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Division + * Addition returns Division + * Addition.Addition_1_0 returns Division + * Substraction returns Division + * Substraction.Substraction_1_0 returns Division + * Multiplication returns Division + * Multiplication.Multiplication_1_0 returns Division + * Division returns Division + * Division.Division_1_0 returns Division + * Modulo returns Division + * Modulo.Modulo_1_0 returns Division + * UnaryExpression returns Division + * Projection returns Division + * Projection.Projection_1_0 returns Division + * AtomicExpression returns Division + * + * Constraint: + * (left=Division_Division_1_0 right=Modulo) + */ + protected void sequence_Division(ISerializationContext context, Division semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getDivision_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getDivision_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getDivision_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getDivision_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getDivisionAccess().getDivisionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getDivisionAccess().getRightModuloParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns EnqueueExpression + * QuantifiedExpression returns EnqueueExpression + * Conditional returns EnqueueExpression + * Conditional.Conditional_1_1 returns EnqueueExpression + * Disjunction returns EnqueueExpression + * Disjunction.Disjunction_1_0 returns EnqueueExpression + * Implication returns EnqueueExpression + * Implication.Implication_1_0 returns EnqueueExpression + * Conjunction returns EnqueueExpression + * Conjunction.Conjunction_1_0 returns EnqueueExpression + * Comparison returns EnqueueExpression + * Comparison.ComparisonEqual_1_0_0_0 returns EnqueueExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns EnqueueExpression + * Comparison.ComparisonLesser_1_0_2_0 returns EnqueueExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns EnqueueExpression + * Comparison.ComparisonGreater_1_0_4_0 returns EnqueueExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns EnqueueExpression + * Addition returns EnqueueExpression + * Addition.Addition_1_0 returns EnqueueExpression + * Substraction returns EnqueueExpression + * Substraction.Substraction_1_0 returns EnqueueExpression + * Multiplication returns EnqueueExpression + * Multiplication.Multiplication_1_0 returns EnqueueExpression + * Division returns EnqueueExpression + * Division.Division_1_0 returns EnqueueExpression + * Modulo returns EnqueueExpression + * Modulo.Modulo_1_0 returns EnqueueExpression + * UnaryExpression returns EnqueueExpression + * Projection returns EnqueueExpression + * Projection.Projection_1_0 returns EnqueueExpression + * AtomicExpression returns EnqueueExpression + * EnqueueExpression returns EnqueueExpression + * + * Constraint: + * (element=Expression queue=Expression) + */ + protected void sequence_EnqueueExpression(ISerializationContext context, EnqueueExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getEnqueueExpression_Element()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getEnqueueExpression_Element())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getEnqueueExpression_Queue()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getEnqueueExpression_Queue())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getEnqueueExpressionAccess().getElementExpressionParserRuleCall_2_0(), semanticObject.getElement()); + feeder.accept(grammarAccess.getEnqueueExpressionAccess().getQueueExpressionParserRuleCall_4_0(), semanticObject.getQueue()); + feeder.finish(); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns EnterStateEvent + * SequencePattern.PrecedesPattern_1_1_1 returns EnterStateEvent + * LTLProperty returns EnterStateEvent + * LTLQuantified returns EnterStateEvent + * LTLDisjunction returns EnterStateEvent + * LTLDisjunction.LTLDisjunction_1_0 returns EnterStateEvent + * LTLImplication returns EnterStateEvent + * LTLImplication.LTLImplication_1_0 returns EnterStateEvent + * LTLConjunction returns EnterStateEvent + * LTLConjunction.LTLConjunction_1_0 returns EnterStateEvent + * LTLBinary returns EnterStateEvent + * LTLBinary.LTLUntil_1_0_0 returns EnterStateEvent + * LTLBinary.LTLRelease_1_1_0 returns EnterStateEvent + * LTLUnary returns EnterStateEvent + * AtomicLTL returns EnterStateEvent + * StateEvent returns EnterStateEvent + * EnterStateEvent returns EnterStateEvent + * Observable returns EnterStateEvent + * ObservableDisjunction returns EnterStateEvent + * ObservableDisjunction.ObservableDisjunction_1_0 returns EnterStateEvent + * ObservableImplication returns EnterStateEvent + * ObservableImplication.ObservableImplication_1_0 returns EnterStateEvent + * ObservableConjunction returns EnterStateEvent + * ObservableConjunction.ObservableConjunction_1_0 returns EnterStateEvent + * ObservableNegation returns EnterStateEvent + * AtomicObservable returns EnterStateEvent + * ObservableEvent returns EnterStateEvent + * + * Constraint: + * subject=AtomicObservable + */ + protected void sequence_EnterStateEvent(ISerializationContext context, EnterStateEvent semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getStateEvent_Subject()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getStateEvent_Subject())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getEnterStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0(), semanticObject.getSubject()); + feeder.finish(); + } + + + /** + * Contexts: + * Subject returns EventSubject + * EventSubject returns EventSubject + * + * Constraint: + * event=ID + */ + protected void sequence_EventSubject(ISerializationContext context, EventSubject semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getEventSubject_Event()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getEventSubject_Event())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getEventSubjectAccess().getEventIDTerminalRuleCall_1_0(), semanticObject.getEvent()); + feeder.finish(); + } + + + /** + * Contexts: + * ExtendedConditionalStatement returns ExtendedConditionalStatement + * + * Constraint: + * (condition=Expression then=StatementSequence) + */ + protected void sequence_ExtendedConditionalStatement(ISerializationContext context, ExtendedConditionalStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Condition())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getExtendedConditionalStatement_Then())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getExtendedConditionalStatementAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getExtendedConditionalStatementAccess().getThenStatementSequenceParserRuleCall_3_0(), semanticObject.getThen()); + feeder.finish(); + } + + + /** + * Contexts: + * FieldExpression returns FieldExpression + * + * Constraint: + * (field=[RecordFieldDeclarationUse|ID] value=Expression) + */ + protected void sequence_FieldExpression(ISerializationContext context, FieldExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getFieldExpression_Field()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getFieldExpression_Field())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getFieldExpression_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getFieldExpression_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getFieldExpressionAccess().getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1(), semanticObject.getField()); + feeder.accept(grammarAccess.getFieldExpressionAccess().getValueExpressionParserRuleCall_2_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns ForeachStatement + * UnlessStatement.UnlessStatement_1_0 returns ForeachStatement + * StatementChoice returns ForeachStatement + * StatementChoice.StatementChoice_1_0 returns ForeachStatement + * StatementSequence returns ForeachStatement + * StatementSequence.StatementSequence_1_0 returns ForeachStatement + * Statement returns ForeachStatement + * ForeachStatement returns ForeachStatement + * + * Constraint: + * (variable=VariableDeclaration body=StatementSequence) + */ + protected void sequence_ForeachStatement(ISerializationContext context, ForeachStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getForeachStatement_Variable()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getForeachStatement_Variable())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getForeachStatement_Body()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getForeachStatement_Body())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getForeachStatementAccess().getVariableVariableDeclarationParserRuleCall_1_0(), semanticObject.getVariable()); + feeder.accept(grammarAccess.getForeachStatementAccess().getBodyStatementSequenceParserRuleCall_3_0(), semanticObject.getBody()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns FunctionDeclaration + * ExpressionDeclarationUse returns FunctionDeclaration + * Declaration returns FunctionDeclaration + * ParameterizedDeclaration returns FunctionDeclaration + * FunctionDeclaration returns FunctionDeclaration + * + * Constraint: + * ( + * name=ID + * (parameters+=ParametersDeclaration parameters+=ParametersDeclaration*)? + * type=Type + * (variables+=VariablesDeclaration variables+=VariablesDeclaration*)? + * statement=Statement + * ) + */ + protected void sequence_FunctionDeclaration(ISerializationContext context, FunctionDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns ArrayAccessExpression + * QuantifiedExpression returns ArrayAccessExpression + * Conditional returns ArrayAccessExpression + * Conditional.Conditional_1_1 returns ArrayAccessExpression + * Disjunction returns ArrayAccessExpression + * Disjunction.Disjunction_1_0 returns ArrayAccessExpression + * Implication returns ArrayAccessExpression + * Implication.Implication_1_0 returns ArrayAccessExpression + * Conjunction returns ArrayAccessExpression + * Conjunction.Conjunction_1_0 returns ArrayAccessExpression + * Comparison returns ArrayAccessExpression + * Comparison.ComparisonEqual_1_0_0_0 returns ArrayAccessExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns ArrayAccessExpression + * Comparison.ComparisonLesser_1_0_2_0 returns ArrayAccessExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ArrayAccessExpression + * Comparison.ComparisonGreater_1_0_4_0 returns ArrayAccessExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ArrayAccessExpression + * Addition returns ArrayAccessExpression + * Addition.Addition_1_0 returns ArrayAccessExpression + * Substraction returns ArrayAccessExpression + * Substraction.Substraction_1_0 returns ArrayAccessExpression + * Multiplication returns ArrayAccessExpression + * Multiplication.Multiplication_1_0 returns ArrayAccessExpression + * Division returns ArrayAccessExpression + * Division.Division_1_0 returns ArrayAccessExpression + * Modulo returns ArrayAccessExpression + * Modulo.Modulo_1_0 returns ArrayAccessExpression + * UnaryExpression returns ArrayAccessExpression + * Projection returns ArrayAccessExpression + * Projection.Projection_1_0 returns ArrayAccessExpression + * ValueExpression returns ArrayAccessExpression + * AtomicExpression returns ArrayAccessExpression + * IdentifierExpression returns ArrayAccessExpression + * IdentifierExpression.ArrayAccessExpression_1_1_0_1 returns ArrayAccessExpression + * IdentifierExpression.RecordAccessExpression_1_1_1_1 returns ArrayAccessExpression + * + * Constraint: + * (child=IdentifierExpression_ArrayAccessExpression_1_1_0_1 indexes+=Expression indexes+=Expression*) + */ + protected void sequence_IdentifierExpression(ISerializationContext context, ArrayAccessExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns ConstructionExpression + * QuantifiedExpression returns ConstructionExpression + * Conditional returns ConstructionExpression + * Conditional.Conditional_1_1 returns ConstructionExpression + * Disjunction returns ConstructionExpression + * Disjunction.Disjunction_1_0 returns ConstructionExpression + * Implication returns ConstructionExpression + * Implication.Implication_1_0 returns ConstructionExpression + * Conjunction returns ConstructionExpression + * Conjunction.Conjunction_1_0 returns ConstructionExpression + * Comparison returns ConstructionExpression + * Comparison.ComparisonEqual_1_0_0_0 returns ConstructionExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns ConstructionExpression + * Comparison.ComparisonLesser_1_0_2_0 returns ConstructionExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ConstructionExpression + * Comparison.ComparisonGreater_1_0_4_0 returns ConstructionExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ConstructionExpression + * Addition returns ConstructionExpression + * Addition.Addition_1_0 returns ConstructionExpression + * Substraction returns ConstructionExpression + * Substraction.Substraction_1_0 returns ConstructionExpression + * Multiplication returns ConstructionExpression + * Multiplication.Multiplication_1_0 returns ConstructionExpression + * Division returns ConstructionExpression + * Division.Division_1_0 returns ConstructionExpression + * Modulo returns ConstructionExpression + * Modulo.Modulo_1_0 returns ConstructionExpression + * UnaryExpression returns ConstructionExpression + * Projection returns ConstructionExpression + * Projection.Projection_1_0 returns ConstructionExpression + * ValueExpression returns ConstructionExpression + * AtomicExpression returns ConstructionExpression + * IdentifierExpression returns ConstructionExpression + * + * Constraint: + * (declaration=[ExpressionDeclarationUse|ID] (parameters+=Expression parameters+=Expression*)?) + */ + protected void sequence_IdentifierExpression(ISerializationContext context, ConstructionExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns IdentifierExpression + * QuantifiedExpression returns IdentifierExpression + * Conditional returns IdentifierExpression + * Conditional.Conditional_1_1 returns IdentifierExpression + * Disjunction returns IdentifierExpression + * Disjunction.Disjunction_1_0 returns IdentifierExpression + * Implication returns IdentifierExpression + * Implication.Implication_1_0 returns IdentifierExpression + * Conjunction returns IdentifierExpression + * Conjunction.Conjunction_1_0 returns IdentifierExpression + * Comparison returns IdentifierExpression + * Comparison.ComparisonEqual_1_0_0_0 returns IdentifierExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns IdentifierExpression + * Comparison.ComparisonLesser_1_0_2_0 returns IdentifierExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns IdentifierExpression + * Comparison.ComparisonGreater_1_0_4_0 returns IdentifierExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns IdentifierExpression + * Addition returns IdentifierExpression + * Addition.Addition_1_0 returns IdentifierExpression + * Substraction returns IdentifierExpression + * Substraction.Substraction_1_0 returns IdentifierExpression + * Multiplication returns IdentifierExpression + * Multiplication.Multiplication_1_0 returns IdentifierExpression + * Division returns IdentifierExpression + * Division.Division_1_0 returns IdentifierExpression + * Modulo returns IdentifierExpression + * Modulo.Modulo_1_0 returns IdentifierExpression + * UnaryExpression returns IdentifierExpression + * Projection returns IdentifierExpression + * Projection.Projection_1_0 returns IdentifierExpression + * ValueExpression returns IdentifierExpression + * AtomicExpression returns IdentifierExpression + * IdentifierExpression returns IdentifierExpression + * IdentifierExpression.ArrayAccessExpression_1_1_0_1 returns IdentifierExpression + * IdentifierExpression.RecordAccessExpression_1_1_1_1 returns IdentifierExpression + * + * Constraint: + * declaration=[ExpressionDeclarationUse|ID] + */ + protected void sequence_IdentifierExpression(ISerializationContext context, IdentifierExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getIdentifierExpression_Declaration()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getIdentifierExpression_Declaration())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIdentifierExpressionAccess().getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1(), semanticObject.getDeclaration()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns RecordAccessExpression + * QuantifiedExpression returns RecordAccessExpression + * Conditional returns RecordAccessExpression + * Conditional.Conditional_1_1 returns RecordAccessExpression + * Disjunction returns RecordAccessExpression + * Disjunction.Disjunction_1_0 returns RecordAccessExpression + * Implication returns RecordAccessExpression + * Implication.Implication_1_0 returns RecordAccessExpression + * Conjunction returns RecordAccessExpression + * Conjunction.Conjunction_1_0 returns RecordAccessExpression + * Comparison returns RecordAccessExpression + * Comparison.ComparisonEqual_1_0_0_0 returns RecordAccessExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns RecordAccessExpression + * Comparison.ComparisonLesser_1_0_2_0 returns RecordAccessExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns RecordAccessExpression + * Comparison.ComparisonGreater_1_0_4_0 returns RecordAccessExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns RecordAccessExpression + * Addition returns RecordAccessExpression + * Addition.Addition_1_0 returns RecordAccessExpression + * Substraction returns RecordAccessExpression + * Substraction.Substraction_1_0 returns RecordAccessExpression + * Multiplication returns RecordAccessExpression + * Multiplication.Multiplication_1_0 returns RecordAccessExpression + * Division returns RecordAccessExpression + * Division.Division_1_0 returns RecordAccessExpression + * Modulo returns RecordAccessExpression + * Modulo.Modulo_1_0 returns RecordAccessExpression + * UnaryExpression returns RecordAccessExpression + * Projection returns RecordAccessExpression + * Projection.Projection_1_0 returns RecordAccessExpression + * ValueExpression returns RecordAccessExpression + * AtomicExpression returns RecordAccessExpression + * IdentifierExpression returns RecordAccessExpression + * IdentifierExpression.ArrayAccessExpression_1_1_0_1 returns RecordAccessExpression + * IdentifierExpression.RecordAccessExpression_1_1_1_1 returns RecordAccessExpression + * + * Constraint: + * (child=IdentifierExpression_RecordAccessExpression_1_1_1_1 field=[RecordFieldDeclaration|ID]) + */ + protected void sequence_IdentifierExpression(ISerializationContext context, RecordAccessExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessExpression_Child())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessExpression_Field()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessExpression_Field())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIdentifierExpressionAccess().getRecordAccessExpressionChildAction_1_1_1_1(), semanticObject.getChild()); + feeder.accept(grammarAccess.getIdentifierExpressionAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1(), semanticObject.getField()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns ArrayAccessPattern + * UnlessStatement.UnlessStatement_1_0 returns ArrayAccessPattern + * StatementChoice returns ArrayAccessPattern + * StatementChoice.StatementChoice_1_0 returns ArrayAccessPattern + * StatementSequence returns ArrayAccessPattern + * StatementSequence.StatementSequence_1_0 returns ArrayAccessPattern + * Statement returns ArrayAccessPattern + * PatternStatement returns ArrayAccessPattern + * PatternStatement.AssignStatement_1_0_1 returns ArrayAccessPattern + * PatternStatement.AssignStatement_1_1_1 returns ArrayAccessPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns ArrayAccessPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns ArrayAccessPattern + * PatternStatement.SendStatement_1_4_1 returns ArrayAccessPattern + * PatternStatement.ReceiveStatement_1_5_1 returns ArrayAccessPattern + * Pattern returns ArrayAccessPattern + * IdentifierPattern returns ArrayAccessPattern + * IdentifierPattern.ArrayAccessPattern_1_1_0_1 returns ArrayAccessPattern + * IdentifierPattern.RecordAccessPattern_1_1_1_1 returns ArrayAccessPattern + * + * Constraint: + * (source=IdentifierPattern_ArrayAccessPattern_1_1_0_1 index=Expression) + */ + protected void sequence_IdentifierPattern(ISerializationContext context, ArrayAccessPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getArrayAccessPattern_Source()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getArrayAccessPattern_Source())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getArrayAccessPattern_Index()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getArrayAccessPattern_Index())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIdentifierPatternAccess().getArrayAccessPatternSourceAction_1_1_0_1(), semanticObject.getSource()); + feeder.accept(grammarAccess.getIdentifierPatternAccess().getIndexExpressionParserRuleCall_1_1_0_2_0(), semanticObject.getIndex()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns ConstructorPattern + * UnlessStatement.UnlessStatement_1_0 returns ConstructorPattern + * StatementChoice returns ConstructorPattern + * StatementChoice.StatementChoice_1_0 returns ConstructorPattern + * StatementSequence returns ConstructorPattern + * StatementSequence.StatementSequence_1_0 returns ConstructorPattern + * Statement returns ConstructorPattern + * PatternStatement returns ConstructorPattern + * PatternStatement.AssignStatement_1_0_1 returns ConstructorPattern + * PatternStatement.AssignStatement_1_1_1 returns ConstructorPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns ConstructorPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns ConstructorPattern + * PatternStatement.SendStatement_1_4_1 returns ConstructorPattern + * PatternStatement.ReceiveStatement_1_5_1 returns ConstructorPattern + * Pattern returns ConstructorPattern + * IdentifierPattern returns ConstructorPattern + * + * Constraint: + * (declaration=[PatternDeclarationUse|ID] (parameters+=Pattern parameters+=Pattern*)?) + */ + protected void sequence_IdentifierPattern(ISerializationContext context, ConstructorPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns IdentifierPattern + * UnlessStatement.UnlessStatement_1_0 returns IdentifierPattern + * StatementChoice returns IdentifierPattern + * StatementChoice.StatementChoice_1_0 returns IdentifierPattern + * StatementSequence returns IdentifierPattern + * StatementSequence.StatementSequence_1_0 returns IdentifierPattern + * Statement returns IdentifierPattern + * PatternStatement returns IdentifierPattern + * PatternStatement.AssignStatement_1_0_1 returns IdentifierPattern + * PatternStatement.AssignStatement_1_1_1 returns IdentifierPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns IdentifierPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns IdentifierPattern + * PatternStatement.SendStatement_1_4_1 returns IdentifierPattern + * PatternStatement.ReceiveStatement_1_5_1 returns IdentifierPattern + * Pattern returns IdentifierPattern + * IdentifierPattern returns IdentifierPattern + * IdentifierPattern.ArrayAccessPattern_1_1_0_1 returns IdentifierPattern + * IdentifierPattern.RecordAccessPattern_1_1_1_1 returns IdentifierPattern + * + * Constraint: + * declaration=[PatternDeclarationUse|ID] + */ + protected void sequence_IdentifierPattern(ISerializationContext context, IdentifierPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getIdentifierPattern_Declaration()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getIdentifierPattern_Declaration())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIdentifierPatternAccess().getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1(), semanticObject.getDeclaration()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns RecordAccessPattern + * UnlessStatement.UnlessStatement_1_0 returns RecordAccessPattern + * StatementChoice returns RecordAccessPattern + * StatementChoice.StatementChoice_1_0 returns RecordAccessPattern + * StatementSequence returns RecordAccessPattern + * StatementSequence.StatementSequence_1_0 returns RecordAccessPattern + * Statement returns RecordAccessPattern + * PatternStatement returns RecordAccessPattern + * PatternStatement.AssignStatement_1_0_1 returns RecordAccessPattern + * PatternStatement.AssignStatement_1_1_1 returns RecordAccessPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns RecordAccessPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns RecordAccessPattern + * PatternStatement.SendStatement_1_4_1 returns RecordAccessPattern + * PatternStatement.ReceiveStatement_1_5_1 returns RecordAccessPattern + * Pattern returns RecordAccessPattern + * IdentifierPattern returns RecordAccessPattern + * IdentifierPattern.ArrayAccessPattern_1_1_0_1 returns RecordAccessPattern + * IdentifierPattern.RecordAccessPattern_1_1_1_1 returns RecordAccessPattern + * + * Constraint: + * (source=IdentifierPattern_RecordAccessPattern_1_1_1_1 field=[RecordFieldDeclaration|ID]) + */ + protected void sequence_IdentifierPattern(ISerializationContext context, RecordAccessPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessPattern_Source()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessPattern_Source())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessPattern_Field()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRecordAccessPattern_Field())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getIdentifierPatternAccess().getRecordAccessPatternSourceAction_1_1_1_1(), semanticObject.getSource()); + feeder.accept(grammarAccess.getIdentifierPatternAccess().getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1(), semanticObject.getField()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns Implication + * QuantifiedExpression returns Implication + * Conditional returns Implication + * Conditional.Conditional_1_1 returns Implication + * Disjunction returns Implication + * Disjunction.Disjunction_1_0 returns Implication + * Implication returns Implication + * Implication.Implication_1_0 returns Implication + * Conjunction returns Implication + * Conjunction.Conjunction_1_0 returns Implication + * Comparison returns Implication + * Comparison.ComparisonEqual_1_0_0_0 returns Implication + * Comparison.ComparisonNotEqual_1_0_1_0 returns Implication + * Comparison.ComparisonLesser_1_0_2_0 returns Implication + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Implication + * Comparison.ComparisonGreater_1_0_4_0 returns Implication + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Implication + * Addition returns Implication + * Addition.Addition_1_0 returns Implication + * Substraction returns Implication + * Substraction.Substraction_1_0 returns Implication + * Multiplication returns Implication + * Multiplication.Multiplication_1_0 returns Implication + * Division returns Implication + * Division.Division_1_0 returns Implication + * Modulo returns Implication + * Modulo.Modulo_1_0 returns Implication + * UnaryExpression returns Implication + * Projection returns Implication + * Projection.Projection_1_0 returns Implication + * AtomicExpression returns Implication + * + * Constraint: + * (left=Implication_Implication_1_0 right=Implication) + */ + protected void sequence_Implication(ISerializationContext context, Implication semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getImplication_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getImplication_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getImplication_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getImplication_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getImplicationAccess().getImplicationLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getImplicationAccess().getRightImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * ImportDeclaration returns ImportDeclaration + * + * Constraint: + * importURI=STRING + */ + protected void sequence_ImportDeclaration(ISerializationContext context, ImportDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getImportDeclaration_ImportURI()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getImportDeclaration_ImportURI())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getImportDeclarationAccess().getImportURISTRINGTerminalRuleCall_1_0(), semanticObject.getImportURI()); + feeder.finish(); + } + + + /** + * Contexts: + * UpperBound returns InfiniteUpperBound + * InfiniteUpperBound returns InfiniteUpperBound + * + * Constraint: + * {InfiniteUpperBound} + */ + protected void sequence_InfiniteUpperBound(ISerializationContext context, InfiniteUpperBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Property returns InfinitelyOftenPattern + * QuantifiedProperty returns InfinitelyOftenPattern + * PropertyDisjunction returns InfinitelyOftenPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns InfinitelyOftenPattern + * PropertyImplication returns InfinitelyOftenPattern + * PropertyImplication.PropertyImplication_1_0 returns InfinitelyOftenPattern + * PropertyConjunction returns InfinitelyOftenPattern + * PropertyConjunction.PropertyConjunction_1_0 returns InfinitelyOftenPattern + * PropertyNegation returns InfinitelyOftenPattern + * AtomicProperty returns InfinitelyOftenPattern + * PatternProperty returns InfinitelyOftenPattern + * InfinitelyOftenPattern returns InfinitelyOftenPattern + * + * Constraint: + * subject=AtomicObservable + */ + protected void sequence_InfinitelyOftenPattern(ISerializationContext context, InfinitelyOftenPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getInfinitelyOftenPattern_Subject())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getInfinitelyOftenPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0(), semanticObject.getSubject()); + feeder.finish(); + } + + + /** + * Contexts: + * PathDeclarationUse returns InstanceDeclaration + * Block returns InstanceDeclaration + * InstanceDeclaration returns InstanceDeclaration + * + * Constraint: + * (local=PortSet? instance=ComponentInstance) + */ + protected void sequence_InstanceDeclaration(ISerializationContext context, InstanceDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns IntegerPattern + * UnlessStatement.UnlessStatement_1_0 returns IntegerPattern + * StatementChoice returns IntegerPattern + * StatementChoice.StatementChoice_1_0 returns IntegerPattern + * StatementSequence returns IntegerPattern + * StatementSequence.StatementSequence_1_0 returns IntegerPattern + * Statement returns IntegerPattern + * PatternStatement returns IntegerPattern + * PatternStatement.AssignStatement_1_0_1 returns IntegerPattern + * PatternStatement.AssignStatement_1_1_1 returns IntegerPattern + * PatternStatement.AssignAnyStatement_1_2_1 returns IntegerPattern + * PatternStatement.AssignAnyStatement_1_3_1 returns IntegerPattern + * PatternStatement.SendStatement_1_4_1 returns IntegerPattern + * PatternStatement.ReceiveStatement_1_5_1 returns IntegerPattern + * Pattern returns IntegerPattern + * IntegerPattern returns IntegerPattern + * + * Constraint: + * (negative?='-'? value=INT) + */ + protected void sequence_IntegerPattern(ISerializationContext context, IntegerPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * LTLProperty returns LTLRelease + * LTLQuantified returns LTLRelease + * LTLDisjunction returns LTLRelease + * LTLDisjunction.LTLDisjunction_1_0 returns LTLRelease + * LTLImplication returns LTLRelease + * LTLImplication.LTLImplication_1_0 returns LTLRelease + * LTLConjunction returns LTLRelease + * LTLConjunction.LTLConjunction_1_0 returns LTLRelease + * LTLBinary returns LTLRelease + * LTLBinary.LTLUntil_1_0_0 returns LTLRelease + * LTLBinary.LTLRelease_1_1_0 returns LTLRelease + * LTLUnary returns LTLRelease + * AtomicLTL returns LTLRelease + * + * Constraint: + * (left=LTLBinary_LTLRelease_1_1_0 right=LTLUnary) + */ + protected void sequence_LTLBinary(ISerializationContext context, LTLRelease semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLRelease_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLRelease_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLRelease_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLRelease_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLBinaryAccess().getLTLReleaseLeftAction_1_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLUntil + * LTLQuantified returns LTLUntil + * LTLDisjunction returns LTLUntil + * LTLDisjunction.LTLDisjunction_1_0 returns LTLUntil + * LTLImplication returns LTLUntil + * LTLImplication.LTLImplication_1_0 returns LTLUntil + * LTLConjunction returns LTLUntil + * LTLConjunction.LTLConjunction_1_0 returns LTLUntil + * LTLBinary returns LTLUntil + * LTLBinary.LTLUntil_1_0_0 returns LTLUntil + * LTLBinary.LTLRelease_1_1_0 returns LTLUntil + * LTLUnary returns LTLUntil + * AtomicLTL returns LTLUntil + * + * Constraint: + * (left=LTLBinary_LTLUntil_1_0_0 right=LTLUnary) + */ + protected void sequence_LTLBinary(ISerializationContext context, LTLUntil semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUntil_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUntil_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUntil_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUntil_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLBinaryAccess().getLTLUntilLeftAction_1_0_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getLTLBinaryAccess().getRightLTLUnaryParserRuleCall_1_0_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLConjunction + * LTLQuantified returns LTLConjunction + * LTLDisjunction returns LTLConjunction + * LTLDisjunction.LTLDisjunction_1_0 returns LTLConjunction + * LTLImplication returns LTLConjunction + * LTLImplication.LTLImplication_1_0 returns LTLConjunction + * LTLConjunction returns LTLConjunction + * LTLConjunction.LTLConjunction_1_0 returns LTLConjunction + * LTLBinary returns LTLConjunction + * LTLBinary.LTLUntil_1_0_0 returns LTLConjunction + * LTLBinary.LTLRelease_1_1_0 returns LTLConjunction + * LTLUnary returns LTLConjunction + * AtomicLTL returns LTLConjunction + * + * Constraint: + * (left=LTLConjunction_LTLConjunction_1_0 right=LTLBinary) + */ + protected void sequence_LTLConjunction(ISerializationContext context, LTLConjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLConjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLConjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLConjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLConjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLConjunctionAccess().getLTLConjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getLTLConjunctionAccess().getRightLTLBinaryParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLDisjunction + * LTLQuantified returns LTLDisjunction + * LTLDisjunction returns LTLDisjunction + * LTLDisjunction.LTLDisjunction_1_0 returns LTLDisjunction + * LTLImplication returns LTLDisjunction + * LTLImplication.LTLImplication_1_0 returns LTLDisjunction + * LTLConjunction returns LTLDisjunction + * LTLConjunction.LTLConjunction_1_0 returns LTLDisjunction + * LTLBinary returns LTLDisjunction + * LTLBinary.LTLUntil_1_0_0 returns LTLDisjunction + * LTLBinary.LTLRelease_1_1_0 returns LTLDisjunction + * LTLUnary returns LTLDisjunction + * AtomicLTL returns LTLDisjunction + * + * Constraint: + * (left=LTLDisjunction_LTLDisjunction_1_0 right=LTLImplication) + */ + protected void sequence_LTLDisjunction(ISerializationContext context, LTLDisjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLDisjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLDisjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLDisjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLDisjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLDisjunctionAccess().getLTLDisjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getLTLDisjunctionAccess().getRightLTLImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLImplication + * LTLQuantified returns LTLImplication + * LTLDisjunction returns LTLImplication + * LTLDisjunction.LTLDisjunction_1_0 returns LTLImplication + * LTLImplication returns LTLImplication + * LTLImplication.LTLImplication_1_0 returns LTLImplication + * LTLConjunction returns LTLImplication + * LTLConjunction.LTLConjunction_1_0 returns LTLImplication + * LTLBinary returns LTLImplication + * LTLBinary.LTLUntil_1_0_0 returns LTLImplication + * LTLBinary.LTLRelease_1_1_0 returns LTLImplication + * LTLUnary returns LTLImplication + * AtomicLTL returns LTLImplication + * + * Constraint: + * (left=LTLImplication_LTLImplication_1_0 right=LTLImplication) + */ + protected void sequence_LTLImplication(ISerializationContext context, LTLImplication semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLImplication_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLImplication_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLImplication_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLImplication_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLImplicationAccess().getLTLImplicationLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getLTLImplicationAccess().getRightLTLImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns LTLPattern + * QuantifiedProperty returns LTLPattern + * PropertyDisjunction returns LTLPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns LTLPattern + * PropertyImplication returns LTLPattern + * PropertyImplication.PropertyImplication_1_0 returns LTLPattern + * PropertyConjunction returns LTLPattern + * PropertyConjunction.PropertyConjunction_1_0 returns LTLPattern + * PropertyNegation returns LTLPattern + * AtomicProperty returns LTLPattern + * PatternProperty returns LTLPattern + * LTLPattern returns LTLPattern + * + * Constraint: + * property=LTLUnary + */ + protected void sequence_LTLPattern(ISerializationContext context, LTLPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLPattern_Property()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLPattern_Property())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLPatternAccess().getPropertyLTLUnaryParserRuleCall_1_0(), semanticObject.getProperty()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLAll + * LTLQuantified returns LTLAll + * LTLDisjunction returns LTLAll + * LTLDisjunction.LTLDisjunction_1_0 returns LTLAll + * LTLImplication returns LTLAll + * LTLImplication.LTLImplication_1_0 returns LTLAll + * LTLConjunction returns LTLAll + * LTLConjunction.LTLConjunction_1_0 returns LTLAll + * LTLBinary returns LTLAll + * LTLBinary.LTLUntil_1_0_0 returns LTLAll + * LTLBinary.LTLRelease_1_1_0 returns LTLAll + * LTLUnary returns LTLAll + * AtomicLTL returns LTLAll + * + * Constraint: + * (index=VariableDeclaration type=RangeType child=LTLQuantified) + */ + protected void sequence_LTLQuantified(ISerializationContext context, LTLAll semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Index()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Index())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Type())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLAll_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0(), semanticObject.getIndex()); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLExists + * LTLQuantified returns LTLExists + * LTLDisjunction returns LTLExists + * LTLDisjunction.LTLDisjunction_1_0 returns LTLExists + * LTLImplication returns LTLExists + * LTLImplication.LTLImplication_1_0 returns LTLExists + * LTLConjunction returns LTLExists + * LTLConjunction.LTLConjunction_1_0 returns LTLExists + * LTLBinary returns LTLExists + * LTLBinary.LTLUntil_1_0_0 returns LTLExists + * LTLBinary.LTLRelease_1_1_0 returns LTLExists + * LTLUnary returns LTLExists + * AtomicLTL returns LTLExists + * + * Constraint: + * (index=VariableDeclaration type=RangeType child=LTLQuantified) + */ + protected void sequence_LTLQuantified(ISerializationContext context, LTLExists semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Index()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Index())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Type())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLExists_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getIndexVariableDeclarationParserRuleCall_0_1_0(), semanticObject.getIndex()); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getTypeRangeTypeParserRuleCall_0_3_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getLTLQuantifiedAccess().getChildLTLQuantifiedParserRuleCall_0_5_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLUnaryAlways + * LTLQuantified returns LTLUnaryAlways + * LTLDisjunction returns LTLUnaryAlways + * LTLDisjunction.LTLDisjunction_1_0 returns LTLUnaryAlways + * LTLImplication returns LTLUnaryAlways + * LTLImplication.LTLImplication_1_0 returns LTLUnaryAlways + * LTLConjunction returns LTLUnaryAlways + * LTLConjunction.LTLConjunction_1_0 returns LTLUnaryAlways + * LTLBinary returns LTLUnaryAlways + * LTLBinary.LTLUntil_1_0_0 returns LTLUnaryAlways + * LTLBinary.LTLRelease_1_1_0 returns LTLUnaryAlways + * LTLUnary returns LTLUnaryAlways + * AtomicLTL returns LTLUnaryAlways + * + * Constraint: + * operand=LTLUnary + */ + protected void sequence_LTLUnary(ISerializationContext context, LTLUnaryAlways semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryAlways_Operand())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0(), semanticObject.getOperand()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLUnaryEventually + * LTLQuantified returns LTLUnaryEventually + * LTLDisjunction returns LTLUnaryEventually + * LTLDisjunction.LTLDisjunction_1_0 returns LTLUnaryEventually + * LTLImplication returns LTLUnaryEventually + * LTLImplication.LTLImplication_1_0 returns LTLUnaryEventually + * LTLConjunction returns LTLUnaryEventually + * LTLConjunction.LTLConjunction_1_0 returns LTLUnaryEventually + * LTLBinary returns LTLUnaryEventually + * LTLBinary.LTLUntil_1_0_0 returns LTLUnaryEventually + * LTLBinary.LTLRelease_1_1_0 returns LTLUnaryEventually + * LTLUnary returns LTLUnaryEventually + * AtomicLTL returns LTLUnaryEventually + * + * Constraint: + * operand=LTLUnary + */ + protected void sequence_LTLUnary(ISerializationContext context, LTLUnaryEventually semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryEventually_Operand())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0(), semanticObject.getOperand()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLUnaryNegation + * LTLQuantified returns LTLUnaryNegation + * LTLDisjunction returns LTLUnaryNegation + * LTLDisjunction.LTLDisjunction_1_0 returns LTLUnaryNegation + * LTLImplication returns LTLUnaryNegation + * LTLImplication.LTLImplication_1_0 returns LTLUnaryNegation + * LTLConjunction returns LTLUnaryNegation + * LTLConjunction.LTLConjunction_1_0 returns LTLUnaryNegation + * LTLBinary returns LTLUnaryNegation + * LTLBinary.LTLUntil_1_0_0 returns LTLUnaryNegation + * LTLBinary.LTLRelease_1_1_0 returns LTLUnaryNegation + * LTLUnary returns LTLUnaryNegation + * AtomicLTL returns LTLUnaryNegation + * + * Constraint: + * operand=LTLUnary + */ + protected void sequence_LTLUnary(ISerializationContext context, LTLUnaryNegation semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryNegation_Operand())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0(), semanticObject.getOperand()); + feeder.finish(); + } + + + /** + * Contexts: + * LTLProperty returns LTLUnaryNext + * LTLQuantified returns LTLUnaryNext + * LTLDisjunction returns LTLUnaryNext + * LTLDisjunction.LTLDisjunction_1_0 returns LTLUnaryNext + * LTLImplication returns LTLUnaryNext + * LTLImplication.LTLImplication_1_0 returns LTLUnaryNext + * LTLConjunction returns LTLUnaryNext + * LTLConjunction.LTLConjunction_1_0 returns LTLUnaryNext + * LTLBinary returns LTLUnaryNext + * LTLBinary.LTLUntil_1_0_0 returns LTLUnaryNext + * LTLBinary.LTLRelease_1_1_0 returns LTLUnaryNext + * LTLUnary returns LTLUnaryNext + * AtomicLTL returns LTLUnaryNext + * + * Constraint: + * operand=LTLUnary + */ + protected void sequence_LTLUnary(ISerializationContext context, LTLUnaryNext semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getLTLUnaryNext_Operand())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLTLUnaryAccess().getOperandLTLUnaryParserRuleCall_0_1_0(), semanticObject.getOperand()); + feeder.finish(); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns LeaveStateEvent + * SequencePattern.PrecedesPattern_1_1_1 returns LeaveStateEvent + * LTLProperty returns LeaveStateEvent + * LTLQuantified returns LeaveStateEvent + * LTLDisjunction returns LeaveStateEvent + * LTLDisjunction.LTLDisjunction_1_0 returns LeaveStateEvent + * LTLImplication returns LeaveStateEvent + * LTLImplication.LTLImplication_1_0 returns LeaveStateEvent + * LTLConjunction returns LeaveStateEvent + * LTLConjunction.LTLConjunction_1_0 returns LeaveStateEvent + * LTLBinary returns LeaveStateEvent + * LTLBinary.LTLUntil_1_0_0 returns LeaveStateEvent + * LTLBinary.LTLRelease_1_1_0 returns LeaveStateEvent + * LTLUnary returns LeaveStateEvent + * AtomicLTL returns LeaveStateEvent + * StateEvent returns LeaveStateEvent + * LeaveStateEvent returns LeaveStateEvent + * Observable returns LeaveStateEvent + * ObservableDisjunction returns LeaveStateEvent + * ObservableDisjunction.ObservableDisjunction_1_0 returns LeaveStateEvent + * ObservableImplication returns LeaveStateEvent + * ObservableImplication.ObservableImplication_1_0 returns LeaveStateEvent + * ObservableConjunction returns LeaveStateEvent + * ObservableConjunction.ObservableConjunction_1_0 returns LeaveStateEvent + * ObservableNegation returns LeaveStateEvent + * AtomicObservable returns LeaveStateEvent + * ObservableEvent returns LeaveStateEvent + * + * Constraint: + * subject=AtomicObservable + */ + protected void sequence_LeaveStateEvent(ISerializationContext context, LeaveStateEvent semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getStateEvent_Subject()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getStateEvent_Subject())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLeaveStateEventAccess().getSubjectAtomicObservableParserRuleCall_1_0(), semanticObject.getSubject()); + feeder.finish(); + } + + + /** + * Contexts: + * LocalPortsDeclaration returns LocalPortsDeclaration + * + * Constraint: + * (ports+=PortDeclaration ports+=PortDeclaration* type=ChannelType (left=LowerBound right=UpperBound)?) + */ + protected void sequence_LocalPortsDeclaration(ISerializationContext context, LocalPortsDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns LoopStatement + * UnlessStatement.UnlessStatement_1_0 returns LoopStatement + * StatementChoice returns LoopStatement + * StatementChoice.StatementChoice_1_0 returns LoopStatement + * StatementSequence returns LoopStatement + * StatementSequence.StatementSequence_1_0 returns LoopStatement + * Statement returns LoopStatement + * LoopStatement returns LoopStatement + * + * Constraint: + * {LoopStatement} + */ + protected void sequence_LoopStatement(ISerializationContext context, LoopStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Model returns Model + * + * Constraint: + * (imports+=ImportDeclaration* (declarations+=Declaration | requirements+=Requirement | root+=Root)*) + */ + protected void sequence_Model(ISerializationContext context, Model semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Modulo + * QuantifiedExpression returns Modulo + * Conditional returns Modulo + * Conditional.Conditional_1_1 returns Modulo + * Disjunction returns Modulo + * Disjunction.Disjunction_1_0 returns Modulo + * Implication returns Modulo + * Implication.Implication_1_0 returns Modulo + * Conjunction returns Modulo + * Conjunction.Conjunction_1_0 returns Modulo + * Comparison returns Modulo + * Comparison.ComparisonEqual_1_0_0_0 returns Modulo + * Comparison.ComparisonNotEqual_1_0_1_0 returns Modulo + * Comparison.ComparisonLesser_1_0_2_0 returns Modulo + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Modulo + * Comparison.ComparisonGreater_1_0_4_0 returns Modulo + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Modulo + * Addition returns Modulo + * Addition.Addition_1_0 returns Modulo + * Substraction returns Modulo + * Substraction.Substraction_1_0 returns Modulo + * Multiplication returns Modulo + * Multiplication.Multiplication_1_0 returns Modulo + * Division returns Modulo + * Division.Division_1_0 returns Modulo + * Modulo returns Modulo + * Modulo.Modulo_1_0 returns Modulo + * UnaryExpression returns Modulo + * Projection returns Modulo + * Projection.Projection_1_0 returns Modulo + * AtomicExpression returns Modulo + * + * Constraint: + * (left=Modulo_Modulo_1_0 right=UnaryExpression) + */ + protected void sequence_Modulo(ISerializationContext context, Modulo semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getModulo_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getModulo_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getModulo_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getModulo_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getModuloAccess().getModuloLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getModuloAccess().getRightUnaryExpressionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns MortalPattern + * QuantifiedProperty returns MortalPattern + * PropertyDisjunction returns MortalPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns MortalPattern + * PropertyImplication returns MortalPattern + * PropertyImplication.PropertyImplication_1_0 returns MortalPattern + * PropertyConjunction returns MortalPattern + * PropertyConjunction.PropertyConjunction_1_0 returns MortalPattern + * PropertyNegation returns MortalPattern + * AtomicProperty returns MortalPattern + * PatternProperty returns MortalPattern + * MortalPattern returns MortalPattern + * + * Constraint: + * subject=AtomicObservable + */ + protected void sequence_MortalPattern(ISerializationContext context, MortalPattern semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getMortalPattern_Subject()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getMortalPattern_Subject())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getMortalPatternAccess().getSubjectAtomicObservableParserRuleCall_1_0(), semanticObject.getSubject()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns Multiplication + * QuantifiedExpression returns Multiplication + * Conditional returns Multiplication + * Conditional.Conditional_1_1 returns Multiplication + * Disjunction returns Multiplication + * Disjunction.Disjunction_1_0 returns Multiplication + * Implication returns Multiplication + * Implication.Implication_1_0 returns Multiplication + * Conjunction returns Multiplication + * Conjunction.Conjunction_1_0 returns Multiplication + * Comparison returns Multiplication + * Comparison.ComparisonEqual_1_0_0_0 returns Multiplication + * Comparison.ComparisonNotEqual_1_0_1_0 returns Multiplication + * Comparison.ComparisonLesser_1_0_2_0 returns Multiplication + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Multiplication + * Comparison.ComparisonGreater_1_0_4_0 returns Multiplication + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Multiplication + * Addition returns Multiplication + * Addition.Addition_1_0 returns Multiplication + * Substraction returns Multiplication + * Substraction.Substraction_1_0 returns Multiplication + * Multiplication returns Multiplication + * Multiplication.Multiplication_1_0 returns Multiplication + * Division returns Multiplication + * Division.Division_1_0 returns Multiplication + * Modulo returns Multiplication + * Modulo.Modulo_1_0 returns Multiplication + * UnaryExpression returns Multiplication + * Projection returns Multiplication + * Projection.Projection_1_0 returns Multiplication + * AtomicExpression returns Multiplication + * + * Constraint: + * (left=Multiplication_Multiplication_1_0 right=Division) + */ + protected void sequence_Multiplication(ISerializationContext context, Multiplication semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getMultiplication_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getMultiplication_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getMultiplication_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getMultiplication_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getMultiplicationAccess().getRightDivisionParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * PathItem returns NamedItem + * NamedItem returns NamedItem + * + * Constraint: + * declaration=[PathDeclarationUse|ID] + */ + protected void sequence_NamedItem(ISerializationContext context, NamedItem semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedItem_Declaration()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedItem_Declaration())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getNamedItemAccess().getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1(), semanticObject.getDeclaration()); + feeder.finish(); + } + + + /** + * Contexts: + * PathItem returns NaturalItem + * NaturalItem returns NaturalItem + * + * Constraint: + * value=INT + */ + protected void sequence_NaturalItem(ISerializationContext context, NaturalItem semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNaturalItem_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNaturalItem_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getNaturalItemAccess().getValueINTTerminalRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns NaturalLiteral + * QuantifiedExpression returns NaturalLiteral + * Conditional returns NaturalLiteral + * Conditional.Conditional_1_1 returns NaturalLiteral + * Disjunction returns NaturalLiteral + * Disjunction.Disjunction_1_0 returns NaturalLiteral + * Implication returns NaturalLiteral + * Implication.Implication_1_0 returns NaturalLiteral + * Conjunction returns NaturalLiteral + * Conjunction.Conjunction_1_0 returns NaturalLiteral + * Comparison returns NaturalLiteral + * Comparison.ComparisonEqual_1_0_0_0 returns NaturalLiteral + * Comparison.ComparisonNotEqual_1_0_1_0 returns NaturalLiteral + * Comparison.ComparisonLesser_1_0_2_0 returns NaturalLiteral + * Comparison.ComparisonLesserEqual_1_0_3_0 returns NaturalLiteral + * Comparison.ComparisonGreater_1_0_4_0 returns NaturalLiteral + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns NaturalLiteral + * Addition returns NaturalLiteral + * Addition.Addition_1_0 returns NaturalLiteral + * Substraction returns NaturalLiteral + * Substraction.Substraction_1_0 returns NaturalLiteral + * Multiplication returns NaturalLiteral + * Multiplication.Multiplication_1_0 returns NaturalLiteral + * Division returns NaturalLiteral + * Division.Division_1_0 returns NaturalLiteral + * Modulo returns NaturalLiteral + * Modulo.Modulo_1_0 returns NaturalLiteral + * UnaryExpression returns NaturalLiteral + * Projection returns NaturalLiteral + * Projection.Projection_1_0 returns NaturalLiteral + * ValueExpression returns NaturalLiteral + * AtomicExpression returns NaturalLiteral + * LiteralExpression returns NaturalLiteral + * NaturalLiteral returns NaturalLiteral + * + * Constraint: + * value=INT + */ + protected void sequence_NaturalLiteral(ISerializationContext context, NaturalLiteral semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNaturalLiteral_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNaturalLiteral_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getNaturalLiteralAccess().getValueINTTerminalRuleCall_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * LowerBound returns NaturalLowerBound + * NaturalLowerBound returns NaturalLowerBound + * + * Constraint: + * ((left?='[' | right?=']') value=INT) + */ + protected void sequence_NaturalLowerBound(ISerializationContext context, NaturalLowerBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UpperBound returns NaturalUpperBound + * NaturalUpperBound returns NaturalUpperBound + * + * Constraint: + * (value=INT (left?='[' | right?=']')) + */ + protected void sequence_NaturalUpperBound(ISerializationContext context, NaturalUpperBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns NullStatement + * UnlessStatement.UnlessStatement_1_0 returns NullStatement + * StatementChoice returns NullStatement + * StatementChoice.StatementChoice_1_0 returns NullStatement + * StatementSequence returns NullStatement + * StatementSequence.StatementSequence_1_0 returns NullStatement + * Statement returns NullStatement + * NullStatement returns NullStatement + * + * Constraint: + * {NullStatement} + */ + protected void sequence_NullStatement(ISerializationContext context, NullStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns ObservableConjunction + * SequencePattern.PrecedesPattern_1_1_1 returns ObservableConjunction + * Observable returns ObservableConjunction + * ObservableDisjunction returns ObservableConjunction + * ObservableDisjunction.ObservableDisjunction_1_0 returns ObservableConjunction + * ObservableImplication returns ObservableConjunction + * ObservableImplication.ObservableImplication_1_0 returns ObservableConjunction + * ObservableConjunction returns ObservableConjunction + * ObservableConjunction.ObservableConjunction_1_0 returns ObservableConjunction + * ObservableNegation returns ObservableConjunction + * AtomicObservable returns ObservableConjunction + * + * Constraint: + * (left=ObservableConjunction_ObservableConjunction_1_0 right=ObservableNegation) + */ + protected void sequence_ObservableConjunction(ISerializationContext context, ObservableConjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableConjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableConjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableConjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableConjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getObservableConjunctionAccess().getObservableConjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getObservableConjunctionAccess().getRightObservableNegationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns ObservableDisjunction + * SequencePattern.PrecedesPattern_1_1_1 returns ObservableDisjunction + * Observable returns ObservableDisjunction + * ObservableDisjunction returns ObservableDisjunction + * ObservableDisjunction.ObservableDisjunction_1_0 returns ObservableDisjunction + * ObservableImplication returns ObservableDisjunction + * ObservableImplication.ObservableImplication_1_0 returns ObservableDisjunction + * ObservableConjunction returns ObservableDisjunction + * ObservableConjunction.ObservableConjunction_1_0 returns ObservableDisjunction + * ObservableNegation returns ObservableDisjunction + * AtomicObservable returns ObservableDisjunction + * + * Constraint: + * (left=ObservableDisjunction_ObservableDisjunction_1_0 right=ObservableImplication) + */ + protected void sequence_ObservableDisjunction(ISerializationContext context, ObservableDisjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableDisjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableDisjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableDisjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableDisjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getObservableDisjunctionAccess().getObservableDisjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getObservableDisjunctionAccess().getRightObservableImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns ObservableImplication + * SequencePattern.PrecedesPattern_1_1_1 returns ObservableImplication + * Observable returns ObservableImplication + * ObservableDisjunction returns ObservableImplication + * ObservableDisjunction.ObservableDisjunction_1_0 returns ObservableImplication + * ObservableImplication returns ObservableImplication + * ObservableImplication.ObservableImplication_1_0 returns ObservableImplication + * ObservableConjunction returns ObservableImplication + * ObservableConjunction.ObservableConjunction_1_0 returns ObservableImplication + * ObservableNegation returns ObservableImplication + * AtomicObservable returns ObservableImplication + * + * Constraint: + * (left=ObservableImplication_ObservableImplication_1_0 right=ObservableImplication) + */ + protected void sequence_ObservableImplication(ISerializationContext context, ObservableImplication semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableImplication_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableImplication_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableImplication_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableImplication_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getObservableImplicationAccess().getObservableImplicationLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getObservableImplicationAccess().getRightObservableImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns ObservableNegation + * SequencePattern.PrecedesPattern_1_1_1 returns ObservableNegation + * Observable returns ObservableNegation + * ObservableDisjunction returns ObservableNegation + * ObservableDisjunction.ObservableDisjunction_1_0 returns ObservableNegation + * ObservableImplication returns ObservableNegation + * ObservableImplication.ObservableImplication_1_0 returns ObservableNegation + * ObservableConjunction returns ObservableNegation + * ObservableConjunction.ObservableConjunction_1_0 returns ObservableNegation + * ObservableNegation returns ObservableNegation + * AtomicObservable returns ObservableNegation + * + * Constraint: + * child=ObservableNegation + */ + protected void sequence_ObservableNegation(ISerializationContext context, ObservableNegation semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getObservableNegation_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getObservableNegation_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getObservableNegationAccess().getChildObservableNegationParserRuleCall_0_2_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns OnStatement + * UnlessStatement.UnlessStatement_1_0 returns OnStatement + * StatementChoice returns OnStatement + * StatementChoice.StatementChoice_1_0 returns OnStatement + * StatementSequence returns OnStatement + * StatementSequence.StatementSequence_1_0 returns OnStatement + * Statement returns OnStatement + * OnStatement returns OnStatement + * + * Constraint: + * condition=Expression + */ + protected void sequence_OnStatement(ISerializationContext context, OnStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getOnStatement_Condition()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getOnStatement_Condition())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getOnStatementAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns ParameterDeclaration + * ExpressionDeclarationUse returns ParameterDeclaration + * ReferenceDeclarationUse returns ParameterDeclaration + * PatternDeclarationUse returns ParameterDeclaration + * ParameterDeclaration returns ParameterDeclaration + * + * Constraint: + * ((reference?='&' (array?='[' size=Expression)?)? name=ID) + */ + protected void sequence_ParameterDeclaration(ISerializationContext context, ParameterDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * ParametersDeclaration returns ParametersDeclaration + * + * Constraint: + * (parameters+=ParameterDeclaration parameters+=ParameterDeclaration* read?='read'? write?='write'? type=Type) + */ + protected void sequence_ParametersDeclaration(ISerializationContext context, ParametersDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * SequencePattern.LeadsToPattern_1_0_1 returns PathEvent + * SequencePattern.PrecedesPattern_1_1_1 returns PathEvent + * LTLProperty returns PathEvent + * LTLQuantified returns PathEvent + * LTLDisjunction returns PathEvent + * LTLDisjunction.LTLDisjunction_1_0 returns PathEvent + * LTLImplication returns PathEvent + * LTLImplication.LTLImplication_1_0 returns PathEvent + * LTLConjunction returns PathEvent + * LTLConjunction.LTLConjunction_1_0 returns PathEvent + * LTLBinary returns PathEvent + * LTLBinary.LTLUntil_1_0_0 returns PathEvent + * LTLBinary.LTLRelease_1_1_0 returns PathEvent + * LTLUnary returns PathEvent + * AtomicLTL returns PathEvent + * Observable returns PathEvent + * ObservableDisjunction returns PathEvent + * ObservableDisjunction.ObservableDisjunction_1_0 returns PathEvent + * ObservableImplication returns PathEvent + * ObservableImplication.ObservableImplication_1_0 returns PathEvent + * ObservableConjunction returns PathEvent + * ObservableConjunction.ObservableConjunction_1_0 returns PathEvent + * ObservableNegation returns PathEvent + * AtomicObservable returns PathEvent + * ObservableEvent returns PathEvent + * PathEvent returns PathEvent + * + * Constraint: + * (path=Path item=Subject) + */ + protected void sequence_PathEvent(ISerializationContext context, PathEvent semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPathEvent_Path()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPathEvent_Path())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPathEvent_Item()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPathEvent_Item())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPathEventAccess().getPathPathParserRuleCall_0_0(), semanticObject.getPath()); + feeder.accept(grammarAccess.getPathEventAccess().getItemSubjectParserRuleCall_1_0(), semanticObject.getItem()); + feeder.finish(); + } + + + /** + * Contexts: + * Path returns Path + * + * Constraint: + * items+=PathItem+ + */ + protected void sequence_Path(ISerializationContext context, Path semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns AssignAnyStatement + * UnlessStatement.UnlessStatement_1_0 returns AssignAnyStatement + * StatementChoice returns AssignAnyStatement + * StatementChoice.StatementChoice_1_0 returns AssignAnyStatement + * StatementSequence returns AssignAnyStatement + * StatementSequence.StatementSequence_1_0 returns AssignAnyStatement + * Statement returns AssignAnyStatement + * PatternStatement returns AssignAnyStatement + * + * Constraint: + * ( + * (patterns+=PatternStatement_AssignAnyStatement_1_2_1 patterns+=Pattern patterns+=Pattern* exp=Expression?) | + * (patterns+=PatternStatement_AssignAnyStatement_1_3_1 exp=Expression?) + * ) + */ + protected void sequence_PatternStatement(ISerializationContext context, AssignAnyStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns AssignStatement + * UnlessStatement.UnlessStatement_1_0 returns AssignStatement + * StatementChoice returns AssignStatement + * StatementChoice.StatementChoice_1_0 returns AssignStatement + * StatementSequence returns AssignStatement + * StatementSequence.StatementSequence_1_0 returns AssignStatement + * Statement returns AssignStatement + * PatternStatement returns AssignStatement + * + * Constraint: + * ( + * (patterns+=PatternStatement_AssignStatement_1_0_1 patterns+=Pattern patterns+=Pattern* values+=Expression values+=Expression*) | + * (patterns+=PatternStatement_AssignStatement_1_1_1 values+=Expression values+=Expression*) + * ) + */ + protected void sequence_PatternStatement(ISerializationContext context, AssignStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns ReceiveStatement + * UnlessStatement.UnlessStatement_1_0 returns ReceiveStatement + * StatementChoice returns ReceiveStatement + * StatementChoice.StatementChoice_1_0 returns ReceiveStatement + * StatementSequence returns ReceiveStatement + * StatementSequence.StatementSequence_1_0 returns ReceiveStatement + * Statement returns ReceiveStatement + * PatternStatement returns ReceiveStatement + * + * Constraint: + * (port=PatternStatement_ReceiveStatement_1_5_1 patterns+=Pattern patterns+=Pattern* exp=Expression?) + */ + protected void sequence_PatternStatement(ISerializationContext context, ReceiveStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns SendStatement + * UnlessStatement.UnlessStatement_1_0 returns SendStatement + * StatementChoice returns SendStatement + * StatementChoice.StatementChoice_1_0 returns SendStatement + * StatementSequence returns SendStatement + * StatementSequence.StatementSequence_1_0 returns SendStatement + * Statement returns SendStatement + * PatternStatement returns SendStatement + * + * Constraint: + * (port=PatternStatement_SendStatement_1_4_1 values+=Expression values+=Expression*) + */ + protected void sequence_PatternStatement(ISerializationContext context, SendStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * NamedElement returns PortDeclaration + * ExpressionDeclarationUse returns PortDeclaration + * PatternDeclarationUse returns PortDeclaration + * PortDeclaration returns PortDeclaration + * + * Constraint: + * name=ID + */ + protected void sequence_PortDeclaration(ISerializationContext context, PortDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPortDeclarationAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * PortSet returns PortSet + * + * Constraint: + * (allPorts?='*' | (ports+=Expression ports+=Expression*)) + */ + protected void sequence_PortSet(ISerializationContext context, PortSet semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * PortsDeclaration returns PortsDeclaration + * + * Constraint: + * (ports+=PortDeclaration ports+=PortDeclaration* type=ChannelType) + */ + protected void sequence_PortsDeclaration(ISerializationContext context, PortsDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Property returns PresencePattern + * QuantifiedProperty returns PresencePattern + * PropertyDisjunction returns PresencePattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns PresencePattern + * PropertyImplication returns PresencePattern + * PropertyImplication.PropertyImplication_1_0 returns PresencePattern + * PropertyConjunction returns PresencePattern + * PropertyConjunction.PropertyConjunction_1_0 returns PresencePattern + * PropertyNegation returns PresencePattern + * AtomicProperty returns PresencePattern + * PatternProperty returns PresencePattern + * PresencePattern returns PresencePattern + * + * Constraint: + * ( + * subject=AtomicObservable + * ( + * lasting=INT | + * (after=AtomicObservable ((lower=LowerBound upper=UpperBound) | until=AtomicObservable)?) | + * (before=AtomicObservable (lower=LowerBound upper=UpperBound)?) | + * (min=AtomicObservable max=AtomicObservable) + * )? + * ) + */ + protected void sequence_PresencePattern(ISerializationContext context, PresencePattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * PriorityDeclaration returns PriorityDeclaration + * + * Constraint: + * (groups+=PriorityGroup groups+=PriorityGroup+) + */ + protected void sequence_PriorityDeclaration(ISerializationContext context, PriorityDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * PriorityGroup returns PriorityGroup + * + * Constraint: + * (ports+=[PortDeclaration|ID] ports+=[PortDeclaration|ID]*) + */ + protected void sequence_PriorityGroup(ISerializationContext context, PriorityGroup semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * RootDeclaration returns ProcessDeclaration + * NamedElement returns ProcessDeclaration + * PathDeclarationUse returns ProcessDeclaration + * Declaration returns ProcessDeclaration + * ParameterizedDeclaration returns ProcessDeclaration + * ProcessDeclaration returns ProcessDeclaration + * + * Constraint: + * ( + * name=ID + * (ports+=PortsDeclaration ports+=PortsDeclaration*)? + * (parameters+=ParametersDeclaration parameters+=ParametersDeclaration*)? + * (localPorts+=PortsDeclaration localPorts+=PortsDeclaration*)? + * (priorities+=PriorityDeclaration priorities+=PriorityDeclaration*)? + * states+=StateDeclaration + * states+=StateDeclaration* + * (variables+=VariablesDeclaration variables+=VariablesDeclaration*)? + * prelude=StatementSequence? + * transitions+=Transition+ + * ) + */ + protected void sequence_ProcessDeclaration(ISerializationContext context, ProcessDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Projection + * QuantifiedExpression returns Projection + * Conditional returns Projection + * Conditional.Conditional_1_1 returns Projection + * Disjunction returns Projection + * Disjunction.Disjunction_1_0 returns Projection + * Implication returns Projection + * Implication.Implication_1_0 returns Projection + * Conjunction returns Projection + * Conjunction.Conjunction_1_0 returns Projection + * Comparison returns Projection + * Comparison.ComparisonEqual_1_0_0_0 returns Projection + * Comparison.ComparisonNotEqual_1_0_1_0 returns Projection + * Comparison.ComparisonLesser_1_0_2_0 returns Projection + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Projection + * Comparison.ComparisonGreater_1_0_4_0 returns Projection + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Projection + * Addition returns Projection + * Addition.Addition_1_0 returns Projection + * Substraction returns Projection + * Substraction.Substraction_1_0 returns Projection + * Multiplication returns Projection + * Multiplication.Multiplication_1_0 returns Projection + * Division returns Projection + * Division.Division_1_0 returns Projection + * Modulo returns Projection + * Modulo.Modulo_1_0 returns Projection + * UnaryExpression returns Projection + * Projection returns Projection + * Projection.Projection_1_0 returns Projection + * AtomicExpression returns Projection + * + * Constraint: + * (channel=Projection_Projection_1_0 field=AtomicExpression) + */ + protected void sequence_Projection(ISerializationContext context, Projection semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getProjection_Channel()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getProjection_Channel())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getProjection_Field()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getProjection_Field())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getProjectionAccess().getProjectionChannelAction_1_0(), semanticObject.getChannel()); + feeder.accept(grammarAccess.getProjectionAccess().getFieldAtomicExpressionParserRuleCall_1_2_0(), semanticObject.getField()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns PropertyConjunction + * QuantifiedProperty returns PropertyConjunction + * PropertyDisjunction returns PropertyConjunction + * PropertyDisjunction.PropertyDisjunction_1_0 returns PropertyConjunction + * PropertyImplication returns PropertyConjunction + * PropertyImplication.PropertyImplication_1_0 returns PropertyConjunction + * PropertyConjunction returns PropertyConjunction + * PropertyConjunction.PropertyConjunction_1_0 returns PropertyConjunction + * PropertyNegation returns PropertyConjunction + * AtomicProperty returns PropertyConjunction + * + * Constraint: + * (left=PropertyConjunction_PropertyConjunction_1_0 right=PropertyNegation) + */ + protected void sequence_PropertyConjunction(ISerializationContext context, PropertyConjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyConjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyConjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyConjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyConjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPropertyConjunctionAccess().getPropertyConjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getPropertyConjunctionAccess().getRightPropertyNegationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns PropertyDeclaration + * PropertyDeclarationUse returns PropertyDeclaration + * Declaration returns PropertyDeclaration + * PropertyDeclaration returns PropertyDeclaration + * + * Constraint: + * (name=ID property=Property) + */ + protected void sequence_PropertyDeclaration(ISerializationContext context, PropertyDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyDeclaration_Property()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyDeclaration_Property())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPropertyDeclarationAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getPropertyDeclarationAccess().getPropertyPropertyParserRuleCall_3_0(), semanticObject.getProperty()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns PropertyDisjunction + * QuantifiedProperty returns PropertyDisjunction + * PropertyDisjunction returns PropertyDisjunction + * PropertyDisjunction.PropertyDisjunction_1_0 returns PropertyDisjunction + * PropertyImplication returns PropertyDisjunction + * PropertyImplication.PropertyImplication_1_0 returns PropertyDisjunction + * PropertyConjunction returns PropertyDisjunction + * PropertyConjunction.PropertyConjunction_1_0 returns PropertyDisjunction + * PropertyNegation returns PropertyDisjunction + * AtomicProperty returns PropertyDisjunction + * + * Constraint: + * (left=PropertyDisjunction_PropertyDisjunction_1_0 right=PropertyImplication) + */ + protected void sequence_PropertyDisjunction(ISerializationContext context, PropertyDisjunction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyDisjunction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyDisjunction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyDisjunction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyDisjunction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPropertyDisjunctionAccess().getPropertyDisjunctionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getPropertyDisjunctionAccess().getRightPropertyImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns PropertyImplication + * QuantifiedProperty returns PropertyImplication + * PropertyDisjunction returns PropertyImplication + * PropertyDisjunction.PropertyDisjunction_1_0 returns PropertyImplication + * PropertyImplication returns PropertyImplication + * PropertyImplication.PropertyImplication_1_0 returns PropertyImplication + * PropertyConjunction returns PropertyImplication + * PropertyConjunction.PropertyConjunction_1_0 returns PropertyImplication + * PropertyNegation returns PropertyImplication + * AtomicProperty returns PropertyImplication + * + * Constraint: + * (left=PropertyImplication_PropertyImplication_1_0 right=PropertyImplication) + */ + protected void sequence_PropertyImplication(ISerializationContext context, PropertyImplication semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyImplication_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyImplication_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyImplication_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyImplication_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPropertyImplicationAccess().getPropertyImplicationLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getPropertyImplicationAccess().getRightPropertyImplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns PropertyNegation + * QuantifiedProperty returns PropertyNegation + * PropertyDisjunction returns PropertyNegation + * PropertyDisjunction.PropertyDisjunction_1_0 returns PropertyNegation + * PropertyImplication returns PropertyNegation + * PropertyImplication.PropertyImplication_1_0 returns PropertyNegation + * PropertyConjunction returns PropertyNegation + * PropertyConjunction.PropertyConjunction_1_0 returns PropertyNegation + * PropertyNegation returns PropertyNegation + * AtomicProperty returns PropertyNegation + * + * Constraint: + * child=PropertyNegation + */ + protected void sequence_PropertyNegation(ISerializationContext context, PropertyNegation semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getPropertyNegation_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getPropertyNegation_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getPropertyNegationAccess().getChildPropertyNegationParserRuleCall_0_2_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns AllExpression + * QuantifiedExpression returns AllExpression + * Conditional returns AllExpression + * Conditional.Conditional_1_1 returns AllExpression + * Disjunction returns AllExpression + * Disjunction.Disjunction_1_0 returns AllExpression + * Implication returns AllExpression + * Implication.Implication_1_0 returns AllExpression + * Conjunction returns AllExpression + * Conjunction.Conjunction_1_0 returns AllExpression + * Comparison returns AllExpression + * Comparison.ComparisonEqual_1_0_0_0 returns AllExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns AllExpression + * Comparison.ComparisonLesser_1_0_2_0 returns AllExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns AllExpression + * Comparison.ComparisonGreater_1_0_4_0 returns AllExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns AllExpression + * Addition returns AllExpression + * Addition.Addition_1_0 returns AllExpression + * Substraction returns AllExpression + * Substraction.Substraction_1_0 returns AllExpression + * Multiplication returns AllExpression + * Multiplication.Multiplication_1_0 returns AllExpression + * Division returns AllExpression + * Division.Division_1_0 returns AllExpression + * Modulo returns AllExpression + * Modulo.Modulo_1_0 returns AllExpression + * UnaryExpression returns AllExpression + * Projection returns AllExpression + * Projection.Projection_1_0 returns AllExpression + * AtomicExpression returns AllExpression + * + * Constraint: + * (index=VariableDeclaration type=RangeType? child=QuantifiedExpression) + */ + protected void sequence_QuantifiedExpression(ISerializationContext context, AllExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns ExistsExpression + * QuantifiedExpression returns ExistsExpression + * Conditional returns ExistsExpression + * Conditional.Conditional_1_1 returns ExistsExpression + * Disjunction returns ExistsExpression + * Disjunction.Disjunction_1_0 returns ExistsExpression + * Implication returns ExistsExpression + * Implication.Implication_1_0 returns ExistsExpression + * Conjunction returns ExistsExpression + * Conjunction.Conjunction_1_0 returns ExistsExpression + * Comparison returns ExistsExpression + * Comparison.ComparisonEqual_1_0_0_0 returns ExistsExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns ExistsExpression + * Comparison.ComparisonLesser_1_0_2_0 returns ExistsExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ExistsExpression + * Comparison.ComparisonGreater_1_0_4_0 returns ExistsExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ExistsExpression + * Addition returns ExistsExpression + * Addition.Addition_1_0 returns ExistsExpression + * Substraction returns ExistsExpression + * Substraction.Substraction_1_0 returns ExistsExpression + * Multiplication returns ExistsExpression + * Multiplication.Multiplication_1_0 returns ExistsExpression + * Division returns ExistsExpression + * Division.Division_1_0 returns ExistsExpression + * Modulo returns ExistsExpression + * Modulo.Modulo_1_0 returns ExistsExpression + * UnaryExpression returns ExistsExpression + * Projection returns ExistsExpression + * Projection.Projection_1_0 returns ExistsExpression + * AtomicExpression returns ExistsExpression + * + * Constraint: + * (index=VariableDeclaration type=RangeType? child=QuantifiedExpression) + */ + protected void sequence_QuantifiedExpression(ISerializationContext context, ExistsExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Property returns AllProperty + * QuantifiedProperty returns AllProperty + * PropertyDisjunction returns AllProperty + * PropertyDisjunction.PropertyDisjunction_1_0 returns AllProperty + * PropertyImplication returns AllProperty + * PropertyImplication.PropertyImplication_1_0 returns AllProperty + * PropertyConjunction returns AllProperty + * PropertyConjunction.PropertyConjunction_1_0 returns AllProperty + * PropertyNegation returns AllProperty + * AtomicProperty returns AllProperty + * + * Constraint: + * (variable=VariableDeclaration type=RangeType child=QuantifiedProperty) + */ + protected void sequence_QuantifiedProperty(ISerializationContext context, AllProperty semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Variable()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Variable())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Type())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getAllProperty_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0(), semanticObject.getVariable()); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Property returns ExistsProperty + * QuantifiedProperty returns ExistsProperty + * PropertyDisjunction returns ExistsProperty + * PropertyDisjunction.PropertyDisjunction_1_0 returns ExistsProperty + * PropertyImplication returns ExistsProperty + * PropertyImplication.PropertyImplication_1_0 returns ExistsProperty + * PropertyConjunction returns ExistsProperty + * PropertyConjunction.PropertyConjunction_1_0 returns ExistsProperty + * PropertyNegation returns ExistsProperty + * AtomicProperty returns ExistsProperty + * + * Constraint: + * (variable=VariableDeclaration type=RangeType child=QuantifiedProperty) + */ + protected void sequence_QuantifiedProperty(ISerializationContext context, ExistsProperty semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Variable()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Variable())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Type())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getExistsProperty_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getVariableVariableDeclarationParserRuleCall_0_1_0(), semanticObject.getVariable()); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getTypeRangeTypeParserRuleCall_0_3_0(), semanticObject.getType()); + feeder.accept(grammarAccess.getQuantifiedPropertyAccess().getChildQuantifiedPropertyParserRuleCall_0_5_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns QueueExpression + * QuantifiedExpression returns QueueExpression + * Conditional returns QueueExpression + * Conditional.Conditional_1_1 returns QueueExpression + * Disjunction returns QueueExpression + * Disjunction.Disjunction_1_0 returns QueueExpression + * Implication returns QueueExpression + * Implication.Implication_1_0 returns QueueExpression + * Conjunction returns QueueExpression + * Conjunction.Conjunction_1_0 returns QueueExpression + * Comparison returns QueueExpression + * Comparison.ComparisonEqual_1_0_0_0 returns QueueExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns QueueExpression + * Comparison.ComparisonLesser_1_0_2_0 returns QueueExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns QueueExpression + * Comparison.ComparisonGreater_1_0_4_0 returns QueueExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns QueueExpression + * Addition returns QueueExpression + * Addition.Addition_1_0 returns QueueExpression + * Substraction returns QueueExpression + * Substraction.Substraction_1_0 returns QueueExpression + * Multiplication returns QueueExpression + * Multiplication.Multiplication_1_0 returns QueueExpression + * Division returns QueueExpression + * Division.Division_1_0 returns QueueExpression + * Modulo returns QueueExpression + * Modulo.Modulo_1_0 returns QueueExpression + * UnaryExpression returns QueueExpression + * Projection returns QueueExpression + * Projection.Projection_1_0 returns QueueExpression + * ValueExpression returns QueueExpression + * AtomicExpression returns QueueExpression + * QueueExpression returns QueueExpression + * + * Constraint: + * (values+=Expression values+=Expression*)? + */ + protected void sequence_QueueExpression(ISerializationContext context, QueueExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns QueueType + * TupleType returns QueueType + * TupleType.TupleType_1_0 returns QueueType + * QueueType returns QueueType + * + * Constraint: + * (size=Expression type=Type) + */ + protected void sequence_QueueType(ISerializationContext context, QueueType semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getQueueType_Size()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getQueueType_Size())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getQueueType_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getQueueType_Type())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getQueueTypeAccess().getSizeExpressionParserRuleCall_1_0(), semanticObject.getSize()); + feeder.accept(grammarAccess.getQueueTypeAccess().getTypeTypeParserRuleCall_3_0(), semanticObject.getType()); + feeder.finish(); + } + + + /** + * Contexts: + * Type returns RangeType + * TupleType returns RangeType + * TupleType.TupleType_1_0 returns RangeType + * RangeType returns RangeType + * + * Constraint: + * (minimum=Expression maximum=Expression) + */ + protected void sequence_RangeType(ISerializationContext context, RangeType semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRangeType_Minimum()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRangeType_Minimum())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getRangeType_Maximum()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getRangeType_Maximum())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getRangeTypeAccess().getMinimumExpressionParserRuleCall_0_0(), semanticObject.getMinimum()); + feeder.accept(grammarAccess.getRangeTypeAccess().getMaximumExpressionParserRuleCall_2_0(), semanticObject.getMaximum()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns RecordExpression + * QuantifiedExpression returns RecordExpression + * Conditional returns RecordExpression + * Conditional.Conditional_1_1 returns RecordExpression + * Disjunction returns RecordExpression + * Disjunction.Disjunction_1_0 returns RecordExpression + * Implication returns RecordExpression + * Implication.Implication_1_0 returns RecordExpression + * Conjunction returns RecordExpression + * Conjunction.Conjunction_1_0 returns RecordExpression + * Comparison returns RecordExpression + * Comparison.ComparisonEqual_1_0_0_0 returns RecordExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns RecordExpression + * Comparison.ComparisonLesser_1_0_2_0 returns RecordExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns RecordExpression + * Comparison.ComparisonGreater_1_0_4_0 returns RecordExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns RecordExpression + * Addition returns RecordExpression + * Addition.Addition_1_0 returns RecordExpression + * Substraction returns RecordExpression + * Substraction.Substraction_1_0 returns RecordExpression + * Multiplication returns RecordExpression + * Multiplication.Multiplication_1_0 returns RecordExpression + * Division returns RecordExpression + * Division.Division_1_0 returns RecordExpression + * Modulo returns RecordExpression + * Modulo.Modulo_1_0 returns RecordExpression + * UnaryExpression returns RecordExpression + * Projection returns RecordExpression + * Projection.Projection_1_0 returns RecordExpression + * ValueExpression returns RecordExpression + * AtomicExpression returns RecordExpression + * RecordExpression returns RecordExpression + * + * Constraint: + * (fields+=FieldExpression fields+=FieldExpression*) + */ + protected void sequence_RecordExpression(ISerializationContext context, RecordExpression semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * NamedElement returns RecordFieldDeclaration + * RecordFieldDeclarationUse returns RecordFieldDeclaration + * RecordFieldDeclaration returns RecordFieldDeclaration + * + * Constraint: + * name=ID + */ + protected void sequence_RecordFieldDeclaration(ISerializationContext context, RecordFieldDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getRecordFieldDeclarationAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * RecordFields returns RecordFields + * + * Constraint: + * (fields+=RecordFieldDeclaration fields+=RecordFieldDeclaration* type=Type) + */ + protected void sequence_RecordFields(ISerializationContext context, RecordFields semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns RecordType + * TupleType returns RecordType + * TupleType.TupleType_1_0 returns RecordType + * RecordType returns RecordType + * + * Constraint: + * (fields+=RecordFields fields+=RecordFields*) + */ + protected void sequence_RecordType(ISerializationContext context, RecordType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns ReferenceExpression + * QuantifiedExpression returns ReferenceExpression + * Conditional returns ReferenceExpression + * Conditional.Conditional_1_1 returns ReferenceExpression + * Disjunction returns ReferenceExpression + * Disjunction.Disjunction_1_0 returns ReferenceExpression + * Implication returns ReferenceExpression + * Implication.Implication_1_0 returns ReferenceExpression + * Conjunction returns ReferenceExpression + * Conjunction.Conjunction_1_0 returns ReferenceExpression + * Comparison returns ReferenceExpression + * Comparison.ComparisonEqual_1_0_0_0 returns ReferenceExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns ReferenceExpression + * Comparison.ComparisonLesser_1_0_2_0 returns ReferenceExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns ReferenceExpression + * Comparison.ComparisonGreater_1_0_4_0 returns ReferenceExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns ReferenceExpression + * Addition returns ReferenceExpression + * Addition.Addition_1_0 returns ReferenceExpression + * Substraction returns ReferenceExpression + * Substraction.Substraction_1_0 returns ReferenceExpression + * Multiplication returns ReferenceExpression + * Multiplication.Multiplication_1_0 returns ReferenceExpression + * Division returns ReferenceExpression + * Division.Division_1_0 returns ReferenceExpression + * Modulo returns ReferenceExpression + * Modulo.Modulo_1_0 returns ReferenceExpression + * UnaryExpression returns ReferenceExpression + * Projection returns ReferenceExpression + * Projection.Projection_1_0 returns ReferenceExpression + * AtomicExpression returns ReferenceExpression + * ReferenceExpression returns ReferenceExpression + * + * Constraint: + * declaration=[ReferenceDeclarationUse|ID] + */ + protected void sequence_ReferenceExpression(ISerializationContext context, ReferenceExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getReferenceExpression_Declaration()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getReferenceExpression_Declaration())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getReferenceExpressionAccess().getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1(), semanticObject.getDeclaration()); + feeder.finish(); + } + + + /** + * Contexts: + * Type returns ReferencedType + * TupleType returns ReferencedType + * TupleType.TupleType_1_0 returns ReferencedType + * ReferencedType returns ReferencedType + * + * Constraint: + * type=[TypeDeclarationUse|ID] + */ + protected void sequence_ReferencedType(ISerializationContext context, ReferencedType semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getReferencedType_Type()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getReferencedType_Type())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getReferencedTypeAccess().getTypeTypeDeclarationUseIDTerminalRuleCall_0_1(), semanticObject.getType()); + feeder.finish(); + } + + + /** + * Contexts: + * Requirement returns Requirement + * + * Constraint: + * (property=[PropertyDeclaration|ID] positive=STRING? negative=STRING?) + */ + protected void sequence_Requirement(ISerializationContext context, Requirement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns ReturnStatement + * UnlessStatement.UnlessStatement_1_0 returns ReturnStatement + * StatementChoice returns ReturnStatement + * StatementChoice.StatementChoice_1_0 returns ReturnStatement + * StatementSequence returns ReturnStatement + * StatementSequence.StatementSequence_1_0 returns ReturnStatement + * Statement returns ReturnStatement + * ReturnStatement returns ReturnStatement + * + * Constraint: + * expression=Expression + */ + protected void sequence_ReturnStatement(ISerializationContext context, ReturnStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getReturnStatement_Expression()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getReturnStatement_Expression())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getReturnStatementAccess().getExpressionExpressionParserRuleCall_1_0(), semanticObject.getExpression()); + feeder.finish(); + } + + + /** + * Contexts: + * Root returns Root + * + * Constraint: + * (declaration=[RootDeclaration|ID] (observed+=[RootDeclaration|ID] observed+=[RootDeclaration|ID]*)?) + */ + protected void sequence_Root(ISerializationContext context, Root semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns SelectStatement + * UnlessStatement.UnlessStatement_1_0 returns SelectStatement + * StatementChoice returns SelectStatement + * StatementChoice.StatementChoice_1_0 returns SelectStatement + * StatementSequence returns SelectStatement + * StatementSequence.StatementSequence_1_0 returns SelectStatement + * Statement returns SelectStatement + * SelectStatement returns SelectStatement + * + * Constraint: + * (body=UnlessStatement (index=VariableDeclaration type=RangeType)?) + */ + protected void sequence_SelectStatement(ISerializationContext context, SelectStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Property returns LeadsToPattern + * QuantifiedProperty returns LeadsToPattern + * PropertyDisjunction returns LeadsToPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns LeadsToPattern + * PropertyImplication returns LeadsToPattern + * PropertyImplication.PropertyImplication_1_0 returns LeadsToPattern + * PropertyConjunction returns LeadsToPattern + * PropertyConjunction.PropertyConjunction_1_0 returns LeadsToPattern + * PropertyNegation returns LeadsToPattern + * AtomicProperty returns LeadsToPattern + * PatternProperty returns LeadsToPattern + * SequencePattern returns LeadsToPattern + * + * Constraint: + * ( + * subject=SequencePattern_LeadsToPattern_1_0_1 + * follower=AtomicObservable + * ( + * (before=AtomicObservable (lower=LowerBound upper=UpperBound)?) | + * (lower=LowerBound upper=UpperBound) | + * (after=AtomicObservable ((lower=LowerBound upper=UpperBound) | until=AtomicObservable)?) | + * (min=AtomicObservable max=AtomicObservable) + * )? + * ) + */ + protected void sequence_SequencePattern(ISerializationContext context, LeadsToPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Property returns PrecedesPattern + * QuantifiedProperty returns PrecedesPattern + * PropertyDisjunction returns PrecedesPattern + * PropertyDisjunction.PropertyDisjunction_1_0 returns PrecedesPattern + * PropertyImplication returns PrecedesPattern + * PropertyImplication.PropertyImplication_1_0 returns PrecedesPattern + * PropertyConjunction returns PrecedesPattern + * PropertyConjunction.PropertyConjunction_1_0 returns PrecedesPattern + * PropertyNegation returns PrecedesPattern + * AtomicProperty returns PrecedesPattern + * PatternProperty returns PrecedesPattern + * SequencePattern returns PrecedesPattern + * + * Constraint: + * ( + * subject=SequencePattern_PrecedesPattern_1_1_1 + * follower=AtomicObservable + * (before=AtomicObservable | (after=AtomicObservable until=AtomicObservable?) | (min=AtomicObservable max=AtomicObservable))? + * ) + */ + protected void sequence_SequencePattern(ISerializationContext context, PrecedesPattern semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * NamedElement returns StateDeclaration + * StateDeclaration returns StateDeclaration + * + * Constraint: + * name=ID + */ + protected void sequence_StateDeclaration(ISerializationContext context, StateDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * Subject returns StateSubject + * StateSubject returns StateSubject + * + * Constraint: + * state=[StateDeclaration|ID] + */ + protected void sequence_StateSubject(ISerializationContext context, StateSubject semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getStateSubject_State()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getStateSubject_State())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getStateSubjectAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1(), semanticObject.getState()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns StatementChoice + * UnlessStatement.UnlessStatement_1_0 returns StatementChoice + * StatementChoice returns StatementChoice + * StatementChoice.StatementChoice_1_0 returns StatementChoice + * + * Constraint: + * (choices+=StatementChoice_StatementChoice_1_0 choices+=StatementSequence) + */ + protected void sequence_StatementChoice(ISerializationContext context, StatementChoice semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns StatementSequence + * UnlessStatement.UnlessStatement_1_0 returns StatementSequence + * StatementChoice returns StatementSequence + * StatementChoice.StatementChoice_1_0 returns StatementSequence + * StatementSequence returns StatementSequence + * StatementSequence.StatementSequence_1_0 returns StatementSequence + * + * Constraint: + * (statements+=StatementSequence_StatementSequence_1_0 statements+=Statement) + */ + protected void sequence_StatementSequence(ISerializationContext context, StatementSequence semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Expression returns Substraction + * QuantifiedExpression returns Substraction + * Conditional returns Substraction + * Conditional.Conditional_1_1 returns Substraction + * Disjunction returns Substraction + * Disjunction.Disjunction_1_0 returns Substraction + * Implication returns Substraction + * Implication.Implication_1_0 returns Substraction + * Conjunction returns Substraction + * Conjunction.Conjunction_1_0 returns Substraction + * Comparison returns Substraction + * Comparison.ComparisonEqual_1_0_0_0 returns Substraction + * Comparison.ComparisonNotEqual_1_0_1_0 returns Substraction + * Comparison.ComparisonLesser_1_0_2_0 returns Substraction + * Comparison.ComparisonLesserEqual_1_0_3_0 returns Substraction + * Comparison.ComparisonGreater_1_0_4_0 returns Substraction + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns Substraction + * Addition returns Substraction + * Addition.Addition_1_0 returns Substraction + * Substraction returns Substraction + * Substraction.Substraction_1_0 returns Substraction + * Multiplication returns Substraction + * Multiplication.Multiplication_1_0 returns Substraction + * Division returns Substraction + * Division.Division_1_0 returns Substraction + * Modulo returns Substraction + * Modulo.Modulo_1_0 returns Substraction + * UnaryExpression returns Substraction + * Projection returns Substraction + * Projection.Projection_1_0 returns Substraction + * AtomicExpression returns Substraction + * + * Constraint: + * (left=Substraction_Substraction_1_0 right=Multiplication) + */ + protected void sequence_Substraction(ISerializationContext context, Substraction semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getSubstraction_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getSubstraction_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getSubstraction_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getSubstraction_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getSubstractionAccess().getSubstractionLeftAction_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getSubstractionAccess().getRightMultiplicationParserRuleCall_1_2_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * Subject returns TagSubject + * TagSubject returns TagSubject + * + * Constraint: + * tag=[TaggedStatement|ID] + */ + protected void sequence_TagSubject(ISerializationContext context, TagSubject semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTagSubject_Tag()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTagSubject_Tag())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTagSubjectAccess().getTagTaggedStatementIDTerminalRuleCall_1_0_1(), semanticObject.getTag()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns TaggedStatement + * UnlessStatement.UnlessStatement_1_0 returns TaggedStatement + * StatementChoice returns TaggedStatement + * StatementChoice.StatementChoice_1_0 returns TaggedStatement + * StatementSequence returns TaggedStatement + * StatementSequence.StatementSequence_1_0 returns TaggedStatement + * Statement returns TaggedStatement + * TaggedStatement returns TaggedStatement + * + * Constraint: + * name=ID + */ + protected void sequence_TaggedStatement(ISerializationContext context, TaggedStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTaggedStatement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTaggedStatement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTaggedStatementAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns ToStatement + * UnlessStatement.UnlessStatement_1_0 returns ToStatement + * StatementChoice returns ToStatement + * StatementChoice.StatementChoice_1_0 returns ToStatement + * StatementSequence returns ToStatement + * StatementSequence.StatementSequence_1_0 returns ToStatement + * Statement returns ToStatement + * ToStatement returns ToStatement + * + * Constraint: + * state=[StateDeclaration|ID] + */ + protected void sequence_ToStatement(ISerializationContext context, ToStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getToStatement_State()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getToStatement_State())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getToStatementAccess().getStateStateDeclarationIDTerminalRuleCall_1_0_1(), semanticObject.getState()); + feeder.finish(); + } + + + /** + * Contexts: + * TransitionSource returns TransitionSource + * + * Constraint: + * origin=[StateDeclaration|ID] + */ + protected void sequence_TransitionSource(ISerializationContext context, TransitionSource semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTransitionSource_Origin()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTransitionSource_Origin())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTransitionSourceAccess().getOriginStateDeclarationIDTerminalRuleCall_1_0_1(), semanticObject.getOrigin()); + feeder.finish(); + } + + + /** + * Contexts: + * Transition returns Transition + * + * Constraint: + * (source=TransitionSource action=StatementSequence) + */ + protected void sequence_Transition(ISerializationContext context, Transition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTransition_Source()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTransition_Source())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTransition_Action()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTransition_Action())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTransitionAccess().getSourceTransitionSourceParserRuleCall_0_0(), semanticObject.getSource()); + feeder.accept(grammarAccess.getTransitionAccess().getActionStatementSequenceParserRuleCall_1_0(), semanticObject.getAction()); + feeder.finish(); + } + + + /** + * Contexts: + * TupleType returns TupleType + * TupleType.TupleType_1_0 returns TupleType + * + * Constraint: + * (types+=TupleType_TupleType_1_0 types+=Type) + */ + protected void sequence_TupleType(ISerializationContext context, TupleType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * NamedElement returns TypeDeclaration + * TypeDeclarationUse returns TypeDeclaration + * Declaration returns TypeDeclaration + * TypeDeclaration returns TypeDeclaration + * + * Constraint: + * (name=ID value=Type) + */ + protected void sequence_TypeDeclaration(ISerializationContext context, TypeDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getTypeDeclaration_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getTypeDeclaration_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getTypeDeclarationAccess().getNameIDTerminalRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getTypeDeclarationAccess().getValueTypeParserRuleCall_3_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryCoerceExpression + * QuantifiedExpression returns UnaryCoerceExpression + * Conditional returns UnaryCoerceExpression + * Conditional.Conditional_1_1 returns UnaryCoerceExpression + * Disjunction returns UnaryCoerceExpression + * Disjunction.Disjunction_1_0 returns UnaryCoerceExpression + * Implication returns UnaryCoerceExpression + * Implication.Implication_1_0 returns UnaryCoerceExpression + * Conjunction returns UnaryCoerceExpression + * Conjunction.Conjunction_1_0 returns UnaryCoerceExpression + * Comparison returns UnaryCoerceExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryCoerceExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryCoerceExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryCoerceExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryCoerceExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryCoerceExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryCoerceExpression + * Addition returns UnaryCoerceExpression + * Addition.Addition_1_0 returns UnaryCoerceExpression + * Substraction returns UnaryCoerceExpression + * Substraction.Substraction_1_0 returns UnaryCoerceExpression + * Multiplication returns UnaryCoerceExpression + * Multiplication.Multiplication_1_0 returns UnaryCoerceExpression + * Division returns UnaryCoerceExpression + * Division.Division_1_0 returns UnaryCoerceExpression + * Modulo returns UnaryCoerceExpression + * Modulo.Modulo_1_0 returns UnaryCoerceExpression + * UnaryExpression returns UnaryCoerceExpression + * Projection returns UnaryCoerceExpression + * Projection.Projection_1_0 returns UnaryCoerceExpression + * AtomicExpression returns UnaryCoerceExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryCoerceExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryCoerceExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryDeQueueExpression + * QuantifiedExpression returns UnaryDeQueueExpression + * Conditional returns UnaryDeQueueExpression + * Conditional.Conditional_1_1 returns UnaryDeQueueExpression + * Disjunction returns UnaryDeQueueExpression + * Disjunction.Disjunction_1_0 returns UnaryDeQueueExpression + * Implication returns UnaryDeQueueExpression + * Implication.Implication_1_0 returns UnaryDeQueueExpression + * Conjunction returns UnaryDeQueueExpression + * Conjunction.Conjunction_1_0 returns UnaryDeQueueExpression + * Comparison returns UnaryDeQueueExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryDeQueueExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryDeQueueExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryDeQueueExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryDeQueueExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryDeQueueExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryDeQueueExpression + * Addition returns UnaryDeQueueExpression + * Addition.Addition_1_0 returns UnaryDeQueueExpression + * Substraction returns UnaryDeQueueExpression + * Substraction.Substraction_1_0 returns UnaryDeQueueExpression + * Multiplication returns UnaryDeQueueExpression + * Multiplication.Multiplication_1_0 returns UnaryDeQueueExpression + * Division returns UnaryDeQueueExpression + * Division.Division_1_0 returns UnaryDeQueueExpression + * Modulo returns UnaryDeQueueExpression + * Modulo.Modulo_1_0 returns UnaryDeQueueExpression + * UnaryExpression returns UnaryDeQueueExpression + * Projection returns UnaryDeQueueExpression + * Projection.Projection_1_0 returns UnaryDeQueueExpression + * AtomicExpression returns UnaryDeQueueExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryDeQueueExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryDeQueueExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryEmptyExpression + * QuantifiedExpression returns UnaryEmptyExpression + * Conditional returns UnaryEmptyExpression + * Conditional.Conditional_1_1 returns UnaryEmptyExpression + * Disjunction returns UnaryEmptyExpression + * Disjunction.Disjunction_1_0 returns UnaryEmptyExpression + * Implication returns UnaryEmptyExpression + * Implication.Implication_1_0 returns UnaryEmptyExpression + * Conjunction returns UnaryEmptyExpression + * Conjunction.Conjunction_1_0 returns UnaryEmptyExpression + * Comparison returns UnaryEmptyExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryEmptyExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryEmptyExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryEmptyExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryEmptyExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryEmptyExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryEmptyExpression + * Addition returns UnaryEmptyExpression + * Addition.Addition_1_0 returns UnaryEmptyExpression + * Substraction returns UnaryEmptyExpression + * Substraction.Substraction_1_0 returns UnaryEmptyExpression + * Multiplication returns UnaryEmptyExpression + * Multiplication.Multiplication_1_0 returns UnaryEmptyExpression + * Division returns UnaryEmptyExpression + * Division.Division_1_0 returns UnaryEmptyExpression + * Modulo returns UnaryEmptyExpression + * Modulo.Modulo_1_0 returns UnaryEmptyExpression + * UnaryExpression returns UnaryEmptyExpression + * Projection returns UnaryEmptyExpression + * Projection.Projection_1_0 returns UnaryEmptyExpression + * AtomicExpression returns UnaryEmptyExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryEmptyExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryEmptyExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryFirstExpression + * QuantifiedExpression returns UnaryFirstExpression + * Conditional returns UnaryFirstExpression + * Conditional.Conditional_1_1 returns UnaryFirstExpression + * Disjunction returns UnaryFirstExpression + * Disjunction.Disjunction_1_0 returns UnaryFirstExpression + * Implication returns UnaryFirstExpression + * Implication.Implication_1_0 returns UnaryFirstExpression + * Conjunction returns UnaryFirstExpression + * Conjunction.Conjunction_1_0 returns UnaryFirstExpression + * Comparison returns UnaryFirstExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryFirstExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryFirstExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryFirstExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryFirstExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryFirstExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryFirstExpression + * Addition returns UnaryFirstExpression + * Addition.Addition_1_0 returns UnaryFirstExpression + * Substraction returns UnaryFirstExpression + * Substraction.Substraction_1_0 returns UnaryFirstExpression + * Multiplication returns UnaryFirstExpression + * Multiplication.Multiplication_1_0 returns UnaryFirstExpression + * Division returns UnaryFirstExpression + * Division.Division_1_0 returns UnaryFirstExpression + * Modulo returns UnaryFirstExpression + * Modulo.Modulo_1_0 returns UnaryFirstExpression + * UnaryExpression returns UnaryFirstExpression + * Projection returns UnaryFirstExpression + * Projection.Projection_1_0 returns UnaryFirstExpression + * AtomicExpression returns UnaryFirstExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryFirstExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryFirstExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryFullExpression + * QuantifiedExpression returns UnaryFullExpression + * Conditional returns UnaryFullExpression + * Conditional.Conditional_1_1 returns UnaryFullExpression + * Disjunction returns UnaryFullExpression + * Disjunction.Disjunction_1_0 returns UnaryFullExpression + * Implication returns UnaryFullExpression + * Implication.Implication_1_0 returns UnaryFullExpression + * Conjunction returns UnaryFullExpression + * Conjunction.Conjunction_1_0 returns UnaryFullExpression + * Comparison returns UnaryFullExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryFullExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryFullExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryFullExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryFullExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryFullExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryFullExpression + * Addition returns UnaryFullExpression + * Addition.Addition_1_0 returns UnaryFullExpression + * Substraction returns UnaryFullExpression + * Substraction.Substraction_1_0 returns UnaryFullExpression + * Multiplication returns UnaryFullExpression + * Multiplication.Multiplication_1_0 returns UnaryFullExpression + * Division returns UnaryFullExpression + * Division.Division_1_0 returns UnaryFullExpression + * Modulo returns UnaryFullExpression + * Modulo.Modulo_1_0 returns UnaryFullExpression + * UnaryExpression returns UnaryFullExpression + * Projection returns UnaryFullExpression + * Projection.Projection_1_0 returns UnaryFullExpression + * AtomicExpression returns UnaryFullExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryFullExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryFullExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryFullExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryLengthExpression + * QuantifiedExpression returns UnaryLengthExpression + * Conditional returns UnaryLengthExpression + * Conditional.Conditional_1_1 returns UnaryLengthExpression + * Disjunction returns UnaryLengthExpression + * Disjunction.Disjunction_1_0 returns UnaryLengthExpression + * Implication returns UnaryLengthExpression + * Implication.Implication_1_0 returns UnaryLengthExpression + * Conjunction returns UnaryLengthExpression + * Conjunction.Conjunction_1_0 returns UnaryLengthExpression + * Comparison returns UnaryLengthExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryLengthExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryLengthExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryLengthExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryLengthExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryLengthExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryLengthExpression + * Addition returns UnaryLengthExpression + * Addition.Addition_1_0 returns UnaryLengthExpression + * Substraction returns UnaryLengthExpression + * Substraction.Substraction_1_0 returns UnaryLengthExpression + * Multiplication returns UnaryLengthExpression + * Multiplication.Multiplication_1_0 returns UnaryLengthExpression + * Division returns UnaryLengthExpression + * Division.Division_1_0 returns UnaryLengthExpression + * Modulo returns UnaryLengthExpression + * Modulo.Modulo_1_0 returns UnaryLengthExpression + * UnaryExpression returns UnaryLengthExpression + * Projection returns UnaryLengthExpression + * Projection.Projection_1_0 returns UnaryLengthExpression + * AtomicExpression returns UnaryLengthExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryLengthExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryLengthExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryMinusExpression + * QuantifiedExpression returns UnaryMinusExpression + * Conditional returns UnaryMinusExpression + * Conditional.Conditional_1_1 returns UnaryMinusExpression + * Disjunction returns UnaryMinusExpression + * Disjunction.Disjunction_1_0 returns UnaryMinusExpression + * Implication returns UnaryMinusExpression + * Implication.Implication_1_0 returns UnaryMinusExpression + * Conjunction returns UnaryMinusExpression + * Conjunction.Conjunction_1_0 returns UnaryMinusExpression + * Comparison returns UnaryMinusExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryMinusExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryMinusExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryMinusExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryMinusExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryMinusExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryMinusExpression + * Addition returns UnaryMinusExpression + * Addition.Addition_1_0 returns UnaryMinusExpression + * Substraction returns UnaryMinusExpression + * Substraction.Substraction_1_0 returns UnaryMinusExpression + * Multiplication returns UnaryMinusExpression + * Multiplication.Multiplication_1_0 returns UnaryMinusExpression + * Division returns UnaryMinusExpression + * Division.Division_1_0 returns UnaryMinusExpression + * Modulo returns UnaryMinusExpression + * Modulo.Modulo_1_0 returns UnaryMinusExpression + * UnaryExpression returns UnaryMinusExpression + * Projection returns UnaryMinusExpression + * Projection.Projection_1_0 returns UnaryMinusExpression + * AtomicExpression returns UnaryMinusExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryMinusExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryMinusExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryNegationExpression + * QuantifiedExpression returns UnaryNegationExpression + * Conditional returns UnaryNegationExpression + * Conditional.Conditional_1_1 returns UnaryNegationExpression + * Disjunction returns UnaryNegationExpression + * Disjunction.Disjunction_1_0 returns UnaryNegationExpression + * Implication returns UnaryNegationExpression + * Implication.Implication_1_0 returns UnaryNegationExpression + * Conjunction returns UnaryNegationExpression + * Conjunction.Conjunction_1_0 returns UnaryNegationExpression + * Comparison returns UnaryNegationExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryNegationExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryNegationExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryNegationExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryNegationExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryNegationExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryNegationExpression + * Addition returns UnaryNegationExpression + * Addition.Addition_1_0 returns UnaryNegationExpression + * Substraction returns UnaryNegationExpression + * Substraction.Substraction_1_0 returns UnaryNegationExpression + * Multiplication returns UnaryNegationExpression + * Multiplication.Multiplication_1_0 returns UnaryNegationExpression + * Division returns UnaryNegationExpression + * Division.Division_1_0 returns UnaryNegationExpression + * Modulo returns UnaryNegationExpression + * Modulo.Modulo_1_0 returns UnaryNegationExpression + * UnaryExpression returns UnaryNegationExpression + * Projection returns UnaryNegationExpression + * Projection.Projection_1_0 returns UnaryNegationExpression + * AtomicExpression returns UnaryNegationExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryNegationExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryNegationExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * Expression returns UnaryPlusExpression + * QuantifiedExpression returns UnaryPlusExpression + * Conditional returns UnaryPlusExpression + * Conditional.Conditional_1_1 returns UnaryPlusExpression + * Disjunction returns UnaryPlusExpression + * Disjunction.Disjunction_1_0 returns UnaryPlusExpression + * Implication returns UnaryPlusExpression + * Implication.Implication_1_0 returns UnaryPlusExpression + * Conjunction returns UnaryPlusExpression + * Conjunction.Conjunction_1_0 returns UnaryPlusExpression + * Comparison returns UnaryPlusExpression + * Comparison.ComparisonEqual_1_0_0_0 returns UnaryPlusExpression + * Comparison.ComparisonNotEqual_1_0_1_0 returns UnaryPlusExpression + * Comparison.ComparisonLesser_1_0_2_0 returns UnaryPlusExpression + * Comparison.ComparisonLesserEqual_1_0_3_0 returns UnaryPlusExpression + * Comparison.ComparisonGreater_1_0_4_0 returns UnaryPlusExpression + * Comparison.ComparisonGreaterEqual_1_0_5_0 returns UnaryPlusExpression + * Addition returns UnaryPlusExpression + * Addition.Addition_1_0 returns UnaryPlusExpression + * Substraction returns UnaryPlusExpression + * Substraction.Substraction_1_0 returns UnaryPlusExpression + * Multiplication returns UnaryPlusExpression + * Multiplication.Multiplication_1_0 returns UnaryPlusExpression + * Division returns UnaryPlusExpression + * Division.Division_1_0 returns UnaryPlusExpression + * Modulo returns UnaryPlusExpression + * Modulo.Modulo_1_0 returns UnaryPlusExpression + * UnaryExpression returns UnaryPlusExpression + * Projection returns UnaryPlusExpression + * Projection.Projection_1_0 returns UnaryPlusExpression + * AtomicExpression returns UnaryPlusExpression + * + * Constraint: + * child=UnaryExpression + */ + protected void sequence_UnaryExpression(ISerializationContext context, UnaryPlusExpression semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getUnaryPlusExpression_Child())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnaryExpressionAccess().getChildUnaryExpressionParserRuleCall_0_1_0(), semanticObject.getChild()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns UnionTagDeclaration + * ExpressionDeclarationUse returns UnionTagDeclaration + * UnionTagDeclarationUse returns UnionTagDeclaration + * PatternDeclarationUse returns UnionTagDeclaration + * UnionTagDeclaration returns UnionTagDeclaration + * + * Constraint: + * name=ID + */ + protected void sequence_UnionTagDeclaration(ISerializationContext context, UnionTagDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUnionTagDeclarationAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * UnionTags returns UnionTags + * + * Constraint: + * (tags+=UnionTagDeclaration tags+=UnionTagDeclaration* type=Type?) + */ + protected void sequence_UnionTags(ISerializationContext context, UnionTags semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Type returns UnionType + * TupleType returns UnionType + * TupleType.TupleType_1_0 returns UnionType + * UnionType returns UnionType + * + * Constraint: + * (tags+=UnionTags tags+=UnionTags*) + */ + protected void sequence_UnionType(ISerializationContext context, UnionType semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns UnlessStatement + * UnlessStatement.UnlessStatement_1_0 returns UnlessStatement + * + * Constraint: + * (followers+=UnlessStatement_UnlessStatement_1_0 followers+=StatementChoice) + */ + protected void sequence_UnlessStatement(ISerializationContext context, UnlessStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * Subject returns ValueSubject + * ValueSubject returns ValueSubject + * + * Constraint: + * value=AtomicExpression + */ + protected void sequence_ValueSubject(ISerializationContext context, ValueSubject semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getValueSubject_Value()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getValueSubject_Value())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getValueSubjectAccess().getValueAtomicExpressionParserRuleCall_1_0(), semanticObject.getValue()); + feeder.finish(); + } + + + /** + * Contexts: + * NamedElement returns VariableDeclaration + * ExpressionDeclarationUse returns VariableDeclaration + * ReferenceDeclarationUse returns VariableDeclaration + * PatternDeclarationUse returns VariableDeclaration + * BoundDeclarationUse returns VariableDeclaration + * PropertyDeclarationUse returns VariableDeclaration + * VariableDeclaration returns VariableDeclaration + * + * Constraint: + * name=ID + */ + protected void sequence_VariableDeclaration(ISerializationContext context, VariableDeclaration semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getNamedElement_Name())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getVariableDeclarationAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName()); + feeder.finish(); + } + + + /** + * Contexts: + * LowerBound returns VariableLowerBound + * VariableLowerBound returns VariableLowerBound + * + * Constraint: + * ((left?='[' | right?=']') variable=[BoundDeclarationUse|ID]) + */ + protected void sequence_VariableLowerBound(ISerializationContext context, VariableLowerBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UpperBound returns VariableUpperBound + * VariableUpperBound returns VariableUpperBound + * + * Constraint: + * (variable=[BoundDeclarationUse|ID] (left?='[' | right?=']')) + */ + protected void sequence_VariableUpperBound(ISerializationContext context, VariableUpperBound semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * VariablesDeclaration returns VariablesDeclaration + * + * Constraint: + * (variables+=VariableDeclaration variables+=VariableDeclaration* type=Type value=Expression?) + */ + protected void sequence_VariablesDeclaration(ISerializationContext context, VariablesDeclaration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * UnlessStatement returns WaitStatement + * UnlessStatement.UnlessStatement_1_0 returns WaitStatement + * StatementChoice returns WaitStatement + * StatementChoice.StatementChoice_1_0 returns WaitStatement + * StatementSequence returns WaitStatement + * StatementSequence.StatementSequence_1_0 returns WaitStatement + * Statement returns WaitStatement + * WaitStatement returns WaitStatement + * + * Constraint: + * (left=LowerBound right=UpperBound) + */ + protected void sequence_WaitStatement(ISerializationContext context, WaitStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getWaitStatement_Left()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getWaitStatement_Left())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getWaitStatement_Right()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getWaitStatement_Right())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getWaitStatementAccess().getLeftLowerBoundParserRuleCall_1_0(), semanticObject.getLeft()); + feeder.accept(grammarAccess.getWaitStatementAccess().getRightUpperBoundParserRuleCall_3_0(), semanticObject.getRight()); + feeder.finish(); + } + + + /** + * Contexts: + * UnlessStatement returns WhileStatement + * UnlessStatement.UnlessStatement_1_0 returns WhileStatement + * StatementChoice returns WhileStatement + * StatementChoice.StatementChoice_1_0 returns WhileStatement + * StatementSequence returns WhileStatement + * StatementSequence.StatementSequence_1_0 returns WhileStatement + * Statement returns WhileStatement + * WhileStatement returns WhileStatement + * + * Constraint: + * (condition=Expression body=StatementSequence) + */ + protected void sequence_WhileStatement(ISerializationContext context, WhileStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getWhileStatement_Condition()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getWhileStatement_Condition())); + if (transientValues.isValueTransient(semanticObject, FiacrePackage.eINSTANCE.getWhileStatement_Body()) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FiacrePackage.eINSTANCE.getWhileStatement_Body())); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getWhileStatementAccess().getConditionExpressionParserRuleCall_1_0(), semanticObject.getCondition()); + feeder.accept(grammarAccess.getWhileStatementAccess().getBodyStatementSequenceParserRuleCall_3_0(), semanticObject.getBody()); + feeder.finish(); + } + + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSyntacticSequencer.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSyntacticSequencer.java new file mode 100644 index 0000000..03ba383 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/serializer/FiacreSyntacticSequencer.java @@ -0,0 +1,492 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.serializer; + +import com.google.inject.Inject; +import fr.irit.fiacre.xtext.services.FiacreGrammarAccess; +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.AlternativeAlias; +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 FiacreSyntacticSequencer extends AbstractSyntacticSequencer { + + protected FiacreGrammarAccess grammarAccess; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_8_0_a; + protected AbstractElementAlias match_AtomicExpression_LeftParenthesisKeyword_8_0_p; + protected AbstractElementAlias match_AtomicLTL_LeftParenthesisKeyword_2_0_a; + protected AbstractElementAlias match_AtomicLTL_LeftParenthesisKeyword_2_0_p; + protected AbstractElementAlias match_AtomicObservable_LeftParenthesisKeyword_0_0_a; + protected AbstractElementAlias match_AtomicObservable_LeftParenthesisKeyword_0_0_p; + protected AbstractElementAlias match_AtomicProperty_LeftParenthesisKeyword_1_0_a; + protected AbstractElementAlias match_AtomicProperty_LeftParenthesisKeyword_1_0_p; + protected AbstractElementAlias match_CaseStatement_CaseKeyword_8_q; + protected AbstractElementAlias match_ChannelType_NoneKeyword_2_0_1_1_or_NoneKeyword_2_1_or_SyncKeyword_2_2; + protected AbstractElementAlias match_CompositeBlock_HyphenMinusGreaterThanSignKeyword_0_1_q; + protected AbstractElementAlias match_Composition_ParKeyword_5_q; + protected AbstractElementAlias match_ConditionalStatement_IfKeyword_7_q; + protected AbstractElementAlias match_ForeachStatement_ForeachKeyword_5_q; + protected AbstractElementAlias match_InstanceDeclaration_HyphenMinusGreaterThanSignKeyword_0_1_q; + protected AbstractElementAlias match_Pattern_LeftParenthesisKeyword_3_0_a; + protected AbstractElementAlias match_RecordType_RecordKeyword_4_q; + protected AbstractElementAlias match_SelectStatement_SelectKeyword_4_q; + protected AbstractElementAlias match_UnionType_UnionKeyword_4_q; + protected AbstractElementAlias match_WhileStatement_WhileKeyword_5_q; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (FiacreGrammarAccess) access; + match_AtomicExpression_LeftParenthesisKeyword_8_0_a = new TokenAlias(true, true, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + match_AtomicExpression_LeftParenthesisKeyword_8_0_p = new TokenAlias(true, false, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_8_0()); + match_AtomicLTL_LeftParenthesisKeyword_2_0_a = new TokenAlias(true, true, grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + match_AtomicLTL_LeftParenthesisKeyword_2_0_p = new TokenAlias(true, false, grammarAccess.getAtomicLTLAccess().getLeftParenthesisKeyword_2_0()); + match_AtomicObservable_LeftParenthesisKeyword_0_0_a = new TokenAlias(true, true, grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + match_AtomicObservable_LeftParenthesisKeyword_0_0_p = new TokenAlias(true, false, grammarAccess.getAtomicObservableAccess().getLeftParenthesisKeyword_0_0()); + match_AtomicProperty_LeftParenthesisKeyword_1_0_a = new TokenAlias(true, true, grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + match_AtomicProperty_LeftParenthesisKeyword_1_0_p = new TokenAlias(true, false, grammarAccess.getAtomicPropertyAccess().getLeftParenthesisKeyword_1_0()); + match_CaseStatement_CaseKeyword_8_q = new TokenAlias(false, true, grammarAccess.getCaseStatementAccess().getCaseKeyword_8()); + match_ChannelType_NoneKeyword_2_0_1_1_or_NoneKeyword_2_1_or_SyncKeyword_2_2 = new AlternativeAlias(false, false, new TokenAlias(false, false, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_0_1_1()), new TokenAlias(false, false, grammarAccess.getChannelTypeAccess().getNoneKeyword_2_1()), new TokenAlias(false, false, grammarAccess.getChannelTypeAccess().getSyncKeyword_2_2())); + match_CompositeBlock_HyphenMinusGreaterThanSignKeyword_0_1_q = new TokenAlias(false, true, grammarAccess.getCompositeBlockAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + match_Composition_ParKeyword_5_q = new TokenAlias(false, true, grammarAccess.getCompositionAccess().getParKeyword_5()); + match_ConditionalStatement_IfKeyword_7_q = new TokenAlias(false, true, grammarAccess.getConditionalStatementAccess().getIfKeyword_7()); + match_ForeachStatement_ForeachKeyword_5_q = new TokenAlias(false, true, grammarAccess.getForeachStatementAccess().getForeachKeyword_5()); + match_InstanceDeclaration_HyphenMinusGreaterThanSignKeyword_0_1_q = new TokenAlias(false, true, grammarAccess.getInstanceDeclarationAccess().getHyphenMinusGreaterThanSignKeyword_0_1()); + match_Pattern_LeftParenthesisKeyword_3_0_a = new TokenAlias(true, true, grammarAccess.getPatternAccess().getLeftParenthesisKeyword_3_0()); + match_RecordType_RecordKeyword_4_q = new TokenAlias(false, true, grammarAccess.getRecordTypeAccess().getRecordKeyword_4()); + match_SelectStatement_SelectKeyword_4_q = new TokenAlias(false, true, grammarAccess.getSelectStatementAccess().getSelectKeyword_4()); + match_UnionType_UnionKeyword_4_q = new TokenAlias(false, true, grammarAccess.getUnionTypeAccess().getUnionKeyword_4()); + match_WhileStatement_WhileKeyword_5_q = new TokenAlias(false, true, grammarAccess.getWhileStatementAccess().getWhileKeyword_5()); + } + + @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 transitionNodes = collectNodes(fromNode, toNode); + for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) { + List syntaxNodes = getNodesFor(transitionNodes, syntax); + if (match_AtomicExpression_LeftParenthesisKeyword_8_0_a.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_8_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicExpression_LeftParenthesisKeyword_8_0_p.equals(syntax)) + emit_AtomicExpression_LeftParenthesisKeyword_8_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicLTL_LeftParenthesisKeyword_2_0_a.equals(syntax)) + emit_AtomicLTL_LeftParenthesisKeyword_2_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicLTL_LeftParenthesisKeyword_2_0_p.equals(syntax)) + emit_AtomicLTL_LeftParenthesisKeyword_2_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicObservable_LeftParenthesisKeyword_0_0_a.equals(syntax)) + emit_AtomicObservable_LeftParenthesisKeyword_0_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicObservable_LeftParenthesisKeyword_0_0_p.equals(syntax)) + emit_AtomicObservable_LeftParenthesisKeyword_0_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicProperty_LeftParenthesisKeyword_1_0_a.equals(syntax)) + emit_AtomicProperty_LeftParenthesisKeyword_1_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_AtomicProperty_LeftParenthesisKeyword_1_0_p.equals(syntax)) + emit_AtomicProperty_LeftParenthesisKeyword_1_0_p(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_CaseStatement_CaseKeyword_8_q.equals(syntax)) + emit_CaseStatement_CaseKeyword_8_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ChannelType_NoneKeyword_2_0_1_1_or_NoneKeyword_2_1_or_SyncKeyword_2_2.equals(syntax)) + emit_ChannelType_NoneKeyword_2_0_1_1_or_NoneKeyword_2_1_or_SyncKeyword_2_2(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_CompositeBlock_HyphenMinusGreaterThanSignKeyword_0_1_q.equals(syntax)) + emit_CompositeBlock_HyphenMinusGreaterThanSignKeyword_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_Composition_ParKeyword_5_q.equals(syntax)) + emit_Composition_ParKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ConditionalStatement_IfKeyword_7_q.equals(syntax)) + emit_ConditionalStatement_IfKeyword_7_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_ForeachStatement_ForeachKeyword_5_q.equals(syntax)) + emit_ForeachStatement_ForeachKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_InstanceDeclaration_HyphenMinusGreaterThanSignKeyword_0_1_q.equals(syntax)) + emit_InstanceDeclaration_HyphenMinusGreaterThanSignKeyword_0_1_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_Pattern_LeftParenthesisKeyword_3_0_a.equals(syntax)) + emit_Pattern_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_RecordType_RecordKeyword_4_q.equals(syntax)) + emit_RecordType_RecordKeyword_4_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_SelectStatement_SelectKeyword_4_q.equals(syntax)) + emit_SelectStatement_SelectKeyword_4_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_UnionType_UnionKeyword_4_q.equals(syntax)) + emit_UnionType_UnionKeyword_4_q(semanticObject, getLastNavigableState(), syntaxNodes); + else if (match_WhileStatement_WhileKeyword_5_q.equals(syntax)) + emit_WhileStatement_WhileKeyword_5_q(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '$' child=UnaryExpression + * (rule start) (ambiguity) '&' declaration=[ReferenceDeclarationUse|ID] + * (rule start) (ambiguity) '+' child=UnaryExpression + * (rule start) (ambiguity) '-' child=UnaryExpression + * (rule start) (ambiguity) '[' ']' '?' (rule start) + * (rule start) (ambiguity) '[' ']' (rule start) + * (rule start) (ambiguity) '[' values+=Expression + * (rule start) (ambiguity) 'all' index=VariableDeclaration + * (rule start) (ambiguity) 'append' '(' left=Expression + * (rule start) (ambiguity) 'dequeue' child=UnaryExpression + * (rule start) (ambiguity) 'empty' child=UnaryExpression + * (rule start) (ambiguity) 'enqueue' '(' element=Expression + * (rule start) (ambiguity) 'exists' index=VariableDeclaration + * (rule start) (ambiguity) 'false' '?' (rule start) + * (rule start) (ambiguity) 'false' (rule start) + * (rule start) (ambiguity) 'first' child=UnaryExpression + * (rule start) (ambiguity) 'full' child=UnaryExpression + * (rule start) (ambiguity) 'length' child=UnaryExpression + * (rule start) (ambiguity) 'not' child=UnaryExpression + * (rule start) (ambiguity) 'true' '?' (rule start) + * (rule start) (ambiguity) 'true' (rule start) + * (rule start) (ambiguity) '{' fields+=FieldExpression + * (rule start) (ambiguity) '{|' '|}' '?' (rule start) + * (rule start) (ambiguity) '{|' '|}' (rule start) + * (rule start) (ambiguity) '{|' values+=Expression + * (rule start) (ambiguity) declaration=[ExpressionDeclarationUse|ID] + * (rule start) (ambiguity) value=INT + * (rule start) (ambiguity) {Addition.left=} + * (rule start) (ambiguity) {ArrayAccessExpression.child=} + * (rule start) (ambiguity) {ComparisonEqual.left=} + * (rule start) (ambiguity) {ComparisonGreater.left=} + * (rule start) (ambiguity) {ComparisonGreaterEqual.left=} + * (rule start) (ambiguity) {ComparisonLesser.left=} + * (rule start) (ambiguity) {ComparisonLesserEqual.left=} + * (rule start) (ambiguity) {ComparisonNotEqual.left=} + * (rule start) (ambiguity) {Conditional.condition=} + * (rule start) (ambiguity) {Conjunction.left=} + * (rule start) (ambiguity) {Disjunction.left=} + * (rule start) (ambiguity) {Division.left=} + * (rule start) (ambiguity) {Implication.left=} + * (rule start) (ambiguity) {Modulo.left=} + * (rule start) (ambiguity) {Multiplication.left=} + * (rule start) (ambiguity) {Projection.channel=} + * (rule start) (ambiguity) {RecordAccessExpression.child=} + * (rule start) (ambiguity) {Substraction.left=} + */ + protected void emit_AtomicExpression_LeftParenthesisKeyword_8_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('+ + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '$' child=UnaryExpression + * (rule start) (ambiguity) '+' child=UnaryExpression + * (rule start) (ambiguity) '-' child=UnaryExpression + * (rule start) (ambiguity) 'all' index=VariableDeclaration + * (rule start) (ambiguity) 'dequeue' child=UnaryExpression + * (rule start) (ambiguity) 'empty' child=UnaryExpression + * (rule start) (ambiguity) 'exists' index=VariableDeclaration + * (rule start) (ambiguity) 'first' child=UnaryExpression + * (rule start) (ambiguity) 'full' child=UnaryExpression + * (rule start) (ambiguity) 'length' child=UnaryExpression + * (rule start) (ambiguity) 'not' child=UnaryExpression + * (rule start) (ambiguity) {Addition.left=} + * (rule start) (ambiguity) {ComparisonEqual.left=} + * (rule start) (ambiguity) {ComparisonGreater.left=} + * (rule start) (ambiguity) {ComparisonGreaterEqual.left=} + * (rule start) (ambiguity) {ComparisonLesser.left=} + * (rule start) (ambiguity) {ComparisonLesserEqual.left=} + * (rule start) (ambiguity) {ComparisonNotEqual.left=} + * (rule start) (ambiguity) {Conditional.condition=} + * (rule start) (ambiguity) {Conjunction.left=} + * (rule start) (ambiguity) {Disjunction.left=} + * (rule start) (ambiguity) {Division.left=} + * (rule start) (ambiguity) {Implication.left=} + * (rule start) (ambiguity) {Modulo.left=} + * (rule start) (ambiguity) {Multiplication.left=} + * (rule start) (ambiguity) {Projection.channel=} + * (rule start) (ambiguity) {Substraction.left=} + */ + protected void emit_AtomicExpression_LeftParenthesisKeyword_8_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '<>' operand=LTLUnary + * (rule start) (ambiguity) '[]' operand=LTLUnary + * (rule start) (ambiguity) 'all' index=VariableDeclaration + * (rule start) (ambiguity) 'enter' subject=AtomicObservable + * (rule start) (ambiguity) 'exists' index=VariableDeclaration + * (rule start) (ambiguity) 'leave' subject=AtomicObservable + * (rule start) (ambiguity) 'next' operand=LTLUnary + * (rule start) (ambiguity) 'not' operand=LTLUnary + * (rule start) (ambiguity) declaration=[PropertyDeclarationUse|ID] + * (rule start) (ambiguity) path=Path + * (rule start) (ambiguity) {LTLConjunction.left=} + * (rule start) (ambiguity) {LTLDisjunction.left=} + * (rule start) (ambiguity) {LTLImplication.left=} + * (rule start) (ambiguity) {LTLRelease.left=} + * (rule start) (ambiguity) {LTLUntil.left=} + */ + protected void emit_AtomicLTL_LeftParenthesisKeyword_2_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('+ + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '<>' operand=LTLUnary + * (rule start) (ambiguity) '[]' operand=LTLUnary + * (rule start) (ambiguity) 'all' index=VariableDeclaration + * (rule start) (ambiguity) 'exists' index=VariableDeclaration + * (rule start) (ambiguity) 'next' operand=LTLUnary + * (rule start) (ambiguity) 'not' operand=LTLUnary + * (rule start) (ambiguity) {LTLConjunction.left=} + * (rule start) (ambiguity) {LTLDisjunction.left=} + * (rule start) (ambiguity) {LTLImplication.left=} + * (rule start) (ambiguity) {LTLRelease.left=} + * (rule start) (ambiguity) {LTLUntil.left=} + */ + protected void emit_AtomicLTL_LeftParenthesisKeyword_2_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) 'enter' subject=AtomicObservable + * (rule start) (ambiguity) 'leave' subject=AtomicObservable + * (rule start) (ambiguity) 'not' child=ObservableNegation + * (rule start) (ambiguity) path=Path + * (rule start) (ambiguity) {ObservableConjunction.left=} + * (rule start) (ambiguity) {ObservableDisjunction.left=} + * (rule start) (ambiguity) {ObservableImplication.left=} + */ + protected void emit_AtomicObservable_LeftParenthesisKeyword_0_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('+ + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) 'not' child=ObservableNegation + * (rule start) (ambiguity) {ObservableConjunction.left=} + * (rule start) (ambiguity) {ObservableDisjunction.left=} + * (rule start) (ambiguity) {ObservableImplication.left=} + */ + protected void emit_AtomicObservable_LeftParenthesisKeyword_0_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) 'absent' subject=AtomicObservable + * (rule start) (ambiguity) 'all' variable=VariableDeclaration + * (rule start) (ambiguity) 'always' subject=AtomicObservable + * (rule start) (ambiguity) 'deadlockfree' (rule start) + * (rule start) (ambiguity) 'exists' variable=VariableDeclaration + * (rule start) (ambiguity) 'infinitelyoften' subject=AtomicObservable + * (rule start) (ambiguity) 'ltl' property=LTLUnary + * (rule start) (ambiguity) 'mortal' subject=AtomicObservable + * (rule start) (ambiguity) 'not' child=PropertyNegation + * (rule start) (ambiguity) 'present' subject=AtomicObservable + * (rule start) (ambiguity) {LeadsToPattern.subject=} + * (rule start) (ambiguity) {PrecedesPattern.subject=} + * (rule start) (ambiguity) {PropertyConjunction.left=} + * (rule start) (ambiguity) {PropertyDisjunction.left=} + * (rule start) (ambiguity) {PropertyImplication.left=} + */ + protected void emit_AtomicProperty_LeftParenthesisKeyword_1_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('+ + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) 'all' variable=VariableDeclaration + * (rule start) (ambiguity) 'exists' variable=VariableDeclaration + * (rule start) (ambiguity) 'not' child=PropertyNegation + * (rule start) (ambiguity) {PropertyConjunction.left=} + * (rule start) (ambiguity) {PropertyDisjunction.left=} + * (rule start) (ambiguity) {PropertyImplication.left=} + */ + protected void emit_AtomicProperty_LeftParenthesisKeyword_1_0_p(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'case'? + * + * This ambiguous syntax occurs at: + * body+=StatementSequence 'end' (ambiguity) (rule end) + */ + protected void emit_CaseStatement_CaseKeyword_8_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'none' | 'none' | 'sync' + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) (rule start) + * size=Expression 'of' (ambiguity) (rule end) + */ + protected void emit_ChannelType_NoneKeyword_2_0_1_1_or_NoneKeyword_2_1_or_SyncKeyword_2_2(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '->'? + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) composition=Composition + */ + protected void emit_CompositeBlock_HyphenMinusGreaterThanSignKeyword_0_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'par'? + * + * This ambiguous syntax occurs at: + * blocks+=Block 'end' (ambiguity) (rule end) + */ + protected void emit_Composition_ParKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'if'? + * + * This ambiguous syntax occurs at: + * else=StatementSequence 'end' (ambiguity) (rule end) + * elseif+=ExtendedConditionalStatement 'end' (ambiguity) (rule end) + * then=StatementSequence 'end' (ambiguity) (rule end) + */ + protected void emit_ConditionalStatement_IfKeyword_7_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'foreach'? + * + * This ambiguous syntax occurs at: + * body=StatementSequence 'end' (ambiguity) (rule end) + */ + protected void emit_ForeachStatement_ForeachKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '->'? + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) instance=ComponentInstance + */ + protected void emit_InstanceDeclaration_HyphenMinusGreaterThanSignKeyword_0_1_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * '('* + * + * This ambiguous syntax occurs at: + * (rule start) (ambiguity) '+' value=INT + * (rule start) (ambiguity) 'any' '!' (rule start) + * (rule start) (ambiguity) 'any' ',' (rule start) + * (rule start) (ambiguity) 'any' ':=' (rule start) + * (rule start) (ambiguity) 'any' '?' (rule start) + * (rule start) (ambiguity) 'any' (rule start) + * (rule start) (ambiguity) declaration=[PatternDeclarationUse|ID] + * (rule start) (ambiguity) negative?='-' + * (rule start) (ambiguity) value=LiteralExpression + * (rule start) (ambiguity) {ArrayAccessPattern.source=} + * (rule start) (ambiguity) {RecordAccessPattern.source=} + */ + protected void emit_Pattern_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'record'? + * + * This ambiguous syntax occurs at: + * fields+=RecordFields 'end' (ambiguity) (rule end) + */ + protected void emit_RecordType_RecordKeyword_4_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'select'? + * + * This ambiguous syntax occurs at: + * body=UnlessStatement 'end' (ambiguity) (rule end) + * type=RangeType 'end' (ambiguity) (rule end) + */ + protected void emit_SelectStatement_SelectKeyword_4_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'union'? + * + * This ambiguous syntax occurs at: + * tags+=UnionTags 'end' (ambiguity) (rule end) + */ + protected void emit_UnionType_UnionKeyword_4_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + + /** + * Ambiguous syntax: + * 'while'? + * + * This ambiguous syntax occurs at: + * body=StatementSequence 'end' (ambiguity) (rule end) + */ + protected void emit_WhileStatement_WhileKeyword_5_q(EObject semanticObject, ISynNavigable transition, List nodes) { + acceptNodes(transition, nodes); + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/services/FiacreGrammarAccess.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/services/FiacreGrammarAccess.java new file mode 100644 index 0000000..9f886cf --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/services/FiacreGrammarAccess.java @@ -0,0 +1,10118 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.services; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +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.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.AbstractGrammarElementFinder; +import org.eclipse.xtext.service.GrammarProvider; + +@Singleton +public class FiacreGrammarAccess extends AbstractGrammarElementFinder { + + public class ModelElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Model"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cModelAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cImportsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cImportsImportDeclarationParserRuleCall_1_0 = (RuleCall)cImportsAssignment_1.eContents().get(0); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Assignment cDeclarationsAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); + private final RuleCall cDeclarationsDeclarationParserRuleCall_2_0_0 = (RuleCall)cDeclarationsAssignment_2_0.eContents().get(0); + private final Assignment cRequirementsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); + private final RuleCall cRequirementsRequirementParserRuleCall_2_1_0 = (RuleCall)cRequirementsAssignment_2_1.eContents().get(0); + private final Assignment cRootAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2); + private final RuleCall cRootRootParserRuleCall_2_2_0 = (RuleCall)cRootAssignment_2_2.eContents().get(0); + + //Model: + // {Model} imports+=ImportDeclaration* (declarations+=Declaration | requirements+=Requirement + // / * added alternative root * / | root+=Root)* + // // ((root=[RootDeclaration])? (declarations+=Declaration | requirements+=Requirement)*) + //; + @Override public ParserRule getRule() { return rule; } + + //{Model} imports+=ImportDeclaration* (declarations+=Declaration | requirements+=Requirement / * added alternative root * / + //| root+=Root)* + public Group getGroup() { return cGroup; } + + //{Model} + public Action getModelAction_0() { return cModelAction_0; } + + //imports+=ImportDeclaration* + public Assignment getImportsAssignment_1() { return cImportsAssignment_1; } + + //ImportDeclaration + public RuleCall getImportsImportDeclarationParserRuleCall_1_0() { return cImportsImportDeclarationParserRuleCall_1_0; } + + //(declarations+=Declaration | requirements+=Requirement / * added alternative root * / | root+=Root)* + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //declarations+=Declaration + public Assignment getDeclarationsAssignment_2_0() { return cDeclarationsAssignment_2_0; } + + //Declaration + public RuleCall getDeclarationsDeclarationParserRuleCall_2_0_0() { return cDeclarationsDeclarationParserRuleCall_2_0_0; } + + //requirements+=Requirement + public Assignment getRequirementsAssignment_2_1() { return cRequirementsAssignment_2_1; } + + //Requirement + public RuleCall getRequirementsRequirementParserRuleCall_2_1_0() { return cRequirementsRequirementParserRuleCall_2_1_0; } + + //root+=Root + public Assignment getRootAssignment_2_2() { return cRootAssignment_2_2; } + + //Root + public RuleCall getRootRootParserRuleCall_2_2_0() { return cRootRootParserRuleCall_2_2_0; } + } + public class RootDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RootDeclaration"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cComponentDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cProcessDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //RootDeclaration: + // ComponentDeclaration + // | ProcessDeclaration; + @Override public ParserRule getRule() { return rule; } + + //ComponentDeclaration | ProcessDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //ComponentDeclaration + public RuleCall getComponentDeclarationParserRuleCall_0() { return cComponentDeclarationParserRuleCall_0; } + + //ProcessDeclaration + public RuleCall getProcessDeclarationParserRuleCall_1() { return cProcessDeclarationParserRuleCall_1; } + } + public class RootElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Root"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cRootAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cDeclarationAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cDeclarationRootDeclarationCrossReference_1_0 = (CrossReference)cDeclarationAssignment_1.eContents().get(0); + private final RuleCall cDeclarationRootDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cDeclarationRootDeclarationCrossReference_1_0.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cGreaterThanSignKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Assignment cObservedAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); + private final CrossReference cObservedRootDeclarationCrossReference_2_1_0_0 = (CrossReference)cObservedAssignment_2_1_0.eContents().get(0); + private final RuleCall cObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1 = (RuleCall)cObservedRootDeclarationCrossReference_2_1_0_0.eContents().get(1); + private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); + private final Keyword cVerticalLineKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); + private final Assignment cObservedAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); + private final CrossReference cObservedRootDeclarationCrossReference_2_1_1_1_0 = (CrossReference)cObservedAssignment_2_1_1_1.eContents().get(0); + private final RuleCall cObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1 = (RuleCall)cObservedRootDeclarationCrossReference_2_1_1_1_0.eContents().get(1); + + //Root: + // {Root} declaration=[RootDeclaration] ('>' (observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])*))?; + @Override public ParserRule getRule() { return rule; } + + //{Root} declaration=[RootDeclaration] ('>' (observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])*))? + public Group getGroup() { return cGroup; } + + //{Root} + public Action getRootAction_0() { return cRootAction_0; } + + //declaration=[RootDeclaration] + public Assignment getDeclarationAssignment_1() { return cDeclarationAssignment_1; } + + //[RootDeclaration] + public CrossReference getDeclarationRootDeclarationCrossReference_1_0() { return cDeclarationRootDeclarationCrossReference_1_0; } + + //ID + public RuleCall getDeclarationRootDeclarationIDTerminalRuleCall_1_0_1() { return cDeclarationRootDeclarationIDTerminalRuleCall_1_0_1; } + + //('>' (observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])*))? + public Group getGroup_2() { return cGroup_2; } + + //'>' + public Keyword getGreaterThanSignKeyword_2_0() { return cGreaterThanSignKeyword_2_0; } + + //(observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])*) + public Group getGroup_2_1() { return cGroup_2_1; } + + //observed+=[RootDeclaration] + public Assignment getObservedAssignment_2_1_0() { return cObservedAssignment_2_1_0; } + + //[RootDeclaration] + public CrossReference getObservedRootDeclarationCrossReference_2_1_0_0() { return cObservedRootDeclarationCrossReference_2_1_0_0; } + + //ID + public RuleCall getObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1() { return cObservedRootDeclarationIDTerminalRuleCall_2_1_0_0_1; } + + //('|' observed+=[RootDeclaration])* + public Group getGroup_2_1_1() { return cGroup_2_1_1; } + + //'|' + public Keyword getVerticalLineKeyword_2_1_1_0() { return cVerticalLineKeyword_2_1_1_0; } + + //observed+=[RootDeclaration] + public Assignment getObservedAssignment_2_1_1_1() { return cObservedAssignment_2_1_1_1; } + + //[RootDeclaration] + public CrossReference getObservedRootDeclarationCrossReference_2_1_1_1_0() { return cObservedRootDeclarationCrossReference_2_1_1_1_0; } + + //ID + public RuleCall getObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1() { return cObservedRootDeclarationIDTerminalRuleCall_2_1_1_1_0_1; } + } + public class NamedElementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NamedElement"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cPortDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cParameterDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cVariableDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cStateDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cRecordFieldDeclarationParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cUnionTagDeclarationParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + + //NamedElement: + // Declaration + // //| GenericDeclaration + // | PortDeclaration + // | ParameterDeclaration + // | VariableDeclaration + // | StateDeclaration + // | RecordFieldDeclaration + // | UnionTagDeclaration + // //ajout Faiez + // // | TagDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //Declaration //| GenericDeclaration + //| PortDeclaration | ParameterDeclaration | VariableDeclaration | StateDeclaration | RecordFieldDeclaration | + //UnionTagDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //Declaration + public RuleCall getDeclarationParserRuleCall_0() { return cDeclarationParserRuleCall_0; } + + //PortDeclaration + public RuleCall getPortDeclarationParserRuleCall_1() { return cPortDeclarationParserRuleCall_1; } + + //ParameterDeclaration + public RuleCall getParameterDeclarationParserRuleCall_2() { return cParameterDeclarationParserRuleCall_2; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_3() { return cVariableDeclarationParserRuleCall_3; } + + //StateDeclaration + public RuleCall getStateDeclarationParserRuleCall_4() { return cStateDeclarationParserRuleCall_4; } + + //RecordFieldDeclaration + public RuleCall getRecordFieldDeclarationParserRuleCall_5() { return cRecordFieldDeclarationParserRuleCall_5; } + + //UnionTagDeclaration + public RuleCall getUnionTagDeclarationParserRuleCall_6() { return cUnionTagDeclarationParserRuleCall_6; } + } + public class TypeDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TypeDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cTypeDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cChannelDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //TypeDeclarationUse: + // TypeDeclaration + // //| GenericTypeDeclaration + // | ChannelDeclaration + // //| GenericConstantDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //TypeDeclaration //| GenericTypeDeclaration + //| ChannelDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //TypeDeclaration + public RuleCall getTypeDeclarationParserRuleCall_0() { return cTypeDeclarationParserRuleCall_0; } + + //ChannelDeclaration + public RuleCall getChannelDeclarationParserRuleCall_1() { return cChannelDeclarationParserRuleCall_1; } + } + public class ConstantDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ConstantDeclarationUse"); + private final RuleCall cConstantDeclarationParserRuleCall = (RuleCall)rule.eContents().get(1); + + //ConstantDeclarationUse: + // ConstantDeclaration + // //| GenericConstantDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //ConstantDeclaration + public RuleCall getConstantDeclarationParserRuleCall() { return cConstantDeclarationParserRuleCall; } + } + public class ExpressionDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ExpressionDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cVariableDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cConstantDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cParameterDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cPortDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cUnionTagDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cFunctionDeclarationParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + + //ExpressionDeclarationUse: + // VariableDeclaration + // | ConstantDeclaration + // //| GenericConstantDeclaration + // | ParameterDeclaration + // | PortDeclaration + // | UnionTagDeclaration + // //| GenericDeclaration + // | FunctionDeclaration; + @Override public ParserRule getRule() { return rule; } + + //VariableDeclaration | ConstantDeclaration //| GenericConstantDeclaration + //| ParameterDeclaration | PortDeclaration | UnionTagDeclaration //| GenericDeclaration + //| FunctionDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_0() { return cVariableDeclarationParserRuleCall_0; } + + //ConstantDeclaration + public RuleCall getConstantDeclarationParserRuleCall_1() { return cConstantDeclarationParserRuleCall_1; } + + //ParameterDeclaration + public RuleCall getParameterDeclarationParserRuleCall_2() { return cParameterDeclarationParserRuleCall_2; } + + //PortDeclaration + public RuleCall getPortDeclarationParserRuleCall_3() { return cPortDeclarationParserRuleCall_3; } + + //UnionTagDeclaration + public RuleCall getUnionTagDeclarationParserRuleCall_4() { return cUnionTagDeclarationParserRuleCall_4; } + + //FunctionDeclaration + public RuleCall getFunctionDeclarationParserRuleCall_5() { return cFunctionDeclarationParserRuleCall_5; } + } + public class ReferenceDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ReferenceDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cVariableDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cParameterDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ReferenceDeclarationUse: + // VariableDeclaration + // | ParameterDeclaration; + @Override public ParserRule getRule() { return rule; } + + //VariableDeclaration | ParameterDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_0() { return cVariableDeclarationParserRuleCall_0; } + + //ParameterDeclaration + public RuleCall getParameterDeclarationParserRuleCall_1() { return cParameterDeclarationParserRuleCall_1; } + } + public class UnionTagDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclarationUse"); + private final RuleCall cUnionTagDeclarationParserRuleCall = (RuleCall)rule.eContents().get(1); + + //UnionTagDeclarationUse: + // UnionTagDeclaration + // //| GenericUnionTagDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //UnionTagDeclaration + public RuleCall getUnionTagDeclarationParserRuleCall() { return cUnionTagDeclarationParserRuleCall; } + } + public class RecordFieldDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclarationUse"); + private final RuleCall cRecordFieldDeclarationParserRuleCall = (RuleCall)rule.eContents().get(1); + + //RecordFieldDeclarationUse: + // RecordFieldDeclaration + // //| GenericRecordFieldDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //RecordFieldDeclaration + public RuleCall getRecordFieldDeclarationParserRuleCall() { return cRecordFieldDeclarationParserRuleCall; } + } + public class PatternDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PatternDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cVariableDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cParameterDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cPortDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cUnionTagDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //PatternDeclarationUse: + // VariableDeclaration + // | ParameterDeclaration + // | PortDeclaration + // | UnionTagDeclaration + // //| GenericUnionTagDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //VariableDeclaration | ParameterDeclaration | PortDeclaration | UnionTagDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_0() { return cVariableDeclarationParserRuleCall_0; } + + //ParameterDeclaration + public RuleCall getParameterDeclarationParserRuleCall_1() { return cParameterDeclarationParserRuleCall_1; } + + //PortDeclaration + public RuleCall getPortDeclarationParserRuleCall_2() { return cPortDeclarationParserRuleCall_2; } + + //UnionTagDeclaration + public RuleCall getUnionTagDeclarationParserRuleCall_3() { return cUnionTagDeclarationParserRuleCall_3; } + } + public class BoundDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.BoundDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cVariableDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cConstantDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //BoundDeclarationUse: + // VariableDeclaration + // //| GenericConstantDeclaration + // | ConstantDeclaration; + @Override public ParserRule getRule() { return rule; } + + //VariableDeclaration //| GenericConstantDeclaration + //| ConstantDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_0() { return cVariableDeclarationParserRuleCall_0; } + + //ConstantDeclaration + public RuleCall getConstantDeclarationParserRuleCall_1() { return cConstantDeclarationParserRuleCall_1; } + } + public class PathDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PathDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cComponentDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cInstanceDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cProcessDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //PathDeclarationUse: + // ComponentDeclaration + // | InstanceDeclaration + // | ProcessDeclaration; + @Override public ParserRule getRule() { return rule; } + + //ComponentDeclaration | InstanceDeclaration | ProcessDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //ComponentDeclaration + public RuleCall getComponentDeclarationParserRuleCall_0() { return cComponentDeclarationParserRuleCall_0; } + + //InstanceDeclaration + public RuleCall getInstanceDeclarationParserRuleCall_1() { return cInstanceDeclarationParserRuleCall_1; } + + //ProcessDeclaration + public RuleCall getProcessDeclarationParserRuleCall_2() { return cProcessDeclarationParserRuleCall_2; } + } + public class PropertyDeclarationUseElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyDeclarationUse"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cPropertyDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cVariableDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //PropertyDeclarationUse: + // PropertyDeclaration + // | VariableDeclaration; + @Override public ParserRule getRule() { return rule; } + + //PropertyDeclaration | VariableDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //PropertyDeclaration + public RuleCall getPropertyDeclarationParserRuleCall_0() { return cPropertyDeclarationParserRuleCall_0; } + + //VariableDeclaration + public RuleCall getVariableDeclarationParserRuleCall_1() { return cVariableDeclarationParserRuleCall_1; } + } + public class ImportDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ImportDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cIncludeKeyword_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); + + //ImportDeclaration: + // '#include' importURI=STRING; + @Override public ParserRule getRule() { return rule; } + + //'#include' importURI=STRING + public Group getGroup() { return cGroup; } + + //'#include' + public Keyword getIncludeKeyword_0() { return cIncludeKeyword_0; } + + //importURI=STRING + public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; } + + //STRING + public RuleCall getImportURISTRINGTerminalRuleCall_1_0() { return cImportURISTRINGTerminalRuleCall_1_0; } + } + public class DeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Declaration"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cTypeDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cChannelDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cConstantDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cParameterizedDeclarationParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cPropertyDeclarationParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + + //Declaration: + // TypeDeclaration + // | ChannelDeclaration + // | ConstantDeclaration + // | ParameterizedDeclaration + // | PropertyDeclaration; + @Override public ParserRule getRule() { return rule; } + + //TypeDeclaration | ChannelDeclaration | ConstantDeclaration | ParameterizedDeclaration | PropertyDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //TypeDeclaration + public RuleCall getTypeDeclarationParserRuleCall_0() { return cTypeDeclarationParserRuleCall_0; } + + //ChannelDeclaration + public RuleCall getChannelDeclarationParserRuleCall_1() { return cChannelDeclarationParserRuleCall_1; } + + //ConstantDeclaration + public RuleCall getConstantDeclarationParserRuleCall_2() { return cConstantDeclarationParserRuleCall_2; } + + //ParameterizedDeclaration + public RuleCall getParameterizedDeclarationParserRuleCall_3() { return cParameterizedDeclarationParserRuleCall_3; } + + //PropertyDeclaration + public RuleCall getPropertyDeclarationParserRuleCall_4() { return cPropertyDeclarationParserRuleCall_4; } + } + public class ParameterizedDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ParameterizedDeclaration"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cProcessDeclarationParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cComponentDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cFunctionDeclarationParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //ParameterizedDeclaration: + // ProcessDeclaration + // | ComponentDeclaration + // //added + // | FunctionDeclaration; + @Override public ParserRule getRule() { return rule; } + + //ProcessDeclaration | ComponentDeclaration //added + //| FunctionDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //ProcessDeclaration + public RuleCall getProcessDeclarationParserRuleCall_0() { return cProcessDeclarationParserRuleCall_0; } + + //ComponentDeclaration + public RuleCall getComponentDeclarationParserRuleCall_1() { return cComponentDeclarationParserRuleCall_1; } + + //FunctionDeclaration + public RuleCall getFunctionDeclarationParserRuleCall_2() { return cFunctionDeclarationParserRuleCall_2; } + } + public class FunctionDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.FunctionDeclaration"); + 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 cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Assignment cParametersAssignment_2_1_0 = (Assignment)cGroup_2_1.eContents().get(0); + private final RuleCall cParametersParametersDeclarationParserRuleCall_2_1_0_0 = (RuleCall)cParametersAssignment_2_1_0.eContents().get(0); + private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); + private final Keyword cCommaKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); + private final Assignment cParametersAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); + private final RuleCall cParametersParametersDeclarationParserRuleCall_2_1_1_1_0 = (RuleCall)cParametersAssignment_2_1_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); + private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cTypeTypeParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0); + private final Keyword cIsKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cVarKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Assignment cVariablesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_6_1_0 = (RuleCall)cVariablesAssignment_6_1.eContents().get(0); + private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); + private final Keyword cCommaKeyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0); + private final Assignment cVariablesAssignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_6_2_1_0 = (RuleCall)cVariablesAssignment_6_2_1.eContents().get(0); + private final Assignment cStatementAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final RuleCall cStatementStatementParserRuleCall_7_0 = (RuleCall)cStatementAssignment_7.eContents().get(0); + + //FunctionDeclaration: + // 'function' name=ID ('(' (parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? ')') + // ':' type=Type + // 'is' ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + // statement=Statement; + @Override public ParserRule getRule() { return rule; } + + //'function' name=ID ('(' (parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? ')') ':' type=Type + //'is' ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? statement=Statement + public Group getGroup() { return cGroup; } + + //'function' + public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //('(' (parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? ')') + public Group getGroup_2() { return cGroup_2; } + + //'(' + public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } + + //(parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? + public Group getGroup_2_1() { return cGroup_2_1; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_2_1_0() { return cParametersAssignment_2_1_0; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_2_1_0_0() { return cParametersParametersDeclarationParserRuleCall_2_1_0_0; } + + //(',' parameters+=ParametersDeclaration)* + public Group getGroup_2_1_1() { return cGroup_2_1_1; } + + //',' + public Keyword getCommaKeyword_2_1_1_0() { return cCommaKeyword_2_1_1_0; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_2_1_1_1() { return cParametersAssignment_2_1_1_1; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_2_1_1_1_0() { return cParametersParametersDeclarationParserRuleCall_2_1_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } + + //':' + public Keyword getColonKeyword_3() { return cColonKeyword_3; } + + //type=Type + public Assignment getTypeAssignment_4() { return cTypeAssignment_4; } + + //Type + public RuleCall getTypeTypeParserRuleCall_4_0() { return cTypeTypeParserRuleCall_4_0; } + + //'is' + public Keyword getIsKeyword_5() { return cIsKeyword_5; } + + //('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + public Group getGroup_6() { return cGroup_6; } + + //'var' + public Keyword getVarKeyword_6_0() { return cVarKeyword_6_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_6_1() { return cVariablesAssignment_6_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_6_1_0() { return cVariablesVariablesDeclarationParserRuleCall_6_1_0; } + + //(',' variables+=VariablesDeclaration)* + public Group getGroup_6_2() { return cGroup_6_2; } + + //',' + public Keyword getCommaKeyword_6_2_0() { return cCommaKeyword_6_2_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_6_2_1() { return cVariablesAssignment_6_2_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_6_2_1_0() { return cVariablesVariablesDeclarationParserRuleCall_6_2_1_0; } + + //statement=Statement + public Assignment getStatementAssignment_7() { return cStatementAssignment_7; } + + //Statement + public RuleCall getStatementStatementParserRuleCall_7_0() { return cStatementStatementParserRuleCall_7_0; } + } + public class TypeDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TypeDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cTypeKeyword_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 cIsKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cValueTypeParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); + + //TypeDeclaration: + // 'type' name=ID 'is' value=Type; + @Override public ParserRule getRule() { return rule; } + + //'type' name=ID 'is' value=Type + public Group getGroup() { return cGroup; } + + //'type' + public Keyword getTypeKeyword_0() { return cTypeKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //'is' + public Keyword getIsKeyword_2() { return cIsKeyword_2; } + + //value=Type + public Assignment getValueAssignment_3() { return cValueAssignment_3; } + + //Type + public RuleCall getValueTypeParserRuleCall_3_0() { return cValueTypeParserRuleCall_3_0; } + } + public class ChannelDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ChannelDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cChannelKeyword_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 cIsKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cValueChannelTypeParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); + + //ChannelDeclaration: + // 'channel' name=ID 'is' value=ChannelType; + @Override public ParserRule getRule() { return rule; } + + //'channel' name=ID 'is' value=ChannelType + public Group getGroup() { return cGroup; } + + //'channel' + public Keyword getChannelKeyword_0() { return cChannelKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //'is' + public Keyword getIsKeyword_2() { return cIsKeyword_2; } + + //value=ChannelType + public Assignment getValueAssignment_3() { return cValueAssignment_3; } + + //ChannelType + public RuleCall getValueChannelTypeParserRuleCall_3_0() { return cValueChannelTypeParserRuleCall_3_0; } + } + public class ChannelTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ChannelType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cChannelTypeAction_0 = (Action)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cArrayKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cSizeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cSizeExpressionParserRuleCall_1_1_0 = (RuleCall)cSizeAssignment_1_1.eContents().get(0); + private final Keyword cOfKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); + private final Alternatives cAlternatives_2_0_0 = (Alternatives)cGroup_2_0.eContents().get(0); + private final Group cGroup_2_0_0_0 = (Group)cAlternatives_2_0_0.eContents().get(0); + private final Assignment cInAssignment_2_0_0_0_0 = (Assignment)cGroup_2_0_0_0.eContents().get(0); + private final Keyword cInInKeyword_2_0_0_0_0_0 = (Keyword)cInAssignment_2_0_0_0_0.eContents().get(0); + private final Assignment cOutAssignment_2_0_0_0_1 = (Assignment)cGroup_2_0_0_0.eContents().get(1); + private final Keyword cOutOutKeyword_2_0_0_0_1_0 = (Keyword)cOutAssignment_2_0_0_0_1.eContents().get(0); + private final Assignment cOutAssignment_2_0_0_1 = (Assignment)cAlternatives_2_0_0.eContents().get(1); + private final Keyword cOutOutKeyword_2_0_0_1_0 = (Keyword)cOutAssignment_2_0_0_1.eContents().get(0); + private final Alternatives cAlternatives_2_0_1 = (Alternatives)cGroup_2_0.eContents().get(1); + private final Assignment cTypeAssignment_2_0_1_0 = (Assignment)cAlternatives_2_0_1.eContents().get(0); + private final RuleCall cTypeTupleTypeParserRuleCall_2_0_1_0_0 = (RuleCall)cTypeAssignment_2_0_1_0.eContents().get(0); + private final Keyword cNoneKeyword_2_0_1_1 = (Keyword)cAlternatives_2_0_1.eContents().get(1); + private final Keyword cNoneKeyword_2_1 = (Keyword)cAlternatives_2.eContents().get(1); + private final Keyword cSyncKeyword_2_2 = (Keyword)cAlternatives_2.eContents().get(2); + + //ChannelType: + // {ChannelType} ('array' size=Expression 'of')? ((in?='in' out?='out'? | out?='out')? (type=TupleType | 'none') | 'none' + // | 'sync'); + @Override public ParserRule getRule() { return rule; } + + //{ChannelType} ('array' size=Expression 'of')? ((in?='in' out?='out'? | out?='out')? (type=TupleType | 'none') | 'none' | + //'sync') + public Group getGroup() { return cGroup; } + + //{ChannelType} + public Action getChannelTypeAction_0() { return cChannelTypeAction_0; } + + //('array' size=Expression 'of')? + public Group getGroup_1() { return cGroup_1; } + + //'array' + public Keyword getArrayKeyword_1_0() { return cArrayKeyword_1_0; } + + //size=Expression + public Assignment getSizeAssignment_1_1() { return cSizeAssignment_1_1; } + + //Expression + public RuleCall getSizeExpressionParserRuleCall_1_1_0() { return cSizeExpressionParserRuleCall_1_1_0; } + + //'of' + public Keyword getOfKeyword_1_2() { return cOfKeyword_1_2; } + + //((in?='in' out?='out'? | out?='out')? (type=TupleType | 'none') | 'none' | 'sync') + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //(in?='in' out?='out'? | out?='out')? (type=TupleType | 'none') + public Group getGroup_2_0() { return cGroup_2_0; } + + //(in?='in' out?='out'? | out?='out')? + public Alternatives getAlternatives_2_0_0() { return cAlternatives_2_0_0; } + + //in?='in' out?='out'? + public Group getGroup_2_0_0_0() { return cGroup_2_0_0_0; } + + //in?='in' + public Assignment getInAssignment_2_0_0_0_0() { return cInAssignment_2_0_0_0_0; } + + //'in' + public Keyword getInInKeyword_2_0_0_0_0_0() { return cInInKeyword_2_0_0_0_0_0; } + + //out?='out'? + public Assignment getOutAssignment_2_0_0_0_1() { return cOutAssignment_2_0_0_0_1; } + + //'out' + public Keyword getOutOutKeyword_2_0_0_0_1_0() { return cOutOutKeyword_2_0_0_0_1_0; } + + //out?='out' + public Assignment getOutAssignment_2_0_0_1() { return cOutAssignment_2_0_0_1; } + + //'out' + public Keyword getOutOutKeyword_2_0_0_1_0() { return cOutOutKeyword_2_0_0_1_0; } + + //(type=TupleType | 'none') + public Alternatives getAlternatives_2_0_1() { return cAlternatives_2_0_1; } + + //type=TupleType + public Assignment getTypeAssignment_2_0_1_0() { return cTypeAssignment_2_0_1_0; } + + //TupleType + public RuleCall getTypeTupleTypeParserRuleCall_2_0_1_0_0() { return cTypeTupleTypeParserRuleCall_2_0_1_0_0; } + + //'none' + public Keyword getNoneKeyword_2_0_1_1() { return cNoneKeyword_2_0_1_1; } + + //'none' + public Keyword getNoneKeyword_2_1() { return cNoneKeyword_2_1; } + + //'sync' + public Keyword getSyncKeyword_2_2() { return cSyncKeyword_2_2; } + } + public class TypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Type"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cBasicTypeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cRangeTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cUnionTypeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cRecordTypeParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cQueueTypeParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cArrayTypeParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cReferencedTypeParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + + //Type: + // BasicType + // | RangeType + // | UnionType + // | RecordType + // | QueueType + // | ArrayType + // | ReferencedType + // // | TupleType + //; + @Override public ParserRule getRule() { return rule; } + + //BasicType | RangeType | UnionType | RecordType | QueueType | ArrayType | ReferencedType + public Alternatives getAlternatives() { return cAlternatives; } + + //BasicType + public RuleCall getBasicTypeParserRuleCall_0() { return cBasicTypeParserRuleCall_0; } + + //RangeType + public RuleCall getRangeTypeParserRuleCall_1() { return cRangeTypeParserRuleCall_1; } + + //UnionType + public RuleCall getUnionTypeParserRuleCall_2() { return cUnionTypeParserRuleCall_2; } + + //RecordType + public RuleCall getRecordTypeParserRuleCall_3() { return cRecordTypeParserRuleCall_3; } + + //QueueType + public RuleCall getQueueTypeParserRuleCall_4() { return cQueueTypeParserRuleCall_4; } + + //ArrayType + public RuleCall getArrayTypeParserRuleCall_5() { return cArrayTypeParserRuleCall_5; } + + //ReferencedType + public RuleCall getReferencedTypeParserRuleCall_6() { return cReferencedTypeParserRuleCall_6; } + } + public class TupleTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TupleType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cTypeParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cTupleTypeTypesAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cNumberSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cTypesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cTypesTypeParserRuleCall_1_2_0 = (RuleCall)cTypesAssignment_1_2.eContents().get(0); + + //TupleType Type: + // Type ({TupleType.types+=current} '#' types+=Type)* + @Override public ParserRule getRule() { return rule; } + + //Type ({TupleType.types+=current} '#' types+=Type)* + public Group getGroup() { return cGroup; } + + //Type + public RuleCall getTypeParserRuleCall_0() { return cTypeParserRuleCall_0; } + + //({TupleType.types+=current} '#' types+=Type)* + public Group getGroup_1() { return cGroup_1; } + + //{TupleType.types+=current} + public Action getTupleTypeTypesAction_1_0() { return cTupleTypeTypesAction_1_0; } + + //'#' + public Keyword getNumberSignKeyword_1_1() { return cNumberSignKeyword_1_1; } + + //types+=Type + public Assignment getTypesAssignment_1_2() { return cTypesAssignment_1_2; } + + //Type + public RuleCall getTypesTypeParserRuleCall_1_2_0() { return cTypesTypeParserRuleCall_1_2_0; } + } + public class BasicTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.BasicType"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cNaturalTypeAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Keyword cNatKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Action cIntegerTypeAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cIntKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); + private final Action cBooleanTypeAction_2_0 = (Action)cGroup_2.eContents().get(0); + private final Keyword cBoolKeyword_2_1 = (Keyword)cGroup_2.eContents().get(1); + + //BasicType: + // {NaturalType} 'nat' + // | {IntegerType} 'int' + // | {BooleanType} 'bool'; + @Override public ParserRule getRule() { return rule; } + + //{NaturalType} 'nat' | {IntegerType} 'int' | {BooleanType} 'bool' + public Alternatives getAlternatives() { return cAlternatives; } + + //{NaturalType} 'nat' + public Group getGroup_0() { return cGroup_0; } + + //{NaturalType} + public Action getNaturalTypeAction_0_0() { return cNaturalTypeAction_0_0; } + + //'nat' + public Keyword getNatKeyword_0_1() { return cNatKeyword_0_1; } + + //{IntegerType} 'int' + public Group getGroup_1() { return cGroup_1; } + + //{IntegerType} + public Action getIntegerTypeAction_1_0() { return cIntegerTypeAction_1_0; } + + //'int' + public Keyword getIntKeyword_1_1() { return cIntKeyword_1_1; } + + //{BooleanType} 'bool' + public Group getGroup_2() { return cGroup_2; } + + //{BooleanType} + public Action getBooleanTypeAction_2_0() { return cBooleanTypeAction_2_0; } + + //'bool' + public Keyword getBoolKeyword_2_1() { return cBoolKeyword_2_1; } + } + public class RangeTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RangeType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cMinimumAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cMinimumExpressionParserRuleCall_0_0 = (RuleCall)cMinimumAssignment_0.eContents().get(0); + private final Keyword cFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cMaximumAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cMaximumExpressionParserRuleCall_2_0 = (RuleCall)cMaximumAssignment_2.eContents().get(0); + + //// changed + //RangeType: + // minimum=Expression '..' maximum=Expression; + @Override public ParserRule getRule() { return rule; } + + //minimum=Expression '..' maximum=Expression + public Group getGroup() { return cGroup; } + + //minimum=Expression + public Assignment getMinimumAssignment_0() { return cMinimumAssignment_0; } + + //Expression + public RuleCall getMinimumExpressionParserRuleCall_0_0() { return cMinimumExpressionParserRuleCall_0_0; } + + //'..' + public Keyword getFullStopFullStopKeyword_1() { return cFullStopFullStopKeyword_1; } + + //maximum=Expression + public Assignment getMaximumAssignment_2() { return cMaximumAssignment_2; } + + //Expression + public RuleCall getMaximumExpressionParserRuleCall_2_0() { return cMaximumExpressionParserRuleCall_2_0; } + } + public class UnionTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnionType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cUnionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cTagsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cTagsUnionTagsParserRuleCall_1_0 = (RuleCall)cTagsAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cVerticalLineKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cTagsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cTagsUnionTagsParserRuleCall_2_1_0 = (RuleCall)cTagsAssignment_2_1.eContents().get(0); + private final Keyword cEndKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Keyword cUnionKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //UnionType: + // 'union' tags+=UnionTags ('|' tags+=UnionTags)* 'end' 'union'?; + @Override public ParserRule getRule() { return rule; } + + //'union' tags+=UnionTags ('|' tags+=UnionTags)* 'end' 'union'? + public Group getGroup() { return cGroup; } + + //'union' + public Keyword getUnionKeyword_0() { return cUnionKeyword_0; } + + //tags+=UnionTags + public Assignment getTagsAssignment_1() { return cTagsAssignment_1; } + + //UnionTags + public RuleCall getTagsUnionTagsParserRuleCall_1_0() { return cTagsUnionTagsParserRuleCall_1_0; } + + //('|' tags+=UnionTags)* + public Group getGroup_2() { return cGroup_2; } + + //'|' + public Keyword getVerticalLineKeyword_2_0() { return cVerticalLineKeyword_2_0; } + + //tags+=UnionTags + public Assignment getTagsAssignment_2_1() { return cTagsAssignment_2_1; } + + //UnionTags + public RuleCall getTagsUnionTagsParserRuleCall_2_1_0() { return cTagsUnionTagsParserRuleCall_2_1_0; } + + //'end' + public Keyword getEndKeyword_3() { return cEndKeyword_3; } + + //'union'? + public Keyword getUnionKeyword_4() { return cUnionKeyword_4; } + } + public class UnionTagsElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnionTags"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cTagsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cTagsUnionTagDeclarationParserRuleCall_0_0 = (RuleCall)cTagsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cTagsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cTagsUnionTagDeclarationParserRuleCall_1_1_0 = (RuleCall)cTagsAssignment_1_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cOfKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cTypeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cTypeTypeParserRuleCall_2_1_0 = (RuleCall)cTypeAssignment_2_1.eContents().get(0); + + //UnionTags: + // tags+=UnionTagDeclaration (',' tags+=UnionTagDeclaration)* ('of' type=Type)?; + @Override public ParserRule getRule() { return rule; } + + //tags+=UnionTagDeclaration (',' tags+=UnionTagDeclaration)* ('of' type=Type)? + public Group getGroup() { return cGroup; } + + //tags+=UnionTagDeclaration + public Assignment getTagsAssignment_0() { return cTagsAssignment_0; } + + //UnionTagDeclaration + public RuleCall getTagsUnionTagDeclarationParserRuleCall_0_0() { return cTagsUnionTagDeclarationParserRuleCall_0_0; } + + //(',' tags+=UnionTagDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //tags+=UnionTagDeclaration + public Assignment getTagsAssignment_1_1() { return cTagsAssignment_1_1; } + + //UnionTagDeclaration + public RuleCall getTagsUnionTagDeclarationParserRuleCall_1_1_0() { return cTagsUnionTagDeclarationParserRuleCall_1_1_0; } + + //('of' type=Type)? + public Group getGroup_2() { return cGroup_2; } + + //'of' + public Keyword getOfKeyword_2_0() { return cOfKeyword_2_0; } + + //type=Type + public Assignment getTypeAssignment_2_1() { return cTypeAssignment_2_1; } + + //Type + public RuleCall getTypeTypeParserRuleCall_2_1_0() { return cTypeTypeParserRuleCall_2_1_0; } + } + public class UnionTagDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnionTagDeclaration"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //UnionTagDeclaration: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class RecordTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RecordType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRecordKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cFieldsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cFieldsRecordFieldsParserRuleCall_1_0 = (RuleCall)cFieldsAssignment_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 cFieldsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cFieldsRecordFieldsParserRuleCall_2_1_0 = (RuleCall)cFieldsAssignment_2_1.eContents().get(0); + private final Keyword cEndKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Keyword cRecordKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //RecordType: + // 'record' fields+=RecordFields (',' fields+=RecordFields)* 'end' 'record'?; + @Override public ParserRule getRule() { return rule; } + + //'record' fields+=RecordFields (',' fields+=RecordFields)* 'end' 'record'? + public Group getGroup() { return cGroup; } + + //'record' + public Keyword getRecordKeyword_0() { return cRecordKeyword_0; } + + //fields+=RecordFields + public Assignment getFieldsAssignment_1() { return cFieldsAssignment_1; } + + //RecordFields + public RuleCall getFieldsRecordFieldsParserRuleCall_1_0() { return cFieldsRecordFieldsParserRuleCall_1_0; } + + //(',' fields+=RecordFields)* + public Group getGroup_2() { return cGroup_2; } + + //',' + public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } + + //fields+=RecordFields + public Assignment getFieldsAssignment_2_1() { return cFieldsAssignment_2_1; } + + //RecordFields + public RuleCall getFieldsRecordFieldsParserRuleCall_2_1_0() { return cFieldsRecordFieldsParserRuleCall_2_1_0; } + + //'end' + public Keyword getEndKeyword_3() { return cEndKeyword_3; } + + //'record'? + public Keyword getRecordKeyword_4() { return cRecordKeyword_4; } + } + public class RecordFieldsElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RecordFields"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cFieldsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cFieldsRecordFieldDeclarationParserRuleCall_0_0 = (RuleCall)cFieldsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cFieldsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cFieldsRecordFieldDeclarationParserRuleCall_1_1_0 = (RuleCall)cFieldsAssignment_1_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + + //RecordFields: + // fields+=RecordFieldDeclaration (',' fields+=RecordFieldDeclaration)* ':' type=Type; + @Override public ParserRule getRule() { return rule; } + + //fields+=RecordFieldDeclaration (',' fields+=RecordFieldDeclaration)* ':' type=Type + public Group getGroup() { return cGroup; } + + //fields+=RecordFieldDeclaration + public Assignment getFieldsAssignment_0() { return cFieldsAssignment_0; } + + //RecordFieldDeclaration + public RuleCall getFieldsRecordFieldDeclarationParserRuleCall_0_0() { return cFieldsRecordFieldDeclarationParserRuleCall_0_0; } + + //(',' fields+=RecordFieldDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //fields+=RecordFieldDeclaration + public Assignment getFieldsAssignment_1_1() { return cFieldsAssignment_1_1; } + + //RecordFieldDeclaration + public RuleCall getFieldsRecordFieldDeclarationParserRuleCall_1_1_0() { return cFieldsRecordFieldDeclarationParserRuleCall_1_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //type=Type + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //Type + public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } + } + public class RecordFieldDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RecordFieldDeclaration"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //RecordFieldDeclaration: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class QueueTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.QueueType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cQueueKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSizeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSizeExpressionParserRuleCall_1_0 = (RuleCall)cSizeAssignment_1.eContents().get(0); + private final Keyword cOfKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + + //QueueType: + // 'queue' size=Expression 'of' type=Type; + @Override public ParserRule getRule() { return rule; } + + //'queue' size=Expression 'of' type=Type + public Group getGroup() { return cGroup; } + + //'queue' + public Keyword getQueueKeyword_0() { return cQueueKeyword_0; } + + //size=Expression + public Assignment getSizeAssignment_1() { return cSizeAssignment_1; } + + //Expression + public RuleCall getSizeExpressionParserRuleCall_1_0() { return cSizeExpressionParserRuleCall_1_0; } + + //'of' + public Keyword getOfKeyword_2() { return cOfKeyword_2; } + + //type=Type + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //Type + public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } + } + public class ArrayTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ArrayType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cArrayKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSizeAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSizeExpressionParserRuleCall_1_0 = (RuleCall)cSizeAssignment_1.eContents().get(0); + private final Keyword cOfKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + + //ArrayType: + // 'array' size=Expression 'of' type=Type; + @Override public ParserRule getRule() { return rule; } + + //'array' size=Expression 'of' type=Type + public Group getGroup() { return cGroup; } + + //'array' + public Keyword getArrayKeyword_0() { return cArrayKeyword_0; } + + //size=Expression + public Assignment getSizeAssignment_1() { return cSizeAssignment_1; } + + //Expression + public RuleCall getSizeExpressionParserRuleCall_1_0() { return cSizeExpressionParserRuleCall_1_0; } + + //'of' + public Keyword getOfKeyword_2() { return cOfKeyword_2; } + + //type=Type + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //Type + public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } + } + public class ReferencedTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ReferencedType"); + private final Assignment cTypeAssignment = (Assignment)rule.eContents().get(1); + private final CrossReference cTypeTypeDeclarationUseCrossReference_0 = (CrossReference)cTypeAssignment.eContents().get(0); + private final RuleCall cTypeTypeDeclarationUseIDTerminalRuleCall_0_1 = (RuleCall)cTypeTypeDeclarationUseCrossReference_0.eContents().get(1); + + //ReferencedType: + // type=[TypeDeclarationUse]; + @Override public ParserRule getRule() { return rule; } + + //type=[TypeDeclarationUse] + public Assignment getTypeAssignment() { return cTypeAssignment; } + + //[TypeDeclarationUse] + public CrossReference getTypeTypeDeclarationUseCrossReference_0() { return cTypeTypeDeclarationUseCrossReference_0; } + + //ID + public RuleCall getTypeTypeDeclarationUseIDTerminalRuleCall_0_1() { return cTypeTypeDeclarationUseIDTerminalRuleCall_0_1; } + } + public class ConstantDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ConstantDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cConstKeyword_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 cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + private final Keyword cIsKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cValueExpressionParserRuleCall_5_0 = (RuleCall)cValueAssignment_5.eContents().get(0); + + /// * ChannelDeclaration: + // 'channel' name=ID 'is' channel=ChannelType + //; * / ConstantDeclaration: + // 'const' name=ID ':' type=Type 'is' value=Expression; + @Override public ParserRule getRule() { return rule; } + + //'const' name=ID ':' type=Type 'is' value=Expression + public Group getGroup() { return cGroup; } + + //'const' + public Keyword getConstKeyword_0() { return cConstKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //type=Type + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //Type + public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } + + //'is' + public Keyword getIsKeyword_4() { return cIsKeyword_4; } + + //value=Expression + public Assignment getValueAssignment_5() { return cValueAssignment_5; } + + //Expression + public RuleCall getValueExpressionParserRuleCall_5_0() { return cValueExpressionParserRuleCall_5_0; } + } + public class ProcessDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ProcessDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cProcessKeyword_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 Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPortsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cPortsPortsDeclarationParserRuleCall_2_1_0 = (RuleCall)cPortsAssignment_2_1.eContents().get(0); + private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); + private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); + private final Assignment cPortsAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); + private final RuleCall cPortsPortsDeclarationParserRuleCall_2_2_1_0 = (RuleCall)cPortsAssignment_2_2_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cParametersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final RuleCall cParametersParametersDeclarationParserRuleCall_3_1_0 = (RuleCall)cParametersAssignment_3_1.eContents().get(0); + private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); + private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); + private final Assignment cParametersAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final RuleCall cParametersParametersDeclarationParserRuleCall_3_2_1_0 = (RuleCall)cParametersAssignment_3_2_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); + private final Keyword cIsKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cPortKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cLocalPortsAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final RuleCall cLocalPortsPortsDeclarationParserRuleCall_5_1_0 = (RuleCall)cLocalPortsAssignment_5_1.eContents().get(0); + private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2); + private final Keyword cCommaKeyword_5_2_0 = (Keyword)cGroup_5_2.eContents().get(0); + private final Assignment cLocalPortsAssignment_5_2_1 = (Assignment)cGroup_5_2.eContents().get(1); + private final RuleCall cLocalPortsPortsDeclarationParserRuleCall_5_2_1_0 = (RuleCall)cLocalPortsAssignment_5_2_1.eContents().get(0); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cPriorityKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Assignment cPrioritiesAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); + private final RuleCall cPrioritiesPriorityDeclarationParserRuleCall_6_1_0 = (RuleCall)cPrioritiesAssignment_6_1.eContents().get(0); + private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); + private final Keyword cCommaKeyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0); + private final Assignment cPrioritiesAssignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1); + private final RuleCall cPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0 = (RuleCall)cPrioritiesAssignment_6_2_1.eContents().get(0); + private final Keyword cStatesKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cStatesAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final RuleCall cStatesStateDeclarationParserRuleCall_8_0 = (RuleCall)cStatesAssignment_8.eContents().get(0); + private final Group cGroup_9 = (Group)cGroup.eContents().get(9); + private final Keyword cCommaKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Assignment cStatesAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1); + private final RuleCall cStatesStateDeclarationParserRuleCall_9_1_0 = (RuleCall)cStatesAssignment_9_1.eContents().get(0); + private final Group cGroup_10 = (Group)cGroup.eContents().get(10); + private final Keyword cVarKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); + private final Assignment cVariablesAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_10_1_0 = (RuleCall)cVariablesAssignment_10_1.eContents().get(0); + private final Group cGroup_10_2 = (Group)cGroup_10.eContents().get(2); + private final Keyword cCommaKeyword_10_2_0 = (Keyword)cGroup_10_2.eContents().get(0); + private final Assignment cVariablesAssignment_10_2_1 = (Assignment)cGroup_10_2.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_10_2_1_0 = (RuleCall)cVariablesAssignment_10_2_1.eContents().get(0); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cInitKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Assignment cPreludeAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1); + private final RuleCall cPreludeStatementSequenceParserRuleCall_11_1_0 = (RuleCall)cPreludeAssignment_11_1.eContents().get(0); + private final Assignment cTransitionsAssignment_12 = (Assignment)cGroup.eContents().get(12); + private final RuleCall cTransitionsTransitionParserRuleCall_12_0 = (RuleCall)cTransitionsAssignment_12.eContents().get(0); + + //ProcessDeclaration: + // 'process' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + // parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + // 'is' ('port' localPorts+=PortsDeclaration (',' localPorts+=PortsDeclaration)*)? ('priority' + // priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + // 'states' states+=StateDeclaration (',' states+=StateDeclaration)* ('var' variables+=VariablesDeclaration (',' + // variables+=VariablesDeclaration)*)? ('init' prelude=StatementSequence)? + // transitions+=Transition+; + @Override public ParserRule getRule() { return rule; } + + //'process' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + //parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? 'is' ('port' + //localPorts+=PortsDeclaration (',' localPorts+=PortsDeclaration)*)? ('priority' priorities+=PriorityDeclaration (',' + //priorities+=PriorityDeclaration)*)? 'states' states+=StateDeclaration (',' states+=StateDeclaration)* ('var' + //variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? ('init' prelude=StatementSequence)? + //transitions+=Transition+ + public Group getGroup() { return cGroup; } + + //'process' + public Keyword getProcessKeyword_0() { return cProcessKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? + public Group getGroup_2() { return cGroup_2; } + + //'[' + public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } + + //ports+=PortsDeclaration + public Assignment getPortsAssignment_2_1() { return cPortsAssignment_2_1; } + + //PortsDeclaration + public RuleCall getPortsPortsDeclarationParserRuleCall_2_1_0() { return cPortsPortsDeclarationParserRuleCall_2_1_0; } + + //(',' ports+=PortsDeclaration)* + public Group getGroup_2_2() { return cGroup_2_2; } + + //',' + public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; } + + //ports+=PortsDeclaration + public Assignment getPortsAssignment_2_2_1() { return cPortsAssignment_2_2_1; } + + //PortsDeclaration + public RuleCall getPortsPortsDeclarationParserRuleCall_2_2_1_0() { return cPortsPortsDeclarationParserRuleCall_2_2_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_2_3() { return cRightSquareBracketKeyword_2_3; } + + //('(' parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + public Group getGroup_3() { return cGroup_3; } + + //'(' + public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_3_1() { return cParametersAssignment_3_1; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_3_1_0() { return cParametersParametersDeclarationParserRuleCall_3_1_0; } + + //(',' parameters+=ParametersDeclaration)* + public Group getGroup_3_2() { return cGroup_3_2; } + + //',' + public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_3_2_1() { return cParametersAssignment_3_2_1; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_3_2_1_0() { return cParametersParametersDeclarationParserRuleCall_3_2_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; } + + //'is' + public Keyword getIsKeyword_4() { return cIsKeyword_4; } + + //('port' localPorts+=PortsDeclaration (',' localPorts+=PortsDeclaration)*)? + public Group getGroup_5() { return cGroup_5; } + + //'port' + public Keyword getPortKeyword_5_0() { return cPortKeyword_5_0; } + + //localPorts+=PortsDeclaration + public Assignment getLocalPortsAssignment_5_1() { return cLocalPortsAssignment_5_1; } + + //PortsDeclaration + public RuleCall getLocalPortsPortsDeclarationParserRuleCall_5_1_0() { return cLocalPortsPortsDeclarationParserRuleCall_5_1_0; } + + //(',' localPorts+=PortsDeclaration)* + public Group getGroup_5_2() { return cGroup_5_2; } + + //',' + public Keyword getCommaKeyword_5_2_0() { return cCommaKeyword_5_2_0; } + + //localPorts+=PortsDeclaration + public Assignment getLocalPortsAssignment_5_2_1() { return cLocalPortsAssignment_5_2_1; } + + //PortsDeclaration + public RuleCall getLocalPortsPortsDeclarationParserRuleCall_5_2_1_0() { return cLocalPortsPortsDeclarationParserRuleCall_5_2_1_0; } + + //('priority' priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + public Group getGroup_6() { return cGroup_6; } + + //'priority' + public Keyword getPriorityKeyword_6_0() { return cPriorityKeyword_6_0; } + + //priorities+=PriorityDeclaration + public Assignment getPrioritiesAssignment_6_1() { return cPrioritiesAssignment_6_1; } + + //PriorityDeclaration + public RuleCall getPrioritiesPriorityDeclarationParserRuleCall_6_1_0() { return cPrioritiesPriorityDeclarationParserRuleCall_6_1_0; } + + //(',' priorities+=PriorityDeclaration)* + public Group getGroup_6_2() { return cGroup_6_2; } + + //',' + public Keyword getCommaKeyword_6_2_0() { return cCommaKeyword_6_2_0; } + + //priorities+=PriorityDeclaration + public Assignment getPrioritiesAssignment_6_2_1() { return cPrioritiesAssignment_6_2_1; } + + //PriorityDeclaration + public RuleCall getPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0() { return cPrioritiesPriorityDeclarationParserRuleCall_6_2_1_0; } + + //'states' + public Keyword getStatesKeyword_7() { return cStatesKeyword_7; } + + //states+=StateDeclaration + public Assignment getStatesAssignment_8() { return cStatesAssignment_8; } + + //StateDeclaration + public RuleCall getStatesStateDeclarationParserRuleCall_8_0() { return cStatesStateDeclarationParserRuleCall_8_0; } + + //(',' states+=StateDeclaration)* + public Group getGroup_9() { return cGroup_9; } + + //',' + public Keyword getCommaKeyword_9_0() { return cCommaKeyword_9_0; } + + //states+=StateDeclaration + public Assignment getStatesAssignment_9_1() { return cStatesAssignment_9_1; } + + //StateDeclaration + public RuleCall getStatesStateDeclarationParserRuleCall_9_1_0() { return cStatesStateDeclarationParserRuleCall_9_1_0; } + + //('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + public Group getGroup_10() { return cGroup_10; } + + //'var' + public Keyword getVarKeyword_10_0() { return cVarKeyword_10_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_10_1() { return cVariablesAssignment_10_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_10_1_0() { return cVariablesVariablesDeclarationParserRuleCall_10_1_0; } + + //(',' variables+=VariablesDeclaration)* + public Group getGroup_10_2() { return cGroup_10_2; } + + //',' + public Keyword getCommaKeyword_10_2_0() { return cCommaKeyword_10_2_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_10_2_1() { return cVariablesAssignment_10_2_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_10_2_1_0() { return cVariablesVariablesDeclarationParserRuleCall_10_2_1_0; } + + //('init' prelude=StatementSequence)? + public Group getGroup_11() { return cGroup_11; } + + //'init' + public Keyword getInitKeyword_11_0() { return cInitKeyword_11_0; } + + //prelude=StatementSequence + public Assignment getPreludeAssignment_11_1() { return cPreludeAssignment_11_1; } + + //StatementSequence + public RuleCall getPreludeStatementSequenceParserRuleCall_11_1_0() { return cPreludeStatementSequenceParserRuleCall_11_1_0; } + + //transitions+=Transition+ + public Assignment getTransitionsAssignment_12() { return cTransitionsAssignment_12; } + + //Transition + public RuleCall getTransitionsTransitionParserRuleCall_12_0() { return cTransitionsTransitionParserRuleCall_12_0; } + } + public class StateDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.StateDeclaration"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + ////GenericDeclaration: + //// ('type' GenericTypeDeclaration) + //// | ('const' GenericConstantDeclaration) + //// | (('constr0' | 'constr1') GenericUnionTagDeclaration) + //// | ('field' GenericRecordFieldDeclaration) + ////; + //// + ////GenericTypeDeclaration: + //// name=ID + ////; + //// + ////GenericConstantDeclaration: + //// name=ID + ////; + //// + ////GenericUnionTagDeclaration: + //// name=ID + ////; + //// + ////GenericRecordFieldDeclaration: + //// name=ID + ////; + //StateDeclaration: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class TransitionSourceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TransitionSource"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cFromKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cOriginAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cOriginStateDeclarationCrossReference_1_0 = (CrossReference)cOriginAssignment_1.eContents().get(0); + private final RuleCall cOriginStateDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cOriginStateDeclarationCrossReference_1_0.eContents().get(1); + + //TransitionSource: + // 'from' origin=[StateDeclaration]; + @Override public ParserRule getRule() { return rule; } + + //'from' origin=[StateDeclaration] + public Group getGroup() { return cGroup; } + + //'from' + public Keyword getFromKeyword_0() { return cFromKeyword_0; } + + //origin=[StateDeclaration] + public Assignment getOriginAssignment_1() { return cOriginAssignment_1; } + + //[StateDeclaration] + public CrossReference getOriginStateDeclarationCrossReference_1_0() { return cOriginStateDeclarationCrossReference_1_0; } + + //ID + public RuleCall getOriginStateDeclarationIDTerminalRuleCall_1_0_1() { return cOriginStateDeclarationIDTerminalRuleCall_1_0_1; } + } + public class TransitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Transition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cSourceAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cSourceTransitionSourceParserRuleCall_0_0 = (RuleCall)cSourceAssignment_0.eContents().get(0); + private final Assignment cActionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cActionStatementSequenceParserRuleCall_1_0 = (RuleCall)cActionAssignment_1.eContents().get(0); + + //Transition: + // source=TransitionSource action=StatementSequence; + @Override public ParserRule getRule() { return rule; } + + //source=TransitionSource action=StatementSequence + public Group getGroup() { return cGroup; } + + //source=TransitionSource + public Assignment getSourceAssignment_0() { return cSourceAssignment_0; } + + //TransitionSource + public RuleCall getSourceTransitionSourceParserRuleCall_0_0() { return cSourceTransitionSourceParserRuleCall_0_0; } + + //action=StatementSequence + public Assignment getActionAssignment_1() { return cActionAssignment_1; } + + //StatementSequence + public RuleCall getActionStatementSequenceParserRuleCall_1_0() { return cActionStatementSequenceParserRuleCall_1_0; } + } + public class ComponentDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ComponentDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cComponentKeyword_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 Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPortsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cPortsPortsDeclarationParserRuleCall_2_1_0 = (RuleCall)cPortsAssignment_2_1.eContents().get(0); + private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); + private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); + private final Assignment cPortsAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); + private final RuleCall cPortsPortsDeclarationParserRuleCall_2_2_1_0 = (RuleCall)cPortsAssignment_2_2_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cParametersAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final RuleCall cParametersParametersDeclarationParserRuleCall_3_1_0 = (RuleCall)cParametersAssignment_3_1.eContents().get(0); + private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2); + private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0); + private final Assignment cParametersAssignment_3_2_1 = (Assignment)cGroup_3_2.eContents().get(1); + private final RuleCall cParametersParametersDeclarationParserRuleCall_3_2_1_0 = (RuleCall)cParametersAssignment_3_2_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_3_3 = (Keyword)cGroup_3.eContents().get(3); + private final Keyword cIsKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cVarKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cVariablesAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_5_1_0 = (RuleCall)cVariablesAssignment_5_1.eContents().get(0); + private final Group cGroup_5_2 = (Group)cGroup_5.eContents().get(2); + private final Keyword cCommaKeyword_5_2_0 = (Keyword)cGroup_5_2.eContents().get(0); + private final Assignment cVariablesAssignment_5_2_1 = (Assignment)cGroup_5_2.eContents().get(1); + private final RuleCall cVariablesVariablesDeclarationParserRuleCall_5_2_1_0 = (RuleCall)cVariablesAssignment_5_2_1.eContents().get(0); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cPortKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Assignment cLocalPortsAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); + private final RuleCall cLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0 = (RuleCall)cLocalPortsAssignment_6_1.eContents().get(0); + private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); + private final Keyword cCommaKeyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0); + private final Assignment cLocalPortsAssignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1); + private final RuleCall cLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0 = (RuleCall)cLocalPortsAssignment_6_2_1.eContents().get(0); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cPriorityKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Assignment cPrioritiesAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); + private final RuleCall cPrioritiesPriorityDeclarationParserRuleCall_7_1_0 = (RuleCall)cPrioritiesAssignment_7_1.eContents().get(0); + private final Group cGroup_7_2 = (Group)cGroup_7.eContents().get(2); + private final Keyword cCommaKeyword_7_2_0 = (Keyword)cGroup_7_2.eContents().get(0); + private final Assignment cPrioritiesAssignment_7_2_1 = (Assignment)cGroup_7_2.eContents().get(1); + private final RuleCall cPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0 = (RuleCall)cPrioritiesAssignment_7_2_1.eContents().get(0); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cInitKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Assignment cPreludeAssignment_8_1 = (Assignment)cGroup_8.eContents().get(1); + private final RuleCall cPreludeStatementSequenceParserRuleCall_8_1_0 = (RuleCall)cPreludeAssignment_8_1.eContents().get(0); + private final Assignment cBodyAssignment_9 = (Assignment)cGroup.eContents().get(9); + private final RuleCall cBodyCompositionParserRuleCall_9_0 = (RuleCall)cBodyAssignment_9.eContents().get(0); + + //ComponentDeclaration: + // 'component' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + // parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + // 'is' ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? ('port' + // localPorts+=LocalPortsDeclaration (',' localPorts+=LocalPortsDeclaration)*)? ('priority' + // priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? ('init' prelude=StatementSequence)? + // body=Composition; + @Override public ParserRule getRule() { return rule; } + + //'component' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + //parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? 'is' ('var' + //variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? ('port' localPorts+=LocalPortsDeclaration (',' + //localPorts+=LocalPortsDeclaration)*)? ('priority' priorities+=PriorityDeclaration (',' + //priorities+=PriorityDeclaration)*)? ('init' prelude=StatementSequence)? body=Composition + public Group getGroup() { return cGroup; } + + //'component' + public Keyword getComponentKeyword_0() { return cComponentKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? + public Group getGroup_2() { return cGroup_2; } + + //'[' + public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } + + //ports+=PortsDeclaration + public Assignment getPortsAssignment_2_1() { return cPortsAssignment_2_1; } + + //PortsDeclaration + public RuleCall getPortsPortsDeclarationParserRuleCall_2_1_0() { return cPortsPortsDeclarationParserRuleCall_2_1_0; } + + //(',' ports+=PortsDeclaration)* + public Group getGroup_2_2() { return cGroup_2_2; } + + //',' + public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; } + + //ports+=PortsDeclaration + public Assignment getPortsAssignment_2_2_1() { return cPortsAssignment_2_2_1; } + + //PortsDeclaration + public RuleCall getPortsPortsDeclarationParserRuleCall_2_2_1_0() { return cPortsPortsDeclarationParserRuleCall_2_2_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_2_3() { return cRightSquareBracketKeyword_2_3; } + + //('(' parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + public Group getGroup_3() { return cGroup_3; } + + //'(' + public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_3_1() { return cParametersAssignment_3_1; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_3_1_0() { return cParametersParametersDeclarationParserRuleCall_3_1_0; } + + //(',' parameters+=ParametersDeclaration)* + public Group getGroup_3_2() { return cGroup_3_2; } + + //',' + public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; } + + //parameters+=ParametersDeclaration + public Assignment getParametersAssignment_3_2_1() { return cParametersAssignment_3_2_1; } + + //ParametersDeclaration + public RuleCall getParametersParametersDeclarationParserRuleCall_3_2_1_0() { return cParametersParametersDeclarationParserRuleCall_3_2_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_3_3() { return cRightParenthesisKeyword_3_3; } + + //'is' + public Keyword getIsKeyword_4() { return cIsKeyword_4; } + + //('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + public Group getGroup_5() { return cGroup_5; } + + //'var' + public Keyword getVarKeyword_5_0() { return cVarKeyword_5_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_5_1() { return cVariablesAssignment_5_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_5_1_0() { return cVariablesVariablesDeclarationParserRuleCall_5_1_0; } + + //(',' variables+=VariablesDeclaration)* + public Group getGroup_5_2() { return cGroup_5_2; } + + //',' + public Keyword getCommaKeyword_5_2_0() { return cCommaKeyword_5_2_0; } + + //variables+=VariablesDeclaration + public Assignment getVariablesAssignment_5_2_1() { return cVariablesAssignment_5_2_1; } + + //VariablesDeclaration + public RuleCall getVariablesVariablesDeclarationParserRuleCall_5_2_1_0() { return cVariablesVariablesDeclarationParserRuleCall_5_2_1_0; } + + //('port' localPorts+=LocalPortsDeclaration (',' localPorts+=LocalPortsDeclaration)*)? + public Group getGroup_6() { return cGroup_6; } + + //'port' + public Keyword getPortKeyword_6_0() { return cPortKeyword_6_0; } + + //localPorts+=LocalPortsDeclaration + public Assignment getLocalPortsAssignment_6_1() { return cLocalPortsAssignment_6_1; } + + //LocalPortsDeclaration + public RuleCall getLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0() { return cLocalPortsLocalPortsDeclarationParserRuleCall_6_1_0; } + + //(',' localPorts+=LocalPortsDeclaration)* + public Group getGroup_6_2() { return cGroup_6_2; } + + //',' + public Keyword getCommaKeyword_6_2_0() { return cCommaKeyword_6_2_0; } + + //localPorts+=LocalPortsDeclaration + public Assignment getLocalPortsAssignment_6_2_1() { return cLocalPortsAssignment_6_2_1; } + + //LocalPortsDeclaration + public RuleCall getLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0() { return cLocalPortsLocalPortsDeclarationParserRuleCall_6_2_1_0; } + + //('priority' priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + public Group getGroup_7() { return cGroup_7; } + + //'priority' + public Keyword getPriorityKeyword_7_0() { return cPriorityKeyword_7_0; } + + //priorities+=PriorityDeclaration + public Assignment getPrioritiesAssignment_7_1() { return cPrioritiesAssignment_7_1; } + + //PriorityDeclaration + public RuleCall getPrioritiesPriorityDeclarationParserRuleCall_7_1_0() { return cPrioritiesPriorityDeclarationParserRuleCall_7_1_0; } + + //(',' priorities+=PriorityDeclaration)* + public Group getGroup_7_2() { return cGroup_7_2; } + + //',' + public Keyword getCommaKeyword_7_2_0() { return cCommaKeyword_7_2_0; } + + //priorities+=PriorityDeclaration + public Assignment getPrioritiesAssignment_7_2_1() { return cPrioritiesAssignment_7_2_1; } + + //PriorityDeclaration + public RuleCall getPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0() { return cPrioritiesPriorityDeclarationParserRuleCall_7_2_1_0; } + + //('init' prelude=StatementSequence)? + public Group getGroup_8() { return cGroup_8; } + + //'init' + public Keyword getInitKeyword_8_0() { return cInitKeyword_8_0; } + + //prelude=StatementSequence + public Assignment getPreludeAssignment_8_1() { return cPreludeAssignment_8_1; } + + //StatementSequence + public RuleCall getPreludeStatementSequenceParserRuleCall_8_1_0() { return cPreludeStatementSequenceParserRuleCall_8_1_0; } + + //body=Composition + public Assignment getBodyAssignment_9() { return cBodyAssignment_9; } + + //Composition + public RuleCall getBodyCompositionParserRuleCall_9_0() { return cBodyCompositionParserRuleCall_9_0; } + } + public class PortsDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PortsDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cPortsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cPortsPortDeclarationParserRuleCall_0_0 = (RuleCall)cPortsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cPortsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cPortsPortDeclarationParserRuleCall_1_1_0 = (RuleCall)cPortsAssignment_1_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeChannelTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + + //PortsDeclaration: + // ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType; + @Override public ParserRule getRule() { return rule; } + + //ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType + public Group getGroup() { return cGroup; } + + //ports+=PortDeclaration + public Assignment getPortsAssignment_0() { return cPortsAssignment_0; } + + //PortDeclaration + public RuleCall getPortsPortDeclarationParserRuleCall_0_0() { return cPortsPortDeclarationParserRuleCall_0_0; } + + //(',' ports+=PortDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //ports+=PortDeclaration + public Assignment getPortsAssignment_1_1() { return cPortsAssignment_1_1; } + + //PortDeclaration + public RuleCall getPortsPortDeclarationParserRuleCall_1_1_0() { return cPortsPortDeclarationParserRuleCall_1_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //type=ChannelType + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //ChannelType + public RuleCall getTypeChannelTypeParserRuleCall_3_0() { return cTypeChannelTypeParserRuleCall_3_0; } + } + public class PortDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PortDeclaration"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //PortDeclaration: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class LocalPortsDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LocalPortsDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cPortsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cPortsPortDeclarationParserRuleCall_0_0 = (RuleCall)cPortsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cPortsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cPortsPortDeclarationParserRuleCall_1_1_0 = (RuleCall)cPortsAssignment_1_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeChannelTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cInKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cLeftAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cLeftLowerBoundParserRuleCall_4_1_0 = (RuleCall)cLeftAssignment_4_1.eContents().get(0); + private final Keyword cCommaKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2); + private final Assignment cRightAssignment_4_3 = (Assignment)cGroup_4.eContents().get(3); + private final RuleCall cRightUpperBoundParserRuleCall_4_3_0 = (RuleCall)cRightAssignment_4_3.eContents().get(0); + + //LocalPortsDeclaration: + // ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType ('in' left=LowerBound ',' + // right=UpperBound)?; + @Override public ParserRule getRule() { return rule; } + + //ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType ('in' left=LowerBound ',' right=UpperBound)? + public Group getGroup() { return cGroup; } + + //ports+=PortDeclaration + public Assignment getPortsAssignment_0() { return cPortsAssignment_0; } + + //PortDeclaration + public RuleCall getPortsPortDeclarationParserRuleCall_0_0() { return cPortsPortDeclarationParserRuleCall_0_0; } + + //(',' ports+=PortDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //ports+=PortDeclaration + public Assignment getPortsAssignment_1_1() { return cPortsAssignment_1_1; } + + //PortDeclaration + public RuleCall getPortsPortDeclarationParserRuleCall_1_1_0() { return cPortsPortDeclarationParserRuleCall_1_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //type=ChannelType + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //ChannelType + public RuleCall getTypeChannelTypeParserRuleCall_3_0() { return cTypeChannelTypeParserRuleCall_3_0; } + + //('in' left=LowerBound ',' right=UpperBound)? + public Group getGroup_4() { return cGroup_4; } + + //'in' + public Keyword getInKeyword_4_0() { return cInKeyword_4_0; } + + //left=LowerBound + public Assignment getLeftAssignment_4_1() { return cLeftAssignment_4_1; } + + //LowerBound + public RuleCall getLeftLowerBoundParserRuleCall_4_1_0() { return cLeftLowerBoundParserRuleCall_4_1_0; } + + //',' + public Keyword getCommaKeyword_4_2() { return cCommaKeyword_4_2; } + + //right=UpperBound + public Assignment getRightAssignment_4_3() { return cRightAssignment_4_3; } + + //UpperBound + public RuleCall getRightUpperBoundParserRuleCall_4_3_0() { return cRightUpperBoundParserRuleCall_4_3_0; } + } + public class ParametersDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ParametersDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cParametersAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cParametersParameterDeclarationParserRuleCall_0_0 = (RuleCall)cParametersAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cParametersAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cParametersParameterDeclarationParserRuleCall_1_1_0 = (RuleCall)cParametersAssignment_1_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cReadAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final Keyword cReadReadKeyword_3_0 = (Keyword)cReadAssignment_3.eContents().get(0); + private final Assignment cWriteAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final Keyword cWriteWriteKeyword_4_0 = (Keyword)cWriteAssignment_4.eContents().get(0); + private final Assignment cTypeAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cTypeTypeParserRuleCall_5_0 = (RuleCall)cTypeAssignment_5.eContents().get(0); + + //ParametersDeclaration: + // parameters+=ParameterDeclaration (',' parameters+=ParameterDeclaration)* ':' read?='read'? write?='write'? type=Type; + @Override public ParserRule getRule() { return rule; } + + //parameters+=ParameterDeclaration (',' parameters+=ParameterDeclaration)* ':' read?='read'? write?='write'? type=Type + public Group getGroup() { return cGroup; } + + //parameters+=ParameterDeclaration + public Assignment getParametersAssignment_0() { return cParametersAssignment_0; } + + //ParameterDeclaration + public RuleCall getParametersParameterDeclarationParserRuleCall_0_0() { return cParametersParameterDeclarationParserRuleCall_0_0; } + + //(',' parameters+=ParameterDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //parameters+=ParameterDeclaration + public Assignment getParametersAssignment_1_1() { return cParametersAssignment_1_1; } + + //ParameterDeclaration + public RuleCall getParametersParameterDeclarationParserRuleCall_1_1_0() { return cParametersParameterDeclarationParserRuleCall_1_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //read?='read'? + public Assignment getReadAssignment_3() { return cReadAssignment_3; } + + //'read' + public Keyword getReadReadKeyword_3_0() { return cReadReadKeyword_3_0; } + + //write?='write'? + public Assignment getWriteAssignment_4() { return cWriteAssignment_4; } + + //'write' + public Keyword getWriteWriteKeyword_4_0() { return cWriteWriteKeyword_4_0; } + + //type=Type + public Assignment getTypeAssignment_5() { return cTypeAssignment_5; } + + //Type + public RuleCall getTypeTypeParserRuleCall_5_0() { return cTypeTypeParserRuleCall_5_0; } + } + public class ParameterDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ParameterDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cGroup.eContents().get(0); + private final Assignment cReferenceAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); + private final Keyword cReferenceAmpersandKeyword_0_0_0 = (Keyword)cReferenceAssignment_0_0.eContents().get(0); + private final Group cGroup_0_1 = (Group)cGroup_0.eContents().get(1); + private final Assignment cArrayAssignment_0_1_0 = (Assignment)cGroup_0_1.eContents().get(0); + private final Keyword cArrayLeftSquareBracketKeyword_0_1_0_0 = (Keyword)cArrayAssignment_0_1_0.eContents().get(0); + private final Assignment cSizeAssignment_0_1_1 = (Assignment)cGroup_0_1.eContents().get(1); + private final RuleCall cSizeExpressionParserRuleCall_0_1_1_0 = (RuleCall)cSizeAssignment_0_1_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_0_1_2 = (Keyword)cGroup_0_1.eContents().get(2); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + + //ParameterDeclaration: + // (reference?='&' (array?='[' size=Expression ']')?)? name=ID; + @Override public ParserRule getRule() { return rule; } + + //(reference?='&' (array?='[' size=Expression ']')?)? name=ID + public Group getGroup() { return cGroup; } + + //(reference?='&' (array?='[' size=Expression ']')?)? + public Group getGroup_0() { return cGroup_0; } + + //reference?='&' + public Assignment getReferenceAssignment_0_0() { return cReferenceAssignment_0_0; } + + //'&' + public Keyword getReferenceAmpersandKeyword_0_0_0() { return cReferenceAmpersandKeyword_0_0_0; } + + //(array?='[' size=Expression ']')? + public Group getGroup_0_1() { return cGroup_0_1; } + + //array?='[' + public Assignment getArrayAssignment_0_1_0() { return cArrayAssignment_0_1_0; } + + //'[' + public Keyword getArrayLeftSquareBracketKeyword_0_1_0_0() { return cArrayLeftSquareBracketKeyword_0_1_0_0; } + + //size=Expression + public Assignment getSizeAssignment_0_1_1() { return cSizeAssignment_0_1_1; } + + //Expression + public RuleCall getSizeExpressionParserRuleCall_0_1_1_0() { return cSizeExpressionParserRuleCall_0_1_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_0_1_2() { return cRightSquareBracketKeyword_0_1_2; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + } + public class VariablesDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.VariablesDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cVariablesAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cVariablesVariableDeclarationParserRuleCall_0_0 = (RuleCall)cVariablesAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cVariablesAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cVariablesVariableDeclarationParserRuleCall_1_1_0 = (RuleCall)cVariablesAssignment_1_1.eContents().get(0); + private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypeTypeParserRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cColonEqualsSignKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cValueAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final RuleCall cValueExpressionParserRuleCall_4_1_0 = (RuleCall)cValueAssignment_4_1.eContents().get(0); + + //VariablesDeclaration: + // variables+=VariableDeclaration (',' variables+=VariableDeclaration)* ':' type=Type (':=' value=Expression)?; + @Override public ParserRule getRule() { return rule; } + + //variables+=VariableDeclaration (',' variables+=VariableDeclaration)* ':' type=Type (':=' value=Expression)? + public Group getGroup() { return cGroup; } + + //variables+=VariableDeclaration + public Assignment getVariablesAssignment_0() { return cVariablesAssignment_0; } + + //VariableDeclaration + public RuleCall getVariablesVariableDeclarationParserRuleCall_0_0() { return cVariablesVariableDeclarationParserRuleCall_0_0; } + + //(',' variables+=VariableDeclaration)* + public Group getGroup_1() { return cGroup_1; } + + //',' + public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; } + + //variables+=VariableDeclaration + public Assignment getVariablesAssignment_1_1() { return cVariablesAssignment_1_1; } + + //VariableDeclaration + public RuleCall getVariablesVariableDeclarationParserRuleCall_1_1_0() { return cVariablesVariableDeclarationParserRuleCall_1_1_0; } + + //':' + public Keyword getColonKeyword_2() { return cColonKeyword_2; } + + //type=Type + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //Type + public RuleCall getTypeTypeParserRuleCall_3_0() { return cTypeTypeParserRuleCall_3_0; } + + //(':=' value=Expression)? + public Group getGroup_4() { return cGroup_4; } + + //':=' + public Keyword getColonEqualsSignKeyword_4_0() { return cColonEqualsSignKeyword_4_0; } + + //value=Expression + public Assignment getValueAssignment_4_1() { return cValueAssignment_4_1; } + + //Expression + public RuleCall getValueExpressionParserRuleCall_4_1_0() { return cValueExpressionParserRuleCall_4_1_0; } + } + public class VariableDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.VariableDeclaration"); + private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0); + + //VariableDeclaration: + // name=ID; + @Override public ParserRule getRule() { return rule; } + + //name=ID + public Assignment getNameAssignment() { return cNameAssignment; } + + //ID + public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; } + } + public class PriorityDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PriorityDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cGroupsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cGroupsPriorityGroupParserRuleCall_0_0 = (RuleCall)cGroupsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cGreaterThanSignKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cGroupsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cGroupsPriorityGroupParserRuleCall_1_1_0 = (RuleCall)cGroupsAssignment_1_1.eContents().get(0); + + //PriorityDeclaration: + // groups+=PriorityGroup ('>' groups+=PriorityGroup)+; + @Override public ParserRule getRule() { return rule; } + + //groups+=PriorityGroup ('>' groups+=PriorityGroup)+ + public Group getGroup() { return cGroup; } + + //groups+=PriorityGroup + public Assignment getGroupsAssignment_0() { return cGroupsAssignment_0; } + + //PriorityGroup + public RuleCall getGroupsPriorityGroupParserRuleCall_0_0() { return cGroupsPriorityGroupParserRuleCall_0_0; } + + //('>' groups+=PriorityGroup)+ + public Group getGroup_1() { return cGroup_1; } + + //'>' + public Keyword getGreaterThanSignKeyword_1_0() { return cGreaterThanSignKeyword_1_0; } + + //groups+=PriorityGroup + public Assignment getGroupsAssignment_1_1() { return cGroupsAssignment_1_1; } + + //PriorityGroup + public RuleCall getGroupsPriorityGroupParserRuleCall_1_1_0() { return cGroupsPriorityGroupParserRuleCall_1_1_0; } + } + public class PriorityGroupElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PriorityGroup"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cPortsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cPortsPortDeclarationCrossReference_0_0 = (CrossReference)cPortsAssignment_0.eContents().get(0); + private final RuleCall cPortsPortDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cPortsPortDeclarationCrossReference_0_0.eContents().get(1); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cVerticalLineKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cPortsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final CrossReference cPortsPortDeclarationCrossReference_1_1_0 = (CrossReference)cPortsAssignment_1_1.eContents().get(0); + private final RuleCall cPortsPortDeclarationIDTerminalRuleCall_1_1_0_1 = (RuleCall)cPortsPortDeclarationCrossReference_1_1_0.eContents().get(1); + + //PriorityGroup: + // ports+=[PortDeclaration] ('|' ports+=[PortDeclaration])*; + @Override public ParserRule getRule() { return rule; } + + //ports+=[PortDeclaration] ('|' ports+=[PortDeclaration])* + public Group getGroup() { return cGroup; } + + //ports+=[PortDeclaration] + public Assignment getPortsAssignment_0() { return cPortsAssignment_0; } + + //[PortDeclaration] + public CrossReference getPortsPortDeclarationCrossReference_0_0() { return cPortsPortDeclarationCrossReference_0_0; } + + //ID + public RuleCall getPortsPortDeclarationIDTerminalRuleCall_0_0_1() { return cPortsPortDeclarationIDTerminalRuleCall_0_0_1; } + + //('|' ports+=[PortDeclaration])* + public Group getGroup_1() { return cGroup_1; } + + //'|' + public Keyword getVerticalLineKeyword_1_0() { return cVerticalLineKeyword_1_0; } + + //ports+=[PortDeclaration] + public Assignment getPortsAssignment_1_1() { return cPortsAssignment_1_1; } + + //[PortDeclaration] + public CrossReference getPortsPortDeclarationCrossReference_1_1_0() { return cPortsPortDeclarationCrossReference_1_1_0; } + + //ID + public RuleCall getPortsPortDeclarationIDTerminalRuleCall_1_1_0_1() { return cPortsPortDeclarationIDTerminalRuleCall_1_1_0_1; } + } + public class UnlessStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnlessStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cStatementChoiceParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cUnlessStatementFollowersAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cUnlessKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cFollowersAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cFollowersStatementChoiceParserRuleCall_1_2_0 = (RuleCall)cFollowersAssignment_1_2.eContents().get(0); + + //UnlessStatement Statement: + // StatementChoice ({UnlessStatement.followers+=current} 'unless' followers+=StatementChoice)* + @Override public ParserRule getRule() { return rule; } + + //StatementChoice ({UnlessStatement.followers+=current} 'unless' followers+=StatementChoice)* + public Group getGroup() { return cGroup; } + + //StatementChoice + public RuleCall getStatementChoiceParserRuleCall_0() { return cStatementChoiceParserRuleCall_0; } + + //({UnlessStatement.followers+=current} 'unless' followers+=StatementChoice)* + public Group getGroup_1() { return cGroup_1; } + + //{UnlessStatement.followers+=current} + public Action getUnlessStatementFollowersAction_1_0() { return cUnlessStatementFollowersAction_1_0; } + + //'unless' + public Keyword getUnlessKeyword_1_1() { return cUnlessKeyword_1_1; } + + //followers+=StatementChoice + public Assignment getFollowersAssignment_1_2() { return cFollowersAssignment_1_2; } + + //StatementChoice + public RuleCall getFollowersStatementChoiceParserRuleCall_1_2_0() { return cFollowersStatementChoiceParserRuleCall_1_2_0; } + } + public class StatementChoiceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.StatementChoice"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cStatementSequenceParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cStatementChoiceChoicesAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cLeftSquareBracketRightSquareBracketKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cChoicesAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cChoicesStatementSequenceParserRuleCall_1_2_0 = (RuleCall)cChoicesAssignment_1_2.eContents().get(0); + + //StatementChoice Statement: + // StatementSequence ({StatementChoice.choices+=current} '[]' choices+=StatementSequence)* + @Override public ParserRule getRule() { return rule; } + + //StatementSequence ({StatementChoice.choices+=current} '[]' choices+=StatementSequence)* + public Group getGroup() { return cGroup; } + + //StatementSequence + public RuleCall getStatementSequenceParserRuleCall_0() { return cStatementSequenceParserRuleCall_0; } + + //({StatementChoice.choices+=current} '[]' choices+=StatementSequence)* + public Group getGroup_1() { return cGroup_1; } + + //{StatementChoice.choices+=current} + public Action getStatementChoiceChoicesAction_1_0() { return cStatementChoiceChoicesAction_1_0; } + + //'[]' + public Keyword getLeftSquareBracketRightSquareBracketKeyword_1_1() { return cLeftSquareBracketRightSquareBracketKeyword_1_1; } + + //choices+=StatementSequence + public Assignment getChoicesAssignment_1_2() { return cChoicesAssignment_1_2; } + + //StatementSequence + public RuleCall getChoicesStatementSequenceParserRuleCall_1_2_0() { return cChoicesStatementSequenceParserRuleCall_1_2_0; } + } + public class StatementSequenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.StatementSequence"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cStatementParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cStatementSequenceStatementsAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cSemicolonKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cStatementsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cStatementsStatementParserRuleCall_1_2_0 = (RuleCall)cStatementsAssignment_1_2.eContents().get(0); + + //StatementSequence Statement: + // Statement ({StatementSequence.statements+=current} ';' statements+=Statement)* + @Override public ParserRule getRule() { return rule; } + + //Statement ({StatementSequence.statements+=current} ';' statements+=Statement)* + public Group getGroup() { return cGroup; } + + //Statement + public RuleCall getStatementParserRuleCall_0() { return cStatementParserRuleCall_0; } + + //({StatementSequence.statements+=current} ';' statements+=Statement)* + public Group getGroup_1() { return cGroup_1; } + + //{StatementSequence.statements+=current} + public Action getStatementSequenceStatementsAction_1_0() { return cStatementSequenceStatementsAction_1_0; } + + //';' + public Keyword getSemicolonKeyword_1_1() { return cSemicolonKeyword_1_1; } + + //statements+=Statement + public Assignment getStatementsAssignment_1_2() { return cStatementsAssignment_1_2; } + + //Statement + public RuleCall getStatementsStatementParserRuleCall_1_2_0() { return cStatementsStatementParserRuleCall_1_2_0; } + } + public class StatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Statement"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cNullStatementParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cTaggedStatementParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cPatternStatementParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cConditionalStatementParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cSelectStatementParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cWhileStatementParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cForeachStatementParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cToStatementParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final RuleCall cCaseStatementParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); + private final RuleCall cLoopStatementParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); + private final RuleCall cOnStatementParserRuleCall_10 = (RuleCall)cAlternatives.eContents().get(10); + private final RuleCall cWaitStatementParserRuleCall_11 = (RuleCall)cAlternatives.eContents().get(11); + private final RuleCall cReturnStatementParserRuleCall_12 = (RuleCall)cAlternatives.eContents().get(12); + private final RuleCall cBlockStatementParserRuleCall_13 = (RuleCall)cAlternatives.eContents().get(13); + + //Statement: + // NullStatement + // | TaggedStatement + // | PatternStatement + // | ConditionalStatement + // | SelectStatement + // | WhileStatement + // | ForeachStatement + // | ToStatement + // | CaseStatement + // | LoopStatement + // | OnStatement + // | WaitStatement + // | ReturnStatement + // | BlockStatement; + @Override public ParserRule getRule() { return rule; } + + //NullStatement | TaggedStatement | PatternStatement | ConditionalStatement | SelectStatement | WhileStatement | + //ForeachStatement | ToStatement | CaseStatement | LoopStatement | OnStatement | WaitStatement | ReturnStatement | + //BlockStatement + public Alternatives getAlternatives() { return cAlternatives; } + + //NullStatement + public RuleCall getNullStatementParserRuleCall_0() { return cNullStatementParserRuleCall_0; } + + //TaggedStatement + public RuleCall getTaggedStatementParserRuleCall_1() { return cTaggedStatementParserRuleCall_1; } + + //PatternStatement + public RuleCall getPatternStatementParserRuleCall_2() { return cPatternStatementParserRuleCall_2; } + + //ConditionalStatement + public RuleCall getConditionalStatementParserRuleCall_3() { return cConditionalStatementParserRuleCall_3; } + + //SelectStatement + public RuleCall getSelectStatementParserRuleCall_4() { return cSelectStatementParserRuleCall_4; } + + //WhileStatement + public RuleCall getWhileStatementParserRuleCall_5() { return cWhileStatementParserRuleCall_5; } + + //ForeachStatement + public RuleCall getForeachStatementParserRuleCall_6() { return cForeachStatementParserRuleCall_6; } + + //ToStatement + public RuleCall getToStatementParserRuleCall_7() { return cToStatementParserRuleCall_7; } + + //CaseStatement + public RuleCall getCaseStatementParserRuleCall_8() { return cCaseStatementParserRuleCall_8; } + + //LoopStatement + public RuleCall getLoopStatementParserRuleCall_9() { return cLoopStatementParserRuleCall_9; } + + //OnStatement + public RuleCall getOnStatementParserRuleCall_10() { return cOnStatementParserRuleCall_10; } + + //WaitStatement + public RuleCall getWaitStatementParserRuleCall_11() { return cWaitStatementParserRuleCall_11; } + + //ReturnStatement + public RuleCall getReturnStatementParserRuleCall_12() { return cReturnStatementParserRuleCall_12; } + + //BlockStatement + public RuleCall getBlockStatementParserRuleCall_13() { return cBlockStatementParserRuleCall_13; } + } + public class BlockStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.BlockStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBeginKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cBodyAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cBodyStatementSequenceParserRuleCall_1_0 = (RuleCall)cBodyAssignment_1.eContents().get(0); + private final Keyword cEndKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //BlockStatement: + // 'begin' body=StatementSequence 'end'; + @Override public ParserRule getRule() { return rule; } + + //'begin' body=StatementSequence 'end' + public Group getGroup() { return cGroup; } + + //'begin' + public Keyword getBeginKeyword_0() { return cBeginKeyword_0; } + + //body=StatementSequence + public Assignment getBodyAssignment_1() { return cBodyAssignment_1; } + + //StatementSequence + public RuleCall getBodyStatementSequenceParserRuleCall_1_0() { return cBodyStatementSequenceParserRuleCall_1_0; } + + //'end' + public Keyword getEndKeyword_2() { return cEndKeyword_2; } + } + public class ReturnStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ReturnStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cReturnKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cExpressionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cExpressionExpressionParserRuleCall_1_0 = (RuleCall)cExpressionAssignment_1.eContents().get(0); + + //ReturnStatement: + // 'return' expression=Expression; + @Override public ParserRule getRule() { return rule; } + + //'return' expression=Expression + public Group getGroup() { return cGroup; } + + //'return' + public Keyword getReturnKeyword_0() { return cReturnKeyword_0; } + + //expression=Expression + public Assignment getExpressionAssignment_1() { return cExpressionAssignment_1; } + + //Expression + public RuleCall getExpressionExpressionParserRuleCall_1_0() { return cExpressionExpressionParserRuleCall_1_0; } + } + public class NullStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NullStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cNullStatementAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cNullKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //NullStatement: + // {NullStatement} 'null'; + @Override public ParserRule getRule() { return rule; } + + //{NullStatement} 'null' + public Group getGroup() { return cGroup; } + + //{NullStatement} + public Action getNullStatementAction_0() { return cNullStatementAction_0; } + + //'null' + public Keyword getNullKeyword_1() { return cNullKeyword_1; } + } + public class TaggedStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TaggedStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cNumberSignKeyword_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); + + //TaggedStatement: + // '#' name=ID //tag=TagDeclaration + //; + @Override public ParserRule getRule() { return rule; } + + //'#' name=ID + public Group getGroup() { return cGroup; } + + //'#' + public Keyword getNumberSignKeyword_0() { return cNumberSignKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + } + public class PatternStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PatternStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cPatternParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Keyword cCommaKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); + private final Action cAssignStatementPatternsAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); + private final Assignment cPatternsAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); + private final RuleCall cPatternsPatternParserRuleCall_1_0_2_0 = (RuleCall)cPatternsAssignment_1_0_2.eContents().get(0); + private final Group cGroup_1_0_3 = (Group)cGroup_1_0.eContents().get(3); + private final Keyword cCommaKeyword_1_0_3_0 = (Keyword)cGroup_1_0_3.eContents().get(0); + private final Assignment cPatternsAssignment_1_0_3_1 = (Assignment)cGroup_1_0_3.eContents().get(1); + private final RuleCall cPatternsPatternParserRuleCall_1_0_3_1_0 = (RuleCall)cPatternsAssignment_1_0_3_1.eContents().get(0); + private final Keyword cColonEqualsSignKeyword_1_0_4 = (Keyword)cGroup_1_0.eContents().get(4); + private final Assignment cValuesAssignment_1_0_5 = (Assignment)cGroup_1_0.eContents().get(5); + private final RuleCall cValuesExpressionParserRuleCall_1_0_5_0 = (RuleCall)cValuesAssignment_1_0_5.eContents().get(0); + private final Group cGroup_1_0_6 = (Group)cGroup_1_0.eContents().get(6); + private final Keyword cCommaKeyword_1_0_6_0 = (Keyword)cGroup_1_0_6.eContents().get(0); + private final Assignment cValuesAssignment_1_0_6_1 = (Assignment)cGroup_1_0_6.eContents().get(1); + private final RuleCall cValuesExpressionParserRuleCall_1_0_6_1_0 = (RuleCall)cValuesAssignment_1_0_6_1.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Keyword cColonEqualsSignKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); + private final Action cAssignStatementPatternsAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); + private final Group cGroup_1_1_2 = (Group)cGroup_1_1.eContents().get(2); + private final Assignment cValuesAssignment_1_1_2_0 = (Assignment)cGroup_1_1_2.eContents().get(0); + private final RuleCall cValuesExpressionParserRuleCall_1_1_2_0_0 = (RuleCall)cValuesAssignment_1_1_2_0.eContents().get(0); + private final Group cGroup_1_1_2_1 = (Group)cGroup_1_1_2.eContents().get(1); + private final Keyword cCommaKeyword_1_1_2_1_0 = (Keyword)cGroup_1_1_2_1.eContents().get(0); + private final Assignment cValuesAssignment_1_1_2_1_1 = (Assignment)cGroup_1_1_2_1.eContents().get(1); + private final RuleCall cValuesExpressionParserRuleCall_1_1_2_1_1_0 = (RuleCall)cValuesAssignment_1_1_2_1_1.eContents().get(0); + private final Group cGroup_1_2 = (Group)cAlternatives_1.eContents().get(2); + private final Keyword cCommaKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0); + private final Action cAssignAnyStatementPatternsAction_1_2_1 = (Action)cGroup_1_2.eContents().get(1); + private final Assignment cPatternsAssignment_1_2_2 = (Assignment)cGroup_1_2.eContents().get(2); + private final RuleCall cPatternsPatternParserRuleCall_1_2_2_0 = (RuleCall)cPatternsAssignment_1_2_2.eContents().get(0); + private final Group cGroup_1_2_3 = (Group)cGroup_1_2.eContents().get(3); + private final Keyword cCommaKeyword_1_2_3_0 = (Keyword)cGroup_1_2_3.eContents().get(0); + private final Assignment cPatternsAssignment_1_2_3_1 = (Assignment)cGroup_1_2_3.eContents().get(1); + private final RuleCall cPatternsPatternParserRuleCall_1_2_3_1_0 = (RuleCall)cPatternsAssignment_1_2_3_1.eContents().get(0); + private final Keyword cColonEqualsSignKeyword_1_2_4 = (Keyword)cGroup_1_2.eContents().get(4); + private final Keyword cAnyKeyword_1_2_5 = (Keyword)cGroup_1_2.eContents().get(5); + private final Group cGroup_1_2_6 = (Group)cGroup_1_2.eContents().get(6); + private final Keyword cWhereKeyword_1_2_6_0 = (Keyword)cGroup_1_2_6.eContents().get(0); + private final Assignment cExpAssignment_1_2_6_1 = (Assignment)cGroup_1_2_6.eContents().get(1); + private final RuleCall cExpExpressionParserRuleCall_1_2_6_1_0 = (RuleCall)cExpAssignment_1_2_6_1.eContents().get(0); + private final Group cGroup_1_3 = (Group)cAlternatives_1.eContents().get(3); + private final Keyword cColonEqualsSignKeyword_1_3_0 = (Keyword)cGroup_1_3.eContents().get(0); + private final Action cAssignAnyStatementPatternsAction_1_3_1 = (Action)cGroup_1_3.eContents().get(1); + private final Keyword cAnyKeyword_1_3_2 = (Keyword)cGroup_1_3.eContents().get(2); + private final Group cGroup_1_3_3 = (Group)cGroup_1_3.eContents().get(3); + private final Keyword cWhereKeyword_1_3_3_0 = (Keyword)cGroup_1_3_3.eContents().get(0); + private final Assignment cExpAssignment_1_3_3_1 = (Assignment)cGroup_1_3_3.eContents().get(1); + private final RuleCall cExpExpressionParserRuleCall_1_3_3_1_0 = (RuleCall)cExpAssignment_1_3_3_1.eContents().get(0); + private final Group cGroup_1_4 = (Group)cAlternatives_1.eContents().get(4); + private final Keyword cExclamationMarkKeyword_1_4_0 = (Keyword)cGroup_1_4.eContents().get(0); + private final Action cSendStatementPortAction_1_4_1 = (Action)cGroup_1_4.eContents().get(1); + private final Assignment cValuesAssignment_1_4_2 = (Assignment)cGroup_1_4.eContents().get(2); + private final RuleCall cValuesExpressionParserRuleCall_1_4_2_0 = (RuleCall)cValuesAssignment_1_4_2.eContents().get(0); + private final Group cGroup_1_4_3 = (Group)cGroup_1_4.eContents().get(3); + private final Keyword cCommaKeyword_1_4_3_0 = (Keyword)cGroup_1_4_3.eContents().get(0); + private final Assignment cValuesAssignment_1_4_3_1 = (Assignment)cGroup_1_4_3.eContents().get(1); + private final RuleCall cValuesExpressionParserRuleCall_1_4_3_1_0 = (RuleCall)cValuesAssignment_1_4_3_1.eContents().get(0); + private final Group cGroup_1_5 = (Group)cAlternatives_1.eContents().get(5); + private final Keyword cQuestionMarkKeyword_1_5_0 = (Keyword)cGroup_1_5.eContents().get(0); + private final Action cReceiveStatementPortAction_1_5_1 = (Action)cGroup_1_5.eContents().get(1); + private final Assignment cPatternsAssignment_1_5_2 = (Assignment)cGroup_1_5.eContents().get(2); + private final RuleCall cPatternsPatternParserRuleCall_1_5_2_0 = (RuleCall)cPatternsAssignment_1_5_2.eContents().get(0); + private final Group cGroup_1_5_3 = (Group)cGroup_1_5.eContents().get(3); + private final Keyword cCommaKeyword_1_5_3_0 = (Keyword)cGroup_1_5_3.eContents().get(0); + private final Assignment cPatternsAssignment_1_5_3_1 = (Assignment)cGroup_1_5_3.eContents().get(1); + private final RuleCall cPatternsPatternParserRuleCall_1_5_3_1_0 = (RuleCall)cPatternsAssignment_1_5_3_1.eContents().get(0); + private final Group cGroup_1_5_4 = (Group)cGroup_1_5.eContents().get(4); + private final Keyword cWhereKeyword_1_5_4_0 = (Keyword)cGroup_1_5_4.eContents().get(0); + private final Assignment cExpAssignment_1_5_4_1 = (Assignment)cGroup_1_5_4.eContents().get(1); + private final RuleCall cExpExpressionParserRuleCall_1_5_4_1_0 = (RuleCall)cExpAssignment_1_5_4_1.eContents().get(0); + + ////TagDeclaration: + //// name=ID + ////; + //PatternStatement: + // Pattern (',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression + // (',' values+=Expression)* | ':=' {AssignStatement.patterns+=current} (values+=Expression (',' values+=Expression)*) | + // ',' {AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' 'any' ('where' + // exp=Expression)? | ':=' {AssignAnyStatement.patterns+=current} 'any' ('where' exp=Expression)? | '!' + // {SendStatement.port=current} values+=Expression (',' values+=Expression)* | '?' {ReceiveStatement.port=current} + // patterns+=Pattern (',' patterns+=Pattern)* ('where' exp=Expression)?)?; + @Override public ParserRule getRule() { return rule; } + + //Pattern (',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression (',' + //values+=Expression)* | ':=' {AssignStatement.patterns+=current} (values+=Expression (',' values+=Expression)*) | ',' + //{AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' 'any' ('where' exp=Expression)? + //| ':=' {AssignAnyStatement.patterns+=current} 'any' ('where' exp=Expression)? | '!' {SendStatement.port=current} + //values+=Expression (',' values+=Expression)* | '?' {ReceiveStatement.port=current} patterns+=Pattern (',' + //patterns+=Pattern)* ('where' exp=Expression)?)? + public Group getGroup() { return cGroup; } + + //Pattern + public RuleCall getPatternParserRuleCall_0() { return cPatternParserRuleCall_0; } + + //(',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression (',' + //values+=Expression)* | ':=' {AssignStatement.patterns+=current} (values+=Expression (',' values+=Expression)*) | ',' + //{AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' 'any' ('where' exp=Expression)? + //| ':=' {AssignAnyStatement.patterns+=current} 'any' ('where' exp=Expression)? | '!' {SendStatement.port=current} + //values+=Expression (',' values+=Expression)* | '?' {ReceiveStatement.port=current} patterns+=Pattern (',' + //patterns+=Pattern)* ('where' exp=Expression)?)? + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression (',' + //values+=Expression)* + public Group getGroup_1_0() { return cGroup_1_0; } + + //',' + public Keyword getCommaKeyword_1_0_0() { return cCommaKeyword_1_0_0; } + + //{AssignStatement.patterns+=current} + public Action getAssignStatementPatternsAction_1_0_1() { return cAssignStatementPatternsAction_1_0_1; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_0_2() { return cPatternsAssignment_1_0_2; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_0_2_0() { return cPatternsPatternParserRuleCall_1_0_2_0; } + + //(',' patterns+=Pattern)* + public Group getGroup_1_0_3() { return cGroup_1_0_3; } + + //',' + public Keyword getCommaKeyword_1_0_3_0() { return cCommaKeyword_1_0_3_0; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_0_3_1() { return cPatternsAssignment_1_0_3_1; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_0_3_1_0() { return cPatternsPatternParserRuleCall_1_0_3_1_0; } + + //':=' + public Keyword getColonEqualsSignKeyword_1_0_4() { return cColonEqualsSignKeyword_1_0_4; } + + //values+=Expression + public Assignment getValuesAssignment_1_0_5() { return cValuesAssignment_1_0_5; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_0_5_0() { return cValuesExpressionParserRuleCall_1_0_5_0; } + + //(',' values+=Expression)* + public Group getGroup_1_0_6() { return cGroup_1_0_6; } + + //',' + public Keyword getCommaKeyword_1_0_6_0() { return cCommaKeyword_1_0_6_0; } + + //values+=Expression + public Assignment getValuesAssignment_1_0_6_1() { return cValuesAssignment_1_0_6_1; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_0_6_1_0() { return cValuesExpressionParserRuleCall_1_0_6_1_0; } + + //':=' {AssignStatement.patterns+=current} (values+=Expression (',' values+=Expression)*) + public Group getGroup_1_1() { return cGroup_1_1; } + + //':=' + public Keyword getColonEqualsSignKeyword_1_1_0() { return cColonEqualsSignKeyword_1_1_0; } + + //{AssignStatement.patterns+=current} + public Action getAssignStatementPatternsAction_1_1_1() { return cAssignStatementPatternsAction_1_1_1; } + + //(values+=Expression (',' values+=Expression)*) + public Group getGroup_1_1_2() { return cGroup_1_1_2; } + + //values+=Expression + public Assignment getValuesAssignment_1_1_2_0() { return cValuesAssignment_1_1_2_0; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_1_2_0_0() { return cValuesExpressionParserRuleCall_1_1_2_0_0; } + + //(',' values+=Expression)* + public Group getGroup_1_1_2_1() { return cGroup_1_1_2_1; } + + //',' + public Keyword getCommaKeyword_1_1_2_1_0() { return cCommaKeyword_1_1_2_1_0; } + + //values+=Expression + public Assignment getValuesAssignment_1_1_2_1_1() { return cValuesAssignment_1_1_2_1_1; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_1_2_1_1_0() { return cValuesExpressionParserRuleCall_1_1_2_1_1_0; } + + //',' {AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' 'any' ('where' + //exp=Expression)? + public Group getGroup_1_2() { return cGroup_1_2; } + + //',' + public Keyword getCommaKeyword_1_2_0() { return cCommaKeyword_1_2_0; } + + //{AssignAnyStatement.patterns+=current} + public Action getAssignAnyStatementPatternsAction_1_2_1() { return cAssignAnyStatementPatternsAction_1_2_1; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_2_2() { return cPatternsAssignment_1_2_2; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_2_2_0() { return cPatternsPatternParserRuleCall_1_2_2_0; } + + //(',' patterns+=Pattern)* + public Group getGroup_1_2_3() { return cGroup_1_2_3; } + + //',' + public Keyword getCommaKeyword_1_2_3_0() { return cCommaKeyword_1_2_3_0; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_2_3_1() { return cPatternsAssignment_1_2_3_1; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_2_3_1_0() { return cPatternsPatternParserRuleCall_1_2_3_1_0; } + + //':=' + public Keyword getColonEqualsSignKeyword_1_2_4() { return cColonEqualsSignKeyword_1_2_4; } + + //'any' + public Keyword getAnyKeyword_1_2_5() { return cAnyKeyword_1_2_5; } + + //('where' exp=Expression)? + public Group getGroup_1_2_6() { return cGroup_1_2_6; } + + //'where' + public Keyword getWhereKeyword_1_2_6_0() { return cWhereKeyword_1_2_6_0; } + + //exp=Expression + public Assignment getExpAssignment_1_2_6_1() { return cExpAssignment_1_2_6_1; } + + //Expression + public RuleCall getExpExpressionParserRuleCall_1_2_6_1_0() { return cExpExpressionParserRuleCall_1_2_6_1_0; } + + //':=' {AssignAnyStatement.patterns+=current} 'any' ('where' exp=Expression)? + public Group getGroup_1_3() { return cGroup_1_3; } + + //':=' + public Keyword getColonEqualsSignKeyword_1_3_0() { return cColonEqualsSignKeyword_1_3_0; } + + //{AssignAnyStatement.patterns+=current} + public Action getAssignAnyStatementPatternsAction_1_3_1() { return cAssignAnyStatementPatternsAction_1_3_1; } + + //'any' + public Keyword getAnyKeyword_1_3_2() { return cAnyKeyword_1_3_2; } + + //('where' exp=Expression)? + public Group getGroup_1_3_3() { return cGroup_1_3_3; } + + //'where' + public Keyword getWhereKeyword_1_3_3_0() { return cWhereKeyword_1_3_3_0; } + + //exp=Expression + public Assignment getExpAssignment_1_3_3_1() { return cExpAssignment_1_3_3_1; } + + //Expression + public RuleCall getExpExpressionParserRuleCall_1_3_3_1_0() { return cExpExpressionParserRuleCall_1_3_3_1_0; } + + //'!' {SendStatement.port=current} values+=Expression (',' values+=Expression)* + public Group getGroup_1_4() { return cGroup_1_4; } + + //'!' + public Keyword getExclamationMarkKeyword_1_4_0() { return cExclamationMarkKeyword_1_4_0; } + + //{SendStatement.port=current} + public Action getSendStatementPortAction_1_4_1() { return cSendStatementPortAction_1_4_1; } + + //values+=Expression + public Assignment getValuesAssignment_1_4_2() { return cValuesAssignment_1_4_2; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_4_2_0() { return cValuesExpressionParserRuleCall_1_4_2_0; } + + //(',' values+=Expression)* + public Group getGroup_1_4_3() { return cGroup_1_4_3; } + + //',' + public Keyword getCommaKeyword_1_4_3_0() { return cCommaKeyword_1_4_3_0; } + + //values+=Expression + public Assignment getValuesAssignment_1_4_3_1() { return cValuesAssignment_1_4_3_1; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_1_4_3_1_0() { return cValuesExpressionParserRuleCall_1_4_3_1_0; } + + //'?' {ReceiveStatement.port=current} patterns+=Pattern (',' patterns+=Pattern)* ('where' exp=Expression)? + public Group getGroup_1_5() { return cGroup_1_5; } + + //'?' + public Keyword getQuestionMarkKeyword_1_5_0() { return cQuestionMarkKeyword_1_5_0; } + + //{ReceiveStatement.port=current} + public Action getReceiveStatementPortAction_1_5_1() { return cReceiveStatementPortAction_1_5_1; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_5_2() { return cPatternsAssignment_1_5_2; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_5_2_0() { return cPatternsPatternParserRuleCall_1_5_2_0; } + + //(',' patterns+=Pattern)* + public Group getGroup_1_5_3() { return cGroup_1_5_3; } + + //',' + public Keyword getCommaKeyword_1_5_3_0() { return cCommaKeyword_1_5_3_0; } + + //patterns+=Pattern + public Assignment getPatternsAssignment_1_5_3_1() { return cPatternsAssignment_1_5_3_1; } + + //Pattern + public RuleCall getPatternsPatternParserRuleCall_1_5_3_1_0() { return cPatternsPatternParserRuleCall_1_5_3_1_0; } + + //('where' exp=Expression)? + public Group getGroup_1_5_4() { return cGroup_1_5_4; } + + //'where' + public Keyword getWhereKeyword_1_5_4_0() { return cWhereKeyword_1_5_4_0; } + + //exp=Expression + public Assignment getExpAssignment_1_5_4_1() { return cExpAssignment_1_5_4_1; } + + //Expression + public RuleCall getExpExpressionParserRuleCall_1_5_4_1_0() { return cExpExpressionParserRuleCall_1_5_4_1_0; } + } + public class PatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Pattern"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cAnyPatternParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cIntegerPatternParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cConstantPatternParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3); + private final Keyword cLeftParenthesisKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final RuleCall cPatternParserRuleCall_3_1 = (RuleCall)cGroup_3.eContents().get(1); + private final Keyword cRightParenthesisKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); + private final RuleCall cIdentifierPatternParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + + //Pattern: + // AnyPattern + // | IntegerPattern + // | ConstantPattern + // | '(' Pattern ')' + // | IdentifierPattern; + @Override public ParserRule getRule() { return rule; } + + //AnyPattern | IntegerPattern | ConstantPattern | '(' Pattern ')' | IdentifierPattern + public Alternatives getAlternatives() { return cAlternatives; } + + //AnyPattern + public RuleCall getAnyPatternParserRuleCall_0() { return cAnyPatternParserRuleCall_0; } + + //IntegerPattern + public RuleCall getIntegerPatternParserRuleCall_1() { return cIntegerPatternParserRuleCall_1; } + + //ConstantPattern + public RuleCall getConstantPatternParserRuleCall_2() { return cConstantPatternParserRuleCall_2; } + + //'(' Pattern ')' + public Group getGroup_3() { return cGroup_3; } + + //'(' + public Keyword getLeftParenthesisKeyword_3_0() { return cLeftParenthesisKeyword_3_0; } + + //Pattern + public RuleCall getPatternParserRuleCall_3_1() { return cPatternParserRuleCall_3_1; } + + //')' + public Keyword getRightParenthesisKeyword_3_2() { return cRightParenthesisKeyword_3_2; } + + //IdentifierPattern + public RuleCall getIdentifierPatternParserRuleCall_4() { return cIdentifierPatternParserRuleCall_4; } + } + public class AnyPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AnyPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cAnyPatternAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cAnyKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //AnyPattern: + // {AnyPattern} 'any'; + @Override public ParserRule getRule() { return rule; } + + //{AnyPattern} 'any' + public Group getGroup() { return cGroup; } + + //{AnyPattern} + public Action getAnyPatternAction_0() { return cAnyPatternAction_0; } + + //'any' + public Keyword getAnyKeyword_1() { return cAnyKeyword_1; } + } + public class ConstantPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ConstantPattern"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueLiteralExpressionParserRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //ConstantPattern: + // value=LiteralExpression; + @Override public ParserRule getRule() { return rule; } + + //value=LiteralExpression + public Assignment getValueAssignment() { return cValueAssignment; } + + //LiteralExpression + public RuleCall getValueLiteralExpressionParserRuleCall_0() { return cValueLiteralExpressionParserRuleCall_0; } + } + public class IntegerPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.IntegerPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Keyword cPlusSignKeyword_0_0 = (Keyword)cAlternatives_0.eContents().get(0); + private final Assignment cNegativeAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); + private final Keyword cNegativeHyphenMinusKeyword_0_1_0 = (Keyword)cNegativeAssignment_0_1.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueINTTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); + + //IntegerPattern: + // ('+' | negative?='-') value=INT; + @Override public ParserRule getRule() { return rule; } + + //('+' | negative?='-') value=INT + public Group getGroup() { return cGroup; } + + //('+' | negative?='-') + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //'+' + public Keyword getPlusSignKeyword_0_0() { return cPlusSignKeyword_0_0; } + + //negative?='-' + public Assignment getNegativeAssignment_0_1() { return cNegativeAssignment_0_1; } + + //'-' + public Keyword getNegativeHyphenMinusKeyword_0_1_0() { return cNegativeHyphenMinusKeyword_0_1_0; } + + //value=INT + public Assignment getValueAssignment_1() { return cValueAssignment_1; } + + //INT + public RuleCall getValueINTTerminalRuleCall_1_0() { return cValueINTTerminalRuleCall_1_0; } + } + public class IdentifierPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.IdentifierPattern"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cConstructorPatternAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Assignment cDeclarationAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final CrossReference cDeclarationPatternDeclarationUseCrossReference_0_1_0 = (CrossReference)cDeclarationAssignment_0_1.eContents().get(0); + private final RuleCall cDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1 = (RuleCall)cDeclarationPatternDeclarationUseCrossReference_0_1_0.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); + private final Group cGroup_0_3 = (Group)cGroup_0.eContents().get(3); + private final Assignment cParametersAssignment_0_3_0 = (Assignment)cGroup_0_3.eContents().get(0); + private final RuleCall cParametersPatternParserRuleCall_0_3_0_0 = (RuleCall)cParametersAssignment_0_3_0.eContents().get(0); + private final Group cGroup_0_3_1 = (Group)cGroup_0_3.eContents().get(1); + private final Keyword cCommaKeyword_0_3_1_0 = (Keyword)cGroup_0_3_1.eContents().get(0); + private final Assignment cParametersAssignment_0_3_1_1 = (Assignment)cGroup_0_3_1.eContents().get(1); + private final RuleCall cParametersPatternParserRuleCall_0_3_1_1_0 = (RuleCall)cParametersAssignment_0_3_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Assignment cDeclarationAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); + private final CrossReference cDeclarationPatternDeclarationUseCrossReference_1_0_0 = (CrossReference)cDeclarationAssignment_1_0.eContents().get(0); + private final RuleCall cDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1 = (RuleCall)cDeclarationPatternDeclarationUseCrossReference_1_0_0.eContents().get(1); + private final Alternatives cAlternatives_1_1 = (Alternatives)cGroup_1.eContents().get(1); + private final Group cGroup_1_1_0 = (Group)cAlternatives_1_1.eContents().get(0); + private final Keyword cLeftSquareBracketKeyword_1_1_0_0 = (Keyword)cGroup_1_1_0.eContents().get(0); + private final Action cArrayAccessPatternSourceAction_1_1_0_1 = (Action)cGroup_1_1_0.eContents().get(1); + private final Assignment cIndexAssignment_1_1_0_2 = (Assignment)cGroup_1_1_0.eContents().get(2); + private final RuleCall cIndexExpressionParserRuleCall_1_1_0_2_0 = (RuleCall)cIndexAssignment_1_1_0_2.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_1_1_0_3 = (Keyword)cGroup_1_1_0.eContents().get(3); + private final Group cGroup_1_1_1 = (Group)cAlternatives_1_1.eContents().get(1); + private final Keyword cFullStopKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0); + private final Action cRecordAccessPatternSourceAction_1_1_1_1 = (Action)cGroup_1_1_1.eContents().get(1); + private final Assignment cFieldAssignment_1_1_1_2 = (Assignment)cGroup_1_1_1.eContents().get(2); + private final CrossReference cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0 = (CrossReference)cFieldAssignment_1_1_1_2.eContents().get(0); + private final RuleCall cFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1 = (RuleCall)cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0.eContents().get(1); + + //IdentifierPattern: + // {ConstructorPattern} declaration=[PatternDeclarationUse] '(' (parameters+=Pattern (',' parameters+=Pattern)*)? ')' | + // declaration=[PatternDeclarationUse] ('[' {ArrayAccessPattern.source=current} index=Expression ']' | '.' + // {RecordAccessPattern.source=current} field=[RecordFieldDeclaration])*; + @Override public ParserRule getRule() { return rule; } + + //{ConstructorPattern} declaration=[PatternDeclarationUse] '(' (parameters+=Pattern (',' parameters+=Pattern)*)? ')' | + //declaration=[PatternDeclarationUse] ('[' {ArrayAccessPattern.source=current} index=Expression ']' | '.' + //{RecordAccessPattern.source=current} field=[RecordFieldDeclaration])* + public Alternatives getAlternatives() { return cAlternatives; } + + //{ConstructorPattern} declaration=[PatternDeclarationUse] '(' (parameters+=Pattern (',' parameters+=Pattern)*)? ')' + public Group getGroup_0() { return cGroup_0; } + + //{ConstructorPattern} + public Action getConstructorPatternAction_0_0() { return cConstructorPatternAction_0_0; } + + //declaration=[PatternDeclarationUse] + public Assignment getDeclarationAssignment_0_1() { return cDeclarationAssignment_0_1; } + + //[PatternDeclarationUse] + public CrossReference getDeclarationPatternDeclarationUseCrossReference_0_1_0() { return cDeclarationPatternDeclarationUseCrossReference_0_1_0; } + + //ID + public RuleCall getDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1() { return cDeclarationPatternDeclarationUseIDTerminalRuleCall_0_1_0_1; } + + //'(' + public Keyword getLeftParenthesisKeyword_0_2() { return cLeftParenthesisKeyword_0_2; } + + //(parameters+=Pattern (',' parameters+=Pattern)*)? + public Group getGroup_0_3() { return cGroup_0_3; } + + //parameters+=Pattern + public Assignment getParametersAssignment_0_3_0() { return cParametersAssignment_0_3_0; } + + //Pattern + public RuleCall getParametersPatternParserRuleCall_0_3_0_0() { return cParametersPatternParserRuleCall_0_3_0_0; } + + //(',' parameters+=Pattern)* + public Group getGroup_0_3_1() { return cGroup_0_3_1; } + + //',' + public Keyword getCommaKeyword_0_3_1_0() { return cCommaKeyword_0_3_1_0; } + + //parameters+=Pattern + public Assignment getParametersAssignment_0_3_1_1() { return cParametersAssignment_0_3_1_1; } + + //Pattern + public RuleCall getParametersPatternParserRuleCall_0_3_1_1_0() { return cParametersPatternParserRuleCall_0_3_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_0_4() { return cRightParenthesisKeyword_0_4; } + + //declaration=[PatternDeclarationUse] ('[' {ArrayAccessPattern.source=current} index=Expression ']' | '.' + //{RecordAccessPattern.source=current} field=[RecordFieldDeclaration])* + public Group getGroup_1() { return cGroup_1; } + + //declaration=[PatternDeclarationUse] + public Assignment getDeclarationAssignment_1_0() { return cDeclarationAssignment_1_0; } + + //[PatternDeclarationUse] + public CrossReference getDeclarationPatternDeclarationUseCrossReference_1_0_0() { return cDeclarationPatternDeclarationUseCrossReference_1_0_0; } + + //ID + public RuleCall getDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1() { return cDeclarationPatternDeclarationUseIDTerminalRuleCall_1_0_0_1; } + + //('[' {ArrayAccessPattern.source=current} index=Expression ']' | '.' {RecordAccessPattern.source=current} + //field=[RecordFieldDeclaration])* + public Alternatives getAlternatives_1_1() { return cAlternatives_1_1; } + + //'[' {ArrayAccessPattern.source=current} index=Expression ']' + public Group getGroup_1_1_0() { return cGroup_1_1_0; } + + //'[' + public Keyword getLeftSquareBracketKeyword_1_1_0_0() { return cLeftSquareBracketKeyword_1_1_0_0; } + + //{ArrayAccessPattern.source=current} + public Action getArrayAccessPatternSourceAction_1_1_0_1() { return cArrayAccessPatternSourceAction_1_1_0_1; } + + //index=Expression + public Assignment getIndexAssignment_1_1_0_2() { return cIndexAssignment_1_1_0_2; } + + //Expression + public RuleCall getIndexExpressionParserRuleCall_1_1_0_2_0() { return cIndexExpressionParserRuleCall_1_1_0_2_0; } + + //']' + public Keyword getRightSquareBracketKeyword_1_1_0_3() { return cRightSquareBracketKeyword_1_1_0_3; } + + //'.' {RecordAccessPattern.source=current} field=[RecordFieldDeclaration] + public Group getGroup_1_1_1() { return cGroup_1_1_1; } + + //'.' + public Keyword getFullStopKeyword_1_1_1_0() { return cFullStopKeyword_1_1_1_0; } + + //{RecordAccessPattern.source=current} + public Action getRecordAccessPatternSourceAction_1_1_1_1() { return cRecordAccessPatternSourceAction_1_1_1_1; } + + //field=[RecordFieldDeclaration] + public Assignment getFieldAssignment_1_1_1_2() { return cFieldAssignment_1_1_1_2; } + + //[RecordFieldDeclaration] + public CrossReference getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0() { return cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0; } + + //ID + public RuleCall getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1() { return cFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1; } + } + public class ConditionalStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ConditionalStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cIfKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cThenStatementSequenceParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); + private final Assignment cElseifAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cElseifExtendedConditionalStatementParserRuleCall_4_0 = (RuleCall)cElseifAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cElseKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cElseAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final RuleCall cElseStatementSequenceParserRuleCall_5_1_0 = (RuleCall)cElseAssignment_5_1.eContents().get(0); + private final Keyword cEndKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Keyword cIfKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //ConditionalStatement: + // 'if' condition=Expression + // 'then' then=StatementSequence elseif+=ExtendedConditionalStatement* ('else' else=StatementSequence)? 'end' 'if'?; + @Override public ParserRule getRule() { return rule; } + + //'if' condition=Expression 'then' then=StatementSequence elseif+=ExtendedConditionalStatement* ('else' + //else=StatementSequence)? 'end' 'if'? + public Group getGroup() { return cGroup; } + + //'if' + public Keyword getIfKeyword_0() { return cIfKeyword_0; } + + //condition=Expression + public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } + + //Expression + public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } + + //'then' + public Keyword getThenKeyword_2() { return cThenKeyword_2; } + + //then=StatementSequence + public Assignment getThenAssignment_3() { return cThenAssignment_3; } + + //StatementSequence + public RuleCall getThenStatementSequenceParserRuleCall_3_0() { return cThenStatementSequenceParserRuleCall_3_0; } + + //elseif+=ExtendedConditionalStatement* + public Assignment getElseifAssignment_4() { return cElseifAssignment_4; } + + //ExtendedConditionalStatement + public RuleCall getElseifExtendedConditionalStatementParserRuleCall_4_0() { return cElseifExtendedConditionalStatementParserRuleCall_4_0; } + + //('else' else=StatementSequence)? + public Group getGroup_5() { return cGroup_5; } + + //'else' + public Keyword getElseKeyword_5_0() { return cElseKeyword_5_0; } + + //else=StatementSequence + public Assignment getElseAssignment_5_1() { return cElseAssignment_5_1; } + + //StatementSequence + public RuleCall getElseStatementSequenceParserRuleCall_5_1_0() { return cElseStatementSequenceParserRuleCall_5_1_0; } + + //'end' + public Keyword getEndKeyword_6() { return cEndKeyword_6; } + + //'if'? + public Keyword getIfKeyword_7() { return cIfKeyword_7; } + } + public class ExtendedConditionalStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ExtendedConditionalStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cElsifKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + private final Keyword cThenKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cThenAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cThenStatementSequenceParserRuleCall_3_0 = (RuleCall)cThenAssignment_3.eContents().get(0); + + //ExtendedConditionalStatement: + // 'elsif' condition=Expression 'then' then=StatementSequence; + @Override public ParserRule getRule() { return rule; } + + //'elsif' condition=Expression 'then' then=StatementSequence + public Group getGroup() { return cGroup; } + + //'elsif' + public Keyword getElsifKeyword_0() { return cElsifKeyword_0; } + + //condition=Expression + public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } + + //Expression + public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } + + //'then' + public Keyword getThenKeyword_2() { return cThenKeyword_2; } + + //then=StatementSequence + public Assignment getThenAssignment_3() { return cThenAssignment_3; } + + //StatementSequence + public RuleCall getThenStatementSequenceParserRuleCall_3_0() { return cThenStatementSequenceParserRuleCall_3_0; } + } + public class SelectStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.SelectStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cSelectKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cBodyAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cBodyUnlessStatementParserRuleCall_1_0 = (RuleCall)cBodyAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cVerticalLineKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cIndexAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cIndexVariableDeclarationParserRuleCall_2_1_0 = (RuleCall)cIndexAssignment_2_1.eContents().get(0); + private final Keyword cInKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); + private final Assignment cTypeAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3); + private final RuleCall cTypeRangeTypeParserRuleCall_2_3_0 = (RuleCall)cTypeAssignment_2_3.eContents().get(0); + private final Keyword cEndKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Keyword cSelectKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //SelectStatement: + // 'select' + // body=UnlessStatement ('|' index=VariableDeclaration 'in' type=RangeType)? + // 'end' 'select'?; + @Override public ParserRule getRule() { return rule; } + + //'select' body=UnlessStatement ('|' index=VariableDeclaration 'in' type=RangeType)? 'end' 'select'? + public Group getGroup() { return cGroup; } + + //'select' + public Keyword getSelectKeyword_0() { return cSelectKeyword_0; } + + //body=UnlessStatement + public Assignment getBodyAssignment_1() { return cBodyAssignment_1; } + + //UnlessStatement + public RuleCall getBodyUnlessStatementParserRuleCall_1_0() { return cBodyUnlessStatementParserRuleCall_1_0; } + + //('|' index=VariableDeclaration 'in' type=RangeType)? + public Group getGroup_2() { return cGroup_2; } + + //'|' + public Keyword getVerticalLineKeyword_2_0() { return cVerticalLineKeyword_2_0; } + + //index=VariableDeclaration + public Assignment getIndexAssignment_2_1() { return cIndexAssignment_2_1; } + + //VariableDeclaration + public RuleCall getIndexVariableDeclarationParserRuleCall_2_1_0() { return cIndexVariableDeclarationParserRuleCall_2_1_0; } + + //'in' + public Keyword getInKeyword_2_2() { return cInKeyword_2_2; } + + //type=RangeType + public Assignment getTypeAssignment_2_3() { return cTypeAssignment_2_3; } + + //RangeType + public RuleCall getTypeRangeTypeParserRuleCall_2_3_0() { return cTypeRangeTypeParserRuleCall_2_3_0; } + + //'end' + public Keyword getEndKeyword_3() { return cEndKeyword_3; } + + //'select'? + public Keyword getSelectKeyword_4() { return cSelectKeyword_4; } + } + public class WhileStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.WhileStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cWhileKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cBodyStatementSequenceParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Keyword cWhileKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //WhileStatement: + // 'while' condition=Expression 'do' body=StatementSequence 'end' 'while'?; + @Override public ParserRule getRule() { return rule; } + + //'while' condition=Expression 'do' body=StatementSequence 'end' 'while'? + public Group getGroup() { return cGroup; } + + //'while' + public Keyword getWhileKeyword_0() { return cWhileKeyword_0; } + + //condition=Expression + public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } + + //Expression + public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } + + //'do' + public Keyword getDoKeyword_2() { return cDoKeyword_2; } + + //body=StatementSequence + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + + //StatementSequence + public RuleCall getBodyStatementSequenceParserRuleCall_3_0() { return cBodyStatementSequenceParserRuleCall_3_0; } + + //'end' + public Keyword getEndKeyword_4() { return cEndKeyword_4; } + + //'while'? + public Keyword getWhileKeyword_5() { return cWhileKeyword_5; } + } + public class ForeachStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ForeachStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cForeachKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cVariableVariableDeclarationParserRuleCall_1_0 = (RuleCall)cVariableAssignment_1.eContents().get(0); + private final Keyword cDoKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cBodyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cBodyStatementSequenceParserRuleCall_3_0 = (RuleCall)cBodyAssignment_3.eContents().get(0); + private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Keyword cForeachKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //ForeachStatement: + // 'foreach' variable=VariableDeclaration 'do' body=StatementSequence 'end' 'foreach'?; + @Override public ParserRule getRule() { return rule; } + + //'foreach' variable=VariableDeclaration 'do' body=StatementSequence 'end' 'foreach'? + public Group getGroup() { return cGroup; } + + //'foreach' + public Keyword getForeachKeyword_0() { return cForeachKeyword_0; } + + //variable=VariableDeclaration + public Assignment getVariableAssignment_1() { return cVariableAssignment_1; } + + //VariableDeclaration + public RuleCall getVariableVariableDeclarationParserRuleCall_1_0() { return cVariableVariableDeclarationParserRuleCall_1_0; } + + //'do' + public Keyword getDoKeyword_2() { return cDoKeyword_2; } + + //body=StatementSequence + public Assignment getBodyAssignment_3() { return cBodyAssignment_3; } + + //StatementSequence + public RuleCall getBodyStatementSequenceParserRuleCall_3_0() { return cBodyStatementSequenceParserRuleCall_3_0; } + + //'end' + public Keyword getEndKeyword_4() { return cEndKeyword_4; } + + //'foreach'? + public Keyword getForeachKeyword_5() { return cForeachKeyword_5; } + } + public class ToStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ToStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cToKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cStateAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cStateStateDeclarationCrossReference_1_0 = (CrossReference)cStateAssignment_1.eContents().get(0); + private final RuleCall cStateStateDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cStateStateDeclarationCrossReference_1_0.eContents().get(1); + + //ToStatement: + // 'to' state=[StateDeclaration]; + @Override public ParserRule getRule() { return rule; } + + //'to' state=[StateDeclaration] + public Group getGroup() { return cGroup; } + + //'to' + public Keyword getToKeyword_0() { return cToKeyword_0; } + + //state=[StateDeclaration] + public Assignment getStateAssignment_1() { return cStateAssignment_1; } + + //[StateDeclaration] + public CrossReference getStateStateDeclarationCrossReference_1_0() { return cStateStateDeclarationCrossReference_1_0; } + + //ID + public RuleCall getStateStateDeclarationIDTerminalRuleCall_1_0_1() { return cStateStateDeclarationIDTerminalRuleCall_1_0_1; } + } + public class CaseStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.CaseStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCaseKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueExpressionParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); + private final Keyword cOfKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cPatternAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cPatternPatternParserRuleCall_3_0 = (RuleCall)cPatternAssignment_3.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cBodyAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cBodyStatementSequenceParserRuleCall_5_0 = (RuleCall)cBodyAssignment_5.eContents().get(0); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cVerticalLineKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Assignment cPatternAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); + private final RuleCall cPatternPatternParserRuleCall_6_1_0 = (RuleCall)cPatternAssignment_6_1.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_6_2 = (Keyword)cGroup_6.eContents().get(2); + private final Assignment cBodyAssignment_6_3 = (Assignment)cGroup_6.eContents().get(3); + private final RuleCall cBodyStatementSequenceParserRuleCall_6_3_0 = (RuleCall)cBodyAssignment_6_3.eContents().get(0); + private final Keyword cEndKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Keyword cCaseKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //CaseStatement: + // 'case' value=Expression 'of' + // pattern+=Pattern '->' body+=StatementSequence ('|' pattern+=Pattern '->' body+=StatementSequence)* + // 'end' 'case'?; + @Override public ParserRule getRule() { return rule; } + + //'case' value=Expression 'of' pattern+=Pattern '->' body+=StatementSequence ('|' pattern+=Pattern '->' + //body+=StatementSequence)* 'end' 'case'? + public Group getGroup() { return cGroup; } + + //'case' + public Keyword getCaseKeyword_0() { return cCaseKeyword_0; } + + //value=Expression + public Assignment getValueAssignment_1() { return cValueAssignment_1; } + + //Expression + public RuleCall getValueExpressionParserRuleCall_1_0() { return cValueExpressionParserRuleCall_1_0; } + + //'of' + public Keyword getOfKeyword_2() { return cOfKeyword_2; } + + //pattern+=Pattern + public Assignment getPatternAssignment_3() { return cPatternAssignment_3; } + + //Pattern + public RuleCall getPatternPatternParserRuleCall_3_0() { return cPatternPatternParserRuleCall_3_0; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } + + //body+=StatementSequence + public Assignment getBodyAssignment_5() { return cBodyAssignment_5; } + + //StatementSequence + public RuleCall getBodyStatementSequenceParserRuleCall_5_0() { return cBodyStatementSequenceParserRuleCall_5_0; } + + //('|' pattern+=Pattern '->' body+=StatementSequence)* + public Group getGroup_6() { return cGroup_6; } + + //'|' + public Keyword getVerticalLineKeyword_6_0() { return cVerticalLineKeyword_6_0; } + + //pattern+=Pattern + public Assignment getPatternAssignment_6_1() { return cPatternAssignment_6_1; } + + //Pattern + public RuleCall getPatternPatternParserRuleCall_6_1_0() { return cPatternPatternParserRuleCall_6_1_0; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_6_2() { return cHyphenMinusGreaterThanSignKeyword_6_2; } + + //body+=StatementSequence + public Assignment getBodyAssignment_6_3() { return cBodyAssignment_6_3; } + + //StatementSequence + public RuleCall getBodyStatementSequenceParserRuleCall_6_3_0() { return cBodyStatementSequenceParserRuleCall_6_3_0; } + + //'end' + public Keyword getEndKeyword_7() { return cEndKeyword_7; } + + //'case'? + public Keyword getCaseKeyword_8() { return cCaseKeyword_8; } + } + public class LoopStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LoopStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cLoopStatementAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLoopKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //LoopStatement: + // {LoopStatement} 'loop'; + @Override public ParserRule getRule() { return rule; } + + //{LoopStatement} 'loop' + public Group getGroup() { return cGroup; } + + //{LoopStatement} + public Action getLoopStatementAction_0() { return cLoopStatementAction_0; } + + //'loop' + public Keyword getLoopKeyword_1() { return cLoopKeyword_1; } + } + public class OnStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.OnStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cOnKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cConditionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cConditionExpressionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0); + + //OnStatement: + // 'on' condition=Expression; + @Override public ParserRule getRule() { return rule; } + + //'on' condition=Expression + public Group getGroup() { return cGroup; } + + //'on' + public Keyword getOnKeyword_0() { return cOnKeyword_0; } + + //condition=Expression + public Assignment getConditionAssignment_1() { return cConditionAssignment_1; } + + //Expression + public RuleCall getConditionExpressionParserRuleCall_1_0() { return cConditionExpressionParserRuleCall_1_0; } + } + public class WaitStatementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.WaitStatement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cWaitKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cLeftAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cLeftLowerBoundParserRuleCall_1_0 = (RuleCall)cLeftAssignment_1.eContents().get(0); + private final Keyword cCommaKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cRightAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cRightUpperBoundParserRuleCall_3_0 = (RuleCall)cRightAssignment_3.eContents().get(0); + + //WaitStatement: + // 'wait' left=LowerBound ',' right=UpperBound; + @Override public ParserRule getRule() { return rule; } + + //'wait' left=LowerBound ',' right=UpperBound + public Group getGroup() { return cGroup; } + + //'wait' + public Keyword getWaitKeyword_0() { return cWaitKeyword_0; } + + //left=LowerBound + public Assignment getLeftAssignment_1() { return cLeftAssignment_1; } + + //LowerBound + public RuleCall getLeftLowerBoundParserRuleCall_1_0() { return cLeftLowerBoundParserRuleCall_1_0; } + + //',' + public Keyword getCommaKeyword_2() { return cCommaKeyword_2; } + + //right=UpperBound + public Assignment getRightAssignment_3() { return cRightAssignment_3; } + + //UpperBound + public RuleCall getRightUpperBoundParserRuleCall_3_0() { return cRightUpperBoundParserRuleCall_3_0; } + } + public class CompositionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Composition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cParKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Assignment cGlobalAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); + private final RuleCall cGlobalPortSetParserRuleCall_1_0_0 = (RuleCall)cGlobalAssignment_1_0.eContents().get(0); + private final Keyword cInKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cBlocksAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cBlocksBlockParserRuleCall_2_0 = (RuleCall)cBlocksAssignment_2.eContents().get(0); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cVerticalLineVerticalLineKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cBlocksAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final RuleCall cBlocksBlockParserRuleCall_3_1_0 = (RuleCall)cBlocksAssignment_3_1.eContents().get(0); + private final Keyword cEndKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Keyword cParKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //Composition: // added ? + // 'par' (global=PortSet 'in')? blocks+=Block ('||' blocks+=Block)* //('|' index=VariableDeclaration 'in' type=RangeType)? + // 'end' 'par'?; + @Override public ParserRule getRule() { return rule; } + + //// added ? + //'par' (global=PortSet 'in')? blocks+=Block ('||' blocks+=Block)* //('|' index=VariableDeclaration 'in' type=RangeType)? + //'end' 'par'? + public Group getGroup() { return cGroup; } + + //// added ? + //'par' + public Keyword getParKeyword_0() { return cParKeyword_0; } + + //(global=PortSet 'in')? + public Group getGroup_1() { return cGroup_1; } + + //global=PortSet + public Assignment getGlobalAssignment_1_0() { return cGlobalAssignment_1_0; } + + //PortSet + public RuleCall getGlobalPortSetParserRuleCall_1_0_0() { return cGlobalPortSetParserRuleCall_1_0_0; } + + //'in' + public Keyword getInKeyword_1_1() { return cInKeyword_1_1; } + + //blocks+=Block + public Assignment getBlocksAssignment_2() { return cBlocksAssignment_2; } + + //Block + public RuleCall getBlocksBlockParserRuleCall_2_0() { return cBlocksBlockParserRuleCall_2_0; } + + //('||' blocks+=Block)* + public Group getGroup_3() { return cGroup_3; } + + //'||' + public Keyword getVerticalLineVerticalLineKeyword_3_0() { return cVerticalLineVerticalLineKeyword_3_0; } + + //blocks+=Block + public Assignment getBlocksAssignment_3_1() { return cBlocksAssignment_3_1; } + + //Block + public RuleCall getBlocksBlockParserRuleCall_3_1_0() { return cBlocksBlockParserRuleCall_3_1_0; } + + ////('|' index=VariableDeclaration 'in' type=RangeType)? + //'end' + public Keyword getEndKeyword_4() { return cEndKeyword_4; } + + //'par'? + public Keyword getParKeyword_5() { return cParKeyword_5; } + } + public class BlockElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Block"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cCompositeBlockParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cInstanceDeclarationParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //Block: + // CompositeBlock | InstanceDeclaration; + @Override public ParserRule getRule() { return rule; } + + //CompositeBlock | InstanceDeclaration + public Alternatives getAlternatives() { return cAlternatives; } + + //CompositeBlock + public RuleCall getCompositeBlockParserRuleCall_0() { return cCompositeBlockParserRuleCall_0; } + + //InstanceDeclaration + public RuleCall getInstanceDeclarationParserRuleCall_1() { return cInstanceDeclarationParserRuleCall_1; } + } + public class CompositeBlockElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.CompositeBlock"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); + private final Assignment cLocalAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0); + private final RuleCall cLocalPortSetParserRuleCall_0_0_0_0 = (RuleCall)cLocalAssignment_0_0_0.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1); + private final Keyword cHyphenMinusGreaterThanSignKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); + private final Assignment cCompositionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cCompositionCompositionParserRuleCall_1_0 = (RuleCall)cCompositionAssignment_1.eContents().get(0); + + //CompositeBlock: + // (local=PortSet '->' | '->')? composition=Composition; + @Override public ParserRule getRule() { return rule; } + + //(local=PortSet '->' | '->')? composition=Composition + public Group getGroup() { return cGroup; } + + //(local=PortSet '->' | '->')? + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //local=PortSet '->' + public Group getGroup_0_0() { return cGroup_0_0; } + + //local=PortSet + public Assignment getLocalAssignment_0_0_0() { return cLocalAssignment_0_0_0; } + + //PortSet + public RuleCall getLocalPortSetParserRuleCall_0_0_0_0() { return cLocalPortSetParserRuleCall_0_0_0_0; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_0_0_1() { return cHyphenMinusGreaterThanSignKeyword_0_0_1; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_0_1() { return cHyphenMinusGreaterThanSignKeyword_0_1; } + + //composition=Composition + public Assignment getCompositionAssignment_1() { return cCompositionAssignment_1; } + + //Composition + public RuleCall getCompositionCompositionParserRuleCall_1_0() { return cCompositionCompositionParserRuleCall_1_0; } + } + public class InstanceDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.InstanceDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Group cGroup_0_0 = (Group)cAlternatives_0.eContents().get(0); + private final Assignment cLocalAssignment_0_0_0 = (Assignment)cGroup_0_0.eContents().get(0); + private final RuleCall cLocalPortSetParserRuleCall_0_0_0_0 = (RuleCall)cLocalAssignment_0_0_0.eContents().get(0); + private final Keyword cHyphenMinusGreaterThanSignKeyword_0_0_1 = (Keyword)cGroup_0_0.eContents().get(1); + private final Keyword cHyphenMinusGreaterThanSignKeyword_0_1 = (Keyword)cAlternatives_0.eContents().get(1); + private final Assignment cInstanceAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cInstanceComponentInstanceParserRuleCall_1_0 = (RuleCall)cInstanceAssignment_1.eContents().get(0); + + //InstanceDeclaration: + // (local=PortSet '->' | '->')? instance=ComponentInstance; + @Override public ParserRule getRule() { return rule; } + + //(local=PortSet '->' | '->')? instance=ComponentInstance + public Group getGroup() { return cGroup; } + + //(local=PortSet '->' | '->')? + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //local=PortSet '->' + public Group getGroup_0_0() { return cGroup_0_0; } + + //local=PortSet + public Assignment getLocalAssignment_0_0_0() { return cLocalAssignment_0_0_0; } + + //PortSet + public RuleCall getLocalPortSetParserRuleCall_0_0_0_0() { return cLocalPortSetParserRuleCall_0_0_0_0; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_0_0_1() { return cHyphenMinusGreaterThanSignKeyword_0_0_1; } + + //'->' + public Keyword getHyphenMinusGreaterThanSignKeyword_0_1() { return cHyphenMinusGreaterThanSignKeyword_0_1; } + + //instance=ComponentInstance + public Assignment getInstanceAssignment_1() { return cInstanceAssignment_1; } + + //ComponentInstance + public RuleCall getInstanceComponentInstanceParserRuleCall_1_0() { return cInstanceComponentInstanceParserRuleCall_1_0; } + } + public class PortSetElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PortSet"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Assignment cAllPortsAssignment_0 = (Assignment)cAlternatives.eContents().get(0); + private final Keyword cAllPortsAsteriskKeyword_0_0 = (Keyword)cAllPortsAssignment_0.eContents().get(0); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Assignment cPortsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); + private final RuleCall cPortsExpressionParserRuleCall_1_0_0 = (RuleCall)cPortsAssignment_1_0.eContents().get(0); + private final Group cGroup_1_1 = (Group)cGroup_1.eContents().get(1); + private final Keyword cCommaKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); + private final Assignment cPortsAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1); + private final RuleCall cPortsExpressionParserRuleCall_1_1_1_0 = (RuleCall)cPortsAssignment_1_1_1.eContents().get(0); + + //PortSet: + // allPorts?='*' + // | ports+=Expression (',' ports+=Expression)*; + @Override public ParserRule getRule() { return rule; } + + //allPorts?='*' | ports+=Expression (',' ports+=Expression)* + public Alternatives getAlternatives() { return cAlternatives; } + + //allPorts?='*' + public Assignment getAllPortsAssignment_0() { return cAllPortsAssignment_0; } + + //'*' + public Keyword getAllPortsAsteriskKeyword_0_0() { return cAllPortsAsteriskKeyword_0_0; } + + //ports+=Expression (',' ports+=Expression)* + public Group getGroup_1() { return cGroup_1; } + + //ports+=Expression + public Assignment getPortsAssignment_1_0() { return cPortsAssignment_1_0; } + + //Expression + public RuleCall getPortsExpressionParserRuleCall_1_0_0() { return cPortsExpressionParserRuleCall_1_0_0; } + + //(',' ports+=Expression)* + public Group getGroup_1_1() { return cGroup_1_1; } + + //',' + public Keyword getCommaKeyword_1_1_0() { return cCommaKeyword_1_1_0; } + + //ports+=Expression + public Assignment getPortsAssignment_1_1_1() { return cPortsAssignment_1_1_1; } + + //Expression + public RuleCall getPortsExpressionParserRuleCall_1_1_1_0() { return cPortsExpressionParserRuleCall_1_1_1_0; } + } + public class ComponentInstanceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ComponentInstance"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cComponentAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cComponentParameterizedDeclarationCrossReference_0_0 = (CrossReference)cComponentAssignment_0.eContents().get(0); + private final RuleCall cComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1 = (RuleCall)cComponentParameterizedDeclarationCrossReference_0_0.eContents().get(1); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Assignment cPortsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cPortsExpressionParserRuleCall_1_1_0 = (RuleCall)cPortsAssignment_1_1.eContents().get(0); + private final Group cGroup_1_2 = (Group)cGroup_1.eContents().get(2); + private final Keyword cCommaKeyword_1_2_0 = (Keyword)cGroup_1_2.eContents().get(0); + private final Assignment cPortsAssignment_1_2_1 = (Assignment)cGroup_1_2.eContents().get(1); + private final RuleCall cPortsExpressionParserRuleCall_1_2_1_0 = (RuleCall)cPortsAssignment_1_2_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cParametersAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cParametersExpressionParserRuleCall_2_1_0 = (RuleCall)cParametersAssignment_2_1.eContents().get(0); + private final Group cGroup_2_2 = (Group)cGroup_2.eContents().get(2); + private final Keyword cCommaKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); + private final Assignment cParametersAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); + private final RuleCall cParametersExpressionParserRuleCall_2_2_1_0 = (RuleCall)cParametersAssignment_2_2_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_2_3 = (Keyword)cGroup_2.eContents().get(3); + + //ComponentInstance: + // component=[ParameterizedDeclaration] ('[' ports+=Expression (',' ports+=Expression)* ']')? ('(' parameters+=Expression + // (',' parameters+=Expression)* ')')?; + @Override public ParserRule getRule() { return rule; } + + //component=[ParameterizedDeclaration] ('[' ports+=Expression (',' ports+=Expression)* ']')? ('(' parameters+=Expression + //(',' parameters+=Expression)* ')')? + public Group getGroup() { return cGroup; } + + //component=[ParameterizedDeclaration] + public Assignment getComponentAssignment_0() { return cComponentAssignment_0; } + + //[ParameterizedDeclaration] + public CrossReference getComponentParameterizedDeclarationCrossReference_0_0() { return cComponentParameterizedDeclarationCrossReference_0_0; } + + //ID + public RuleCall getComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1() { return cComponentParameterizedDeclarationIDTerminalRuleCall_0_0_1; } + + //('[' ports+=Expression (',' ports+=Expression)* ']')? + public Group getGroup_1() { return cGroup_1; } + + //'[' + public Keyword getLeftSquareBracketKeyword_1_0() { return cLeftSquareBracketKeyword_1_0; } + + //ports+=Expression + public Assignment getPortsAssignment_1_1() { return cPortsAssignment_1_1; } + + //Expression + public RuleCall getPortsExpressionParserRuleCall_1_1_0() { return cPortsExpressionParserRuleCall_1_1_0; } + + //(',' ports+=Expression)* + public Group getGroup_1_2() { return cGroup_1_2; } + + //',' + public Keyword getCommaKeyword_1_2_0() { return cCommaKeyword_1_2_0; } + + //ports+=Expression + public Assignment getPortsAssignment_1_2_1() { return cPortsAssignment_1_2_1; } + + //Expression + public RuleCall getPortsExpressionParserRuleCall_1_2_1_0() { return cPortsExpressionParserRuleCall_1_2_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_1_3() { return cRightSquareBracketKeyword_1_3; } + + //('(' parameters+=Expression (',' parameters+=Expression)* ')')? + public Group getGroup_2() { return cGroup_2; } + + //'(' + public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } + + //parameters+=Expression + public Assignment getParametersAssignment_2_1() { return cParametersAssignment_2_1; } + + //Expression + public RuleCall getParametersExpressionParserRuleCall_2_1_0() { return cParametersExpressionParserRuleCall_2_1_0; } + + //(',' parameters+=Expression)* + public Group getGroup_2_2() { return cGroup_2_2; } + + //',' + public Keyword getCommaKeyword_2_2_0() { return cCommaKeyword_2_2_0; } + + //parameters+=Expression + public Assignment getParametersAssignment_2_2_1() { return cParametersAssignment_2_2_1; } + + //Expression + public RuleCall getParametersExpressionParserRuleCall_2_2_1_0() { return cParametersExpressionParserRuleCall_2_2_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_2_3() { return cRightParenthesisKeyword_2_3; } + } + public class ExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Expression"); + private final RuleCall cQuantifiedExpressionParserRuleCall = (RuleCall)rule.eContents().get(1); + + ////GenericInstance: + //// TypeInstance + //// | ConstantInstance + //// | UnionTagInstance + //// | RecordFieldInstance + ////; + //// + ////TypeInstance: + //// 'type' type=Type + ////; + //// + ////ConstantInstance: + //// 'const' (const=[ConstantDeclarationUse] | value=LiteralExpression) + ////; + //// + ////UnionTagInstance: + //// (constr0?='constr0' | constr1?='constr1') head=[UnionTagDeclarationUse] + ////; + //// + ////RecordFieldInstance: + //// 'field' field=[RecordFieldDeclarationUse] + ////; + //Expression: + // QuantifiedExpression; + @Override public ParserRule getRule() { return rule; } + + //QuantifiedExpression + public RuleCall getQuantifiedExpressionParserRuleCall() { return cQuantifiedExpressionParserRuleCall; } + } + public class QuantifiedExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.QuantifiedExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0); + private final Group cGroup_0_0_0 = (Group)cAlternatives_0_0.eContents().get(0); + private final Action cAllExpressionAction_0_0_0_0 = (Action)cGroup_0_0_0.eContents().get(0); + private final Keyword cAllKeyword_0_0_0_1 = (Keyword)cGroup_0_0_0.eContents().get(1); + private final Group cGroup_0_0_1 = (Group)cAlternatives_0_0.eContents().get(1); + private final Action cExistsExpressionAction_0_0_1_0 = (Action)cGroup_0_0_1.eContents().get(0); + private final Keyword cExistsKeyword_0_0_1_1 = (Keyword)cGroup_0_0_1.eContents().get(1); + private final Assignment cIndexAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cIndexVariableDeclarationParserRuleCall_0_1_0 = (RuleCall)cIndexAssignment_0_1.eContents().get(0); + private final Group cGroup_0_2 = (Group)cGroup_0.eContents().get(2); + private final Keyword cInKeyword_0_2_0 = (Keyword)cGroup_0_2.eContents().get(0); + private final Assignment cTypeAssignment_0_2_1 = (Assignment)cGroup_0_2.eContents().get(1); + private final RuleCall cTypeRangeTypeParserRuleCall_0_2_1_0 = (RuleCall)cTypeAssignment_0_2_1.eContents().get(0); + private final Keyword cFullStopKeyword_0_3 = (Keyword)cGroup_0.eContents().get(3); + private final Assignment cChildAssignment_0_4 = (Assignment)cGroup_0.eContents().get(4); + private final RuleCall cChildQuantifiedExpressionParserRuleCall_0_4_0 = (RuleCall)cChildAssignment_0_4.eContents().get(0); + private final RuleCall cConditionalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //QuantifiedExpression Expression: + // ({AllExpression} 'all' | {ExistsExpression} 'exists') index=VariableDeclaration ('in' type=RangeType)? '.' + // child=QuantifiedExpression + // | Conditional + @Override public ParserRule getRule() { return rule; } + + //({AllExpression} 'all' | {ExistsExpression} 'exists') index=VariableDeclaration ('in' type=RangeType)? '.' + //child=QuantifiedExpression | Conditional + public Alternatives getAlternatives() { return cAlternatives; } + + //({AllExpression} 'all' | {ExistsExpression} 'exists') index=VariableDeclaration ('in' type=RangeType)? '.' + //child=QuantifiedExpression + public Group getGroup_0() { return cGroup_0; } + + //({AllExpression} 'all' | {ExistsExpression} 'exists') + public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; } + + //{AllExpression} 'all' + public Group getGroup_0_0_0() { return cGroup_0_0_0; } + + //{AllExpression} + public Action getAllExpressionAction_0_0_0_0() { return cAllExpressionAction_0_0_0_0; } + + //'all' + public Keyword getAllKeyword_0_0_0_1() { return cAllKeyword_0_0_0_1; } + + //{ExistsExpression} 'exists' + public Group getGroup_0_0_1() { return cGroup_0_0_1; } + + //{ExistsExpression} + public Action getExistsExpressionAction_0_0_1_0() { return cExistsExpressionAction_0_0_1_0; } + + //'exists' + public Keyword getExistsKeyword_0_0_1_1() { return cExistsKeyword_0_0_1_1; } + + //index=VariableDeclaration + public Assignment getIndexAssignment_0_1() { return cIndexAssignment_0_1; } + + //VariableDeclaration + public RuleCall getIndexVariableDeclarationParserRuleCall_0_1_0() { return cIndexVariableDeclarationParserRuleCall_0_1_0; } + + //('in' type=RangeType)? + public Group getGroup_0_2() { return cGroup_0_2; } + + //'in' + public Keyword getInKeyword_0_2_0() { return cInKeyword_0_2_0; } + + //type=RangeType + public Assignment getTypeAssignment_0_2_1() { return cTypeAssignment_0_2_1; } + + //RangeType + public RuleCall getTypeRangeTypeParserRuleCall_0_2_1_0() { return cTypeRangeTypeParserRuleCall_0_2_1_0; } + + //'.' + public Keyword getFullStopKeyword_0_3() { return cFullStopKeyword_0_3; } + + //child=QuantifiedExpression + public Assignment getChildAssignment_0_4() { return cChildAssignment_0_4; } + + //QuantifiedExpression + public RuleCall getChildQuantifiedExpressionParserRuleCall_0_4_0() { return cChildQuantifiedExpressionParserRuleCall_0_4_0; } + + //Conditional + public RuleCall getConditionalParserRuleCall_1() { return cConditionalParserRuleCall_1; } + } + public class ConditionalElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Conditional"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cDisjunctionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Keyword cQuestionMarkKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final Action cConditionalConditionAction_1_1 = (Action)cGroup_1.eContents().get(1); + private final Assignment cThenAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cThenDisjunctionParserRuleCall_1_2_0 = (RuleCall)cThenAssignment_1_2.eContents().get(0); + private final Keyword cColonKeyword_1_3 = (Keyword)cGroup_1.eContents().get(3); + private final Assignment cElseAssignment_1_4 = (Assignment)cGroup_1.eContents().get(4); + private final RuleCall cElseDisjunctionParserRuleCall_1_4_0 = (RuleCall)cElseAssignment_1_4.eContents().get(0); + + //Conditional Expression: + // Disjunction ('?' {Conditional.condition=current} then=Disjunction ':' else=Disjunction)? + @Override public ParserRule getRule() { return rule; } + + //Disjunction ('?' {Conditional.condition=current} then=Disjunction ':' else=Disjunction)? + public Group getGroup() { return cGroup; } + + //Disjunction + public RuleCall getDisjunctionParserRuleCall_0() { return cDisjunctionParserRuleCall_0; } + + //('?' {Conditional.condition=current} then=Disjunction ':' else=Disjunction)? + public Group getGroup_1() { return cGroup_1; } + + //'?' + public Keyword getQuestionMarkKeyword_1_0() { return cQuestionMarkKeyword_1_0; } + + //{Conditional.condition=current} + public Action getConditionalConditionAction_1_1() { return cConditionalConditionAction_1_1; } + + //then=Disjunction + public Assignment getThenAssignment_1_2() { return cThenAssignment_1_2; } + + //Disjunction + public RuleCall getThenDisjunctionParserRuleCall_1_2_0() { return cThenDisjunctionParserRuleCall_1_2_0; } + + //':' + public Keyword getColonKeyword_1_3() { return cColonKeyword_1_3; } + + //else=Disjunction + public Assignment getElseAssignment_1_4() { return cElseAssignment_1_4; } + + //Disjunction + public RuleCall getElseDisjunctionParserRuleCall_1_4_0() { return cElseDisjunctionParserRuleCall_1_4_0; } + } + public class DisjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Disjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cImplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cDisjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cOrKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Disjunction Expression: + // Implication ({Disjunction.left=current} 'or' right=Implication)* + @Override public ParserRule getRule() { return rule; } + + //Implication ({Disjunction.left=current} 'or' right=Implication)* + public Group getGroup() { return cGroup; } + + //Implication + public RuleCall getImplicationParserRuleCall_0() { return cImplicationParserRuleCall_0; } + + //({Disjunction.left=current} 'or' right=Implication)* + public Group getGroup_1() { return cGroup_1; } + + //{Disjunction.left=current} + public Action getDisjunctionLeftAction_1_0() { return cDisjunctionLeftAction_1_0; } + + //'or' + public Keyword getOrKeyword_1_1() { return cOrKeyword_1_1; } + + //right=Implication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Implication + public RuleCall getRightImplicationParserRuleCall_1_2_0() { return cRightImplicationParserRuleCall_1_2_0; } + } + public class ImplicationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Implication"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cConjunctionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cImplicationLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cEqualsSignGreaterThanSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Implication Expression: + // Conjunction ({Implication.left=current} '=>' right=Implication)? + @Override public ParserRule getRule() { return rule; } + + //Conjunction ({Implication.left=current} '=>' right=Implication)? + public Group getGroup() { return cGroup; } + + //Conjunction + public RuleCall getConjunctionParserRuleCall_0() { return cConjunctionParserRuleCall_0; } + + //({Implication.left=current} '=>' right=Implication)? + public Group getGroup_1() { return cGroup_1; } + + //{Implication.left=current} + public Action getImplicationLeftAction_1_0() { return cImplicationLeftAction_1_0; } + + //'=>' + public Keyword getEqualsSignGreaterThanSignKeyword_1_1() { return cEqualsSignGreaterThanSignKeyword_1_1; } + + //right=Implication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Implication + public RuleCall getRightImplicationParserRuleCall_1_2_0() { return cRightImplicationParserRuleCall_1_2_0; } + } + public class ConjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Conjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cComparisonParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cConjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAndKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightComparisonParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Conjunction Expression: + // Comparison ({Conjunction.left=current} 'and' right=Comparison)* + @Override public ParserRule getRule() { return rule; } + + //Comparison ({Conjunction.left=current} 'and' right=Comparison)* + public Group getGroup() { return cGroup; } + + //Comparison + public RuleCall getComparisonParserRuleCall_0() { return cComparisonParserRuleCall_0; } + + //({Conjunction.left=current} 'and' right=Comparison)* + public Group getGroup_1() { return cGroup_1; } + + //{Conjunction.left=current} + public Action getConjunctionLeftAction_1_0() { return cConjunctionLeftAction_1_0; } + + //'and' + public Keyword getAndKeyword_1_1() { return cAndKeyword_1_1; } + + //right=Comparison + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Comparison + public RuleCall getRightComparisonParserRuleCall_1_2_0() { return cRightComparisonParserRuleCall_1_2_0; } + } + public class ComparisonElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Comparison"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cAdditionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Alternatives cAlternatives_1_0 = (Alternatives)cGroup_1.eContents().get(0); + private final Group cGroup_1_0_0 = (Group)cAlternatives_1_0.eContents().get(0); + private final Action cComparisonEqualLeftAction_1_0_0_0 = (Action)cGroup_1_0_0.eContents().get(0); + private final Keyword cEqualsSignKeyword_1_0_0_1 = (Keyword)cGroup_1_0_0.eContents().get(1); + private final Group cGroup_1_0_1 = (Group)cAlternatives_1_0.eContents().get(1); + private final Action cComparisonNotEqualLeftAction_1_0_1_0 = (Action)cGroup_1_0_1.eContents().get(0); + private final Keyword cLessThanSignGreaterThanSignKeyword_1_0_1_1 = (Keyword)cGroup_1_0_1.eContents().get(1); + private final Group cGroup_1_0_2 = (Group)cAlternatives_1_0.eContents().get(2); + private final Action cComparisonLesserLeftAction_1_0_2_0 = (Action)cGroup_1_0_2.eContents().get(0); + private final Keyword cLessThanSignKeyword_1_0_2_1 = (Keyword)cGroup_1_0_2.eContents().get(1); + private final Group cGroup_1_0_3 = (Group)cAlternatives_1_0.eContents().get(3); + private final Action cComparisonLesserEqualLeftAction_1_0_3_0 = (Action)cGroup_1_0_3.eContents().get(0); + private final Keyword cLessThanSignEqualsSignKeyword_1_0_3_1 = (Keyword)cGroup_1_0_3.eContents().get(1); + private final Group cGroup_1_0_4 = (Group)cAlternatives_1_0.eContents().get(4); + private final Action cComparisonGreaterLeftAction_1_0_4_0 = (Action)cGroup_1_0_4.eContents().get(0); + private final Keyword cGreaterThanSignKeyword_1_0_4_1 = (Keyword)cGroup_1_0_4.eContents().get(1); + private final Group cGroup_1_0_5 = (Group)cAlternatives_1_0.eContents().get(5); + private final Action cComparisonGreaterEqualLeftAction_1_0_5_0 = (Action)cGroup_1_0_5.eContents().get(0); + private final Keyword cGreaterThanSignEqualsSignKeyword_1_0_5_1 = (Keyword)cGroup_1_0_5.eContents().get(1); + private final Assignment cRightAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); + private final RuleCall cRightAdditionParserRuleCall_1_1_0 = (RuleCall)cRightAssignment_1_1.eContents().get(0); + + //Comparison Expression: + // Addition (({ComparisonEqual.left=current} '=' + // | {ComparisonNotEqual.left=current} '<>' + // | {ComparisonLesser.left=current} '<' + // | {ComparisonLesserEqual.left=current} '<=' + // | {ComparisonGreater.left=current} '>' + // | {ComparisonGreaterEqual.left=current} '>=') right=Addition)? + @Override public ParserRule getRule() { return rule; } + + //Addition (({ComparisonEqual.left=current} '=' | {ComparisonNotEqual.left=current} '<>' | {ComparisonLesser.left=current} + //'<' | {ComparisonLesserEqual.left=current} '<=' | {ComparisonGreater.left=current} '>' | + //{ComparisonGreaterEqual.left=current} '>=') right=Addition)? + public Group getGroup() { return cGroup; } + + //Addition + public RuleCall getAdditionParserRuleCall_0() { return cAdditionParserRuleCall_0; } + + //(({ComparisonEqual.left=current} '=' | {ComparisonNotEqual.left=current} '<>' | {ComparisonLesser.left=current} '<' | + //{ComparisonLesserEqual.left=current} '<=' | {ComparisonGreater.left=current} '>' | + //{ComparisonGreaterEqual.left=current} '>=') right=Addition)? + public Group getGroup_1() { return cGroup_1; } + + //({ComparisonEqual.left=current} '=' | {ComparisonNotEqual.left=current} '<>' | {ComparisonLesser.left=current} '<' | + //{ComparisonLesserEqual.left=current} '<=' | {ComparisonGreater.left=current} '>' | + //{ComparisonGreaterEqual.left=current} '>=') + public Alternatives getAlternatives_1_0() { return cAlternatives_1_0; } + + //{ComparisonEqual.left=current} '=' + public Group getGroup_1_0_0() { return cGroup_1_0_0; } + + //{ComparisonEqual.left=current} + public Action getComparisonEqualLeftAction_1_0_0_0() { return cComparisonEqualLeftAction_1_0_0_0; } + + //'=' + public Keyword getEqualsSignKeyword_1_0_0_1() { return cEqualsSignKeyword_1_0_0_1; } + + //{ComparisonNotEqual.left=current} '<>' + public Group getGroup_1_0_1() { return cGroup_1_0_1; } + + //{ComparisonNotEqual.left=current} + public Action getComparisonNotEqualLeftAction_1_0_1_0() { return cComparisonNotEqualLeftAction_1_0_1_0; } + + //'<>' + public Keyword getLessThanSignGreaterThanSignKeyword_1_0_1_1() { return cLessThanSignGreaterThanSignKeyword_1_0_1_1; } + + //{ComparisonLesser.left=current} '<' + public Group getGroup_1_0_2() { return cGroup_1_0_2; } + + //{ComparisonLesser.left=current} + public Action getComparisonLesserLeftAction_1_0_2_0() { return cComparisonLesserLeftAction_1_0_2_0; } + + //'<' + public Keyword getLessThanSignKeyword_1_0_2_1() { return cLessThanSignKeyword_1_0_2_1; } + + //{ComparisonLesserEqual.left=current} '<=' + public Group getGroup_1_0_3() { return cGroup_1_0_3; } + + //{ComparisonLesserEqual.left=current} + public Action getComparisonLesserEqualLeftAction_1_0_3_0() { return cComparisonLesserEqualLeftAction_1_0_3_0; } + + //'<=' + public Keyword getLessThanSignEqualsSignKeyword_1_0_3_1() { return cLessThanSignEqualsSignKeyword_1_0_3_1; } + + //{ComparisonGreater.left=current} '>' + public Group getGroup_1_0_4() { return cGroup_1_0_4; } + + //{ComparisonGreater.left=current} + public Action getComparisonGreaterLeftAction_1_0_4_0() { return cComparisonGreaterLeftAction_1_0_4_0; } + + //'>' + public Keyword getGreaterThanSignKeyword_1_0_4_1() { return cGreaterThanSignKeyword_1_0_4_1; } + + //{ComparisonGreaterEqual.left=current} '>=' + public Group getGroup_1_0_5() { return cGroup_1_0_5; } + + //{ComparisonGreaterEqual.left=current} + public Action getComparisonGreaterEqualLeftAction_1_0_5_0() { return cComparisonGreaterEqualLeftAction_1_0_5_0; } + + //'>=' + public Keyword getGreaterThanSignEqualsSignKeyword_1_0_5_1() { return cGreaterThanSignEqualsSignKeyword_1_0_5_1; } + + //right=Addition + public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; } + + //Addition + public RuleCall getRightAdditionParserRuleCall_1_1_0() { return cRightAdditionParserRuleCall_1_1_0; } + } + public class AdditionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Addition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cSubstractionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cAdditionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cPlusSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightSubstractionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Addition Expression: + // Substraction ({Addition.left=current} '+' right=Substraction)* + @Override public ParserRule getRule() { return rule; } + + //Substraction ({Addition.left=current} '+' right=Substraction)* + public Group getGroup() { return cGroup; } + + //Substraction + public RuleCall getSubstractionParserRuleCall_0() { return cSubstractionParserRuleCall_0; } + + //({Addition.left=current} '+' right=Substraction)* + public Group getGroup_1() { return cGroup_1; } + + //{Addition.left=current} + public Action getAdditionLeftAction_1_0() { return cAdditionLeftAction_1_0; } + + //'+' + public Keyword getPlusSignKeyword_1_1() { return cPlusSignKeyword_1_1; } + + //right=Substraction + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Substraction + public RuleCall getRightSubstractionParserRuleCall_1_2_0() { return cRightSubstractionParserRuleCall_1_2_0; } + } + public class SubstractionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Substraction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cMultiplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cSubstractionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cHyphenMinusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightMultiplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Substraction Expression: + // Multiplication ({Substraction.left=current} '-' right=Multiplication)* + @Override public ParserRule getRule() { return rule; } + + //Multiplication ({Substraction.left=current} '-' right=Multiplication)* + public Group getGroup() { return cGroup; } + + //Multiplication + public RuleCall getMultiplicationParserRuleCall_0() { return cMultiplicationParserRuleCall_0; } + + //({Substraction.left=current} '-' right=Multiplication)* + public Group getGroup_1() { return cGroup_1; } + + //{Substraction.left=current} + public Action getSubstractionLeftAction_1_0() { return cSubstractionLeftAction_1_0; } + + //'-' + public Keyword getHyphenMinusKeyword_1_1() { return cHyphenMinusKeyword_1_1; } + + //right=Multiplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Multiplication + public RuleCall getRightMultiplicationParserRuleCall_1_2_0() { return cRightMultiplicationParserRuleCall_1_2_0; } + } + public class MultiplicationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Multiplication"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cDivisionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cMultiplicationLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightDivisionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Multiplication Expression: + // Division ({Multiplication.left=current} '*' right=Division)* + @Override public ParserRule getRule() { return rule; } + + //Division ({Multiplication.left=current} '*' right=Division)* + public Group getGroup() { return cGroup; } + + //Division + public RuleCall getDivisionParserRuleCall_0() { return cDivisionParserRuleCall_0; } + + //({Multiplication.left=current} '*' right=Division)* + public Group getGroup_1() { return cGroup_1; } + + //{Multiplication.left=current} + public Action getMultiplicationLeftAction_1_0() { return cMultiplicationLeftAction_1_0; } + + //'*' + public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; } + + //right=Division + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Division + public RuleCall getRightDivisionParserRuleCall_1_2_0() { return cRightDivisionParserRuleCall_1_2_0; } + } + public class DivisionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Division"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cModuloParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cDivisionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cSolidusKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightModuloParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Division Expression: + // Modulo ({Division.left=current} '/' right=Modulo)* + @Override public ParserRule getRule() { return rule; } + + //Modulo ({Division.left=current} '/' right=Modulo)* + public Group getGroup() { return cGroup; } + + //Modulo + public RuleCall getModuloParserRuleCall_0() { return cModuloParserRuleCall_0; } + + //({Division.left=current} '/' right=Modulo)* + public Group getGroup_1() { return cGroup_1; } + + //{Division.left=current} + public Action getDivisionLeftAction_1_0() { return cDivisionLeftAction_1_0; } + + //'/' + public Keyword getSolidusKeyword_1_1() { return cSolidusKeyword_1_1; } + + //right=Modulo + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //Modulo + public RuleCall getRightModuloParserRuleCall_1_2_0() { return cRightModuloParserRuleCall_1_2_0; } + } + public class ModuloElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Modulo"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cUnaryExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cModuloLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cPercentSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightUnaryExpressionParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //Modulo Expression: + // UnaryExpression ({Modulo.left=current} '%' right=UnaryExpression)* + @Override public ParserRule getRule() { return rule; } + + //UnaryExpression ({Modulo.left=current} '%' right=UnaryExpression)* + public Group getGroup() { return cGroup; } + + //UnaryExpression + public RuleCall getUnaryExpressionParserRuleCall_0() { return cUnaryExpressionParserRuleCall_0; } + + //({Modulo.left=current} '%' right=UnaryExpression)* + public Group getGroup_1() { return cGroup_1; } + + //{Modulo.left=current} + public Action getModuloLeftAction_1_0() { return cModuloLeftAction_1_0; } + + //'%' + public Keyword getPercentSignKeyword_1_1() { return cPercentSignKeyword_1_1; } + + //right=UnaryExpression + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //UnaryExpression + public RuleCall getRightUnaryExpressionParserRuleCall_1_2_0() { return cRightUnaryExpressionParserRuleCall_1_2_0; } + } + public class UnaryExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UnaryExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0); + private final Group cGroup_0_0_0 = (Group)cAlternatives_0_0.eContents().get(0); + private final Action cUnaryPlusExpressionAction_0_0_0_0 = (Action)cGroup_0_0_0.eContents().get(0); + private final Keyword cPlusSignKeyword_0_0_0_1 = (Keyword)cGroup_0_0_0.eContents().get(1); + private final Group cGroup_0_0_1 = (Group)cAlternatives_0_0.eContents().get(1); + private final Action cUnaryMinusExpressionAction_0_0_1_0 = (Action)cGroup_0_0_1.eContents().get(0); + private final Keyword cHyphenMinusKeyword_0_0_1_1 = (Keyword)cGroup_0_0_1.eContents().get(1); + private final Group cGroup_0_0_2 = (Group)cAlternatives_0_0.eContents().get(2); + private final Action cUnaryNegationExpressionAction_0_0_2_0 = (Action)cGroup_0_0_2.eContents().get(0); + private final Keyword cNotKeyword_0_0_2_1 = (Keyword)cGroup_0_0_2.eContents().get(1); + private final Group cGroup_0_0_3 = (Group)cAlternatives_0_0.eContents().get(3); + private final Action cUnaryFirstExpressionAction_0_0_3_0 = (Action)cGroup_0_0_3.eContents().get(0); + private final Keyword cFirstKeyword_0_0_3_1 = (Keyword)cGroup_0_0_3.eContents().get(1); + private final Group cGroup_0_0_4 = (Group)cAlternatives_0_0.eContents().get(4); + private final Action cUnaryLengthExpressionAction_0_0_4_0 = (Action)cGroup_0_0_4.eContents().get(0); + private final Keyword cLengthKeyword_0_0_4_1 = (Keyword)cGroup_0_0_4.eContents().get(1); + private final Group cGroup_0_0_5 = (Group)cAlternatives_0_0.eContents().get(5); + private final Action cUnaryCoerceExpressionAction_0_0_5_0 = (Action)cGroup_0_0_5.eContents().get(0); + private final Keyword cDollarSignKeyword_0_0_5_1 = (Keyword)cGroup_0_0_5.eContents().get(1); + private final Group cGroup_0_0_6 = (Group)cAlternatives_0_0.eContents().get(6); + private final Action cUnaryFullExpressionAction_0_0_6_0 = (Action)cGroup_0_0_6.eContents().get(0); + private final Keyword cFullKeyword_0_0_6_1 = (Keyword)cGroup_0_0_6.eContents().get(1); + private final Group cGroup_0_0_7 = (Group)cAlternatives_0_0.eContents().get(7); + private final Action cUnaryDeQueueExpressionAction_0_0_7_0 = (Action)cGroup_0_0_7.eContents().get(0); + private final Keyword cDequeueKeyword_0_0_7_1 = (Keyword)cGroup_0_0_7.eContents().get(1); + private final Group cGroup_0_0_8 = (Group)cAlternatives_0_0.eContents().get(8); + private final Action cUnaryEmptyExpressionAction_0_0_8_0 = (Action)cGroup_0_0_8.eContents().get(0); + private final Keyword cEmptyKeyword_0_0_8_1 = (Keyword)cGroup_0_0_8.eContents().get(1); + private final Assignment cChildAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cChildUnaryExpressionParserRuleCall_0_1_0 = (RuleCall)cChildAssignment_0_1.eContents().get(0); + private final RuleCall cProjectionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //UnaryExpression Expression: + // ({UnaryPlusExpression} '+' + // | {UnaryMinusExpression} '-' + // | {UnaryNegationExpression} 'not' + // | {UnaryFirstExpression} 'first' + // | {UnaryLengthExpression} 'length' + // | {UnaryCoerceExpression} '$' + // | {UnaryFullExpression} 'full' + // | {UnaryDeQueueExpression} 'dequeue' + // | {UnaryEmptyExpression} 'empty') child=UnaryExpression | Projection + @Override public ParserRule getRule() { return rule; } + + //({UnaryPlusExpression} '+' | {UnaryMinusExpression} '-' | {UnaryNegationExpression} 'not' | {UnaryFirstExpression} + //'first' | {UnaryLengthExpression} 'length' | {UnaryCoerceExpression} '$' | {UnaryFullExpression} 'full' | + //{UnaryDeQueueExpression} 'dequeue' | {UnaryEmptyExpression} 'empty') child=UnaryExpression | Projection + public Alternatives getAlternatives() { return cAlternatives; } + + //({UnaryPlusExpression} '+' | {UnaryMinusExpression} '-' | {UnaryNegationExpression} 'not' | {UnaryFirstExpression} + //'first' | {UnaryLengthExpression} 'length' | {UnaryCoerceExpression} '$' | {UnaryFullExpression} 'full' | + //{UnaryDeQueueExpression} 'dequeue' | {UnaryEmptyExpression} 'empty') child=UnaryExpression + public Group getGroup_0() { return cGroup_0; } + + //({UnaryPlusExpression} '+' | {UnaryMinusExpression} '-' | {UnaryNegationExpression} 'not' | {UnaryFirstExpression} + //'first' | {UnaryLengthExpression} 'length' | {UnaryCoerceExpression} '$' | {UnaryFullExpression} 'full' | + //{UnaryDeQueueExpression} 'dequeue' | {UnaryEmptyExpression} 'empty') + public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; } + + //{UnaryPlusExpression} '+' + public Group getGroup_0_0_0() { return cGroup_0_0_0; } + + //{UnaryPlusExpression} + public Action getUnaryPlusExpressionAction_0_0_0_0() { return cUnaryPlusExpressionAction_0_0_0_0; } + + //'+' + public Keyword getPlusSignKeyword_0_0_0_1() { return cPlusSignKeyword_0_0_0_1; } + + //{UnaryMinusExpression} '-' + public Group getGroup_0_0_1() { return cGroup_0_0_1; } + + //{UnaryMinusExpression} + public Action getUnaryMinusExpressionAction_0_0_1_0() { return cUnaryMinusExpressionAction_0_0_1_0; } + + //'-' + public Keyword getHyphenMinusKeyword_0_0_1_1() { return cHyphenMinusKeyword_0_0_1_1; } + + //{UnaryNegationExpression} 'not' + public Group getGroup_0_0_2() { return cGroup_0_0_2; } + + //{UnaryNegationExpression} + public Action getUnaryNegationExpressionAction_0_0_2_0() { return cUnaryNegationExpressionAction_0_0_2_0; } + + //'not' + public Keyword getNotKeyword_0_0_2_1() { return cNotKeyword_0_0_2_1; } + + //{UnaryFirstExpression} 'first' + public Group getGroup_0_0_3() { return cGroup_0_0_3; } + + //{UnaryFirstExpression} + public Action getUnaryFirstExpressionAction_0_0_3_0() { return cUnaryFirstExpressionAction_0_0_3_0; } + + //'first' + public Keyword getFirstKeyword_0_0_3_1() { return cFirstKeyword_0_0_3_1; } + + //{UnaryLengthExpression} 'length' + public Group getGroup_0_0_4() { return cGroup_0_0_4; } + + //{UnaryLengthExpression} + public Action getUnaryLengthExpressionAction_0_0_4_0() { return cUnaryLengthExpressionAction_0_0_4_0; } + + //'length' + public Keyword getLengthKeyword_0_0_4_1() { return cLengthKeyword_0_0_4_1; } + + //{UnaryCoerceExpression} '$' + public Group getGroup_0_0_5() { return cGroup_0_0_5; } + + //{UnaryCoerceExpression} + public Action getUnaryCoerceExpressionAction_0_0_5_0() { return cUnaryCoerceExpressionAction_0_0_5_0; } + + //'$' + public Keyword getDollarSignKeyword_0_0_5_1() { return cDollarSignKeyword_0_0_5_1; } + + //{UnaryFullExpression} 'full' + public Group getGroup_0_0_6() { return cGroup_0_0_6; } + + //{UnaryFullExpression} + public Action getUnaryFullExpressionAction_0_0_6_0() { return cUnaryFullExpressionAction_0_0_6_0; } + + //'full' + public Keyword getFullKeyword_0_0_6_1() { return cFullKeyword_0_0_6_1; } + + //{UnaryDeQueueExpression} 'dequeue' + public Group getGroup_0_0_7() { return cGroup_0_0_7; } + + //{UnaryDeQueueExpression} + public Action getUnaryDeQueueExpressionAction_0_0_7_0() { return cUnaryDeQueueExpressionAction_0_0_7_0; } + + //'dequeue' + public Keyword getDequeueKeyword_0_0_7_1() { return cDequeueKeyword_0_0_7_1; } + + //{UnaryEmptyExpression} 'empty' + public Group getGroup_0_0_8() { return cGroup_0_0_8; } + + //{UnaryEmptyExpression} + public Action getUnaryEmptyExpressionAction_0_0_8_0() { return cUnaryEmptyExpressionAction_0_0_8_0; } + + //'empty' + public Keyword getEmptyKeyword_0_0_8_1() { return cEmptyKeyword_0_0_8_1; } + + //child=UnaryExpression + public Assignment getChildAssignment_0_1() { return cChildAssignment_0_1; } + + //UnaryExpression + public RuleCall getChildUnaryExpressionParserRuleCall_0_1_0() { return cChildUnaryExpressionParserRuleCall_0_1_0; } + + //Projection + public RuleCall getProjectionParserRuleCall_1() { return cProjectionParserRuleCall_1; } + } + public class ProjectionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Projection"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cAtomicExpressionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cProjectionChannelAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cCircumflexAccentKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cFieldAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cFieldAtomicExpressionParserRuleCall_1_2_0 = (RuleCall)cFieldAssignment_1_2.eContents().get(0); + + //Projection Expression: + // AtomicExpression ({Projection.channel=current} '^' + // field=AtomicExpression)? + @Override public ParserRule getRule() { return rule; } + + //AtomicExpression ({Projection.channel=current} '^' field=AtomicExpression)? + public Group getGroup() { return cGroup; } + + //AtomicExpression + public RuleCall getAtomicExpressionParserRuleCall_0() { return cAtomicExpressionParserRuleCall_0; } + + //({Projection.channel=current} '^' field=AtomicExpression)? + public Group getGroup_1() { return cGroup_1; } + + //{Projection.channel=current} + public Action getProjectionChannelAction_1_0() { return cProjectionChannelAction_1_0; } + + //'^' + public Keyword getCircumflexAccentKeyword_1_1() { return cCircumflexAccentKeyword_1_1; } + + //field=AtomicExpression + public Assignment getFieldAssignment_1_2() { return cFieldAssignment_1_2; } + + //AtomicExpression + public RuleCall getFieldAtomicExpressionParserRuleCall_1_2_0() { return cFieldAtomicExpressionParserRuleCall_1_2_0; } + } + public class ValueExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ValueExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cIdentifierExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLiteralExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cRecordExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cArrayExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cQueueExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + + //// Added to manage the type of current value of a fiacre value during execution + //ValueExpression: + // IdentifierExpression + // | LiteralExpression + // | RecordExpression + // | ArrayExpression + // | QueueExpression; + @Override public ParserRule getRule() { return rule; } + + //IdentifierExpression | LiteralExpression | RecordExpression | ArrayExpression | QueueExpression + public Alternatives getAlternatives() { return cAlternatives; } + + //IdentifierExpression + public RuleCall getIdentifierExpressionParserRuleCall_0() { return cIdentifierExpressionParserRuleCall_0; } + + //LiteralExpression + public RuleCall getLiteralExpressionParserRuleCall_1() { return cLiteralExpressionParserRuleCall_1; } + + //RecordExpression + public RuleCall getRecordExpressionParserRuleCall_2() { return cRecordExpressionParserRuleCall_2; } + + //ArrayExpression + public RuleCall getArrayExpressionParserRuleCall_3() { return cArrayExpressionParserRuleCall_3; } + + //QueueExpression + public RuleCall getQueueExpressionParserRuleCall_4() { return cQueueExpressionParserRuleCall_4; } + } + public class AtomicExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AtomicExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cIdentifierExpressionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cReferenceExpressionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cLiteralExpressionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cRecordExpressionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cArrayExpressionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cQueueExpressionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cEnqueueExpressionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cAppendExpressionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final Group cGroup_8 = (Group)cAlternatives.eContents().get(8); + private final Keyword cLeftParenthesisKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final RuleCall cExpressionParserRuleCall_8_1 = (RuleCall)cGroup_8.eContents().get(1); + private final Keyword cRightParenthesisKeyword_8_2 = (Keyword)cGroup_8.eContents().get(2); + + //AtomicExpression Expression: + // IdentifierExpression + // | ReferenceExpression + // | LiteralExpression + // | RecordExpression + // | ArrayExpression + // | QueueExpression + // | EnqueueExpression + // | AppendExpression + // | '(' Expression ')' + @Override public ParserRule getRule() { return rule; } + + //IdentifierExpression | ReferenceExpression | LiteralExpression | RecordExpression | ArrayExpression | QueueExpression | + //EnqueueExpression | AppendExpression | '(' Expression ')' + public Alternatives getAlternatives() { return cAlternatives; } + + //IdentifierExpression + public RuleCall getIdentifierExpressionParserRuleCall_0() { return cIdentifierExpressionParserRuleCall_0; } + + //ReferenceExpression + public RuleCall getReferenceExpressionParserRuleCall_1() { return cReferenceExpressionParserRuleCall_1; } + + //LiteralExpression + public RuleCall getLiteralExpressionParserRuleCall_2() { return cLiteralExpressionParserRuleCall_2; } + + //RecordExpression + public RuleCall getRecordExpressionParserRuleCall_3() { return cRecordExpressionParserRuleCall_3; } + + //ArrayExpression + public RuleCall getArrayExpressionParserRuleCall_4() { return cArrayExpressionParserRuleCall_4; } + + //QueueExpression + public RuleCall getQueueExpressionParserRuleCall_5() { return cQueueExpressionParserRuleCall_5; } + + //EnqueueExpression + public RuleCall getEnqueueExpressionParserRuleCall_6() { return cEnqueueExpressionParserRuleCall_6; } + + //AppendExpression + public RuleCall getAppendExpressionParserRuleCall_7() { return cAppendExpressionParserRuleCall_7; } + + //'(' Expression ')' + public Group getGroup_8() { return cGroup_8; } + + //'(' + public Keyword getLeftParenthesisKeyword_8_0() { return cLeftParenthesisKeyword_8_0; } + + //Expression + public RuleCall getExpressionParserRuleCall_8_1() { return cExpressionParserRuleCall_8_1; } + + //')' + public Keyword getRightParenthesisKeyword_8_2() { return cRightParenthesisKeyword_8_2; } + } + public class ReferenceExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ReferenceExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAmpersandKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cDeclarationAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cDeclarationReferenceDeclarationUseCrossReference_1_0 = (CrossReference)cDeclarationAssignment_1.eContents().get(0); + private final RuleCall cDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1 = (RuleCall)cDeclarationReferenceDeclarationUseCrossReference_1_0.eContents().get(1); + + //ReferenceExpression: + // '&' declaration=[ReferenceDeclarationUse]; + @Override public ParserRule getRule() { return rule; } + + //'&' declaration=[ReferenceDeclarationUse] + public Group getGroup() { return cGroup; } + + //'&' + public Keyword getAmpersandKeyword_0() { return cAmpersandKeyword_0; } + + //declaration=[ReferenceDeclarationUse] + public Assignment getDeclarationAssignment_1() { return cDeclarationAssignment_1; } + + //[ReferenceDeclarationUse] + public CrossReference getDeclarationReferenceDeclarationUseCrossReference_1_0() { return cDeclarationReferenceDeclarationUseCrossReference_1_0; } + + //ID + public RuleCall getDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1() { return cDeclarationReferenceDeclarationUseIDTerminalRuleCall_1_0_1; } + } + public class IdentifierExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.IdentifierExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cConstructionExpressionAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Assignment cDeclarationAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final CrossReference cDeclarationExpressionDeclarationUseCrossReference_0_1_0 = (CrossReference)cDeclarationAssignment_0_1.eContents().get(0); + private final RuleCall cDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1 = (RuleCall)cDeclarationExpressionDeclarationUseCrossReference_0_1_0.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); + private final Group cGroup_0_3 = (Group)cGroup_0.eContents().get(3); + private final Assignment cParametersAssignment_0_3_0 = (Assignment)cGroup_0_3.eContents().get(0); + private final RuleCall cParametersExpressionParserRuleCall_0_3_0_0 = (RuleCall)cParametersAssignment_0_3_0.eContents().get(0); + private final Group cGroup_0_3_1 = (Group)cGroup_0_3.eContents().get(1); + private final Keyword cCommaKeyword_0_3_1_0 = (Keyword)cGroup_0_3_1.eContents().get(0); + private final Assignment cParametersAssignment_0_3_1_1 = (Assignment)cGroup_0_3_1.eContents().get(1); + private final RuleCall cParametersExpressionParserRuleCall_0_3_1_1_0 = (RuleCall)cParametersAssignment_0_3_1_1.eContents().get(0); + private final Keyword cRightParenthesisKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Assignment cDeclarationAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0); + private final CrossReference cDeclarationExpressionDeclarationUseCrossReference_1_0_0 = (CrossReference)cDeclarationAssignment_1_0.eContents().get(0); + private final RuleCall cDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1 = (RuleCall)cDeclarationExpressionDeclarationUseCrossReference_1_0_0.eContents().get(1); + private final Alternatives cAlternatives_1_1 = (Alternatives)cGroup_1.eContents().get(1); + private final Group cGroup_1_1_0 = (Group)cAlternatives_1_1.eContents().get(0); + private final Keyword cLeftSquareBracketKeyword_1_1_0_0 = (Keyword)cGroup_1_1_0.eContents().get(0); + private final Action cArrayAccessExpressionChildAction_1_1_0_1 = (Action)cGroup_1_1_0.eContents().get(1); + private final Assignment cIndexesAssignment_1_1_0_2 = (Assignment)cGroup_1_1_0.eContents().get(2); + private final RuleCall cIndexesExpressionParserRuleCall_1_1_0_2_0 = (RuleCall)cIndexesAssignment_1_1_0_2.eContents().get(0); + private final Group cGroup_1_1_0_3 = (Group)cGroup_1_1_0.eContents().get(3); + private final Keyword cCommaKeyword_1_1_0_3_0 = (Keyword)cGroup_1_1_0_3.eContents().get(0); + private final Assignment cIndexesAssignment_1_1_0_3_1 = (Assignment)cGroup_1_1_0_3.eContents().get(1); + private final RuleCall cIndexesExpressionParserRuleCall_1_1_0_3_1_0 = (RuleCall)cIndexesAssignment_1_1_0_3_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_1_1_0_4 = (Keyword)cGroup_1_1_0.eContents().get(4); + private final Group cGroup_1_1_1 = (Group)cAlternatives_1_1.eContents().get(1); + private final Keyword cFullStopKeyword_1_1_1_0 = (Keyword)cGroup_1_1_1.eContents().get(0); + private final Action cRecordAccessExpressionChildAction_1_1_1_1 = (Action)cGroup_1_1_1.eContents().get(1); + private final Assignment cFieldAssignment_1_1_1_2 = (Assignment)cGroup_1_1_1.eContents().get(2); + private final CrossReference cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0 = (CrossReference)cFieldAssignment_1_1_1_2.eContents().get(0); + private final RuleCall cFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1 = (RuleCall)cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0.eContents().get(1); + + //IdentifierExpression: + // {ConstructionExpression} declaration=[ExpressionDeclarationUse] '(' (parameters+=Expression (',' + // parameters+=Expression)*)? ')' | declaration=[ExpressionDeclarationUse] ('[' {ArrayAccessExpression.child=current} + // indexes+=Expression (',' indexes+=Expression)* ']' | '.' {RecordAccessExpression.child=current} + // field=[RecordFieldDeclaration])*; + @Override public ParserRule getRule() { return rule; } + + //{ConstructionExpression} declaration=[ExpressionDeclarationUse] '(' (parameters+=Expression (',' + //parameters+=Expression)*)? ')' | declaration=[ExpressionDeclarationUse] ('[' {ArrayAccessExpression.child=current} + //indexes+=Expression (',' indexes+=Expression)* ']' | '.' {RecordAccessExpression.child=current} + //field=[RecordFieldDeclaration])* + public Alternatives getAlternatives() { return cAlternatives; } + + //{ConstructionExpression} declaration=[ExpressionDeclarationUse] '(' (parameters+=Expression (',' + //parameters+=Expression)*)? ')' + public Group getGroup_0() { return cGroup_0; } + + //{ConstructionExpression} + public Action getConstructionExpressionAction_0_0() { return cConstructionExpressionAction_0_0; } + + //declaration=[ExpressionDeclarationUse] + public Assignment getDeclarationAssignment_0_1() { return cDeclarationAssignment_0_1; } + + //[ExpressionDeclarationUse] + public CrossReference getDeclarationExpressionDeclarationUseCrossReference_0_1_0() { return cDeclarationExpressionDeclarationUseCrossReference_0_1_0; } + + //ID + public RuleCall getDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1() { return cDeclarationExpressionDeclarationUseIDTerminalRuleCall_0_1_0_1; } + + //'(' + public Keyword getLeftParenthesisKeyword_0_2() { return cLeftParenthesisKeyword_0_2; } + + //(parameters+=Expression (',' parameters+=Expression)*)? + public Group getGroup_0_3() { return cGroup_0_3; } + + //parameters+=Expression + public Assignment getParametersAssignment_0_3_0() { return cParametersAssignment_0_3_0; } + + //Expression + public RuleCall getParametersExpressionParserRuleCall_0_3_0_0() { return cParametersExpressionParserRuleCall_0_3_0_0; } + + //(',' parameters+=Expression)* + public Group getGroup_0_3_1() { return cGroup_0_3_1; } + + //',' + public Keyword getCommaKeyword_0_3_1_0() { return cCommaKeyword_0_3_1_0; } + + //parameters+=Expression + public Assignment getParametersAssignment_0_3_1_1() { return cParametersAssignment_0_3_1_1; } + + //Expression + public RuleCall getParametersExpressionParserRuleCall_0_3_1_1_0() { return cParametersExpressionParserRuleCall_0_3_1_1_0; } + + //')' + public Keyword getRightParenthesisKeyword_0_4() { return cRightParenthesisKeyword_0_4; } + + //declaration=[ExpressionDeclarationUse] ('[' {ArrayAccessExpression.child=current} indexes+=Expression (',' + //indexes+=Expression)* ']' | '.' {RecordAccessExpression.child=current} field=[RecordFieldDeclaration])* + public Group getGroup_1() { return cGroup_1; } + + //declaration=[ExpressionDeclarationUse] + public Assignment getDeclarationAssignment_1_0() { return cDeclarationAssignment_1_0; } + + //[ExpressionDeclarationUse] + public CrossReference getDeclarationExpressionDeclarationUseCrossReference_1_0_0() { return cDeclarationExpressionDeclarationUseCrossReference_1_0_0; } + + //ID + public RuleCall getDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1() { return cDeclarationExpressionDeclarationUseIDTerminalRuleCall_1_0_0_1; } + + //('[' {ArrayAccessExpression.child=current} indexes+=Expression (',' indexes+=Expression)* ']' | '.' + //{RecordAccessExpression.child=current} field=[RecordFieldDeclaration])* + public Alternatives getAlternatives_1_1() { return cAlternatives_1_1; } + + //'[' {ArrayAccessExpression.child=current} indexes+=Expression (',' indexes+=Expression)* ']' + public Group getGroup_1_1_0() { return cGroup_1_1_0; } + + //'[' + public Keyword getLeftSquareBracketKeyword_1_1_0_0() { return cLeftSquareBracketKeyword_1_1_0_0; } + + //{ArrayAccessExpression.child=current} + public Action getArrayAccessExpressionChildAction_1_1_0_1() { return cArrayAccessExpressionChildAction_1_1_0_1; } + + //indexes+=Expression + public Assignment getIndexesAssignment_1_1_0_2() { return cIndexesAssignment_1_1_0_2; } + + //Expression + public RuleCall getIndexesExpressionParserRuleCall_1_1_0_2_0() { return cIndexesExpressionParserRuleCall_1_1_0_2_0; } + + //(',' indexes+=Expression)* + public Group getGroup_1_1_0_3() { return cGroup_1_1_0_3; } + + //',' + public Keyword getCommaKeyword_1_1_0_3_0() { return cCommaKeyword_1_1_0_3_0; } + + //indexes+=Expression + public Assignment getIndexesAssignment_1_1_0_3_1() { return cIndexesAssignment_1_1_0_3_1; } + + //Expression + public RuleCall getIndexesExpressionParserRuleCall_1_1_0_3_1_0() { return cIndexesExpressionParserRuleCall_1_1_0_3_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_1_1_0_4() { return cRightSquareBracketKeyword_1_1_0_4; } + + //'.' {RecordAccessExpression.child=current} field=[RecordFieldDeclaration] + public Group getGroup_1_1_1() { return cGroup_1_1_1; } + + //'.' + public Keyword getFullStopKeyword_1_1_1_0() { return cFullStopKeyword_1_1_1_0; } + + //{RecordAccessExpression.child=current} + public Action getRecordAccessExpressionChildAction_1_1_1_1() { return cRecordAccessExpressionChildAction_1_1_1_1; } + + //field=[RecordFieldDeclaration] + public Assignment getFieldAssignment_1_1_1_2() { return cFieldAssignment_1_1_1_2; } + + //[RecordFieldDeclaration] + public CrossReference getFieldRecordFieldDeclarationCrossReference_1_1_1_2_0() { return cFieldRecordFieldDeclarationCrossReference_1_1_1_2_0; } + + //ID + public RuleCall getFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1() { return cFieldRecordFieldDeclarationIDTerminalRuleCall_1_1_1_2_0_1; } + } + public class RecordExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.RecordExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cFieldsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cFieldsFieldExpressionParserRuleCall_1_0 = (RuleCall)cFieldsAssignment_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 cFieldsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cFieldsFieldExpressionParserRuleCall_2_1_0 = (RuleCall)cFieldsAssignment_2_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //RecordExpression: + // '{' fields+=FieldExpression (',' fields+=FieldExpression)* '}'; + @Override public ParserRule getRule() { return rule; } + + //'{' fields+=FieldExpression (',' fields+=FieldExpression)* '}' + public Group getGroup() { return cGroup; } + + //'{' + public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } + + //fields+=FieldExpression + public Assignment getFieldsAssignment_1() { return cFieldsAssignment_1; } + + //FieldExpression + public RuleCall getFieldsFieldExpressionParserRuleCall_1_0() { return cFieldsFieldExpressionParserRuleCall_1_0; } + + //(',' fields+=FieldExpression)* + public Group getGroup_2() { return cGroup_2; } + + //',' + public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } + + //fields+=FieldExpression + public Assignment getFieldsAssignment_2_1() { return cFieldsAssignment_2_1; } + + //FieldExpression + public RuleCall getFieldsFieldExpressionParserRuleCall_2_1_0() { return cFieldsFieldExpressionParserRuleCall_2_1_0; } + + //'}' + public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } + } + public class FieldExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.FieldExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cFieldAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cFieldRecordFieldDeclarationUseCrossReference_0_0 = (CrossReference)cFieldAssignment_0.eContents().get(0); + private final RuleCall cFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1 = (RuleCall)cFieldRecordFieldDeclarationUseCrossReference_0_0.eContents().get(1); + private final Keyword cEqualsSignKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cValueExpressionParserRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0); + + //FieldExpression: + // field=[RecordFieldDeclarationUse] '=' value=Expression // TODO : Inconsistent + //; + @Override public ParserRule getRule() { return rule; } + + ////FZ je l'ai repris + //field=[RecordFieldDeclarationUse] '=' value=Expression + public Group getGroup() { return cGroup; } + + ////FZ je l'ai repris + //field=[RecordFieldDeclarationUse] + public Assignment getFieldAssignment_0() { return cFieldAssignment_0; } + + //[RecordFieldDeclarationUse] + public CrossReference getFieldRecordFieldDeclarationUseCrossReference_0_0() { return cFieldRecordFieldDeclarationUseCrossReference_0_0; } + + //ID + public RuleCall getFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1() { return cFieldRecordFieldDeclarationUseIDTerminalRuleCall_0_0_1; } + + //'=' + public Keyword getEqualsSignKeyword_1() { return cEqualsSignKeyword_1; } + + //value=Expression + public Assignment getValueAssignment_2() { return cValueAssignment_2; } + + //Expression + public RuleCall getValueExpressionParserRuleCall_2_0() { return cValueExpressionParserRuleCall_2_0; } + } + public class ArrayExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ArrayExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cArrayExpressionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLeftSquareBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Assignment cValuesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); + private final RuleCall cValuesExpressionParserRuleCall_2_0_0 = (RuleCall)cValuesAssignment_2_0.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); + private final Assignment cValuesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cValuesExpressionParserRuleCall_2_1_1_0 = (RuleCall)cValuesAssignment_2_1_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + ////ArrayExpression returns Expression : + //// '[' Expression + //// ( + //// {ExplicitArrayExpression.values+=current} (',' values+=Expression)* + //// | + //// ({ImplicitArrayExpression.body+=current} '|' index=VariableDeclaration 'in' type=RangeType) + //// ) + //// ']' + ////; + //ArrayExpression: + // {ArrayExpression} '[' (values+=Expression (',' values+=Expression)*)? ']'; + @Override public ParserRule getRule() { return rule; } + + //{ArrayExpression} '[' (values+=Expression (',' values+=Expression)*)? ']' + public Group getGroup() { return cGroup; } + + //{ArrayExpression} + public Action getArrayExpressionAction_0() { return cArrayExpressionAction_0; } + + //'[' + public Keyword getLeftSquareBracketKeyword_1() { return cLeftSquareBracketKeyword_1; } + + //(values+=Expression (',' values+=Expression)*)? + public Group getGroup_2() { return cGroup_2; } + + //values+=Expression + public Assignment getValuesAssignment_2_0() { return cValuesAssignment_2_0; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_2_0_0() { return cValuesExpressionParserRuleCall_2_0_0; } + + //(',' values+=Expression)* + public Group getGroup_2_1() { return cGroup_2_1; } + + //',' + public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } + + //values+=Expression + public Assignment getValuesAssignment_2_1_1() { return cValuesAssignment_2_1_1; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_2_1_1_0() { return cValuesExpressionParserRuleCall_2_1_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } + } + public class QueueExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.QueueExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cQueueExpressionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketVerticalLineKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Assignment cValuesAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0); + private final RuleCall cValuesExpressionParserRuleCall_2_0_0 = (RuleCall)cValuesAssignment_2_0.eContents().get(0); + private final Group cGroup_2_1 = (Group)cGroup_2.eContents().get(1); + private final Keyword cCommaKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); + private final Assignment cValuesAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cValuesExpressionParserRuleCall_2_1_1_0 = (RuleCall)cValuesAssignment_2_1_1.eContents().get(0); + private final Keyword cVerticalLineRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //QueueExpression: + // {QueueExpression} '{|' (values+=Expression (',' values+=Expression)*)? '|}'; + @Override public ParserRule getRule() { return rule; } + + //{QueueExpression} '{|' (values+=Expression (',' values+=Expression)*)? '|}' + public Group getGroup() { return cGroup; } + + //{QueueExpression} + public Action getQueueExpressionAction_0() { return cQueueExpressionAction_0; } + + //'{|' + public Keyword getLeftCurlyBracketVerticalLineKeyword_1() { return cLeftCurlyBracketVerticalLineKeyword_1; } + + //(values+=Expression (',' values+=Expression)*)? + public Group getGroup_2() { return cGroup_2; } + + //values+=Expression + public Assignment getValuesAssignment_2_0() { return cValuesAssignment_2_0; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_2_0_0() { return cValuesExpressionParserRuleCall_2_0_0; } + + //(',' values+=Expression)* + public Group getGroup_2_1() { return cGroup_2_1; } + + //',' + public Keyword getCommaKeyword_2_1_0() { return cCommaKeyword_2_1_0; } + + //values+=Expression + public Assignment getValuesAssignment_2_1_1() { return cValuesAssignment_2_1_1; } + + //Expression + public RuleCall getValuesExpressionParserRuleCall_2_1_1_0() { return cValuesExpressionParserRuleCall_2_1_1_0; } + + //'|}' + public Keyword getVerticalLineRightCurlyBracketKeyword_3() { return cVerticalLineRightCurlyBracketKeyword_3; } + } + public class EnqueueExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.EnqueueExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cEnqueueKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cElementAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cElementExpressionParserRuleCall_2_0 = (RuleCall)cElementAssignment_2.eContents().get(0); + private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cQueueAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cQueueExpressionParserRuleCall_4_0 = (RuleCall)cQueueAssignment_4.eContents().get(0); + private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //EnqueueExpression: + // 'enqueue' '(' element=Expression ',' queue=Expression ')'; + @Override public ParserRule getRule() { return rule; } + + //'enqueue' '(' element=Expression ',' queue=Expression ')' + public Group getGroup() { return cGroup; } + + //'enqueue' + public Keyword getEnqueueKeyword_0() { return cEnqueueKeyword_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } + + //element=Expression + public Assignment getElementAssignment_2() { return cElementAssignment_2; } + + //Expression + public RuleCall getElementExpressionParserRuleCall_2_0() { return cElementExpressionParserRuleCall_2_0; } + + //',' + public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } + + //queue=Expression + public Assignment getQueueAssignment_4() { return cQueueAssignment_4; } + + //Expression + public RuleCall getQueueExpressionParserRuleCall_4_0() { return cQueueExpressionParserRuleCall_4_0; } + + //')' + public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } + } + public class AppendExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AppendExpression"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAppendKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cLeftAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cLeftExpressionParserRuleCall_2_0 = (RuleCall)cLeftAssignment_2.eContents().get(0); + private final Keyword cCommaKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cRightAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cRightExpressionParserRuleCall_4_0 = (RuleCall)cRightAssignment_4.eContents().get(0); + private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //AppendExpression: + // 'append' '(' left=Expression ',' right=Expression ')'; + @Override public ParserRule getRule() { return rule; } + + //'append' '(' left=Expression ',' right=Expression ')' + public Group getGroup() { return cGroup; } + + //'append' + public Keyword getAppendKeyword_0() { return cAppendKeyword_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; } + + //left=Expression + public Assignment getLeftAssignment_2() { return cLeftAssignment_2; } + + //Expression + public RuleCall getLeftExpressionParserRuleCall_2_0() { return cLeftExpressionParserRuleCall_2_0; } + + //',' + public Keyword getCommaKeyword_3() { return cCommaKeyword_3; } + + //right=Expression + public Assignment getRightAssignment_4() { return cRightAssignment_4; } + + //Expression + public RuleCall getRightExpressionParserRuleCall_4_0() { return cRightExpressionParserRuleCall_4_0; } + + //')' + public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; } + } + public class LiteralExpressionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LiteralExpression"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cBooleanLiteralParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cNaturalLiteralParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //LiteralExpression: + // BooleanLiteral + // | NaturalLiteral; + @Override public ParserRule getRule() { return rule; } + + //BooleanLiteral | NaturalLiteral + public Alternatives getAlternatives() { return cAlternatives; } + + //BooleanLiteral + public RuleCall getBooleanLiteralParserRuleCall_0() { return cBooleanLiteralParserRuleCall_0; } + + //NaturalLiteral + public RuleCall getNaturalLiteralParserRuleCall_1() { return cNaturalLiteralParserRuleCall_1; } + } + public class BooleanLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.BooleanLiteral"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cTrueLiteralAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Keyword cTrueKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Action cFalseLiteralAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cFalseKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + + //BooleanLiteral: + // {TrueLiteral} 'true' | {FalseLiteral} 'false'; + @Override public ParserRule getRule() { return rule; } + + //{TrueLiteral} 'true' | {FalseLiteral} 'false' + public Alternatives getAlternatives() { return cAlternatives; } + + //{TrueLiteral} 'true' + public Group getGroup_0() { return cGroup_0; } + + //{TrueLiteral} + public Action getTrueLiteralAction_0_0() { return cTrueLiteralAction_0_0; } + + //'true' + public Keyword getTrueKeyword_0_1() { return cTrueKeyword_0_1; } + + //{FalseLiteral} 'false' + public Group getGroup_1() { return cGroup_1; } + + //{FalseLiteral} + public Action getFalseLiteralAction_1_0() { return cFalseLiteralAction_1_0; } + + //'false' + public Keyword getFalseKeyword_1_1() { return cFalseKeyword_1_1; } + } + public class NaturalLiteralElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NaturalLiteral"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //NaturalLiteral: + // value=INT; + @Override public ParserRule getRule() { return rule; } + + //value=INT + public Assignment getValueAssignment() { return cValueAssignment; } + + //INT + public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; } + } + public class LowerBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LowerBound"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cNaturalLowerBoundParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cDecimalLowerBoundParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cVariableLowerBoundParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //LowerBound: + // NaturalLowerBound + // | DecimalLowerBound + // | VariableLowerBound; + @Override public ParserRule getRule() { return rule; } + + //NaturalLowerBound | DecimalLowerBound | VariableLowerBound + public Alternatives getAlternatives() { return cAlternatives; } + + //NaturalLowerBound + public RuleCall getNaturalLowerBoundParserRuleCall_0() { return cNaturalLowerBoundParserRuleCall_0; } + + //DecimalLowerBound + public RuleCall getDecimalLowerBoundParserRuleCall_1() { return cDecimalLowerBoundParserRuleCall_1; } + + //VariableLowerBound + public RuleCall getVariableLowerBoundParserRuleCall_2() { return cVariableLowerBoundParserRuleCall_2; } + } + public class UpperBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.UpperBound"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cNaturalUpperBoundParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cDecimalUpperBoundParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cVariableUpperBoundParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cInfiniteUpperBoundParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //UpperBound: + // NaturalUpperBound + // | DecimalUpperBound + // | VariableUpperBound + // | InfiniteUpperBound; + @Override public ParserRule getRule() { return rule; } + + //NaturalUpperBound | DecimalUpperBound | VariableUpperBound | InfiniteUpperBound + public Alternatives getAlternatives() { return cAlternatives; } + + //NaturalUpperBound + public RuleCall getNaturalUpperBoundParserRuleCall_0() { return cNaturalUpperBoundParserRuleCall_0; } + + //DecimalUpperBound + public RuleCall getDecimalUpperBoundParserRuleCall_1() { return cDecimalUpperBoundParserRuleCall_1; } + + //VariableUpperBound + public RuleCall getVariableUpperBoundParserRuleCall_2() { return cVariableUpperBoundParserRuleCall_2; } + + //InfiniteUpperBound + public RuleCall getInfiniteUpperBoundParserRuleCall_3() { return cInfiniteUpperBoundParserRuleCall_3; } + } + public class NaturalLowerBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NaturalLowerBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Assignment cLeftAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_0_0_0 = (Keyword)cLeftAssignment_0_0.eContents().get(0); + private final Assignment cRightAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_0_1_0 = (Keyword)cRightAssignment_0_1.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueINTTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); + + //NaturalLowerBound: + // (left?='[' | right?=']') value=INT; + @Override public ParserRule getRule() { return rule; } + + //(left?='[' | right?=']') value=INT + public Group getGroup() { return cGroup; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //left?='[' + public Assignment getLeftAssignment_0_0() { return cLeftAssignment_0_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_0_0_0() { return cLeftLeftSquareBracketKeyword_0_0_0; } + + //right?=']' + public Assignment getRightAssignment_0_1() { return cRightAssignment_0_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_0_1_0() { return cRightRightSquareBracketKeyword_0_1_0; } + + //value=INT + public Assignment getValueAssignment_1() { return cValueAssignment_1; } + + //INT + public RuleCall getValueINTTerminalRuleCall_1_0() { return cValueINTTerminalRuleCall_1_0; } + } + public class NaturalUpperBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NaturalUpperBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cValueAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cValueINTTerminalRuleCall_0_0 = (RuleCall)cValueAssignment_0.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cLeftAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_1_0_0 = (Keyword)cLeftAssignment_1_0.eContents().get(0); + private final Assignment cRightAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_1_1_0 = (Keyword)cRightAssignment_1_1.eContents().get(0); + + //NaturalUpperBound: + // value=INT (left?='[' | right?=']'); + @Override public ParserRule getRule() { return rule; } + + //value=INT (left?='[' | right?=']') + public Group getGroup() { return cGroup; } + + //value=INT + public Assignment getValueAssignment_0() { return cValueAssignment_0; } + + //INT + public RuleCall getValueINTTerminalRuleCall_0_0() { return cValueINTTerminalRuleCall_0_0; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //left?='[' + public Assignment getLeftAssignment_1_0() { return cLeftAssignment_1_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_1_0_0() { return cLeftLeftSquareBracketKeyword_1_0_0; } + + //right?=']' + public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_1_1_0() { return cRightRightSquareBracketKeyword_1_1_0; } + } + public class DecimalLowerBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.DecimalLowerBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Assignment cLeftAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_0_0_0 = (Keyword)cLeftAssignment_0_0.eContents().get(0); + private final Assignment cRightAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_0_1_0 = (Keyword)cRightAssignment_0_1.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueFLTTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); + + //DecimalLowerBound: + // (left?='[' | right?=']') value=FLT; + @Override public ParserRule getRule() { return rule; } + + //(left?='[' | right?=']') value=FLT + public Group getGroup() { return cGroup; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //left?='[' + public Assignment getLeftAssignment_0_0() { return cLeftAssignment_0_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_0_0_0() { return cLeftLeftSquareBracketKeyword_0_0_0; } + + //right?=']' + public Assignment getRightAssignment_0_1() { return cRightAssignment_0_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_0_1_0() { return cRightRightSquareBracketKeyword_0_1_0; } + + //value=FLT + public Assignment getValueAssignment_1() { return cValueAssignment_1; } + + //FLT + public RuleCall getValueFLTTerminalRuleCall_1_0() { return cValueFLTTerminalRuleCall_1_0; } + } + public class DecimalUpperBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.DecimalUpperBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cValueAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cValueFLTTerminalRuleCall_0_0 = (RuleCall)cValueAssignment_0.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cLeftAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_1_0_0 = (Keyword)cLeftAssignment_1_0.eContents().get(0); + private final Assignment cRightAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_1_1_0 = (Keyword)cRightAssignment_1_1.eContents().get(0); + + //DecimalUpperBound: + // value=FLT (left?='[' | right?=']'); + @Override public ParserRule getRule() { return rule; } + + //value=FLT (left?='[' | right?=']') + public Group getGroup() { return cGroup; } + + //value=FLT + public Assignment getValueAssignment_0() { return cValueAssignment_0; } + + //FLT + public RuleCall getValueFLTTerminalRuleCall_0_0() { return cValueFLTTerminalRuleCall_0_0; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //left?='[' + public Assignment getLeftAssignment_1_0() { return cLeftAssignment_1_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_1_0_0() { return cLeftLeftSquareBracketKeyword_1_0_0; } + + //right?=']' + public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_1_1_0() { return cRightRightSquareBracketKeyword_1_1_0; } + } + public class VariableLowerBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.VariableLowerBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0); + private final Assignment cLeftAssignment_0_0 = (Assignment)cAlternatives_0.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_0_0_0 = (Keyword)cLeftAssignment_0_0.eContents().get(0); + private final Assignment cRightAssignment_0_1 = (Assignment)cAlternatives_0.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_0_1_0 = (Keyword)cRightAssignment_0_1.eContents().get(0); + private final Assignment cVariableAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cVariableBoundDeclarationUseCrossReference_1_0 = (CrossReference)cVariableAssignment_1.eContents().get(0); + private final RuleCall cVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1 = (RuleCall)cVariableBoundDeclarationUseCrossReference_1_0.eContents().get(1); + + //VariableLowerBound: + // (left?='[' | right?=']') variable=[BoundDeclarationUse]; + @Override public ParserRule getRule() { return rule; } + + //(left?='[' | right?=']') variable=[BoundDeclarationUse] + public Group getGroup() { return cGroup; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_0() { return cAlternatives_0; } + + //left?='[' + public Assignment getLeftAssignment_0_0() { return cLeftAssignment_0_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_0_0_0() { return cLeftLeftSquareBracketKeyword_0_0_0; } + + //right?=']' + public Assignment getRightAssignment_0_1() { return cRightAssignment_0_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_0_1_0() { return cRightRightSquareBracketKeyword_0_1_0; } + + //variable=[BoundDeclarationUse] + public Assignment getVariableAssignment_1() { return cVariableAssignment_1; } + + //[BoundDeclarationUse] + public CrossReference getVariableBoundDeclarationUseCrossReference_1_0() { return cVariableBoundDeclarationUseCrossReference_1_0; } + + //ID + public RuleCall getVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1() { return cVariableBoundDeclarationUseIDTerminalRuleCall_1_0_1; } + } + public class VariableUpperBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.VariableUpperBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cVariableAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final CrossReference cVariableBoundDeclarationUseCrossReference_0_0 = (CrossReference)cVariableAssignment_0.eContents().get(0); + private final RuleCall cVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1 = (RuleCall)cVariableBoundDeclarationUseCrossReference_0_0.eContents().get(1); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Assignment cLeftAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); + private final Keyword cLeftLeftSquareBracketKeyword_1_0_0 = (Keyword)cLeftAssignment_1_0.eContents().get(0); + private final Assignment cRightAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); + private final Keyword cRightRightSquareBracketKeyword_1_1_0 = (Keyword)cRightAssignment_1_1.eContents().get(0); + + //VariableUpperBound: + // variable=[BoundDeclarationUse] (left?='[' | right?=']'); + @Override public ParserRule getRule() { return rule; } + + //variable=[BoundDeclarationUse] (left?='[' | right?=']') + public Group getGroup() { return cGroup; } + + //variable=[BoundDeclarationUse] + public Assignment getVariableAssignment_0() { return cVariableAssignment_0; } + + //[BoundDeclarationUse] + public CrossReference getVariableBoundDeclarationUseCrossReference_0_0() { return cVariableBoundDeclarationUseCrossReference_0_0; } + + //ID + public RuleCall getVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1() { return cVariableBoundDeclarationUseIDTerminalRuleCall_0_0_1; } + + //(left?='[' | right?=']') + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //left?='[' + public Assignment getLeftAssignment_1_0() { return cLeftAssignment_1_0; } + + //'[' + public Keyword getLeftLeftSquareBracketKeyword_1_0_0() { return cLeftLeftSquareBracketKeyword_1_0_0; } + + //right?=']' + public Assignment getRightAssignment_1_1() { return cRightAssignment_1_1; } + + //']' + public Keyword getRightRightSquareBracketKeyword_1_1_0() { return cRightRightSquareBracketKeyword_1_1_0; } + } + public class InfiniteUpperBoundElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.InfiniteUpperBound"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cInfiniteUpperBoundAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cFullStopFullStopFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //InfiniteUpperBound: + // {InfiniteUpperBound} '...' '['; + @Override public ParserRule getRule() { return rule; } + + //{InfiniteUpperBound} '...' '[' + public Group getGroup() { return cGroup; } + + //{InfiniteUpperBound} + public Action getInfiniteUpperBoundAction_0() { return cInfiniteUpperBoundAction_0; } + + //'...' + public Keyword getFullStopFullStopFullStopKeyword_1() { return cFullStopFullStopFullStopKeyword_1; } + + //'[' + public Keyword getLeftSquareBracketKeyword_2() { return cLeftSquareBracketKeyword_2; } + } + public class RequirementElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Requirement"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAssertKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cPropertyPropertyDeclarationCrossReference_1_0 = (CrossReference)cPropertyAssignment_1.eContents().get(0); + private final RuleCall cPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cPropertyPropertyDeclarationCrossReference_1_0.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cTrueKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPositiveAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cPositiveSTRINGTerminalRuleCall_2_1_0 = (RuleCall)cPositiveAssignment_2_1.eContents().get(0); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cFalseKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cNegativeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final RuleCall cNegativeSTRINGTerminalRuleCall_3_1_0 = (RuleCall)cNegativeAssignment_3_1.eContents().get(0); + + //Requirement: + // 'assert' property=[PropertyDeclaration] ('-true' positive=STRING)? ('-false' negative=STRING)?; + @Override public ParserRule getRule() { return rule; } + + //'assert' property=[PropertyDeclaration] ('-true' positive=STRING)? ('-false' negative=STRING)? + public Group getGroup() { return cGroup; } + + //'assert' + public Keyword getAssertKeyword_0() { return cAssertKeyword_0; } + + //property=[PropertyDeclaration] + public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } + + //[PropertyDeclaration] + public CrossReference getPropertyPropertyDeclarationCrossReference_1_0() { return cPropertyPropertyDeclarationCrossReference_1_0; } + + //ID + public RuleCall getPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1() { return cPropertyPropertyDeclarationIDTerminalRuleCall_1_0_1; } + + //('-true' positive=STRING)? + public Group getGroup_2() { return cGroup_2; } + + //'-true' + public Keyword getTrueKeyword_2_0() { return cTrueKeyword_2_0; } + + //positive=STRING + public Assignment getPositiveAssignment_2_1() { return cPositiveAssignment_2_1; } + + //STRING + public RuleCall getPositiveSTRINGTerminalRuleCall_2_1_0() { return cPositiveSTRINGTerminalRuleCall_2_1_0; } + + //('-false' negative=STRING)? + public Group getGroup_3() { return cGroup_3; } + + //'-false' + public Keyword getFalseKeyword_3_0() { return cFalseKeyword_3_0; } + + //negative=STRING + public Assignment getNegativeAssignment_3_1() { return cNegativeAssignment_3_1; } + + //STRING + public RuleCall getNegativeSTRINGTerminalRuleCall_3_1_0() { return cNegativeSTRINGTerminalRuleCall_3_1_0; } + } + public class PropertyDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPropertyKeyword_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 cIsKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cPropertyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cPropertyPropertyParserRuleCall_3_0 = (RuleCall)cPropertyAssignment_3.eContents().get(0); + + //PropertyDeclaration: + // 'property' name=ID 'is' property=Property; + @Override public ParserRule getRule() { return rule; } + + //'property' name=ID 'is' property=Property + public Group getGroup() { return cGroup; } + + //'property' + public Keyword getPropertyKeyword_0() { return cPropertyKeyword_0; } + + //name=ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //'is' + public Keyword getIsKeyword_2() { return cIsKeyword_2; } + + //property=Property + public Assignment getPropertyAssignment_3() { return cPropertyAssignment_3; } + + //Property + public RuleCall getPropertyPropertyParserRuleCall_3_0() { return cPropertyPropertyParserRuleCall_3_0; } + } + public class PropertyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Property"); + private final RuleCall cQuantifiedPropertyParserRuleCall = (RuleCall)rule.eContents().get(1); + + //Property: + // QuantifiedProperty; + @Override public ParserRule getRule() { return rule; } + + //QuantifiedProperty + public RuleCall getQuantifiedPropertyParserRuleCall() { return cQuantifiedPropertyParserRuleCall; } + } + public class QuantifiedPropertyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.QuantifiedProperty"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0); + private final Group cGroup_0_0_0 = (Group)cAlternatives_0_0.eContents().get(0); + private final Action cAllPropertyAction_0_0_0_0 = (Action)cGroup_0_0_0.eContents().get(0); + private final Keyword cAllKeyword_0_0_0_1 = (Keyword)cGroup_0_0_0.eContents().get(1); + private final Group cGroup_0_0_1 = (Group)cAlternatives_0_0.eContents().get(1); + private final Action cExistsPropertyAction_0_0_1_0 = (Action)cGroup_0_0_1.eContents().get(0); + private final Keyword cExistsKeyword_0_0_1_1 = (Keyword)cGroup_0_0_1.eContents().get(1); + private final Assignment cVariableAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cVariableVariableDeclarationParserRuleCall_0_1_0 = (RuleCall)cVariableAssignment_0_1.eContents().get(0); + private final Keyword cInKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); + private final Assignment cTypeAssignment_0_3 = (Assignment)cGroup_0.eContents().get(3); + private final RuleCall cTypeRangeTypeParserRuleCall_0_3_0 = (RuleCall)cTypeAssignment_0_3.eContents().get(0); + private final Keyword cFullStopKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); + private final Assignment cChildAssignment_0_5 = (Assignment)cGroup_0.eContents().get(5); + private final RuleCall cChildQuantifiedPropertyParserRuleCall_0_5_0 = (RuleCall)cChildAssignment_0_5.eContents().get(0); + private final RuleCall cPropertyDisjunctionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //QuantifiedProperty Property: + // ({AllProperty} 'all' | {ExistsProperty} 'exists') variable=VariableDeclaration + // 'in' type=RangeType '.' child=QuantifiedProperty | PropertyDisjunction + @Override public ParserRule getRule() { return rule; } + + //({AllProperty} 'all' | {ExistsProperty} 'exists') variable=VariableDeclaration 'in' type=RangeType '.' + //child=QuantifiedProperty | PropertyDisjunction + public Alternatives getAlternatives() { return cAlternatives; } + + //({AllProperty} 'all' | {ExistsProperty} 'exists') variable=VariableDeclaration 'in' type=RangeType '.' + //child=QuantifiedProperty + public Group getGroup_0() { return cGroup_0; } + + //({AllProperty} 'all' | {ExistsProperty} 'exists') + public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; } + + //{AllProperty} 'all' + public Group getGroup_0_0_0() { return cGroup_0_0_0; } + + //{AllProperty} + public Action getAllPropertyAction_0_0_0_0() { return cAllPropertyAction_0_0_0_0; } + + //'all' + public Keyword getAllKeyword_0_0_0_1() { return cAllKeyword_0_0_0_1; } + + //{ExistsProperty} 'exists' + public Group getGroup_0_0_1() { return cGroup_0_0_1; } + + //{ExistsProperty} + public Action getExistsPropertyAction_0_0_1_0() { return cExistsPropertyAction_0_0_1_0; } + + //'exists' + public Keyword getExistsKeyword_0_0_1_1() { return cExistsKeyword_0_0_1_1; } + + //variable=VariableDeclaration + public Assignment getVariableAssignment_0_1() { return cVariableAssignment_0_1; } + + //VariableDeclaration + public RuleCall getVariableVariableDeclarationParserRuleCall_0_1_0() { return cVariableVariableDeclarationParserRuleCall_0_1_0; } + + //'in' + public Keyword getInKeyword_0_2() { return cInKeyword_0_2; } + + //type=RangeType + public Assignment getTypeAssignment_0_3() { return cTypeAssignment_0_3; } + + //RangeType + public RuleCall getTypeRangeTypeParserRuleCall_0_3_0() { return cTypeRangeTypeParserRuleCall_0_3_0; } + + //'.' + public Keyword getFullStopKeyword_0_4() { return cFullStopKeyword_0_4; } + + //child=QuantifiedProperty + public Assignment getChildAssignment_0_5() { return cChildAssignment_0_5; } + + //QuantifiedProperty + public RuleCall getChildQuantifiedPropertyParserRuleCall_0_5_0() { return cChildQuantifiedPropertyParserRuleCall_0_5_0; } + + //PropertyDisjunction + public RuleCall getPropertyDisjunctionParserRuleCall_1() { return cPropertyDisjunctionParserRuleCall_1; } + } + public class PropertyDisjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyDisjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cPropertyImplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cPropertyDisjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cOrKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightPropertyImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //PropertyDisjunction Property: + // PropertyImplication ({PropertyDisjunction.left=current} 'or' right=PropertyImplication)* + @Override public ParserRule getRule() { return rule; } + + //PropertyImplication ({PropertyDisjunction.left=current} 'or' right=PropertyImplication)* + public Group getGroup() { return cGroup; } + + //PropertyImplication + public RuleCall getPropertyImplicationParserRuleCall_0() { return cPropertyImplicationParserRuleCall_0; } + + //({PropertyDisjunction.left=current} 'or' right=PropertyImplication)* + public Group getGroup_1() { return cGroup_1; } + + //{PropertyDisjunction.left=current} + public Action getPropertyDisjunctionLeftAction_1_0() { return cPropertyDisjunctionLeftAction_1_0; } + + //'or' + public Keyword getOrKeyword_1_1() { return cOrKeyword_1_1; } + + //right=PropertyImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //PropertyImplication + public RuleCall getRightPropertyImplicationParserRuleCall_1_2_0() { return cRightPropertyImplicationParserRuleCall_1_2_0; } + } + public class PropertyImplicationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyImplication"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cPropertyConjunctionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cPropertyImplicationLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cEqualsSignGreaterThanSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightPropertyImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //PropertyImplication Property: + // PropertyConjunction ({PropertyImplication.left=current} '=>' right=PropertyImplication)? + @Override public ParserRule getRule() { return rule; } + + //PropertyConjunction ({PropertyImplication.left=current} '=>' right=PropertyImplication)? + public Group getGroup() { return cGroup; } + + //PropertyConjunction + public RuleCall getPropertyConjunctionParserRuleCall_0() { return cPropertyConjunctionParserRuleCall_0; } + + //({PropertyImplication.left=current} '=>' right=PropertyImplication)? + public Group getGroup_1() { return cGroup_1; } + + //{PropertyImplication.left=current} + public Action getPropertyImplicationLeftAction_1_0() { return cPropertyImplicationLeftAction_1_0; } + + //'=>' + public Keyword getEqualsSignGreaterThanSignKeyword_1_1() { return cEqualsSignGreaterThanSignKeyword_1_1; } + + //right=PropertyImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //PropertyImplication + public RuleCall getRightPropertyImplicationParserRuleCall_1_2_0() { return cRightPropertyImplicationParserRuleCall_1_2_0; } + } + public class PropertyConjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyConjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cPropertyNegationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cPropertyConjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAndKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightPropertyNegationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //PropertyConjunction Property: + // PropertyNegation ({PropertyConjunction.left=current} 'and' right=PropertyNegation)* + @Override public ParserRule getRule() { return rule; } + + //PropertyNegation ({PropertyConjunction.left=current} 'and' right=PropertyNegation)* + public Group getGroup() { return cGroup; } + + //PropertyNegation + public RuleCall getPropertyNegationParserRuleCall_0() { return cPropertyNegationParserRuleCall_0; } + + //({PropertyConjunction.left=current} 'and' right=PropertyNegation)* + public Group getGroup_1() { return cGroup_1; } + + //{PropertyConjunction.left=current} + public Action getPropertyConjunctionLeftAction_1_0() { return cPropertyConjunctionLeftAction_1_0; } + + //'and' + public Keyword getAndKeyword_1_1() { return cAndKeyword_1_1; } + + //right=PropertyNegation + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //PropertyNegation + public RuleCall getRightPropertyNegationParserRuleCall_1_2_0() { return cRightPropertyNegationParserRuleCall_1_2_0; } + } + public class PropertyNegationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PropertyNegation"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cPropertyNegationAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Keyword cNotKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); + private final Assignment cChildAssignment_0_2 = (Assignment)cGroup_0.eContents().get(2); + private final RuleCall cChildPropertyNegationParserRuleCall_0_2_0 = (RuleCall)cChildAssignment_0_2.eContents().get(0); + private final RuleCall cAtomicPropertyParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //PropertyNegation Property: + // {PropertyNegation} 'not' child=PropertyNegation | AtomicProperty + @Override public ParserRule getRule() { return rule; } + + //{PropertyNegation} 'not' child=PropertyNegation | AtomicProperty + public Alternatives getAlternatives() { return cAlternatives; } + + //{PropertyNegation} 'not' child=PropertyNegation + public Group getGroup_0() { return cGroup_0; } + + //{PropertyNegation} + public Action getPropertyNegationAction_0_0() { return cPropertyNegationAction_0_0; } + + //'not' + public Keyword getNotKeyword_0_1() { return cNotKeyword_0_1; } + + //child=PropertyNegation + public Assignment getChildAssignment_0_2() { return cChildAssignment_0_2; } + + //PropertyNegation + public RuleCall getChildPropertyNegationParserRuleCall_0_2_0() { return cChildPropertyNegationParserRuleCall_0_2_0; } + + //AtomicProperty + public RuleCall getAtomicPropertyParserRuleCall_1() { return cAtomicPropertyParserRuleCall_1; } + } + public class AtomicPropertyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AtomicProperty"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cPatternPropertyParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1); + private final Keyword cLeftParenthesisKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); + private final RuleCall cPropertyParserRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); + private final Keyword cRightParenthesisKeyword_1_2 = (Keyword)cGroup_1.eContents().get(2); + + //AtomicProperty Property: + // PatternProperty | '(' Property ')' + @Override public ParserRule getRule() { return rule; } + + //PatternProperty | '(' Property ')' + public Alternatives getAlternatives() { return cAlternatives; } + + //PatternProperty + public RuleCall getPatternPropertyParserRuleCall_0() { return cPatternPropertyParserRuleCall_0; } + + //'(' Property ')' + public Group getGroup_1() { return cGroup_1; } + + //'(' + public Keyword getLeftParenthesisKeyword_1_0() { return cLeftParenthesisKeyword_1_0; } + + //Property + public RuleCall getPropertyParserRuleCall_1_1() { return cPropertyParserRuleCall_1_1; } + + //')' + public Keyword getRightParenthesisKeyword_1_2() { return cRightParenthesisKeyword_1_2; } + } + public class PatternPropertyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PatternProperty"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cLTLPatternParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cDeadlockFreePatternParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cInfinitelyOftenPatternParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cMortalPatternParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cPresencePatternParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cAbsencePatternParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cAlwaysPatternParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cSequencePatternParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + + //PatternProperty: + // LTLPattern | DeadlockFreePattern | InfinitelyOftenPattern | MortalPattern | PresencePattern | AbsencePattern | + // AlwaysPattern | SequencePattern; + @Override public ParserRule getRule() { return rule; } + + //LTLPattern | DeadlockFreePattern | InfinitelyOftenPattern | MortalPattern | PresencePattern | AbsencePattern | + //AlwaysPattern | SequencePattern + public Alternatives getAlternatives() { return cAlternatives; } + + //LTLPattern + public RuleCall getLTLPatternParserRuleCall_0() { return cLTLPatternParserRuleCall_0; } + + //DeadlockFreePattern + public RuleCall getDeadlockFreePatternParserRuleCall_1() { return cDeadlockFreePatternParserRuleCall_1; } + + //InfinitelyOftenPattern + public RuleCall getInfinitelyOftenPatternParserRuleCall_2() { return cInfinitelyOftenPatternParserRuleCall_2; } + + //MortalPattern + public RuleCall getMortalPatternParserRuleCall_3() { return cMortalPatternParserRuleCall_3; } + + //PresencePattern + public RuleCall getPresencePatternParserRuleCall_4() { return cPresencePatternParserRuleCall_4; } + + //AbsencePattern + public RuleCall getAbsencePatternParserRuleCall_5() { return cAbsencePatternParserRuleCall_5; } + + //AlwaysPattern + public RuleCall getAlwaysPatternParserRuleCall_6() { return cAlwaysPatternParserRuleCall_6; } + + //SequencePattern + public RuleCall getSequencePatternParserRuleCall_7() { return cSequencePatternParserRuleCall_7; } + } + public class LTLPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLtlKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cPropertyAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cPropertyLTLUnaryParserRuleCall_1_0 = (RuleCall)cPropertyAssignment_1.eContents().get(0); + + //LTLPattern: + // 'ltl' property=LTLUnary; + @Override public ParserRule getRule() { return rule; } + + //'ltl' property=LTLUnary + public Group getGroup() { return cGroup; } + + //'ltl' + public Keyword getLtlKeyword_0() { return cLtlKeyword_0; } + + //property=LTLUnary + public Assignment getPropertyAssignment_1() { return cPropertyAssignment_1; } + + //LTLUnary + public RuleCall getPropertyLTLUnaryParserRuleCall_1_0() { return cPropertyLTLUnaryParserRuleCall_1_0; } + } + public class DeadlockFreePatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.DeadlockFreePattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cDeadlockFreePatternAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cDeadlockfreeKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //DeadlockFreePattern: + // {DeadlockFreePattern} 'deadlockfree'; + @Override public ParserRule getRule() { return rule; } + + //{DeadlockFreePattern} 'deadlockfree' + public Group getGroup() { return cGroup; } + + //{DeadlockFreePattern} + public Action getDeadlockFreePatternAction_0() { return cDeadlockFreePatternAction_0; } + + //'deadlockfree' + public Keyword getDeadlockfreeKeyword_1() { return cDeadlockfreeKeyword_1; } + } + public class InfinitelyOftenPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.InfinitelyOftenPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cInfinitelyoftenKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + + //InfinitelyOftenPattern: + // 'infinitelyoften' subject=AtomicObservable; + @Override public ParserRule getRule() { return rule; } + + //'infinitelyoften' subject=AtomicObservable + public Group getGroup() { return cGroup; } + + //'infinitelyoften' + public Keyword getInfinitelyoftenKeyword_0() { return cInfinitelyoftenKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + } + public class MortalPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.MortalPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cMortalKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + + //MortalPattern: + // 'mortal' subject=AtomicObservable; + @Override public ParserRule getRule() { return rule; } + + //'mortal' subject=AtomicObservable + public Group getGroup() { return cGroup; } + + //'mortal' + public Keyword getMortalKeyword_0() { return cMortalKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + } + public class PresencePatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PresencePattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPresentKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); + private final Keyword cLastingKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); + private final Assignment cLastingAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1); + private final RuleCall cLastingINTTerminalRuleCall_2_0_1_0 = (RuleCall)cLastingAssignment_2_0_1.eContents().get(0); + private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); + private final Group cGroup_2_1_0 = (Group)cGroup_2_1.eContents().get(0); + private final Keyword cAfterKeyword_2_1_0_0 = (Keyword)cGroup_2_1_0.eContents().get(0); + private final Assignment cAfterAssignment_2_1_0_1 = (Assignment)cGroup_2_1_0.eContents().get(1); + private final RuleCall cAfterAtomicObservableParserRuleCall_2_1_0_1_0 = (RuleCall)cAfterAssignment_2_1_0_1.eContents().get(0); + private final Alternatives cAlternatives_2_1_1 = (Alternatives)cGroup_2_1.eContents().get(1); + private final Group cGroup_2_1_1_0 = (Group)cAlternatives_2_1_1.eContents().get(0); + private final Keyword cWithinKeyword_2_1_1_0_0 = (Keyword)cGroup_2_1_1_0.eContents().get(0); + private final Assignment cLowerAssignment_2_1_1_0_1 = (Assignment)cGroup_2_1_1_0.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_2_1_1_0_1_0 = (RuleCall)cLowerAssignment_2_1_1_0_1.eContents().get(0); + private final Keyword cCommaKeyword_2_1_1_0_2 = (Keyword)cGroup_2_1_1_0.eContents().get(2); + private final Assignment cUpperAssignment_2_1_1_0_3 = (Assignment)cGroup_2_1_1_0.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_2_1_1_0_3_0 = (RuleCall)cUpperAssignment_2_1_1_0_3.eContents().get(0); + private final Group cGroup_2_1_1_1 = (Group)cAlternatives_2_1_1.eContents().get(1); + private final Keyword cUntilKeyword_2_1_1_1_0 = (Keyword)cGroup_2_1_1_1.eContents().get(0); + private final Assignment cUntilAssignment_2_1_1_1_1 = (Assignment)cGroup_2_1_1_1.eContents().get(1); + private final RuleCall cUntilAtomicObservableParserRuleCall_2_1_1_1_1_0 = (RuleCall)cUntilAssignment_2_1_1_1_1.eContents().get(0); + private final Group cGroup_2_2 = (Group)cAlternatives_2.eContents().get(2); + private final Group cGroup_2_2_0 = (Group)cGroup_2_2.eContents().get(0); + private final Keyword cBeforeKeyword_2_2_0_0 = (Keyword)cGroup_2_2_0.eContents().get(0); + private final Assignment cBeforeAssignment_2_2_0_1 = (Assignment)cGroup_2_2_0.eContents().get(1); + private final RuleCall cBeforeAtomicObservableParserRuleCall_2_2_0_1_0 = (RuleCall)cBeforeAssignment_2_2_0_1.eContents().get(0); + private final Group cGroup_2_2_1 = (Group)cGroup_2_2.eContents().get(1); + private final Keyword cWithinKeyword_2_2_1_0 = (Keyword)cGroup_2_2_1.eContents().get(0); + private final Assignment cLowerAssignment_2_2_1_1 = (Assignment)cGroup_2_2_1.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_2_2_1_1_0 = (RuleCall)cLowerAssignment_2_2_1_1.eContents().get(0); + private final Keyword cCommaKeyword_2_2_1_2 = (Keyword)cGroup_2_2_1.eContents().get(2); + private final Assignment cUpperAssignment_2_2_1_3 = (Assignment)cGroup_2_2_1.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_2_2_1_3_0 = (RuleCall)cUpperAssignment_2_2_1_3.eContents().get(0); + private final Group cGroup_2_3 = (Group)cAlternatives_2.eContents().get(3); + private final Keyword cBetweenKeyword_2_3_0 = (Keyword)cGroup_2_3.eContents().get(0); + private final Assignment cMinAssignment_2_3_1 = (Assignment)cGroup_2_3.eContents().get(1); + private final RuleCall cMinAtomicObservableParserRuleCall_2_3_1_0 = (RuleCall)cMinAssignment_2_3_1.eContents().get(0); + private final Keyword cAndKeyword_2_3_2 = (Keyword)cGroup_2_3.eContents().get(2); + private final Assignment cMaxAssignment_2_3_3 = (Assignment)cGroup_2_3.eContents().get(3); + private final RuleCall cMaxAtomicObservableParserRuleCall_2_3_3_0 = (RuleCall)cMaxAssignment_2_3_3.eContents().get(0); + + //PresencePattern: + // 'present' subject=AtomicObservable ('lasting' lasting=INT | ('after' after=AtomicObservable) ('within' + // lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + // | ('before' before=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + @Override public ParserRule getRule() { return rule; } + + //'present' subject=AtomicObservable ('lasting' lasting=INT | ('after' after=AtomicObservable) ('within' lower=LowerBound + //',' upper=UpperBound | 'until' until=AtomicObservable)? | ('before' before=AtomicObservable) ('within' lower=LowerBound + //',' upper=UpperBound)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Group getGroup() { return cGroup; } + + //'present' + public Keyword getPresentKeyword_0() { return cPresentKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + + //('lasting' lasting=INT | ('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | 'until' + //until=AtomicObservable)? | ('before' before=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound)? | + //'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //'lasting' lasting=INT + public Group getGroup_2_0() { return cGroup_2_0; } + + //'lasting' + public Keyword getLastingKeyword_2_0_0() { return cLastingKeyword_2_0_0; } + + //lasting=INT + public Assignment getLastingAssignment_2_0_1() { return cLastingAssignment_2_0_1; } + + //INT + public RuleCall getLastingINTTerminalRuleCall_2_0_1_0() { return cLastingINTTerminalRuleCall_2_0_1_0; } + + //('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Group getGroup_2_1() { return cGroup_2_1; } + + //('after' after=AtomicObservable) + public Group getGroup_2_1_0() { return cGroup_2_1_0; } + + //'after' + public Keyword getAfterKeyword_2_1_0_0() { return cAfterKeyword_2_1_0_0; } + + //after=AtomicObservable + public Assignment getAfterAssignment_2_1_0_1() { return cAfterAssignment_2_1_0_1; } + + //AtomicObservable + public RuleCall getAfterAtomicObservableParserRuleCall_2_1_0_1_0() { return cAfterAtomicObservableParserRuleCall_2_1_0_1_0; } + + //('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Alternatives getAlternatives_2_1_1() { return cAlternatives_2_1_1; } + + //'within' lower=LowerBound ',' upper=UpperBound + public Group getGroup_2_1_1_0() { return cGroup_2_1_1_0; } + + //'within' + public Keyword getWithinKeyword_2_1_1_0_0() { return cWithinKeyword_2_1_1_0_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_2_1_1_0_1() { return cLowerAssignment_2_1_1_0_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_2_1_1_0_1_0() { return cLowerLowerBoundParserRuleCall_2_1_1_0_1_0; } + + //',' + public Keyword getCommaKeyword_2_1_1_0_2() { return cCommaKeyword_2_1_1_0_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_2_1_1_0_3() { return cUpperAssignment_2_1_1_0_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_2_1_1_0_3_0() { return cUpperUpperBoundParserRuleCall_2_1_1_0_3_0; } + + //'until' until=AtomicObservable + public Group getGroup_2_1_1_1() { return cGroup_2_1_1_1; } + + //'until' + public Keyword getUntilKeyword_2_1_1_1_0() { return cUntilKeyword_2_1_1_1_0; } + + //until=AtomicObservable + public Assignment getUntilAssignment_2_1_1_1_1() { return cUntilAssignment_2_1_1_1_1; } + + //AtomicObservable + public RuleCall getUntilAtomicObservableParserRuleCall_2_1_1_1_1_0() { return cUntilAtomicObservableParserRuleCall_2_1_1_1_1_0; } + + //('before' before=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_2_2() { return cGroup_2_2; } + + //('before' before=AtomicObservable) + public Group getGroup_2_2_0() { return cGroup_2_2_0; } + + //'before' + public Keyword getBeforeKeyword_2_2_0_0() { return cBeforeKeyword_2_2_0_0; } + + //before=AtomicObservable + public Assignment getBeforeAssignment_2_2_0_1() { return cBeforeAssignment_2_2_0_1; } + + //AtomicObservable + public RuleCall getBeforeAtomicObservableParserRuleCall_2_2_0_1_0() { return cBeforeAtomicObservableParserRuleCall_2_2_0_1_0; } + + //('within' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_2_2_1() { return cGroup_2_2_1; } + + //'within' + public Keyword getWithinKeyword_2_2_1_0() { return cWithinKeyword_2_2_1_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_2_2_1_1() { return cLowerAssignment_2_2_1_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_2_2_1_1_0() { return cLowerLowerBoundParserRuleCall_2_2_1_1_0; } + + //',' + public Keyword getCommaKeyword_2_2_1_2() { return cCommaKeyword_2_2_1_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_2_2_1_3() { return cUpperAssignment_2_2_1_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_2_2_1_3_0() { return cUpperUpperBoundParserRuleCall_2_2_1_3_0; } + + //'between' min=AtomicObservable 'and' max=AtomicObservable + public Group getGroup_2_3() { return cGroup_2_3; } + + //'between' + public Keyword getBetweenKeyword_2_3_0() { return cBetweenKeyword_2_3_0; } + + //min=AtomicObservable + public Assignment getMinAssignment_2_3_1() { return cMinAssignment_2_3_1; } + + //AtomicObservable + public RuleCall getMinAtomicObservableParserRuleCall_2_3_1_0() { return cMinAtomicObservableParserRuleCall_2_3_1_0; } + + //'and' + public Keyword getAndKeyword_2_3_2() { return cAndKeyword_2_3_2; } + + //max=AtomicObservable + public Assignment getMaxAssignment_2_3_3() { return cMaxAssignment_2_3_3; } + + //AtomicObservable + public RuleCall getMaxAtomicObservableParserRuleCall_2_3_3_0() { return cMaxAtomicObservableParserRuleCall_2_3_3_0; } + } + public class AbsencePatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AbsencePattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAbsentKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); + private final Group cGroup_2_0_0 = (Group)cGroup_2_0.eContents().get(0); + private final Keyword cAfterKeyword_2_0_0_0 = (Keyword)cGroup_2_0_0.eContents().get(0); + private final Assignment cAfterAssignment_2_0_0_1 = (Assignment)cGroup_2_0_0.eContents().get(1); + private final RuleCall cAfterAtomicObservableParserRuleCall_2_0_0_1_0 = (RuleCall)cAfterAssignment_2_0_0_1.eContents().get(0); + private final Alternatives cAlternatives_2_0_1 = (Alternatives)cGroup_2_0.eContents().get(1); + private final Group cGroup_2_0_1_0 = (Group)cAlternatives_2_0_1.eContents().get(0); + private final Keyword cWithinKeyword_2_0_1_0_0 = (Keyword)cGroup_2_0_1_0.eContents().get(0); + private final Assignment cLowerAssignment_2_0_1_0_1 = (Assignment)cGroup_2_0_1_0.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_2_0_1_0_1_0 = (RuleCall)cLowerAssignment_2_0_1_0_1.eContents().get(0); + private final Keyword cCommaKeyword_2_0_1_0_2 = (Keyword)cGroup_2_0_1_0.eContents().get(2); + private final Assignment cUpperAssignment_2_0_1_0_3 = (Assignment)cGroup_2_0_1_0.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_2_0_1_0_3_0 = (RuleCall)cUpperAssignment_2_0_1_0_3.eContents().get(0); + private final Group cGroup_2_0_1_1 = (Group)cAlternatives_2_0_1.eContents().get(1); + private final Keyword cUntilKeyword_2_0_1_1_0 = (Keyword)cGroup_2_0_1_1.eContents().get(0); + private final Assignment cUntilAssignment_2_0_1_1_1 = (Assignment)cGroup_2_0_1_1.eContents().get(1); + private final RuleCall cUntilAtomicObservableParserRuleCall_2_0_1_1_1_0 = (RuleCall)cUntilAssignment_2_0_1_1_1.eContents().get(0); + private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); + private final Group cGroup_2_1_0 = (Group)cGroup_2_1.eContents().get(0); + private final Keyword cBeforeKeyword_2_1_0_0 = (Keyword)cGroup_2_1_0.eContents().get(0); + private final Assignment cBeforeAssignment_2_1_0_1 = (Assignment)cGroup_2_1_0.eContents().get(1); + private final RuleCall cBeforeAtomicObservableParserRuleCall_2_1_0_1_0 = (RuleCall)cBeforeAssignment_2_1_0_1.eContents().get(0); + private final Group cGroup_2_1_1 = (Group)cGroup_2_1.eContents().get(1); + private final Keyword cForKeyword_2_1_1_0 = (Keyword)cGroup_2_1_1.eContents().get(0); + private final Assignment cLowerAssignment_2_1_1_1 = (Assignment)cGroup_2_1_1.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_2_1_1_1_0 = (RuleCall)cLowerAssignment_2_1_1_1.eContents().get(0); + private final Keyword cCommaKeyword_2_1_1_2 = (Keyword)cGroup_2_1_1.eContents().get(2); + private final Assignment cUpperAssignment_2_1_1_3 = (Assignment)cGroup_2_1_1.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_2_1_1_3_0 = (RuleCall)cUpperAssignment_2_1_1_3.eContents().get(0); + private final Group cGroup_2_2 = (Group)cAlternatives_2.eContents().get(2); + private final Keyword cBetweenKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); + private final Assignment cMinAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); + private final RuleCall cMinAtomicObservableParserRuleCall_2_2_1_0 = (RuleCall)cMinAssignment_2_2_1.eContents().get(0); + private final Keyword cAndKeyword_2_2_2 = (Keyword)cGroup_2_2.eContents().get(2); + private final Assignment cMaxAssignment_2_2_3 = (Assignment)cGroup_2_2.eContents().get(3); + private final RuleCall cMaxAtomicObservableParserRuleCall_2_2_3_0 = (RuleCall)cMaxAssignment_2_2_3.eContents().get(0); + + //AbsencePattern: + // 'absent' subject=AtomicObservable (('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | + // 'until' until=AtomicObservable)? + // | ('before' before=AtomicObservable) ('for' lower=LowerBound ',' upper=UpperBound)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + @Override public ParserRule getRule() { return rule; } + + //'absent' subject=AtomicObservable (('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | + //'until' until=AtomicObservable)? | ('before' before=AtomicObservable) ('for' lower=LowerBound ',' upper=UpperBound)? | + //'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Group getGroup() { return cGroup; } + + //'absent' + public Keyword getAbsentKeyword_0() { return cAbsentKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + + //(('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? | + //('before' before=AtomicObservable) ('for' lower=LowerBound ',' upper=UpperBound)? | 'between' min=AtomicObservable + //'and' max=AtomicObservable)? + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Group getGroup_2_0() { return cGroup_2_0; } + + //('after' after=AtomicObservable) + public Group getGroup_2_0_0() { return cGroup_2_0_0; } + + //'after' + public Keyword getAfterKeyword_2_0_0_0() { return cAfterKeyword_2_0_0_0; } + + //after=AtomicObservable + public Assignment getAfterAssignment_2_0_0_1() { return cAfterAssignment_2_0_0_1; } + + //AtomicObservable + public RuleCall getAfterAtomicObservableParserRuleCall_2_0_0_1_0() { return cAfterAtomicObservableParserRuleCall_2_0_0_1_0; } + + //('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Alternatives getAlternatives_2_0_1() { return cAlternatives_2_0_1; } + + //'within' lower=LowerBound ',' upper=UpperBound + public Group getGroup_2_0_1_0() { return cGroup_2_0_1_0; } + + //'within' + public Keyword getWithinKeyword_2_0_1_0_0() { return cWithinKeyword_2_0_1_0_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_2_0_1_0_1() { return cLowerAssignment_2_0_1_0_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_2_0_1_0_1_0() { return cLowerLowerBoundParserRuleCall_2_0_1_0_1_0; } + + //',' + public Keyword getCommaKeyword_2_0_1_0_2() { return cCommaKeyword_2_0_1_0_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_2_0_1_0_3() { return cUpperAssignment_2_0_1_0_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_2_0_1_0_3_0() { return cUpperUpperBoundParserRuleCall_2_0_1_0_3_0; } + + //'until' until=AtomicObservable + public Group getGroup_2_0_1_1() { return cGroup_2_0_1_1; } + + //'until' + public Keyword getUntilKeyword_2_0_1_1_0() { return cUntilKeyword_2_0_1_1_0; } + + //until=AtomicObservable + public Assignment getUntilAssignment_2_0_1_1_1() { return cUntilAssignment_2_0_1_1_1; } + + //AtomicObservable + public RuleCall getUntilAtomicObservableParserRuleCall_2_0_1_1_1_0() { return cUntilAtomicObservableParserRuleCall_2_0_1_1_1_0; } + + //('before' before=AtomicObservable) ('for' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_2_1() { return cGroup_2_1; } + + //('before' before=AtomicObservable) + public Group getGroup_2_1_0() { return cGroup_2_1_0; } + + //'before' + public Keyword getBeforeKeyword_2_1_0_0() { return cBeforeKeyword_2_1_0_0; } + + //before=AtomicObservable + public Assignment getBeforeAssignment_2_1_0_1() { return cBeforeAssignment_2_1_0_1; } + + //AtomicObservable + public RuleCall getBeforeAtomicObservableParserRuleCall_2_1_0_1_0() { return cBeforeAtomicObservableParserRuleCall_2_1_0_1_0; } + + //('for' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_2_1_1() { return cGroup_2_1_1; } + + //'for' + public Keyword getForKeyword_2_1_1_0() { return cForKeyword_2_1_1_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_2_1_1_1() { return cLowerAssignment_2_1_1_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_2_1_1_1_0() { return cLowerLowerBoundParserRuleCall_2_1_1_1_0; } + + //',' + public Keyword getCommaKeyword_2_1_1_2() { return cCommaKeyword_2_1_1_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_2_1_1_3() { return cUpperAssignment_2_1_1_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_2_1_1_3_0() { return cUpperUpperBoundParserRuleCall_2_1_1_3_0; } + + //'between' min=AtomicObservable 'and' max=AtomicObservable + public Group getGroup_2_2() { return cGroup_2_2; } + + //'between' + public Keyword getBetweenKeyword_2_2_0() { return cBetweenKeyword_2_2_0; } + + //min=AtomicObservable + public Assignment getMinAssignment_2_2_1() { return cMinAssignment_2_2_1; } + + //AtomicObservable + public RuleCall getMinAtomicObservableParserRuleCall_2_2_1_0() { return cMinAtomicObservableParserRuleCall_2_2_1_0; } + + //'and' + public Keyword getAndKeyword_2_2_2() { return cAndKeyword_2_2_2; } + + //max=AtomicObservable + public Assignment getMaxAssignment_2_2_3() { return cMaxAssignment_2_2_3; } + + //AtomicObservable + public RuleCall getMaxAtomicObservableParserRuleCall_2_2_3_0() { return cMaxAtomicObservableParserRuleCall_2_2_3_0; } + } + public class AlwaysPatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AlwaysPattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAlwaysKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); + private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0); + private final Keyword cBeforeKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0); + private final Assignment cBeforeAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1); + private final RuleCall cBeforeAtomicObservableParserRuleCall_2_0_1_0 = (RuleCall)cBeforeAssignment_2_0_1.eContents().get(0); + private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1); + private final Keyword cAfterKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0); + private final Assignment cAfterAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1); + private final RuleCall cAfterAtomicObservableParserRuleCall_2_1_1_0 = (RuleCall)cAfterAssignment_2_1_1.eContents().get(0); + private final Group cGroup_2_1_2 = (Group)cGroup_2_1.eContents().get(2); + private final Keyword cUntilKeyword_2_1_2_0 = (Keyword)cGroup_2_1_2.eContents().get(0); + private final Assignment cUntilAssignment_2_1_2_1 = (Assignment)cGroup_2_1_2.eContents().get(1); + private final RuleCall cUntilAtomicObservableParserRuleCall_2_1_2_1_0 = (RuleCall)cUntilAssignment_2_1_2_1.eContents().get(0); + private final Group cGroup_2_2 = (Group)cAlternatives_2.eContents().get(2); + private final Keyword cBetweenKeyword_2_2_0 = (Keyword)cGroup_2_2.eContents().get(0); + private final Assignment cMinAssignment_2_2_1 = (Assignment)cGroup_2_2.eContents().get(1); + private final RuleCall cMinAtomicObservableParserRuleCall_2_2_1_0 = (RuleCall)cMinAssignment_2_2_1.eContents().get(0); + private final Keyword cAndKeyword_2_2_2 = (Keyword)cGroup_2_2.eContents().get(2); + private final Assignment cMaxAssignment_2_2_3 = (Assignment)cGroup_2_2.eContents().get(3); + private final RuleCall cMaxAtomicObservableParserRuleCall_2_2_3_0 = (RuleCall)cMaxAssignment_2_2_3.eContents().get(0); + + //AlwaysPattern: + // 'always' subject=AtomicObservable ('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' + // until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + @Override public ParserRule getRule() { return rule; } + + //'always' subject=AtomicObservable ('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' + //until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Group getGroup() { return cGroup; } + + //'always' + public Keyword getAlwaysKeyword_0() { return cAlwaysKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + + //('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' until=AtomicObservable)? | 'between' + //min=AtomicObservable 'and' max=AtomicObservable)? + public Alternatives getAlternatives_2() { return cAlternatives_2; } + + //'before' before=AtomicObservable + public Group getGroup_2_0() { return cGroup_2_0; } + + //'before' + public Keyword getBeforeKeyword_2_0_0() { return cBeforeKeyword_2_0_0; } + + //before=AtomicObservable + public Assignment getBeforeAssignment_2_0_1() { return cBeforeAssignment_2_0_1; } + + //AtomicObservable + public RuleCall getBeforeAtomicObservableParserRuleCall_2_0_1_0() { return cBeforeAtomicObservableParserRuleCall_2_0_1_0; } + + //'after' after=AtomicObservable ('until' until=AtomicObservable)? + public Group getGroup_2_1() { return cGroup_2_1; } + + //'after' + public Keyword getAfterKeyword_2_1_0() { return cAfterKeyword_2_1_0; } + + //after=AtomicObservable + public Assignment getAfterAssignment_2_1_1() { return cAfterAssignment_2_1_1; } + + //AtomicObservable + public RuleCall getAfterAtomicObservableParserRuleCall_2_1_1_0() { return cAfterAtomicObservableParserRuleCall_2_1_1_0; } + + //('until' until=AtomicObservable)? + public Group getGroup_2_1_2() { return cGroup_2_1_2; } + + //'until' + public Keyword getUntilKeyword_2_1_2_0() { return cUntilKeyword_2_1_2_0; } + + //until=AtomicObservable + public Assignment getUntilAssignment_2_1_2_1() { return cUntilAssignment_2_1_2_1; } + + //AtomicObservable + public RuleCall getUntilAtomicObservableParserRuleCall_2_1_2_1_0() { return cUntilAtomicObservableParserRuleCall_2_1_2_1_0; } + + //'between' min=AtomicObservable 'and' max=AtomicObservable + public Group getGroup_2_2() { return cGroup_2_2; } + + //'between' + public Keyword getBetweenKeyword_2_2_0() { return cBetweenKeyword_2_2_0; } + + //min=AtomicObservable + public Assignment getMinAssignment_2_2_1() { return cMinAssignment_2_2_1; } + + //AtomicObservable + public RuleCall getMinAtomicObservableParserRuleCall_2_2_1_0() { return cMinAtomicObservableParserRuleCall_2_2_1_0; } + + //'and' + public Keyword getAndKeyword_2_2_2() { return cAndKeyword_2_2_2; } + + //max=AtomicObservable + public Assignment getMaxAssignment_2_2_3() { return cMaxAssignment_2_2_3; } + + //AtomicObservable + public RuleCall getMaxAtomicObservableParserRuleCall_2_2_3_0() { return cMaxAtomicObservableParserRuleCall_2_2_3_0; } + } + public class SequencePatternElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.SequencePattern"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cAtomicObservableParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Keyword cLeadstoKeyword_1_0_0 = (Keyword)cGroup_1_0.eContents().get(0); + private final Action cLeadsToPatternSubjectAction_1_0_1 = (Action)cGroup_1_0.eContents().get(1); + private final Assignment cFollowerAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); + private final RuleCall cFollowerAtomicObservableParserRuleCall_1_0_2_0 = (RuleCall)cFollowerAssignment_1_0_2.eContents().get(0); + private final Alternatives cAlternatives_1_0_3 = (Alternatives)cGroup_1_0.eContents().get(3); + private final Group cGroup_1_0_3_0 = (Group)cAlternatives_1_0_3.eContents().get(0); + private final Keyword cBeforeKeyword_1_0_3_0_0 = (Keyword)cGroup_1_0_3_0.eContents().get(0); + private final Assignment cBeforeAssignment_1_0_3_0_1 = (Assignment)cGroup_1_0_3_0.eContents().get(1); + private final RuleCall cBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0 = (RuleCall)cBeforeAssignment_1_0_3_0_1.eContents().get(0); + private final Group cGroup_1_0_3_0_2 = (Group)cGroup_1_0_3_0.eContents().get(2); + private final Keyword cWithinKeyword_1_0_3_0_2_0 = (Keyword)cGroup_1_0_3_0_2.eContents().get(0); + private final Assignment cLowerAssignment_1_0_3_0_2_1 = (Assignment)cGroup_1_0_3_0_2.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0 = (RuleCall)cLowerAssignment_1_0_3_0_2_1.eContents().get(0); + private final Keyword cCommaKeyword_1_0_3_0_2_2 = (Keyword)cGroup_1_0_3_0_2.eContents().get(2); + private final Assignment cUpperAssignment_1_0_3_0_2_3 = (Assignment)cGroup_1_0_3_0_2.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0 = (RuleCall)cUpperAssignment_1_0_3_0_2_3.eContents().get(0); + private final Group cGroup_1_0_3_1 = (Group)cAlternatives_1_0_3.eContents().get(1); + private final Keyword cWithinKeyword_1_0_3_1_0 = (Keyword)cGroup_1_0_3_1.eContents().get(0); + private final Assignment cLowerAssignment_1_0_3_1_1 = (Assignment)cGroup_1_0_3_1.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_1_0_3_1_1_0 = (RuleCall)cLowerAssignment_1_0_3_1_1.eContents().get(0); + private final Keyword cCommaKeyword_1_0_3_1_2 = (Keyword)cGroup_1_0_3_1.eContents().get(2); + private final Assignment cUpperAssignment_1_0_3_1_3 = (Assignment)cGroup_1_0_3_1.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_1_0_3_1_3_0 = (RuleCall)cUpperAssignment_1_0_3_1_3.eContents().get(0); + private final Group cGroup_1_0_3_2 = (Group)cAlternatives_1_0_3.eContents().get(2); + private final Keyword cAfterKeyword_1_0_3_2_0 = (Keyword)cGroup_1_0_3_2.eContents().get(0); + private final Assignment cAfterAssignment_1_0_3_2_1 = (Assignment)cGroup_1_0_3_2.eContents().get(1); + private final RuleCall cAfterAtomicObservableParserRuleCall_1_0_3_2_1_0 = (RuleCall)cAfterAssignment_1_0_3_2_1.eContents().get(0); + private final Alternatives cAlternatives_1_0_3_2_2 = (Alternatives)cGroup_1_0_3_2.eContents().get(2); + private final Group cGroup_1_0_3_2_2_0 = (Group)cAlternatives_1_0_3_2_2.eContents().get(0); + private final Keyword cWithinKeyword_1_0_3_2_2_0_0 = (Keyword)cGroup_1_0_3_2_2_0.eContents().get(0); + private final Assignment cLowerAssignment_1_0_3_2_2_0_1 = (Assignment)cGroup_1_0_3_2_2_0.eContents().get(1); + private final RuleCall cLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0 = (RuleCall)cLowerAssignment_1_0_3_2_2_0_1.eContents().get(0); + private final Keyword cCommaKeyword_1_0_3_2_2_0_2 = (Keyword)cGroup_1_0_3_2_2_0.eContents().get(2); + private final Assignment cUpperAssignment_1_0_3_2_2_0_3 = (Assignment)cGroup_1_0_3_2_2_0.eContents().get(3); + private final RuleCall cUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0 = (RuleCall)cUpperAssignment_1_0_3_2_2_0_3.eContents().get(0); + private final Group cGroup_1_0_3_2_2_1 = (Group)cAlternatives_1_0_3_2_2.eContents().get(1); + private final Keyword cUntilKeyword_1_0_3_2_2_1_0 = (Keyword)cGroup_1_0_3_2_2_1.eContents().get(0); + private final Assignment cUntilAssignment_1_0_3_2_2_1_1 = (Assignment)cGroup_1_0_3_2_2_1.eContents().get(1); + private final RuleCall cUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0 = (RuleCall)cUntilAssignment_1_0_3_2_2_1_1.eContents().get(0); + private final Group cGroup_1_0_3_3 = (Group)cAlternatives_1_0_3.eContents().get(3); + private final Keyword cBetweenKeyword_1_0_3_3_0 = (Keyword)cGroup_1_0_3_3.eContents().get(0); + private final Assignment cMinAssignment_1_0_3_3_1 = (Assignment)cGroup_1_0_3_3.eContents().get(1); + private final RuleCall cMinAtomicObservableParserRuleCall_1_0_3_3_1_0 = (RuleCall)cMinAssignment_1_0_3_3_1.eContents().get(0); + private final Keyword cAndKeyword_1_0_3_3_2 = (Keyword)cGroup_1_0_3_3.eContents().get(2); + private final Assignment cMaxAssignment_1_0_3_3_3 = (Assignment)cGroup_1_0_3_3.eContents().get(3); + private final RuleCall cMaxAtomicObservableParserRuleCall_1_0_3_3_3_0 = (RuleCall)cMaxAssignment_1_0_3_3_3.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Keyword cPrecedesKeyword_1_1_0 = (Keyword)cGroup_1_1.eContents().get(0); + private final Action cPrecedesPatternSubjectAction_1_1_1 = (Action)cGroup_1_1.eContents().get(1); + private final Assignment cFollowerAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final RuleCall cFollowerAtomicObservableParserRuleCall_1_1_2_0 = (RuleCall)cFollowerAssignment_1_1_2.eContents().get(0); + private final Alternatives cAlternatives_1_1_3 = (Alternatives)cGroup_1_1.eContents().get(3); + private final Group cGroup_1_1_3_0 = (Group)cAlternatives_1_1_3.eContents().get(0); + private final Keyword cBeforeKeyword_1_1_3_0_0 = (Keyword)cGroup_1_1_3_0.eContents().get(0); + private final Assignment cBeforeAssignment_1_1_3_0_1 = (Assignment)cGroup_1_1_3_0.eContents().get(1); + private final RuleCall cBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0 = (RuleCall)cBeforeAssignment_1_1_3_0_1.eContents().get(0); + private final Group cGroup_1_1_3_1 = (Group)cAlternatives_1_1_3.eContents().get(1); + private final Keyword cAfterKeyword_1_1_3_1_0 = (Keyword)cGroup_1_1_3_1.eContents().get(0); + private final Assignment cAfterAssignment_1_1_3_1_1 = (Assignment)cGroup_1_1_3_1.eContents().get(1); + private final RuleCall cAfterAtomicObservableParserRuleCall_1_1_3_1_1_0 = (RuleCall)cAfterAssignment_1_1_3_1_1.eContents().get(0); + private final Group cGroup_1_1_3_1_2 = (Group)cGroup_1_1_3_1.eContents().get(2); + private final Keyword cUntilKeyword_1_1_3_1_2_0 = (Keyword)cGroup_1_1_3_1_2.eContents().get(0); + private final Assignment cUntilAssignment_1_1_3_1_2_1 = (Assignment)cGroup_1_1_3_1_2.eContents().get(1); + private final RuleCall cUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0 = (RuleCall)cUntilAssignment_1_1_3_1_2_1.eContents().get(0); + private final Group cGroup_1_1_3_2 = (Group)cAlternatives_1_1_3.eContents().get(2); + private final Keyword cBetweenKeyword_1_1_3_2_0 = (Keyword)cGroup_1_1_3_2.eContents().get(0); + private final Assignment cMinAssignment_1_1_3_2_1 = (Assignment)cGroup_1_1_3_2.eContents().get(1); + private final RuleCall cMinAtomicObservableParserRuleCall_1_1_3_2_1_0 = (RuleCall)cMinAssignment_1_1_3_2_1.eContents().get(0); + private final Keyword cAndKeyword_1_1_3_2_2 = (Keyword)cGroup_1_1_3_2.eContents().get(2); + private final Assignment cMaxAssignment_1_1_3_2_3 = (Assignment)cGroup_1_1_3_2.eContents().get(3); + private final RuleCall cMaxAtomicObservableParserRuleCall_1_1_3_2_3_0 = (RuleCall)cMaxAssignment_1_1_3_2_3.eContents().get(0); + + //SequencePattern: + // AtomicObservable ('leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable ('before' + // before=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' + // upper=UpperBound | 'after' after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' + // until=AtomicObservable)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + // | 'precedes' {PrecedesPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable | 'after' + // after=AtomicObservable ('until' until=AtomicObservable)? | 'between' min=AtomicObservable 'and' + // max=AtomicObservable)?); + @Override public ParserRule getRule() { return rule; } + + //AtomicObservable ('leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable + //('within' lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' upper=UpperBound | 'after' + //after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? | 'between' + //min=AtomicObservable 'and' max=AtomicObservable)? | 'precedes' {PrecedesPattern.subject=current} + //follower=AtomicObservable ('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' + //until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)?) + public Group getGroup() { return cGroup; } + + //AtomicObservable + public RuleCall getAtomicObservableParserRuleCall_0() { return cAtomicObservableParserRuleCall_0; } + + //('leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable ('within' + //lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' upper=UpperBound | 'after' + //after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? | 'between' + //min=AtomicObservable 'and' max=AtomicObservable)? | 'precedes' {PrecedesPattern.subject=current} + //follower=AtomicObservable ('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' + //until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)?) + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //'leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable ('within' + //lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' upper=UpperBound | 'after' + //after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? | 'between' + //min=AtomicObservable 'and' max=AtomicObservable)? + public Group getGroup_1_0() { return cGroup_1_0; } + + //'leadsto' + public Keyword getLeadstoKeyword_1_0_0() { return cLeadstoKeyword_1_0_0; } + + //{LeadsToPattern.subject=current} + public Action getLeadsToPatternSubjectAction_1_0_1() { return cLeadsToPatternSubjectAction_1_0_1; } + + //follower=AtomicObservable + public Assignment getFollowerAssignment_1_0_2() { return cFollowerAssignment_1_0_2; } + + //AtomicObservable + public RuleCall getFollowerAtomicObservableParserRuleCall_1_0_2_0() { return cFollowerAtomicObservableParserRuleCall_1_0_2_0; } + + //('before' before=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' + //upper=UpperBound | 'after' after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' + //until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Alternatives getAlternatives_1_0_3() { return cAlternatives_1_0_3; } + + //'before' before=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_1_0_3_0() { return cGroup_1_0_3_0; } + + //'before' + public Keyword getBeforeKeyword_1_0_3_0_0() { return cBeforeKeyword_1_0_3_0_0; } + + //before=AtomicObservable + public Assignment getBeforeAssignment_1_0_3_0_1() { return cBeforeAssignment_1_0_3_0_1; } + + //AtomicObservable + public RuleCall getBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0() { return cBeforeAtomicObservableParserRuleCall_1_0_3_0_1_0; } + + //('within' lower=LowerBound ',' upper=UpperBound)? + public Group getGroup_1_0_3_0_2() { return cGroup_1_0_3_0_2; } + + //'within' + public Keyword getWithinKeyword_1_0_3_0_2_0() { return cWithinKeyword_1_0_3_0_2_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_1_0_3_0_2_1() { return cLowerAssignment_1_0_3_0_2_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0() { return cLowerLowerBoundParserRuleCall_1_0_3_0_2_1_0; } + + //',' + public Keyword getCommaKeyword_1_0_3_0_2_2() { return cCommaKeyword_1_0_3_0_2_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_1_0_3_0_2_3() { return cUpperAssignment_1_0_3_0_2_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0() { return cUpperUpperBoundParserRuleCall_1_0_3_0_2_3_0; } + + //'within' lower=LowerBound ',' upper=UpperBound + public Group getGroup_1_0_3_1() { return cGroup_1_0_3_1; } + + //'within' + public Keyword getWithinKeyword_1_0_3_1_0() { return cWithinKeyword_1_0_3_1_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_1_0_3_1_1() { return cLowerAssignment_1_0_3_1_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_1_0_3_1_1_0() { return cLowerLowerBoundParserRuleCall_1_0_3_1_1_0; } + + //',' + public Keyword getCommaKeyword_1_0_3_1_2() { return cCommaKeyword_1_0_3_1_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_1_0_3_1_3() { return cUpperAssignment_1_0_3_1_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_1_0_3_1_3_0() { return cUpperUpperBoundParserRuleCall_1_0_3_1_3_0; } + + //'after' after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Group getGroup_1_0_3_2() { return cGroup_1_0_3_2; } + + //'after' + public Keyword getAfterKeyword_1_0_3_2_0() { return cAfterKeyword_1_0_3_2_0; } + + //after=AtomicObservable + public Assignment getAfterAssignment_1_0_3_2_1() { return cAfterAssignment_1_0_3_2_1; } + + //AtomicObservable + public RuleCall getAfterAtomicObservableParserRuleCall_1_0_3_2_1_0() { return cAfterAtomicObservableParserRuleCall_1_0_3_2_1_0; } + + //('within' lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + public Alternatives getAlternatives_1_0_3_2_2() { return cAlternatives_1_0_3_2_2; } + + //'within' lower=LowerBound ',' upper=UpperBound + public Group getGroup_1_0_3_2_2_0() { return cGroup_1_0_3_2_2_0; } + + //'within' + public Keyword getWithinKeyword_1_0_3_2_2_0_0() { return cWithinKeyword_1_0_3_2_2_0_0; } + + //lower=LowerBound + public Assignment getLowerAssignment_1_0_3_2_2_0_1() { return cLowerAssignment_1_0_3_2_2_0_1; } + + //LowerBound + public RuleCall getLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0() { return cLowerLowerBoundParserRuleCall_1_0_3_2_2_0_1_0; } + + //',' + public Keyword getCommaKeyword_1_0_3_2_2_0_2() { return cCommaKeyword_1_0_3_2_2_0_2; } + + //upper=UpperBound + public Assignment getUpperAssignment_1_0_3_2_2_0_3() { return cUpperAssignment_1_0_3_2_2_0_3; } + + //UpperBound + public RuleCall getUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0() { return cUpperUpperBoundParserRuleCall_1_0_3_2_2_0_3_0; } + + //'until' until=AtomicObservable + public Group getGroup_1_0_3_2_2_1() { return cGroup_1_0_3_2_2_1; } + + //'until' + public Keyword getUntilKeyword_1_0_3_2_2_1_0() { return cUntilKeyword_1_0_3_2_2_1_0; } + + //until=AtomicObservable + public Assignment getUntilAssignment_1_0_3_2_2_1_1() { return cUntilAssignment_1_0_3_2_2_1_1; } + + //AtomicObservable + public RuleCall getUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0() { return cUntilAtomicObservableParserRuleCall_1_0_3_2_2_1_1_0; } + + //'between' min=AtomicObservable 'and' max=AtomicObservable + public Group getGroup_1_0_3_3() { return cGroup_1_0_3_3; } + + //'between' + public Keyword getBetweenKeyword_1_0_3_3_0() { return cBetweenKeyword_1_0_3_3_0; } + + //min=AtomicObservable + public Assignment getMinAssignment_1_0_3_3_1() { return cMinAssignment_1_0_3_3_1; } + + //AtomicObservable + public RuleCall getMinAtomicObservableParserRuleCall_1_0_3_3_1_0() { return cMinAtomicObservableParserRuleCall_1_0_3_3_1_0; } + + //'and' + public Keyword getAndKeyword_1_0_3_3_2() { return cAndKeyword_1_0_3_3_2; } + + //max=AtomicObservable + public Assignment getMaxAssignment_1_0_3_3_3() { return cMaxAssignment_1_0_3_3_3; } + + //AtomicObservable + public RuleCall getMaxAtomicObservableParserRuleCall_1_0_3_3_3_0() { return cMaxAtomicObservableParserRuleCall_1_0_3_3_3_0; } + + //'precedes' {PrecedesPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable | 'after' + //after=AtomicObservable ('until' until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + public Group getGroup_1_1() { return cGroup_1_1; } + + //'precedes' + public Keyword getPrecedesKeyword_1_1_0() { return cPrecedesKeyword_1_1_0; } + + //{PrecedesPattern.subject=current} + public Action getPrecedesPatternSubjectAction_1_1_1() { return cPrecedesPatternSubjectAction_1_1_1; } + + //follower=AtomicObservable + public Assignment getFollowerAssignment_1_1_2() { return cFollowerAssignment_1_1_2; } + + //AtomicObservable + public RuleCall getFollowerAtomicObservableParserRuleCall_1_1_2_0() { return cFollowerAtomicObservableParserRuleCall_1_1_2_0; } + + //('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' until=AtomicObservable)? | 'between' + //min=AtomicObservable 'and' max=AtomicObservable)? + public Alternatives getAlternatives_1_1_3() { return cAlternatives_1_1_3; } + + //'before' before=AtomicObservable + public Group getGroup_1_1_3_0() { return cGroup_1_1_3_0; } + + //'before' + public Keyword getBeforeKeyword_1_1_3_0_0() { return cBeforeKeyword_1_1_3_0_0; } + + //before=AtomicObservable + public Assignment getBeforeAssignment_1_1_3_0_1() { return cBeforeAssignment_1_1_3_0_1; } + + //AtomicObservable + public RuleCall getBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0() { return cBeforeAtomicObservableParserRuleCall_1_1_3_0_1_0; } + + //'after' after=AtomicObservable ('until' until=AtomicObservable)? + public Group getGroup_1_1_3_1() { return cGroup_1_1_3_1; } + + //'after' + public Keyword getAfterKeyword_1_1_3_1_0() { return cAfterKeyword_1_1_3_1_0; } + + //after=AtomicObservable + public Assignment getAfterAssignment_1_1_3_1_1() { return cAfterAssignment_1_1_3_1_1; } + + //AtomicObservable + public RuleCall getAfterAtomicObservableParserRuleCall_1_1_3_1_1_0() { return cAfterAtomicObservableParserRuleCall_1_1_3_1_1_0; } + + //('until' until=AtomicObservable)? + public Group getGroup_1_1_3_1_2() { return cGroup_1_1_3_1_2; } + + //'until' + public Keyword getUntilKeyword_1_1_3_1_2_0() { return cUntilKeyword_1_1_3_1_2_0; } + + //until=AtomicObservable + public Assignment getUntilAssignment_1_1_3_1_2_1() { return cUntilAssignment_1_1_3_1_2_1; } + + //AtomicObservable + public RuleCall getUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0() { return cUntilAtomicObservableParserRuleCall_1_1_3_1_2_1_0; } + + //'between' min=AtomicObservable 'and' max=AtomicObservable + public Group getGroup_1_1_3_2() { return cGroup_1_1_3_2; } + + //'between' + public Keyword getBetweenKeyword_1_1_3_2_0() { return cBetweenKeyword_1_1_3_2_0; } + + //min=AtomicObservable + public Assignment getMinAssignment_1_1_3_2_1() { return cMinAssignment_1_1_3_2_1; } + + //AtomicObservable + public RuleCall getMinAtomicObservableParserRuleCall_1_1_3_2_1_0() { return cMinAtomicObservableParserRuleCall_1_1_3_2_1_0; } + + //'and' + public Keyword getAndKeyword_1_1_3_2_2() { return cAndKeyword_1_1_3_2_2; } + + //max=AtomicObservable + public Assignment getMaxAssignment_1_1_3_2_3() { return cMaxAssignment_1_1_3_2_3; } + + //AtomicObservable + public RuleCall getMaxAtomicObservableParserRuleCall_1_1_3_2_3_0() { return cMaxAtomicObservableParserRuleCall_1_1_3_2_3_0; } + } + public class LTLPropertyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLProperty"); + private final RuleCall cLTLQuantifiedParserRuleCall = (RuleCall)rule.eContents().get(1); + + //LTLProperty: + // LTLQuantified; + @Override public ParserRule getRule() { return rule; } + + //LTLQuantified + public RuleCall getLTLQuantifiedParserRuleCall() { return cLTLQuantifiedParserRuleCall; } + } + public class LTLQuantifiedElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLQuantified"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0); + private final Group cGroup_0_0_0 = (Group)cAlternatives_0_0.eContents().get(0); + private final Action cLTLAllAction_0_0_0_0 = (Action)cGroup_0_0_0.eContents().get(0); + private final Keyword cAllKeyword_0_0_0_1 = (Keyword)cGroup_0_0_0.eContents().get(1); + private final Group cGroup_0_0_1 = (Group)cAlternatives_0_0.eContents().get(1); + private final Action cLTLExistsAction_0_0_1_0 = (Action)cGroup_0_0_1.eContents().get(0); + private final Keyword cExistsKeyword_0_0_1_1 = (Keyword)cGroup_0_0_1.eContents().get(1); + private final Assignment cIndexAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cIndexVariableDeclarationParserRuleCall_0_1_0 = (RuleCall)cIndexAssignment_0_1.eContents().get(0); + private final Keyword cInKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); + private final Assignment cTypeAssignment_0_3 = (Assignment)cGroup_0.eContents().get(3); + private final RuleCall cTypeRangeTypeParserRuleCall_0_3_0 = (RuleCall)cTypeAssignment_0_3.eContents().get(0); + private final Keyword cFullStopKeyword_0_4 = (Keyword)cGroup_0.eContents().get(4); + private final Assignment cChildAssignment_0_5 = (Assignment)cGroup_0.eContents().get(5); + private final RuleCall cChildLTLQuantifiedParserRuleCall_0_5_0 = (RuleCall)cChildAssignment_0_5.eContents().get(0); + private final RuleCall cLTLDisjunctionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //LTLQuantified LTLProperty: + // ({LTLAll} 'all' | {LTLExists} 'exists') index=VariableDeclaration + // 'in' type=RangeType '.' child=LTLQuantified | LTLDisjunction + @Override public ParserRule getRule() { return rule; } + + //({LTLAll} 'all' | {LTLExists} 'exists') index=VariableDeclaration 'in' type=RangeType '.' child=LTLQuantified | + //LTLDisjunction + public Alternatives getAlternatives() { return cAlternatives; } + + //({LTLAll} 'all' | {LTLExists} 'exists') index=VariableDeclaration 'in' type=RangeType '.' child=LTLQuantified + public Group getGroup_0() { return cGroup_0; } + + //({LTLAll} 'all' | {LTLExists} 'exists') + public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; } + + //{LTLAll} 'all' + public Group getGroup_0_0_0() { return cGroup_0_0_0; } + + //{LTLAll} + public Action getLTLAllAction_0_0_0_0() { return cLTLAllAction_0_0_0_0; } + + //'all' + public Keyword getAllKeyword_0_0_0_1() { return cAllKeyword_0_0_0_1; } + + //{LTLExists} 'exists' + public Group getGroup_0_0_1() { return cGroup_0_0_1; } + + //{LTLExists} + public Action getLTLExistsAction_0_0_1_0() { return cLTLExistsAction_0_0_1_0; } + + //'exists' + public Keyword getExistsKeyword_0_0_1_1() { return cExistsKeyword_0_0_1_1; } + + //index=VariableDeclaration + public Assignment getIndexAssignment_0_1() { return cIndexAssignment_0_1; } + + //VariableDeclaration + public RuleCall getIndexVariableDeclarationParserRuleCall_0_1_0() { return cIndexVariableDeclarationParserRuleCall_0_1_0; } + + //'in' + public Keyword getInKeyword_0_2() { return cInKeyword_0_2; } + + //type=RangeType + public Assignment getTypeAssignment_0_3() { return cTypeAssignment_0_3; } + + //RangeType + public RuleCall getTypeRangeTypeParserRuleCall_0_3_0() { return cTypeRangeTypeParserRuleCall_0_3_0; } + + //'.' + public Keyword getFullStopKeyword_0_4() { return cFullStopKeyword_0_4; } + + //child=LTLQuantified + public Assignment getChildAssignment_0_5() { return cChildAssignment_0_5; } + + //LTLQuantified + public RuleCall getChildLTLQuantifiedParserRuleCall_0_5_0() { return cChildLTLQuantifiedParserRuleCall_0_5_0; } + + //LTLDisjunction + public RuleCall getLTLDisjunctionParserRuleCall_1() { return cLTLDisjunctionParserRuleCall_1; } + } + public class LTLDisjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLDisjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cLTLImplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cLTLDisjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cOrKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightLTLImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //LTLDisjunction LTLProperty: + // LTLImplication ({LTLDisjunction.left=current} 'or' right=LTLImplication)* + @Override public ParserRule getRule() { return rule; } + + //LTLImplication ({LTLDisjunction.left=current} 'or' right=LTLImplication)* + public Group getGroup() { return cGroup; } + + //LTLImplication + public RuleCall getLTLImplicationParserRuleCall_0() { return cLTLImplicationParserRuleCall_0; } + + //({LTLDisjunction.left=current} 'or' right=LTLImplication)* + public Group getGroup_1() { return cGroup_1; } + + //{LTLDisjunction.left=current} + public Action getLTLDisjunctionLeftAction_1_0() { return cLTLDisjunctionLeftAction_1_0; } + + //'or' + public Keyword getOrKeyword_1_1() { return cOrKeyword_1_1; } + + //right=LTLImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //LTLImplication + public RuleCall getRightLTLImplicationParserRuleCall_1_2_0() { return cRightLTLImplicationParserRuleCall_1_2_0; } + } + public class LTLImplicationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLImplication"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cLTLConjunctionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cLTLImplicationLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cEqualsSignGreaterThanSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightLTLImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //LTLImplication LTLProperty: + // LTLConjunction ({LTLImplication.left=current} '=>' right=LTLImplication)? + @Override public ParserRule getRule() { return rule; } + + //LTLConjunction ({LTLImplication.left=current} '=>' right=LTLImplication)? + public Group getGroup() { return cGroup; } + + //LTLConjunction + public RuleCall getLTLConjunctionParserRuleCall_0() { return cLTLConjunctionParserRuleCall_0; } + + //({LTLImplication.left=current} '=>' right=LTLImplication)? + public Group getGroup_1() { return cGroup_1; } + + //{LTLImplication.left=current} + public Action getLTLImplicationLeftAction_1_0() { return cLTLImplicationLeftAction_1_0; } + + //'=>' + public Keyword getEqualsSignGreaterThanSignKeyword_1_1() { return cEqualsSignGreaterThanSignKeyword_1_1; } + + //right=LTLImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //LTLImplication + public RuleCall getRightLTLImplicationParserRuleCall_1_2_0() { return cRightLTLImplicationParserRuleCall_1_2_0; } + } + public class LTLConjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLConjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cLTLBinaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cLTLConjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAndKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightLTLBinaryParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //LTLConjunction LTLProperty: + // LTLBinary ({LTLConjunction.left=current} 'and' right=LTLBinary)* + @Override public ParserRule getRule() { return rule; } + + //LTLBinary ({LTLConjunction.left=current} 'and' right=LTLBinary)* + public Group getGroup() { return cGroup; } + + //LTLBinary + public RuleCall getLTLBinaryParserRuleCall_0() { return cLTLBinaryParserRuleCall_0; } + + //({LTLConjunction.left=current} 'and' right=LTLBinary)* + public Group getGroup_1() { return cGroup_1; } + + //{LTLConjunction.left=current} + public Action getLTLConjunctionLeftAction_1_0() { return cLTLConjunctionLeftAction_1_0; } + + //'and' + public Keyword getAndKeyword_1_1() { return cAndKeyword_1_1; } + + //right=LTLBinary + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //LTLBinary + public RuleCall getRightLTLBinaryParserRuleCall_1_2_0() { return cRightLTLBinaryParserRuleCall_1_2_0; } + } + public class LTLBinaryElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLBinary"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cLTLUnaryParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); + private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0); + private final Action cLTLUntilLeftAction_1_0_0 = (Action)cGroup_1_0.eContents().get(0); + private final Keyword cUntilKeyword_1_0_1 = (Keyword)cGroup_1_0.eContents().get(1); + private final Assignment cRightAssignment_1_0_2 = (Assignment)cGroup_1_0.eContents().get(2); + private final RuleCall cRightLTLUnaryParserRuleCall_1_0_2_0 = (RuleCall)cRightAssignment_1_0_2.eContents().get(0); + private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1); + private final Action cLTLReleaseLeftAction_1_1_0 = (Action)cGroup_1_1.eContents().get(0); + private final Keyword cReleaseKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1); + private final Assignment cRightAssignment_1_1_2 = (Assignment)cGroup_1_1.eContents().get(2); + private final RuleCall cRightLTLUnaryParserRuleCall_1_1_2_0 = (RuleCall)cRightAssignment_1_1_2.eContents().get(0); + + //LTLBinary LTLProperty: + // LTLUnary ({LTLUntil.left=current} 'until' right=LTLUnary | {LTLRelease.left=current} 'release' right=LTLUnary)? + @Override public ParserRule getRule() { return rule; } + + //LTLUnary ({LTLUntil.left=current} 'until' right=LTLUnary | {LTLRelease.left=current} 'release' right=LTLUnary)? + public Group getGroup() { return cGroup; } + + //LTLUnary + public RuleCall getLTLUnaryParserRuleCall_0() { return cLTLUnaryParserRuleCall_0; } + + //({LTLUntil.left=current} 'until' right=LTLUnary | {LTLRelease.left=current} 'release' right=LTLUnary)? + public Alternatives getAlternatives_1() { return cAlternatives_1; } + + //{LTLUntil.left=current} 'until' right=LTLUnary + public Group getGroup_1_0() { return cGroup_1_0; } + + //{LTLUntil.left=current} + public Action getLTLUntilLeftAction_1_0_0() { return cLTLUntilLeftAction_1_0_0; } + + //'until' + public Keyword getUntilKeyword_1_0_1() { return cUntilKeyword_1_0_1; } + + //right=LTLUnary + public Assignment getRightAssignment_1_0_2() { return cRightAssignment_1_0_2; } + + //LTLUnary + public RuleCall getRightLTLUnaryParserRuleCall_1_0_2_0() { return cRightLTLUnaryParserRuleCall_1_0_2_0; } + + //{LTLRelease.left=current} 'release' right=LTLUnary + public Group getGroup_1_1() { return cGroup_1_1; } + + //{LTLRelease.left=current} + public Action getLTLReleaseLeftAction_1_1_0() { return cLTLReleaseLeftAction_1_1_0; } + + //'release' + public Keyword getReleaseKeyword_1_1_1() { return cReleaseKeyword_1_1_1; } + + //right=LTLUnary + public Assignment getRightAssignment_1_1_2() { return cRightAssignment_1_1_2; } + + //LTLUnary + public RuleCall getRightLTLUnaryParserRuleCall_1_1_2_0() { return cRightLTLUnaryParserRuleCall_1_1_2_0; } + } + public class LTLUnaryElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LTLUnary"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Alternatives cAlternatives_0_0 = (Alternatives)cGroup_0.eContents().get(0); + private final Group cGroup_0_0_0 = (Group)cAlternatives_0_0.eContents().get(0); + private final Action cLTLUnaryNegationAction_0_0_0_0 = (Action)cGroup_0_0_0.eContents().get(0); + private final Keyword cNotKeyword_0_0_0_1 = (Keyword)cGroup_0_0_0.eContents().get(1); + private final Group cGroup_0_0_1 = (Group)cAlternatives_0_0.eContents().get(1); + private final Action cLTLUnaryNextAction_0_0_1_0 = (Action)cGroup_0_0_1.eContents().get(0); + private final Keyword cNextKeyword_0_0_1_1 = (Keyword)cGroup_0_0_1.eContents().get(1); + private final Group cGroup_0_0_2 = (Group)cAlternatives_0_0.eContents().get(2); + private final Action cLTLUnaryAlwaysAction_0_0_2_0 = (Action)cGroup_0_0_2.eContents().get(0); + private final Keyword cLeftSquareBracketRightSquareBracketKeyword_0_0_2_1 = (Keyword)cGroup_0_0_2.eContents().get(1); + private final Group cGroup_0_0_3 = (Group)cAlternatives_0_0.eContents().get(3); + private final Action cLTLUnaryEventuallyAction_0_0_3_0 = (Action)cGroup_0_0_3.eContents().get(0); + private final Keyword cLessThanSignGreaterThanSignKeyword_0_0_3_1 = (Keyword)cGroup_0_0_3.eContents().get(1); + private final Assignment cOperandAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final RuleCall cOperandLTLUnaryParserRuleCall_0_1_0 = (RuleCall)cOperandAssignment_0_1.eContents().get(0); + private final RuleCall cAtomicLTLParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //LTLUnary LTLProperty: + // ({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') + // operand=LTLUnary | AtomicLTL + @Override public ParserRule getRule() { return rule; } + + //({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') operand=LTLUnary + //| AtomicLTL + public Alternatives getAlternatives() { return cAlternatives; } + + //({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') operand=LTLUnary + public Group getGroup_0() { return cGroup_0; } + + //({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') + public Alternatives getAlternatives_0_0() { return cAlternatives_0_0; } + + //{LTLUnaryNegation} 'not' + public Group getGroup_0_0_0() { return cGroup_0_0_0; } + + //{LTLUnaryNegation} + public Action getLTLUnaryNegationAction_0_0_0_0() { return cLTLUnaryNegationAction_0_0_0_0; } + + //'not' + public Keyword getNotKeyword_0_0_0_1() { return cNotKeyword_0_0_0_1; } + + //{LTLUnaryNext} 'next' + public Group getGroup_0_0_1() { return cGroup_0_0_1; } + + //{LTLUnaryNext} + public Action getLTLUnaryNextAction_0_0_1_0() { return cLTLUnaryNextAction_0_0_1_0; } + + //'next' + public Keyword getNextKeyword_0_0_1_1() { return cNextKeyword_0_0_1_1; } + + //{LTLUnaryAlways} '[]' + public Group getGroup_0_0_2() { return cGroup_0_0_2; } + + //{LTLUnaryAlways} + public Action getLTLUnaryAlwaysAction_0_0_2_0() { return cLTLUnaryAlwaysAction_0_0_2_0; } + + //'[]' + public Keyword getLeftSquareBracketRightSquareBracketKeyword_0_0_2_1() { return cLeftSquareBracketRightSquareBracketKeyword_0_0_2_1; } + + //{LTLUnaryEventually} '<>' + public Group getGroup_0_0_3() { return cGroup_0_0_3; } + + //{LTLUnaryEventually} + public Action getLTLUnaryEventuallyAction_0_0_3_0() { return cLTLUnaryEventuallyAction_0_0_3_0; } + + //'<>' + public Keyword getLessThanSignGreaterThanSignKeyword_0_0_3_1() { return cLessThanSignGreaterThanSignKeyword_0_0_3_1; } + + //operand=LTLUnary + public Assignment getOperandAssignment_0_1() { return cOperandAssignment_0_1; } + + //LTLUnary + public RuleCall getOperandLTLUnaryParserRuleCall_0_1_0() { return cOperandLTLUnaryParserRuleCall_0_1_0; } + + //AtomicLTL + public RuleCall getAtomicLTLParserRuleCall_1() { return cAtomicLTLParserRuleCall_1; } + } + public class AtomicLTLElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AtomicLTL"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cLTLVariableAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Assignment cDeclarationAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1); + private final CrossReference cDeclarationPropertyDeclarationUseCrossReference_0_1_0 = (CrossReference)cDeclarationAssignment_0_1.eContents().get(0); + private final RuleCall cDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1 = (RuleCall)cDeclarationPropertyDeclarationUseCrossReference_0_1_0.eContents().get(1); + private final RuleCall cObservableEventParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final Group cGroup_2 = (Group)cAlternatives.eContents().get(2); + private final Keyword cLeftParenthesisKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final RuleCall cLTLPropertyParserRuleCall_2_1 = (RuleCall)cGroup_2.eContents().get(1); + private final Keyword cRightParenthesisKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); + + //AtomicLTL LTLProperty: + // {LTLVariable} declaration=[PropertyDeclarationUse] | ObservableEvent + // | '(' LTLProperty ')' + @Override public ParserRule getRule() { return rule; } + + //{LTLVariable} declaration=[PropertyDeclarationUse] | ObservableEvent | '(' LTLProperty ')' + public Alternatives getAlternatives() { return cAlternatives; } + + //{LTLVariable} declaration=[PropertyDeclarationUse] + public Group getGroup_0() { return cGroup_0; } + + //{LTLVariable} + public Action getLTLVariableAction_0_0() { return cLTLVariableAction_0_0; } + + //declaration=[PropertyDeclarationUse] + public Assignment getDeclarationAssignment_0_1() { return cDeclarationAssignment_0_1; } + + //[PropertyDeclarationUse] + public CrossReference getDeclarationPropertyDeclarationUseCrossReference_0_1_0() { return cDeclarationPropertyDeclarationUseCrossReference_0_1_0; } + + //ID + public RuleCall getDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1() { return cDeclarationPropertyDeclarationUseIDTerminalRuleCall_0_1_0_1; } + + //ObservableEvent + public RuleCall getObservableEventParserRuleCall_1() { return cObservableEventParserRuleCall_1; } + + //'(' LTLProperty ')' + public Group getGroup_2() { return cGroup_2; } + + //'(' + public Keyword getLeftParenthesisKeyword_2_0() { return cLeftParenthesisKeyword_2_0; } + + //LTLProperty + public RuleCall getLTLPropertyParserRuleCall_2_1() { return cLTLPropertyParserRuleCall_2_1; } + + //')' + public Keyword getRightParenthesisKeyword_2_2() { return cRightParenthesisKeyword_2_2; } + } + public class StateEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.StateEvent"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cEnterStateEventParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLeaveStateEventParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //StateEvent: + // EnterStateEvent + // | LeaveStateEvent; + @Override public ParserRule getRule() { return rule; } + + //EnterStateEvent | LeaveStateEvent + public Alternatives getAlternatives() { return cAlternatives; } + + //EnterStateEvent + public RuleCall getEnterStateEventParserRuleCall_0() { return cEnterStateEventParserRuleCall_0; } + + //LeaveStateEvent + public RuleCall getLeaveStateEventParserRuleCall_1() { return cLeaveStateEventParserRuleCall_1; } + } + public class EnterStateEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.EnterStateEvent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cEnterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + + //EnterStateEvent: + // 'enter' subject=AtomicObservable; + @Override public ParserRule getRule() { return rule; } + + //'enter' subject=AtomicObservable + public Group getGroup() { return cGroup; } + + //'enter' + public Keyword getEnterKeyword_0() { return cEnterKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + } + public class LeaveStateEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.LeaveStateEvent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeaveKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cSubjectAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cSubjectAtomicObservableParserRuleCall_1_0 = (RuleCall)cSubjectAssignment_1.eContents().get(0); + + //LeaveStateEvent: + // 'leave' subject=AtomicObservable; + @Override public ParserRule getRule() { return rule; } + + //'leave' subject=AtomicObservable + public Group getGroup() { return cGroup; } + + //'leave' + public Keyword getLeaveKeyword_0() { return cLeaveKeyword_0; } + + //subject=AtomicObservable + public Assignment getSubjectAssignment_1() { return cSubjectAssignment_1; } + + //AtomicObservable + public RuleCall getSubjectAtomicObservableParserRuleCall_1_0() { return cSubjectAtomicObservableParserRuleCall_1_0; } + } + public class ObservableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Observable"); + private final RuleCall cObservableDisjunctionParserRuleCall = (RuleCall)rule.eContents().get(1); + + //Observable: + // ObservableDisjunction; + @Override public ParserRule getRule() { return rule; } + + //ObservableDisjunction + public RuleCall getObservableDisjunctionParserRuleCall() { return cObservableDisjunctionParserRuleCall; } + } + public class ObservableDisjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ObservableDisjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cObservableImplicationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cObservableDisjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cOrKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightObservableImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ObservableDisjunction Observable: + // ObservableImplication ({ObservableDisjunction.left=current} 'or' right=ObservableImplication)* + @Override public ParserRule getRule() { return rule; } + + //ObservableImplication ({ObservableDisjunction.left=current} 'or' right=ObservableImplication)* + public Group getGroup() { return cGroup; } + + //ObservableImplication + public RuleCall getObservableImplicationParserRuleCall_0() { return cObservableImplicationParserRuleCall_0; } + + //({ObservableDisjunction.left=current} 'or' right=ObservableImplication)* + public Group getGroup_1() { return cGroup_1; } + + //{ObservableDisjunction.left=current} + public Action getObservableDisjunctionLeftAction_1_0() { return cObservableDisjunctionLeftAction_1_0; } + + //'or' + public Keyword getOrKeyword_1_1() { return cOrKeyword_1_1; } + + //right=ObservableImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //ObservableImplication + public RuleCall getRightObservableImplicationParserRuleCall_1_2_0() { return cRightObservableImplicationParserRuleCall_1_2_0; } + } + public class ObservableImplicationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ObservableImplication"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cObservableConjunctionParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cObservableImplicationLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cEqualsSignGreaterThanSignKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightObservableImplicationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ObservableImplication Observable: + // ObservableConjunction ({ObservableImplication.left=current} '=>' right=ObservableImplication)? + @Override public ParserRule getRule() { return rule; } + + //ObservableConjunction ({ObservableImplication.left=current} '=>' right=ObservableImplication)? + public Group getGroup() { return cGroup; } + + //ObservableConjunction + public RuleCall getObservableConjunctionParserRuleCall_0() { return cObservableConjunctionParserRuleCall_0; } + + //({ObservableImplication.left=current} '=>' right=ObservableImplication)? + public Group getGroup_1() { return cGroup_1; } + + //{ObservableImplication.left=current} + public Action getObservableImplicationLeftAction_1_0() { return cObservableImplicationLeftAction_1_0; } + + //'=>' + public Keyword getEqualsSignGreaterThanSignKeyword_1_1() { return cEqualsSignGreaterThanSignKeyword_1_1; } + + //right=ObservableImplication + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //ObservableImplication + public RuleCall getRightObservableImplicationParserRuleCall_1_2_0() { return cRightObservableImplicationParserRuleCall_1_2_0; } + } + public class ObservableConjunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ObservableConjunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cObservableNegationParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Group cGroup_1 = (Group)cGroup.eContents().get(1); + private final Action cObservableConjunctionLeftAction_1_0 = (Action)cGroup_1.eContents().get(0); + private final Keyword cAndKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); + private final Assignment cRightAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2); + private final RuleCall cRightObservableNegationParserRuleCall_1_2_0 = (RuleCall)cRightAssignment_1_2.eContents().get(0); + + //ObservableConjunction Observable: + // ObservableNegation ({ObservableConjunction.left=current} 'and' right=ObservableNegation)* + @Override public ParserRule getRule() { return rule; } + + //ObservableNegation ({ObservableConjunction.left=current} 'and' right=ObservableNegation)* + public Group getGroup() { return cGroup; } + + //ObservableNegation + public RuleCall getObservableNegationParserRuleCall_0() { return cObservableNegationParserRuleCall_0; } + + //({ObservableConjunction.left=current} 'and' right=ObservableNegation)* + public Group getGroup_1() { return cGroup_1; } + + //{ObservableConjunction.left=current} + public Action getObservableConjunctionLeftAction_1_0() { return cObservableConjunctionLeftAction_1_0; } + + //'and' + public Keyword getAndKeyword_1_1() { return cAndKeyword_1_1; } + + //right=ObservableNegation + public Assignment getRightAssignment_1_2() { return cRightAssignment_1_2; } + + //ObservableNegation + public RuleCall getRightObservableNegationParserRuleCall_1_2_0() { return cRightObservableNegationParserRuleCall_1_2_0; } + } + public class ObservableNegationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ObservableNegation"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Action cObservableNegationAction_0_0 = (Action)cGroup_0.eContents().get(0); + private final Keyword cNotKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); + private final Assignment cChildAssignment_0_2 = (Assignment)cGroup_0.eContents().get(2); + private final RuleCall cChildObservableNegationParserRuleCall_0_2_0 = (RuleCall)cChildAssignment_0_2.eContents().get(0); + private final RuleCall cAtomicObservableParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ObservableNegation Observable: + // {ObservableNegation} 'not' child=ObservableNegation | AtomicObservable + @Override public ParserRule getRule() { return rule; } + + //{ObservableNegation} 'not' child=ObservableNegation | AtomicObservable + public Alternatives getAlternatives() { return cAlternatives; } + + //{ObservableNegation} 'not' child=ObservableNegation + public Group getGroup_0() { return cGroup_0; } + + //{ObservableNegation} + public Action getObservableNegationAction_0_0() { return cObservableNegationAction_0_0; } + + //'not' + public Keyword getNotKeyword_0_1() { return cNotKeyword_0_1; } + + //child=ObservableNegation + public Assignment getChildAssignment_0_2() { return cChildAssignment_0_2; } + + //ObservableNegation + public RuleCall getChildObservableNegationParserRuleCall_0_2_0() { return cChildObservableNegationParserRuleCall_0_2_0; } + + //AtomicObservable + public RuleCall getAtomicObservableParserRuleCall_1() { return cAtomicObservableParserRuleCall_1; } + } + public class AtomicObservableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.AtomicObservable"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0); + private final RuleCall cObservableParserRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2); + private final RuleCall cObservableEventParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //AtomicObservable Observable: + // '(' Observable ')' | ObservableEvent + @Override public ParserRule getRule() { return rule; } + + //'(' Observable ')' | ObservableEvent + public Alternatives getAlternatives() { return cAlternatives; } + + //'(' Observable ')' + public Group getGroup_0() { return cGroup_0; } + + //'(' + public Keyword getLeftParenthesisKeyword_0_0() { return cLeftParenthesisKeyword_0_0; } + + //Observable + public RuleCall getObservableParserRuleCall_0_1() { return cObservableParserRuleCall_0_1; } + + //')' + public Keyword getRightParenthesisKeyword_0_2() { return cRightParenthesisKeyword_0_2; } + + //ObservableEvent + public RuleCall getObservableEventParserRuleCall_1() { return cObservableEventParserRuleCall_1; } + } + public class ObservableEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ObservableEvent"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cPathEventParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cStateEventParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ObservableEvent: + // PathEvent | StateEvent; + @Override public ParserRule getRule() { return rule; } + + //PathEvent | StateEvent + public Alternatives getAlternatives() { return cAlternatives; } + + //PathEvent + public RuleCall getPathEventParserRuleCall_0() { return cPathEventParserRuleCall_0; } + + //StateEvent + public RuleCall getStateEventParserRuleCall_1() { return cStateEventParserRuleCall_1; } + } + public class PathEventElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PathEvent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cPathAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cPathPathParserRuleCall_0_0 = (RuleCall)cPathAssignment_0.eContents().get(0); + private final Assignment cItemAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cItemSubjectParserRuleCall_1_0 = (RuleCall)cItemAssignment_1.eContents().get(0); + + //PathEvent: + // path=Path item=Subject; + @Override public ParserRule getRule() { return rule; } + + //path=Path item=Subject + public Group getGroup() { return cGroup; } + + //path=Path + public Assignment getPathAssignment_0() { return cPathAssignment_0; } + + //Path + public RuleCall getPathPathParserRuleCall_0_0() { return cPathPathParserRuleCall_0_0; } + + //item=Subject + public Assignment getItemAssignment_1() { return cItemAssignment_1; } + + //Subject + public RuleCall getItemSubjectParserRuleCall_1_0() { return cItemSubjectParserRuleCall_1_0; } + } + public class PathElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Path"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cItemsAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cItemsPathItemParserRuleCall_0_0 = (RuleCall)cItemsAssignment_0.eContents().get(0); + private final Keyword cSolidusKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //Path: + // (items+=PathItem '/')+; + @Override public ParserRule getRule() { return rule; } + + //(items+=PathItem '/')+ + public Group getGroup() { return cGroup; } + + //items+=PathItem + public Assignment getItemsAssignment_0() { return cItemsAssignment_0; } + + //PathItem + public RuleCall getItemsPathItemParserRuleCall_0_0() { return cItemsPathItemParserRuleCall_0_0; } + + //'/' + public Keyword getSolidusKeyword_1() { return cSolidusKeyword_1; } + } + public class PathItemElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.PathItem"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cNaturalItemParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cNamedItemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //PathItem: + // NaturalItem | NamedItem; + @Override public ParserRule getRule() { return rule; } + + //NaturalItem | NamedItem + public Alternatives getAlternatives() { return cAlternatives; } + + //NaturalItem + public RuleCall getNaturalItemParserRuleCall_0() { return cNaturalItemParserRuleCall_0; } + + //NamedItem + public RuleCall getNamedItemParserRuleCall_1() { return cNamedItemParserRuleCall_1; } + } + public class NaturalItemElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NaturalItem"); + private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1); + private final RuleCall cValueINTTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0); + + //NaturalItem: + // value=INT; + @Override public ParserRule getRule() { return rule; } + + //value=INT + public Assignment getValueAssignment() { return cValueAssignment; } + + //INT + public RuleCall getValueINTTerminalRuleCall_0() { return cValueINTTerminalRuleCall_0; } + } + public class NamedItemElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.NamedItem"); + private final Assignment cDeclarationAssignment = (Assignment)rule.eContents().get(1); + private final CrossReference cDeclarationPathDeclarationUseCrossReference_0 = (CrossReference)cDeclarationAssignment.eContents().get(0); + private final RuleCall cDeclarationPathDeclarationUseIDTerminalRuleCall_0_1 = (RuleCall)cDeclarationPathDeclarationUseCrossReference_0.eContents().get(1); + + //NamedItem: + // declaration=[PathDeclarationUse]; + @Override public ParserRule getRule() { return rule; } + + //declaration=[PathDeclarationUse] + public Assignment getDeclarationAssignment() { return cDeclarationAssignment; } + + //[PathDeclarationUse] + public CrossReference getDeclarationPathDeclarationUseCrossReference_0() { return cDeclarationPathDeclarationUseCrossReference_0; } + + //ID + public RuleCall getDeclarationPathDeclarationUseIDTerminalRuleCall_0_1() { return cDeclarationPathDeclarationUseIDTerminalRuleCall_0_1; } + } + public class SubjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.Subject"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cStateSubjectParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cValueSubjectParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cTagSubjectParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cEventSubjectParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //Subject: + // StateSubject | ValueSubject | TagSubject | EventSubject; + @Override public ParserRule getRule() { return rule; } + + //StateSubject | ValueSubject | TagSubject | EventSubject + public Alternatives getAlternatives() { return cAlternatives; } + + //StateSubject + public RuleCall getStateSubjectParserRuleCall_0() { return cStateSubjectParserRuleCall_0; } + + //ValueSubject + public RuleCall getValueSubjectParserRuleCall_1() { return cValueSubjectParserRuleCall_1; } + + //TagSubject + public RuleCall getTagSubjectParserRuleCall_2() { return cTagSubjectParserRuleCall_2; } + + //EventSubject + public RuleCall getEventSubjectParserRuleCall_3() { return cEventSubjectParserRuleCall_3; } + } + public class StateSubjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.StateSubject"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cStateKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cStateAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cStateStateDeclarationCrossReference_1_0 = (CrossReference)cStateAssignment_1.eContents().get(0); + private final RuleCall cStateStateDeclarationIDTerminalRuleCall_1_0_1 = (RuleCall)cStateStateDeclarationCrossReference_1_0.eContents().get(1); + + //StateSubject: + // 'state' state=[StateDeclaration]; + @Override public ParserRule getRule() { return rule; } + + //'state' state=[StateDeclaration] + public Group getGroup() { return cGroup; } + + //'state' + public Keyword getStateKeyword_0() { return cStateKeyword_0; } + + //state=[StateDeclaration] + public Assignment getStateAssignment_1() { return cStateAssignment_1; } + + //[StateDeclaration] + public CrossReference getStateStateDeclarationCrossReference_1_0() { return cStateStateDeclarationCrossReference_1_0; } + + //ID + public RuleCall getStateStateDeclarationIDTerminalRuleCall_1_0_1() { return cStateStateDeclarationIDTerminalRuleCall_1_0_1; } + } + public class ValueSubjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ValueSubject"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cValueKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cValueAtomicExpressionParserRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0); + + //ValueSubject: + // 'value' value=AtomicExpression; + @Override public ParserRule getRule() { return rule; } + + //'value' value=AtomicExpression + public Group getGroup() { return cGroup; } + + //'value' + public Keyword getValueKeyword_0() { return cValueKeyword_0; } + + //value=AtomicExpression + public Assignment getValueAssignment_1() { return cValueAssignment_1; } + + //AtomicExpression + public RuleCall getValueAtomicExpressionParserRuleCall_1_0() { return cValueAtomicExpressionParserRuleCall_1_0; } + } + public class TagSubjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.TagSubject"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cTagKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cTagAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cTagTaggedStatementCrossReference_1_0 = (CrossReference)cTagAssignment_1.eContents().get(0); + private final RuleCall cTagTaggedStatementIDTerminalRuleCall_1_0_1 = (RuleCall)cTagTaggedStatementCrossReference_1_0.eContents().get(1); + + //TagSubject: + // 'tag' tag=[TaggedStatement]; + @Override public ParserRule getRule() { return rule; } + + //'tag' tag=[TaggedStatement] + public Group getGroup() { return cGroup; } + + //'tag' + public Keyword getTagKeyword_0() { return cTagKeyword_0; } + + //tag=[TaggedStatement] + public Assignment getTagAssignment_1() { return cTagAssignment_1; } + + //[TaggedStatement] + public CrossReference getTagTaggedStatementCrossReference_1_0() { return cTagTaggedStatementCrossReference_1_0; } + + //ID + public RuleCall getTagTaggedStatementIDTerminalRuleCall_1_0_1() { return cTagTaggedStatementIDTerminalRuleCall_1_0_1; } + } + public class EventSubjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.EventSubject"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cEventKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cEventAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cEventIDTerminalRuleCall_1_0 = (RuleCall)cEventAssignment_1.eContents().get(0); + + //EventSubject: + // 'event' event=ID; + @Override public ParserRule getRule() { return rule; } + + //'event' event=ID + public Group getGroup() { return cGroup; } + + //'event' + public Keyword getEventKeyword_0() { return cEventKeyword_0; } + + //event=ID + public Assignment getEventAssignment_1() { return cEventAssignment_1; } + + //ID + public RuleCall getEventIDTerminalRuleCall_1_0() { return cEventIDTerminalRuleCall_1_0; } + } + + + private final ModelElements pModel; + private final RootDeclarationElements pRootDeclaration; + private final RootElements pRoot; + private final NamedElementElements pNamedElement; + private final TypeDeclarationUseElements pTypeDeclarationUse; + private final ConstantDeclarationUseElements pConstantDeclarationUse; + private final ExpressionDeclarationUseElements pExpressionDeclarationUse; + private final ReferenceDeclarationUseElements pReferenceDeclarationUse; + private final UnionTagDeclarationUseElements pUnionTagDeclarationUse; + private final RecordFieldDeclarationUseElements pRecordFieldDeclarationUse; + private final PatternDeclarationUseElements pPatternDeclarationUse; + private final BoundDeclarationUseElements pBoundDeclarationUse; + private final PathDeclarationUseElements pPathDeclarationUse; + private final PropertyDeclarationUseElements pPropertyDeclarationUse; + private final ImportDeclarationElements pImportDeclaration; + private final DeclarationElements pDeclaration; + private final ParameterizedDeclarationElements pParameterizedDeclaration; + private final FunctionDeclarationElements pFunctionDeclaration; + private final TypeDeclarationElements pTypeDeclaration; + private final ChannelDeclarationElements pChannelDeclaration; + private final ChannelTypeElements pChannelType; + private final TypeElements pType; + private final TupleTypeElements pTupleType; + private final BasicTypeElements pBasicType; + private final RangeTypeElements pRangeType; + private final UnionTypeElements pUnionType; + private final UnionTagsElements pUnionTags; + private final UnionTagDeclarationElements pUnionTagDeclaration; + private final RecordTypeElements pRecordType; + private final RecordFieldsElements pRecordFields; + private final RecordFieldDeclarationElements pRecordFieldDeclaration; + private final QueueTypeElements pQueueType; + private final ArrayTypeElements pArrayType; + private final ReferencedTypeElements pReferencedType; + private final ConstantDeclarationElements pConstantDeclaration; + private final ProcessDeclarationElements pProcessDeclaration; + private final StateDeclarationElements pStateDeclaration; + private final TransitionSourceElements pTransitionSource; + private final TransitionElements pTransition; + private final ComponentDeclarationElements pComponentDeclaration; + private final PortsDeclarationElements pPortsDeclaration; + private final PortDeclarationElements pPortDeclaration; + private final LocalPortsDeclarationElements pLocalPortsDeclaration; + private final ParametersDeclarationElements pParametersDeclaration; + private final ParameterDeclarationElements pParameterDeclaration; + private final VariablesDeclarationElements pVariablesDeclaration; + private final VariableDeclarationElements pVariableDeclaration; + private final PriorityDeclarationElements pPriorityDeclaration; + private final PriorityGroupElements pPriorityGroup; + private final UnlessStatementElements pUnlessStatement; + private final StatementChoiceElements pStatementChoice; + private final StatementSequenceElements pStatementSequence; + private final StatementElements pStatement; + private final BlockStatementElements pBlockStatement; + private final ReturnStatementElements pReturnStatement; + private final NullStatementElements pNullStatement; + private final TaggedStatementElements pTaggedStatement; + private final PatternStatementElements pPatternStatement; + private final PatternElements pPattern; + private final AnyPatternElements pAnyPattern; + private final ConstantPatternElements pConstantPattern; + private final IntegerPatternElements pIntegerPattern; + private final IdentifierPatternElements pIdentifierPattern; + private final ConditionalStatementElements pConditionalStatement; + private final ExtendedConditionalStatementElements pExtendedConditionalStatement; + private final SelectStatementElements pSelectStatement; + private final WhileStatementElements pWhileStatement; + private final ForeachStatementElements pForeachStatement; + private final ToStatementElements pToStatement; + private final CaseStatementElements pCaseStatement; + private final LoopStatementElements pLoopStatement; + private final OnStatementElements pOnStatement; + private final WaitStatementElements pWaitStatement; + private final CompositionElements pComposition; + private final BlockElements pBlock; + private final CompositeBlockElements pCompositeBlock; + private final InstanceDeclarationElements pInstanceDeclaration; + private final PortSetElements pPortSet; + private final ComponentInstanceElements pComponentInstance; + private final ExpressionElements pExpression; + private final QuantifiedExpressionElements pQuantifiedExpression; + private final ConditionalElements pConditional; + private final DisjunctionElements pDisjunction; + private final ImplicationElements pImplication; + private final ConjunctionElements pConjunction; + private final ComparisonElements pComparison; + private final AdditionElements pAddition; + private final SubstractionElements pSubstraction; + private final MultiplicationElements pMultiplication; + private final DivisionElements pDivision; + private final ModuloElements pModulo; + private final UnaryExpressionElements pUnaryExpression; + private final ProjectionElements pProjection; + private final ValueExpressionElements pValueExpression; + private final AtomicExpressionElements pAtomicExpression; + private final ReferenceExpressionElements pReferenceExpression; + private final IdentifierExpressionElements pIdentifierExpression; + private final RecordExpressionElements pRecordExpression; + private final FieldExpressionElements pFieldExpression; + private final ArrayExpressionElements pArrayExpression; + private final QueueExpressionElements pQueueExpression; + private final EnqueueExpressionElements pEnqueueExpression; + private final AppendExpressionElements pAppendExpression; + private final LiteralExpressionElements pLiteralExpression; + private final BooleanLiteralElements pBooleanLiteral; + private final NaturalLiteralElements pNaturalLiteral; + private final LowerBoundElements pLowerBound; + private final UpperBoundElements pUpperBound; + private final NaturalLowerBoundElements pNaturalLowerBound; + private final NaturalUpperBoundElements pNaturalUpperBound; + private final DecimalLowerBoundElements pDecimalLowerBound; + private final DecimalUpperBoundElements pDecimalUpperBound; + private final VariableLowerBoundElements pVariableLowerBound; + private final VariableUpperBoundElements pVariableUpperBound; + private final InfiniteUpperBoundElements pInfiniteUpperBound; + private final RequirementElements pRequirement; + private final PropertyDeclarationElements pPropertyDeclaration; + private final PropertyElements pProperty; + private final QuantifiedPropertyElements pQuantifiedProperty; + private final PropertyDisjunctionElements pPropertyDisjunction; + private final PropertyImplicationElements pPropertyImplication; + private final PropertyConjunctionElements pPropertyConjunction; + private final PropertyNegationElements pPropertyNegation; + private final AtomicPropertyElements pAtomicProperty; + private final PatternPropertyElements pPatternProperty; + private final LTLPatternElements pLTLPattern; + private final DeadlockFreePatternElements pDeadlockFreePattern; + private final InfinitelyOftenPatternElements pInfinitelyOftenPattern; + private final MortalPatternElements pMortalPattern; + private final PresencePatternElements pPresencePattern; + private final AbsencePatternElements pAbsencePattern; + private final AlwaysPatternElements pAlwaysPattern; + private final SequencePatternElements pSequencePattern; + private final LTLPropertyElements pLTLProperty; + private final LTLQuantifiedElements pLTLQuantified; + private final LTLDisjunctionElements pLTLDisjunction; + private final LTLImplicationElements pLTLImplication; + private final LTLConjunctionElements pLTLConjunction; + private final LTLBinaryElements pLTLBinary; + private final LTLUnaryElements pLTLUnary; + private final AtomicLTLElements pAtomicLTL; + private final StateEventElements pStateEvent; + private final EnterStateEventElements pEnterStateEvent; + private final LeaveStateEventElements pLeaveStateEvent; + private final ObservableElements pObservable; + private final ObservableDisjunctionElements pObservableDisjunction; + private final ObservableImplicationElements pObservableImplication; + private final ObservableConjunctionElements pObservableConjunction; + private final ObservableNegationElements pObservableNegation; + private final AtomicObservableElements pAtomicObservable; + private final ObservableEventElements pObservableEvent; + private final PathEventElements pPathEvent; + private final PathElements pPath; + private final PathItemElements pPathItem; + private final NaturalItemElements pNaturalItem; + private final NamedItemElements pNamedItem; + private final SubjectElements pSubject; + private final StateSubjectElements pStateSubject; + private final ValueSubjectElements pValueSubject; + private final TagSubjectElements pTagSubject; + private final EventSubjectElements pEventSubject; + private final TerminalRule tINT; + private final TerminalRule tID; + private final TerminalRule tFLT; + + private final Grammar grammar; + + private final TerminalsGrammarAccess gaTerminals; + + @Inject + public FiacreGrammarAccess(GrammarProvider grammarProvider, + TerminalsGrammarAccess gaTerminals) { + this.grammar = internalFindGrammar(grammarProvider); + this.gaTerminals = gaTerminals; + this.pModel = new ModelElements(); + this.pRootDeclaration = new RootDeclarationElements(); + this.pRoot = new RootElements(); + this.pNamedElement = new NamedElementElements(); + this.pTypeDeclarationUse = new TypeDeclarationUseElements(); + this.pConstantDeclarationUse = new ConstantDeclarationUseElements(); + this.pExpressionDeclarationUse = new ExpressionDeclarationUseElements(); + this.pReferenceDeclarationUse = new ReferenceDeclarationUseElements(); + this.pUnionTagDeclarationUse = new UnionTagDeclarationUseElements(); + this.pRecordFieldDeclarationUse = new RecordFieldDeclarationUseElements(); + this.pPatternDeclarationUse = new PatternDeclarationUseElements(); + this.pBoundDeclarationUse = new BoundDeclarationUseElements(); + this.pPathDeclarationUse = new PathDeclarationUseElements(); + this.pPropertyDeclarationUse = new PropertyDeclarationUseElements(); + this.pImportDeclaration = new ImportDeclarationElements(); + this.pDeclaration = new DeclarationElements(); + this.pParameterizedDeclaration = new ParameterizedDeclarationElements(); + this.pFunctionDeclaration = new FunctionDeclarationElements(); + this.pTypeDeclaration = new TypeDeclarationElements(); + this.pChannelDeclaration = new ChannelDeclarationElements(); + this.pChannelType = new ChannelTypeElements(); + this.pType = new TypeElements(); + this.pTupleType = new TupleTypeElements(); + this.pBasicType = new BasicTypeElements(); + this.pRangeType = new RangeTypeElements(); + this.pUnionType = new UnionTypeElements(); + this.pUnionTags = new UnionTagsElements(); + this.pUnionTagDeclaration = new UnionTagDeclarationElements(); + this.pRecordType = new RecordTypeElements(); + this.pRecordFields = new RecordFieldsElements(); + this.pRecordFieldDeclaration = new RecordFieldDeclarationElements(); + this.pQueueType = new QueueTypeElements(); + this.pArrayType = new ArrayTypeElements(); + this.pReferencedType = new ReferencedTypeElements(); + this.pConstantDeclaration = new ConstantDeclarationElements(); + this.pProcessDeclaration = new ProcessDeclarationElements(); + this.pStateDeclaration = new StateDeclarationElements(); + this.pTransitionSource = new TransitionSourceElements(); + this.pTransition = new TransitionElements(); + this.pComponentDeclaration = new ComponentDeclarationElements(); + this.pPortsDeclaration = new PortsDeclarationElements(); + this.pPortDeclaration = new PortDeclarationElements(); + this.pLocalPortsDeclaration = new LocalPortsDeclarationElements(); + this.pParametersDeclaration = new ParametersDeclarationElements(); + this.pParameterDeclaration = new ParameterDeclarationElements(); + this.pVariablesDeclaration = new VariablesDeclarationElements(); + this.pVariableDeclaration = new VariableDeclarationElements(); + this.pPriorityDeclaration = new PriorityDeclarationElements(); + this.pPriorityGroup = new PriorityGroupElements(); + this.pUnlessStatement = new UnlessStatementElements(); + this.pStatementChoice = new StatementChoiceElements(); + this.pStatementSequence = new StatementSequenceElements(); + this.pStatement = new StatementElements(); + this.pBlockStatement = new BlockStatementElements(); + this.pReturnStatement = new ReturnStatementElements(); + this.pNullStatement = new NullStatementElements(); + this.pTaggedStatement = new TaggedStatementElements(); + this.pPatternStatement = new PatternStatementElements(); + this.pPattern = new PatternElements(); + this.pAnyPattern = new AnyPatternElements(); + this.pConstantPattern = new ConstantPatternElements(); + this.pIntegerPattern = new IntegerPatternElements(); + this.pIdentifierPattern = new IdentifierPatternElements(); + this.pConditionalStatement = new ConditionalStatementElements(); + this.pExtendedConditionalStatement = new ExtendedConditionalStatementElements(); + this.pSelectStatement = new SelectStatementElements(); + this.pWhileStatement = new WhileStatementElements(); + this.pForeachStatement = new ForeachStatementElements(); + this.pToStatement = new ToStatementElements(); + this.pCaseStatement = new CaseStatementElements(); + this.pLoopStatement = new LoopStatementElements(); + this.pOnStatement = new OnStatementElements(); + this.pWaitStatement = new WaitStatementElements(); + this.pComposition = new CompositionElements(); + this.pBlock = new BlockElements(); + this.pCompositeBlock = new CompositeBlockElements(); + this.pInstanceDeclaration = new InstanceDeclarationElements(); + this.pPortSet = new PortSetElements(); + this.pComponentInstance = new ComponentInstanceElements(); + this.pExpression = new ExpressionElements(); + this.pQuantifiedExpression = new QuantifiedExpressionElements(); + this.pConditional = new ConditionalElements(); + this.pDisjunction = new DisjunctionElements(); + this.pImplication = new ImplicationElements(); + this.pConjunction = new ConjunctionElements(); + this.pComparison = new ComparisonElements(); + this.pAddition = new AdditionElements(); + this.pSubstraction = new SubstractionElements(); + this.pMultiplication = new MultiplicationElements(); + this.pDivision = new DivisionElements(); + this.pModulo = new ModuloElements(); + this.pUnaryExpression = new UnaryExpressionElements(); + this.pProjection = new ProjectionElements(); + this.pValueExpression = new ValueExpressionElements(); + this.pAtomicExpression = new AtomicExpressionElements(); + this.pReferenceExpression = new ReferenceExpressionElements(); + this.pIdentifierExpression = new IdentifierExpressionElements(); + this.pRecordExpression = new RecordExpressionElements(); + this.pFieldExpression = new FieldExpressionElements(); + this.pArrayExpression = new ArrayExpressionElements(); + this.pQueueExpression = new QueueExpressionElements(); + this.pEnqueueExpression = new EnqueueExpressionElements(); + this.pAppendExpression = new AppendExpressionElements(); + this.pLiteralExpression = new LiteralExpressionElements(); + this.pBooleanLiteral = new BooleanLiteralElements(); + this.pNaturalLiteral = new NaturalLiteralElements(); + this.pLowerBound = new LowerBoundElements(); + this.pUpperBound = new UpperBoundElements(); + this.pNaturalLowerBound = new NaturalLowerBoundElements(); + this.pNaturalUpperBound = new NaturalUpperBoundElements(); + this.pDecimalLowerBound = new DecimalLowerBoundElements(); + this.pDecimalUpperBound = new DecimalUpperBoundElements(); + this.pVariableLowerBound = new VariableLowerBoundElements(); + this.pVariableUpperBound = new VariableUpperBoundElements(); + this.pInfiniteUpperBound = new InfiniteUpperBoundElements(); + this.pRequirement = new RequirementElements(); + this.pPropertyDeclaration = new PropertyDeclarationElements(); + this.pProperty = new PropertyElements(); + this.pQuantifiedProperty = new QuantifiedPropertyElements(); + this.pPropertyDisjunction = new PropertyDisjunctionElements(); + this.pPropertyImplication = new PropertyImplicationElements(); + this.pPropertyConjunction = new PropertyConjunctionElements(); + this.pPropertyNegation = new PropertyNegationElements(); + this.pAtomicProperty = new AtomicPropertyElements(); + this.pPatternProperty = new PatternPropertyElements(); + this.pLTLPattern = new LTLPatternElements(); + this.pDeadlockFreePattern = new DeadlockFreePatternElements(); + this.pInfinitelyOftenPattern = new InfinitelyOftenPatternElements(); + this.pMortalPattern = new MortalPatternElements(); + this.pPresencePattern = new PresencePatternElements(); + this.pAbsencePattern = new AbsencePatternElements(); + this.pAlwaysPattern = new AlwaysPatternElements(); + this.pSequencePattern = new SequencePatternElements(); + this.pLTLProperty = new LTLPropertyElements(); + this.pLTLQuantified = new LTLQuantifiedElements(); + this.pLTLDisjunction = new LTLDisjunctionElements(); + this.pLTLImplication = new LTLImplicationElements(); + this.pLTLConjunction = new LTLConjunctionElements(); + this.pLTLBinary = new LTLBinaryElements(); + this.pLTLUnary = new LTLUnaryElements(); + this.pAtomicLTL = new AtomicLTLElements(); + this.pStateEvent = new StateEventElements(); + this.pEnterStateEvent = new EnterStateEventElements(); + this.pLeaveStateEvent = new LeaveStateEventElements(); + this.pObservable = new ObservableElements(); + this.pObservableDisjunction = new ObservableDisjunctionElements(); + this.pObservableImplication = new ObservableImplicationElements(); + this.pObservableConjunction = new ObservableConjunctionElements(); + this.pObservableNegation = new ObservableNegationElements(); + this.pAtomicObservable = new AtomicObservableElements(); + this.pObservableEvent = new ObservableEventElements(); + this.pPathEvent = new PathEventElements(); + this.pPath = new PathElements(); + this.pPathItem = new PathItemElements(); + this.pNaturalItem = new NaturalItemElements(); + this.pNamedItem = new NamedItemElements(); + this.pSubject = new SubjectElements(); + this.pStateSubject = new StateSubjectElements(); + this.pValueSubject = new ValueSubjectElements(); + this.pTagSubject = new TagSubjectElements(); + this.pEventSubject = new EventSubjectElements(); + this.tINT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.INT"); + this.tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.ID"); + this.tFLT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "fr.irit.fiacre.xtext.Fiacre.FLT"); + } + + protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { + Grammar grammar = grammarProvider.getGrammar(this); + while (grammar != null) { + if ("fr.irit.fiacre.xtext.Fiacre".equals(grammar.getName())) { + return grammar; + } + List grammars = grammar.getUsedGrammars(); + if (!grammars.isEmpty()) { + grammar = grammars.iterator().next(); + } else { + return null; + } + } + return grammar; + } + + @Override + public Grammar getGrammar() { + return grammar; + } + + + public TerminalsGrammarAccess getTerminalsGrammarAccess() { + return gaTerminals; + } + + + //Model: + // {Model} imports+=ImportDeclaration* (declarations+=Declaration | requirements+=Requirement + // / * added alternative root * / | root+=Root)* + // // ((root=[RootDeclaration])? (declarations+=Declaration | requirements+=Requirement)*) + //; + public ModelElements getModelAccess() { + return pModel; + } + + public ParserRule getModelRule() { + return getModelAccess().getRule(); + } + + //RootDeclaration: + // ComponentDeclaration + // | ProcessDeclaration; + public RootDeclarationElements getRootDeclarationAccess() { + return pRootDeclaration; + } + + public ParserRule getRootDeclarationRule() { + return getRootDeclarationAccess().getRule(); + } + + //Root: + // {Root} declaration=[RootDeclaration] ('>' (observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])*))?; + public RootElements getRootAccess() { + return pRoot; + } + + public ParserRule getRootRule() { + return getRootAccess().getRule(); + } + + //NamedElement: + // Declaration + // //| GenericDeclaration + // | PortDeclaration + // | ParameterDeclaration + // | VariableDeclaration + // | StateDeclaration + // | RecordFieldDeclaration + // | UnionTagDeclaration + // //ajout Faiez + // // | TagDeclaration + //; + public NamedElementElements getNamedElementAccess() { + return pNamedElement; + } + + public ParserRule getNamedElementRule() { + return getNamedElementAccess().getRule(); + } + + //TypeDeclarationUse: + // TypeDeclaration + // //| GenericTypeDeclaration + // | ChannelDeclaration + // //| GenericConstantDeclaration + //; + public TypeDeclarationUseElements getTypeDeclarationUseAccess() { + return pTypeDeclarationUse; + } + + public ParserRule getTypeDeclarationUseRule() { + return getTypeDeclarationUseAccess().getRule(); + } + + //ConstantDeclarationUse: + // ConstantDeclaration + // //| GenericConstantDeclaration + //; + public ConstantDeclarationUseElements getConstantDeclarationUseAccess() { + return pConstantDeclarationUse; + } + + public ParserRule getConstantDeclarationUseRule() { + return getConstantDeclarationUseAccess().getRule(); + } + + //ExpressionDeclarationUse: + // VariableDeclaration + // | ConstantDeclaration + // //| GenericConstantDeclaration + // | ParameterDeclaration + // | PortDeclaration + // | UnionTagDeclaration + // //| GenericDeclaration + // | FunctionDeclaration; + public ExpressionDeclarationUseElements getExpressionDeclarationUseAccess() { + return pExpressionDeclarationUse; + } + + public ParserRule getExpressionDeclarationUseRule() { + return getExpressionDeclarationUseAccess().getRule(); + } + + //ReferenceDeclarationUse: + // VariableDeclaration + // | ParameterDeclaration; + public ReferenceDeclarationUseElements getReferenceDeclarationUseAccess() { + return pReferenceDeclarationUse; + } + + public ParserRule getReferenceDeclarationUseRule() { + return getReferenceDeclarationUseAccess().getRule(); + } + + //UnionTagDeclarationUse: + // UnionTagDeclaration + // //| GenericUnionTagDeclaration + //; + public UnionTagDeclarationUseElements getUnionTagDeclarationUseAccess() { + return pUnionTagDeclarationUse; + } + + public ParserRule getUnionTagDeclarationUseRule() { + return getUnionTagDeclarationUseAccess().getRule(); + } + + //RecordFieldDeclarationUse: + // RecordFieldDeclaration + // //| GenericRecordFieldDeclaration + //; + public RecordFieldDeclarationUseElements getRecordFieldDeclarationUseAccess() { + return pRecordFieldDeclarationUse; + } + + public ParserRule getRecordFieldDeclarationUseRule() { + return getRecordFieldDeclarationUseAccess().getRule(); + } + + //PatternDeclarationUse: + // VariableDeclaration + // | ParameterDeclaration + // | PortDeclaration + // | UnionTagDeclaration + // //| GenericUnionTagDeclaration + //; + public PatternDeclarationUseElements getPatternDeclarationUseAccess() { + return pPatternDeclarationUse; + } + + public ParserRule getPatternDeclarationUseRule() { + return getPatternDeclarationUseAccess().getRule(); + } + + //BoundDeclarationUse: + // VariableDeclaration + // //| GenericConstantDeclaration + // | ConstantDeclaration; + public BoundDeclarationUseElements getBoundDeclarationUseAccess() { + return pBoundDeclarationUse; + } + + public ParserRule getBoundDeclarationUseRule() { + return getBoundDeclarationUseAccess().getRule(); + } + + //PathDeclarationUse: + // ComponentDeclaration + // | InstanceDeclaration + // | ProcessDeclaration; + public PathDeclarationUseElements getPathDeclarationUseAccess() { + return pPathDeclarationUse; + } + + public ParserRule getPathDeclarationUseRule() { + return getPathDeclarationUseAccess().getRule(); + } + + //PropertyDeclarationUse: + // PropertyDeclaration + // | VariableDeclaration; + public PropertyDeclarationUseElements getPropertyDeclarationUseAccess() { + return pPropertyDeclarationUse; + } + + public ParserRule getPropertyDeclarationUseRule() { + return getPropertyDeclarationUseAccess().getRule(); + } + + //ImportDeclaration: + // '#include' importURI=STRING; + public ImportDeclarationElements getImportDeclarationAccess() { + return pImportDeclaration; + } + + public ParserRule getImportDeclarationRule() { + return getImportDeclarationAccess().getRule(); + } + + //Declaration: + // TypeDeclaration + // | ChannelDeclaration + // | ConstantDeclaration + // | ParameterizedDeclaration + // | PropertyDeclaration; + public DeclarationElements getDeclarationAccess() { + return pDeclaration; + } + + public ParserRule getDeclarationRule() { + return getDeclarationAccess().getRule(); + } + + //ParameterizedDeclaration: + // ProcessDeclaration + // | ComponentDeclaration + // //added + // | FunctionDeclaration; + public ParameterizedDeclarationElements getParameterizedDeclarationAccess() { + return pParameterizedDeclaration; + } + + public ParserRule getParameterizedDeclarationRule() { + return getParameterizedDeclarationAccess().getRule(); + } + + //FunctionDeclaration: + // 'function' name=ID ('(' (parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? ')') + // ':' type=Type + // 'is' ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + // statement=Statement; + public FunctionDeclarationElements getFunctionDeclarationAccess() { + return pFunctionDeclaration; + } + + public ParserRule getFunctionDeclarationRule() { + return getFunctionDeclarationAccess().getRule(); + } + + //TypeDeclaration: + // 'type' name=ID 'is' value=Type; + public TypeDeclarationElements getTypeDeclarationAccess() { + return pTypeDeclaration; + } + + public ParserRule getTypeDeclarationRule() { + return getTypeDeclarationAccess().getRule(); + } + + //ChannelDeclaration: + // 'channel' name=ID 'is' value=ChannelType; + public ChannelDeclarationElements getChannelDeclarationAccess() { + return pChannelDeclaration; + } + + public ParserRule getChannelDeclarationRule() { + return getChannelDeclarationAccess().getRule(); + } + + //ChannelType: + // {ChannelType} ('array' size=Expression 'of')? ((in?='in' out?='out'? | out?='out')? (type=TupleType | 'none') | 'none' + // | 'sync'); + public ChannelTypeElements getChannelTypeAccess() { + return pChannelType; + } + + public ParserRule getChannelTypeRule() { + return getChannelTypeAccess().getRule(); + } + + //Type: + // BasicType + // | RangeType + // | UnionType + // | RecordType + // | QueueType + // | ArrayType + // | ReferencedType + // // | TupleType + //; + public TypeElements getTypeAccess() { + return pType; + } + + public ParserRule getTypeRule() { + return getTypeAccess().getRule(); + } + + //TupleType Type: + // Type ({TupleType.types+=current} '#' types+=Type)* + public TupleTypeElements getTupleTypeAccess() { + return pTupleType; + } + + public ParserRule getTupleTypeRule() { + return getTupleTypeAccess().getRule(); + } + + //BasicType: + // {NaturalType} 'nat' + // | {IntegerType} 'int' + // | {BooleanType} 'bool'; + public BasicTypeElements getBasicTypeAccess() { + return pBasicType; + } + + public ParserRule getBasicTypeRule() { + return getBasicTypeAccess().getRule(); + } + + //// changed + //RangeType: + // minimum=Expression '..' maximum=Expression; + public RangeTypeElements getRangeTypeAccess() { + return pRangeType; + } + + public ParserRule getRangeTypeRule() { + return getRangeTypeAccess().getRule(); + } + + //UnionType: + // 'union' tags+=UnionTags ('|' tags+=UnionTags)* 'end' 'union'?; + public UnionTypeElements getUnionTypeAccess() { + return pUnionType; + } + + public ParserRule getUnionTypeRule() { + return getUnionTypeAccess().getRule(); + } + + //UnionTags: + // tags+=UnionTagDeclaration (',' tags+=UnionTagDeclaration)* ('of' type=Type)?; + public UnionTagsElements getUnionTagsAccess() { + return pUnionTags; + } + + public ParserRule getUnionTagsRule() { + return getUnionTagsAccess().getRule(); + } + + //UnionTagDeclaration: + // name=ID; + public UnionTagDeclarationElements getUnionTagDeclarationAccess() { + return pUnionTagDeclaration; + } + + public ParserRule getUnionTagDeclarationRule() { + return getUnionTagDeclarationAccess().getRule(); + } + + //RecordType: + // 'record' fields+=RecordFields (',' fields+=RecordFields)* 'end' 'record'?; + public RecordTypeElements getRecordTypeAccess() { + return pRecordType; + } + + public ParserRule getRecordTypeRule() { + return getRecordTypeAccess().getRule(); + } + + //RecordFields: + // fields+=RecordFieldDeclaration (',' fields+=RecordFieldDeclaration)* ':' type=Type; + public RecordFieldsElements getRecordFieldsAccess() { + return pRecordFields; + } + + public ParserRule getRecordFieldsRule() { + return getRecordFieldsAccess().getRule(); + } + + //RecordFieldDeclaration: + // name=ID; + public RecordFieldDeclarationElements getRecordFieldDeclarationAccess() { + return pRecordFieldDeclaration; + } + + public ParserRule getRecordFieldDeclarationRule() { + return getRecordFieldDeclarationAccess().getRule(); + } + + //QueueType: + // 'queue' size=Expression 'of' type=Type; + public QueueTypeElements getQueueTypeAccess() { + return pQueueType; + } + + public ParserRule getQueueTypeRule() { + return getQueueTypeAccess().getRule(); + } + + //ArrayType: + // 'array' size=Expression 'of' type=Type; + public ArrayTypeElements getArrayTypeAccess() { + return pArrayType; + } + + public ParserRule getArrayTypeRule() { + return getArrayTypeAccess().getRule(); + } + + //ReferencedType: + // type=[TypeDeclarationUse]; + public ReferencedTypeElements getReferencedTypeAccess() { + return pReferencedType; + } + + public ParserRule getReferencedTypeRule() { + return getReferencedTypeAccess().getRule(); + } + + /// * ChannelDeclaration: + // 'channel' name=ID 'is' channel=ChannelType + //; * / ConstantDeclaration: + // 'const' name=ID ':' type=Type 'is' value=Expression; + public ConstantDeclarationElements getConstantDeclarationAccess() { + return pConstantDeclaration; + } + + public ParserRule getConstantDeclarationRule() { + return getConstantDeclarationAccess().getRule(); + } + + //ProcessDeclaration: + // 'process' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + // parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + // 'is' ('port' localPorts+=PortsDeclaration (',' localPorts+=PortsDeclaration)*)? ('priority' + // priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + // 'states' states+=StateDeclaration (',' states+=StateDeclaration)* ('var' variables+=VariablesDeclaration (',' + // variables+=VariablesDeclaration)*)? ('init' prelude=StatementSequence)? + // transitions+=Transition+; + public ProcessDeclarationElements getProcessDeclarationAccess() { + return pProcessDeclaration; + } + + public ParserRule getProcessDeclarationRule() { + return getProcessDeclarationAccess().getRule(); + } + + ////GenericDeclaration: + //// ('type' GenericTypeDeclaration) + //// | ('const' GenericConstantDeclaration) + //// | (('constr0' | 'constr1') GenericUnionTagDeclaration) + //// | ('field' GenericRecordFieldDeclaration) + ////; + //// + ////GenericTypeDeclaration: + //// name=ID + ////; + //// + ////GenericConstantDeclaration: + //// name=ID + ////; + //// + ////GenericUnionTagDeclaration: + //// name=ID + ////; + //// + ////GenericRecordFieldDeclaration: + //// name=ID + ////; + //StateDeclaration: + // name=ID; + public StateDeclarationElements getStateDeclarationAccess() { + return pStateDeclaration; + } + + public ParserRule getStateDeclarationRule() { + return getStateDeclarationAccess().getRule(); + } + + //TransitionSource: + // 'from' origin=[StateDeclaration]; + public TransitionSourceElements getTransitionSourceAccess() { + return pTransitionSource; + } + + public ParserRule getTransitionSourceRule() { + return getTransitionSourceAccess().getRule(); + } + + //Transition: + // source=TransitionSource action=StatementSequence; + public TransitionElements getTransitionAccess() { + return pTransition; + } + + public ParserRule getTransitionRule() { + return getTransitionAccess().getRule(); + } + + //ComponentDeclaration: + // 'component' name=ID ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? ('(' + // parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + // 'is' ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? ('port' + // localPorts+=LocalPortsDeclaration (',' localPorts+=LocalPortsDeclaration)*)? ('priority' + // priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? ('init' prelude=StatementSequence)? + // body=Composition; + public ComponentDeclarationElements getComponentDeclarationAccess() { + return pComponentDeclaration; + } + + public ParserRule getComponentDeclarationRule() { + return getComponentDeclarationAccess().getRule(); + } + + //PortsDeclaration: + // ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType; + public PortsDeclarationElements getPortsDeclarationAccess() { + return pPortsDeclaration; + } + + public ParserRule getPortsDeclarationRule() { + return getPortsDeclarationAccess().getRule(); + } + + //PortDeclaration: + // name=ID; + public PortDeclarationElements getPortDeclarationAccess() { + return pPortDeclaration; + } + + public ParserRule getPortDeclarationRule() { + return getPortDeclarationAccess().getRule(); + } + + //LocalPortsDeclaration: + // ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType ('in' left=LowerBound ',' + // right=UpperBound)?; + public LocalPortsDeclarationElements getLocalPortsDeclarationAccess() { + return pLocalPortsDeclaration; + } + + public ParserRule getLocalPortsDeclarationRule() { + return getLocalPortsDeclarationAccess().getRule(); + } + + //ParametersDeclaration: + // parameters+=ParameterDeclaration (',' parameters+=ParameterDeclaration)* ':' read?='read'? write?='write'? type=Type; + public ParametersDeclarationElements getParametersDeclarationAccess() { + return pParametersDeclaration; + } + + public ParserRule getParametersDeclarationRule() { + return getParametersDeclarationAccess().getRule(); + } + + //ParameterDeclaration: + // (reference?='&' (array?='[' size=Expression ']')?)? name=ID; + public ParameterDeclarationElements getParameterDeclarationAccess() { + return pParameterDeclaration; + } + + public ParserRule getParameterDeclarationRule() { + return getParameterDeclarationAccess().getRule(); + } + + //VariablesDeclaration: + // variables+=VariableDeclaration (',' variables+=VariableDeclaration)* ':' type=Type (':=' value=Expression)?; + public VariablesDeclarationElements getVariablesDeclarationAccess() { + return pVariablesDeclaration; + } + + public ParserRule getVariablesDeclarationRule() { + return getVariablesDeclarationAccess().getRule(); + } + + //VariableDeclaration: + // name=ID; + public VariableDeclarationElements getVariableDeclarationAccess() { + return pVariableDeclaration; + } + + public ParserRule getVariableDeclarationRule() { + return getVariableDeclarationAccess().getRule(); + } + + //PriorityDeclaration: + // groups+=PriorityGroup ('>' groups+=PriorityGroup)+; + public PriorityDeclarationElements getPriorityDeclarationAccess() { + return pPriorityDeclaration; + } + + public ParserRule getPriorityDeclarationRule() { + return getPriorityDeclarationAccess().getRule(); + } + + //PriorityGroup: + // ports+=[PortDeclaration] ('|' ports+=[PortDeclaration])*; + public PriorityGroupElements getPriorityGroupAccess() { + return pPriorityGroup; + } + + public ParserRule getPriorityGroupRule() { + return getPriorityGroupAccess().getRule(); + } + + //UnlessStatement Statement: + // StatementChoice ({UnlessStatement.followers+=current} 'unless' followers+=StatementChoice)* + public UnlessStatementElements getUnlessStatementAccess() { + return pUnlessStatement; + } + + public ParserRule getUnlessStatementRule() { + return getUnlessStatementAccess().getRule(); + } + + //StatementChoice Statement: + // StatementSequence ({StatementChoice.choices+=current} '[]' choices+=StatementSequence)* + public StatementChoiceElements getStatementChoiceAccess() { + return pStatementChoice; + } + + public ParserRule getStatementChoiceRule() { + return getStatementChoiceAccess().getRule(); + } + + //StatementSequence Statement: + // Statement ({StatementSequence.statements+=current} ';' statements+=Statement)* + public StatementSequenceElements getStatementSequenceAccess() { + return pStatementSequence; + } + + public ParserRule getStatementSequenceRule() { + return getStatementSequenceAccess().getRule(); + } + + //Statement: + // NullStatement + // | TaggedStatement + // | PatternStatement + // | ConditionalStatement + // | SelectStatement + // | WhileStatement + // | ForeachStatement + // | ToStatement + // | CaseStatement + // | LoopStatement + // | OnStatement + // | WaitStatement + // | ReturnStatement + // | BlockStatement; + public StatementElements getStatementAccess() { + return pStatement; + } + + public ParserRule getStatementRule() { + return getStatementAccess().getRule(); + } + + //BlockStatement: + // 'begin' body=StatementSequence 'end'; + public BlockStatementElements getBlockStatementAccess() { + return pBlockStatement; + } + + public ParserRule getBlockStatementRule() { + return getBlockStatementAccess().getRule(); + } + + //ReturnStatement: + // 'return' expression=Expression; + public ReturnStatementElements getReturnStatementAccess() { + return pReturnStatement; + } + + public ParserRule getReturnStatementRule() { + return getReturnStatementAccess().getRule(); + } + + //NullStatement: + // {NullStatement} 'null'; + public NullStatementElements getNullStatementAccess() { + return pNullStatement; + } + + public ParserRule getNullStatementRule() { + return getNullStatementAccess().getRule(); + } + + //TaggedStatement: + // '#' name=ID //tag=TagDeclaration + //; + public TaggedStatementElements getTaggedStatementAccess() { + return pTaggedStatement; + } + + public ParserRule getTaggedStatementRule() { + return getTaggedStatementAccess().getRule(); + } + + ////TagDeclaration: + //// name=ID + ////; + //PatternStatement: + // Pattern (',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression + // (',' values+=Expression)* | ':=' {AssignStatement.patterns+=current} (values+=Expression (',' values+=Expression)*) | + // ',' {AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' 'any' ('where' + // exp=Expression)? | ':=' {AssignAnyStatement.patterns+=current} 'any' ('where' exp=Expression)? | '!' + // {SendStatement.port=current} values+=Expression (',' values+=Expression)* | '?' {ReceiveStatement.port=current} + // patterns+=Pattern (',' patterns+=Pattern)* ('where' exp=Expression)?)?; + public PatternStatementElements getPatternStatementAccess() { + return pPatternStatement; + } + + public ParserRule getPatternStatementRule() { + return getPatternStatementAccess().getRule(); + } + + //Pattern: + // AnyPattern + // | IntegerPattern + // | ConstantPattern + // | '(' Pattern ')' + // | IdentifierPattern; + public PatternElements getPatternAccess() { + return pPattern; + } + + public ParserRule getPatternRule() { + return getPatternAccess().getRule(); + } + + //AnyPattern: + // {AnyPattern} 'any'; + public AnyPatternElements getAnyPatternAccess() { + return pAnyPattern; + } + + public ParserRule getAnyPatternRule() { + return getAnyPatternAccess().getRule(); + } + + //ConstantPattern: + // value=LiteralExpression; + public ConstantPatternElements getConstantPatternAccess() { + return pConstantPattern; + } + + public ParserRule getConstantPatternRule() { + return getConstantPatternAccess().getRule(); + } + + //IntegerPattern: + // ('+' | negative?='-') value=INT; + public IntegerPatternElements getIntegerPatternAccess() { + return pIntegerPattern; + } + + public ParserRule getIntegerPatternRule() { + return getIntegerPatternAccess().getRule(); + } + + //IdentifierPattern: + // {ConstructorPattern} declaration=[PatternDeclarationUse] '(' (parameters+=Pattern (',' parameters+=Pattern)*)? ')' | + // declaration=[PatternDeclarationUse] ('[' {ArrayAccessPattern.source=current} index=Expression ']' | '.' + // {RecordAccessPattern.source=current} field=[RecordFieldDeclaration])*; + public IdentifierPatternElements getIdentifierPatternAccess() { + return pIdentifierPattern; + } + + public ParserRule getIdentifierPatternRule() { + return getIdentifierPatternAccess().getRule(); + } + + //ConditionalStatement: + // 'if' condition=Expression + // 'then' then=StatementSequence elseif+=ExtendedConditionalStatement* ('else' else=StatementSequence)? 'end' 'if'?; + public ConditionalStatementElements getConditionalStatementAccess() { + return pConditionalStatement; + } + + public ParserRule getConditionalStatementRule() { + return getConditionalStatementAccess().getRule(); + } + + //ExtendedConditionalStatement: + // 'elsif' condition=Expression 'then' then=StatementSequence; + public ExtendedConditionalStatementElements getExtendedConditionalStatementAccess() { + return pExtendedConditionalStatement; + } + + public ParserRule getExtendedConditionalStatementRule() { + return getExtendedConditionalStatementAccess().getRule(); + } + + //SelectStatement: + // 'select' + // body=UnlessStatement ('|' index=VariableDeclaration 'in' type=RangeType)? + // 'end' 'select'?; + public SelectStatementElements getSelectStatementAccess() { + return pSelectStatement; + } + + public ParserRule getSelectStatementRule() { + return getSelectStatementAccess().getRule(); + } + + //WhileStatement: + // 'while' condition=Expression 'do' body=StatementSequence 'end' 'while'?; + public WhileStatementElements getWhileStatementAccess() { + return pWhileStatement; + } + + public ParserRule getWhileStatementRule() { + return getWhileStatementAccess().getRule(); + } + + //ForeachStatement: + // 'foreach' variable=VariableDeclaration 'do' body=StatementSequence 'end' 'foreach'?; + public ForeachStatementElements getForeachStatementAccess() { + return pForeachStatement; + } + + public ParserRule getForeachStatementRule() { + return getForeachStatementAccess().getRule(); + } + + //ToStatement: + // 'to' state=[StateDeclaration]; + public ToStatementElements getToStatementAccess() { + return pToStatement; + } + + public ParserRule getToStatementRule() { + return getToStatementAccess().getRule(); + } + + //CaseStatement: + // 'case' value=Expression 'of' + // pattern+=Pattern '->' body+=StatementSequence ('|' pattern+=Pattern '->' body+=StatementSequence)* + // 'end' 'case'?; + public CaseStatementElements getCaseStatementAccess() { + return pCaseStatement; + } + + public ParserRule getCaseStatementRule() { + return getCaseStatementAccess().getRule(); + } + + //LoopStatement: + // {LoopStatement} 'loop'; + public LoopStatementElements getLoopStatementAccess() { + return pLoopStatement; + } + + public ParserRule getLoopStatementRule() { + return getLoopStatementAccess().getRule(); + } + + //OnStatement: + // 'on' condition=Expression; + public OnStatementElements getOnStatementAccess() { + return pOnStatement; + } + + public ParserRule getOnStatementRule() { + return getOnStatementAccess().getRule(); + } + + //WaitStatement: + // 'wait' left=LowerBound ',' right=UpperBound; + public WaitStatementElements getWaitStatementAccess() { + return pWaitStatement; + } + + public ParserRule getWaitStatementRule() { + return getWaitStatementAccess().getRule(); + } + + //Composition: // added ? + // 'par' (global=PortSet 'in')? blocks+=Block ('||' blocks+=Block)* //('|' index=VariableDeclaration 'in' type=RangeType)? + // 'end' 'par'?; + public CompositionElements getCompositionAccess() { + return pComposition; + } + + public ParserRule getCompositionRule() { + return getCompositionAccess().getRule(); + } + + //Block: + // CompositeBlock | InstanceDeclaration; + public BlockElements getBlockAccess() { + return pBlock; + } + + public ParserRule getBlockRule() { + return getBlockAccess().getRule(); + } + + //CompositeBlock: + // (local=PortSet '->' | '->')? composition=Composition; + public CompositeBlockElements getCompositeBlockAccess() { + return pCompositeBlock; + } + + public ParserRule getCompositeBlockRule() { + return getCompositeBlockAccess().getRule(); + } + + //InstanceDeclaration: + // (local=PortSet '->' | '->')? instance=ComponentInstance; + public InstanceDeclarationElements getInstanceDeclarationAccess() { + return pInstanceDeclaration; + } + + public ParserRule getInstanceDeclarationRule() { + return getInstanceDeclarationAccess().getRule(); + } + + //PortSet: + // allPorts?='*' + // | ports+=Expression (',' ports+=Expression)*; + public PortSetElements getPortSetAccess() { + return pPortSet; + } + + public ParserRule getPortSetRule() { + return getPortSetAccess().getRule(); + } + + //ComponentInstance: + // component=[ParameterizedDeclaration] ('[' ports+=Expression (',' ports+=Expression)* ']')? ('(' parameters+=Expression + // (',' parameters+=Expression)* ')')?; + public ComponentInstanceElements getComponentInstanceAccess() { + return pComponentInstance; + } + + public ParserRule getComponentInstanceRule() { + return getComponentInstanceAccess().getRule(); + } + + ////GenericInstance: + //// TypeInstance + //// | ConstantInstance + //// | UnionTagInstance + //// | RecordFieldInstance + ////; + //// + ////TypeInstance: + //// 'type' type=Type + ////; + //// + ////ConstantInstance: + //// 'const' (const=[ConstantDeclarationUse] | value=LiteralExpression) + ////; + //// + ////UnionTagInstance: + //// (constr0?='constr0' | constr1?='constr1') head=[UnionTagDeclarationUse] + ////; + //// + ////RecordFieldInstance: + //// 'field' field=[RecordFieldDeclarationUse] + ////; + //Expression: + // QuantifiedExpression; + public ExpressionElements getExpressionAccess() { + return pExpression; + } + + public ParserRule getExpressionRule() { + return getExpressionAccess().getRule(); + } + + //QuantifiedExpression Expression: + // ({AllExpression} 'all' | {ExistsExpression} 'exists') index=VariableDeclaration ('in' type=RangeType)? '.' + // child=QuantifiedExpression + // | Conditional + public QuantifiedExpressionElements getQuantifiedExpressionAccess() { + return pQuantifiedExpression; + } + + public ParserRule getQuantifiedExpressionRule() { + return getQuantifiedExpressionAccess().getRule(); + } + + //Conditional Expression: + // Disjunction ('?' {Conditional.condition=current} then=Disjunction ':' else=Disjunction)? + public ConditionalElements getConditionalAccess() { + return pConditional; + } + + public ParserRule getConditionalRule() { + return getConditionalAccess().getRule(); + } + + //Disjunction Expression: + // Implication ({Disjunction.left=current} 'or' right=Implication)* + public DisjunctionElements getDisjunctionAccess() { + return pDisjunction; + } + + public ParserRule getDisjunctionRule() { + return getDisjunctionAccess().getRule(); + } + + //Implication Expression: + // Conjunction ({Implication.left=current} '=>' right=Implication)? + public ImplicationElements getImplicationAccess() { + return pImplication; + } + + public ParserRule getImplicationRule() { + return getImplicationAccess().getRule(); + } + + //Conjunction Expression: + // Comparison ({Conjunction.left=current} 'and' right=Comparison)* + public ConjunctionElements getConjunctionAccess() { + return pConjunction; + } + + public ParserRule getConjunctionRule() { + return getConjunctionAccess().getRule(); + } + + //Comparison Expression: + // Addition (({ComparisonEqual.left=current} '=' + // | {ComparisonNotEqual.left=current} '<>' + // | {ComparisonLesser.left=current} '<' + // | {ComparisonLesserEqual.left=current} '<=' + // | {ComparisonGreater.left=current} '>' + // | {ComparisonGreaterEqual.left=current} '>=') right=Addition)? + public ComparisonElements getComparisonAccess() { + return pComparison; + } + + public ParserRule getComparisonRule() { + return getComparisonAccess().getRule(); + } + + //Addition Expression: + // Substraction ({Addition.left=current} '+' right=Substraction)* + public AdditionElements getAdditionAccess() { + return pAddition; + } + + public ParserRule getAdditionRule() { + return getAdditionAccess().getRule(); + } + + //Substraction Expression: + // Multiplication ({Substraction.left=current} '-' right=Multiplication)* + public SubstractionElements getSubstractionAccess() { + return pSubstraction; + } + + public ParserRule getSubstractionRule() { + return getSubstractionAccess().getRule(); + } + + //Multiplication Expression: + // Division ({Multiplication.left=current} '*' right=Division)* + public MultiplicationElements getMultiplicationAccess() { + return pMultiplication; + } + + public ParserRule getMultiplicationRule() { + return getMultiplicationAccess().getRule(); + } + + //Division Expression: + // Modulo ({Division.left=current} '/' right=Modulo)* + public DivisionElements getDivisionAccess() { + return pDivision; + } + + public ParserRule getDivisionRule() { + return getDivisionAccess().getRule(); + } + + //Modulo Expression: + // UnaryExpression ({Modulo.left=current} '%' right=UnaryExpression)* + public ModuloElements getModuloAccess() { + return pModulo; + } + + public ParserRule getModuloRule() { + return getModuloAccess().getRule(); + } + + //UnaryExpression Expression: + // ({UnaryPlusExpression} '+' + // | {UnaryMinusExpression} '-' + // | {UnaryNegationExpression} 'not' + // | {UnaryFirstExpression} 'first' + // | {UnaryLengthExpression} 'length' + // | {UnaryCoerceExpression} '$' + // | {UnaryFullExpression} 'full' + // | {UnaryDeQueueExpression} 'dequeue' + // | {UnaryEmptyExpression} 'empty') child=UnaryExpression | Projection + public UnaryExpressionElements getUnaryExpressionAccess() { + return pUnaryExpression; + } + + public ParserRule getUnaryExpressionRule() { + return getUnaryExpressionAccess().getRule(); + } + + //Projection Expression: + // AtomicExpression ({Projection.channel=current} '^' + // field=AtomicExpression)? + public ProjectionElements getProjectionAccess() { + return pProjection; + } + + public ParserRule getProjectionRule() { + return getProjectionAccess().getRule(); + } + + //// Added to manage the type of current value of a fiacre value during execution + //ValueExpression: + // IdentifierExpression + // | LiteralExpression + // | RecordExpression + // | ArrayExpression + // | QueueExpression; + public ValueExpressionElements getValueExpressionAccess() { + return pValueExpression; + } + + public ParserRule getValueExpressionRule() { + return getValueExpressionAccess().getRule(); + } + + //AtomicExpression Expression: + // IdentifierExpression + // | ReferenceExpression + // | LiteralExpression + // | RecordExpression + // | ArrayExpression + // | QueueExpression + // | EnqueueExpression + // | AppendExpression + // | '(' Expression ')' + public AtomicExpressionElements getAtomicExpressionAccess() { + return pAtomicExpression; + } + + public ParserRule getAtomicExpressionRule() { + return getAtomicExpressionAccess().getRule(); + } + + //ReferenceExpression: + // '&' declaration=[ReferenceDeclarationUse]; + public ReferenceExpressionElements getReferenceExpressionAccess() { + return pReferenceExpression; + } + + public ParserRule getReferenceExpressionRule() { + return getReferenceExpressionAccess().getRule(); + } + + //IdentifierExpression: + // {ConstructionExpression} declaration=[ExpressionDeclarationUse] '(' (parameters+=Expression (',' + // parameters+=Expression)*)? ')' | declaration=[ExpressionDeclarationUse] ('[' {ArrayAccessExpression.child=current} + // indexes+=Expression (',' indexes+=Expression)* ']' | '.' {RecordAccessExpression.child=current} + // field=[RecordFieldDeclaration])*; + public IdentifierExpressionElements getIdentifierExpressionAccess() { + return pIdentifierExpression; + } + + public ParserRule getIdentifierExpressionRule() { + return getIdentifierExpressionAccess().getRule(); + } + + //RecordExpression: + // '{' fields+=FieldExpression (',' fields+=FieldExpression)* '}'; + public RecordExpressionElements getRecordExpressionAccess() { + return pRecordExpression; + } + + public ParserRule getRecordExpressionRule() { + return getRecordExpressionAccess().getRule(); + } + + //FieldExpression: + // field=[RecordFieldDeclarationUse] '=' value=Expression // TODO : Inconsistent + //; + public FieldExpressionElements getFieldExpressionAccess() { + return pFieldExpression; + } + + public ParserRule getFieldExpressionRule() { + return getFieldExpressionAccess().getRule(); + } + + ////ArrayExpression returns Expression : + //// '[' Expression + //// ( + //// {ExplicitArrayExpression.values+=current} (',' values+=Expression)* + //// | + //// ({ImplicitArrayExpression.body+=current} '|' index=VariableDeclaration 'in' type=RangeType) + //// ) + //// ']' + ////; + //ArrayExpression: + // {ArrayExpression} '[' (values+=Expression (',' values+=Expression)*)? ']'; + public ArrayExpressionElements getArrayExpressionAccess() { + return pArrayExpression; + } + + public ParserRule getArrayExpressionRule() { + return getArrayExpressionAccess().getRule(); + } + + //QueueExpression: + // {QueueExpression} '{|' (values+=Expression (',' values+=Expression)*)? '|}'; + public QueueExpressionElements getQueueExpressionAccess() { + return pQueueExpression; + } + + public ParserRule getQueueExpressionRule() { + return getQueueExpressionAccess().getRule(); + } + + //EnqueueExpression: + // 'enqueue' '(' element=Expression ',' queue=Expression ')'; + public EnqueueExpressionElements getEnqueueExpressionAccess() { + return pEnqueueExpression; + } + + public ParserRule getEnqueueExpressionRule() { + return getEnqueueExpressionAccess().getRule(); + } + + //AppendExpression: + // 'append' '(' left=Expression ',' right=Expression ')'; + public AppendExpressionElements getAppendExpressionAccess() { + return pAppendExpression; + } + + public ParserRule getAppendExpressionRule() { + return getAppendExpressionAccess().getRule(); + } + + //LiteralExpression: + // BooleanLiteral + // | NaturalLiteral; + public LiteralExpressionElements getLiteralExpressionAccess() { + return pLiteralExpression; + } + + public ParserRule getLiteralExpressionRule() { + return getLiteralExpressionAccess().getRule(); + } + + //BooleanLiteral: + // {TrueLiteral} 'true' | {FalseLiteral} 'false'; + public BooleanLiteralElements getBooleanLiteralAccess() { + return pBooleanLiteral; + } + + public ParserRule getBooleanLiteralRule() { + return getBooleanLiteralAccess().getRule(); + } + + //NaturalLiteral: + // value=INT; + public NaturalLiteralElements getNaturalLiteralAccess() { + return pNaturalLiteral; + } + + public ParserRule getNaturalLiteralRule() { + return getNaturalLiteralAccess().getRule(); + } + + //LowerBound: + // NaturalLowerBound + // | DecimalLowerBound + // | VariableLowerBound; + public LowerBoundElements getLowerBoundAccess() { + return pLowerBound; + } + + public ParserRule getLowerBoundRule() { + return getLowerBoundAccess().getRule(); + } + + //UpperBound: + // NaturalUpperBound + // | DecimalUpperBound + // | VariableUpperBound + // | InfiniteUpperBound; + public UpperBoundElements getUpperBoundAccess() { + return pUpperBound; + } + + public ParserRule getUpperBoundRule() { + return getUpperBoundAccess().getRule(); + } + + //NaturalLowerBound: + // (left?='[' | right?=']') value=INT; + public NaturalLowerBoundElements getNaturalLowerBoundAccess() { + return pNaturalLowerBound; + } + + public ParserRule getNaturalLowerBoundRule() { + return getNaturalLowerBoundAccess().getRule(); + } + + //NaturalUpperBound: + // value=INT (left?='[' | right?=']'); + public NaturalUpperBoundElements getNaturalUpperBoundAccess() { + return pNaturalUpperBound; + } + + public ParserRule getNaturalUpperBoundRule() { + return getNaturalUpperBoundAccess().getRule(); + } + + //DecimalLowerBound: + // (left?='[' | right?=']') value=FLT; + public DecimalLowerBoundElements getDecimalLowerBoundAccess() { + return pDecimalLowerBound; + } + + public ParserRule getDecimalLowerBoundRule() { + return getDecimalLowerBoundAccess().getRule(); + } + + //DecimalUpperBound: + // value=FLT (left?='[' | right?=']'); + public DecimalUpperBoundElements getDecimalUpperBoundAccess() { + return pDecimalUpperBound; + } + + public ParserRule getDecimalUpperBoundRule() { + return getDecimalUpperBoundAccess().getRule(); + } + + //VariableLowerBound: + // (left?='[' | right?=']') variable=[BoundDeclarationUse]; + public VariableLowerBoundElements getVariableLowerBoundAccess() { + return pVariableLowerBound; + } + + public ParserRule getVariableLowerBoundRule() { + return getVariableLowerBoundAccess().getRule(); + } + + //VariableUpperBound: + // variable=[BoundDeclarationUse] (left?='[' | right?=']'); + public VariableUpperBoundElements getVariableUpperBoundAccess() { + return pVariableUpperBound; + } + + public ParserRule getVariableUpperBoundRule() { + return getVariableUpperBoundAccess().getRule(); + } + + //InfiniteUpperBound: + // {InfiniteUpperBound} '...' '['; + public InfiniteUpperBoundElements getInfiniteUpperBoundAccess() { + return pInfiniteUpperBound; + } + + public ParserRule getInfiniteUpperBoundRule() { + return getInfiniteUpperBoundAccess().getRule(); + } + + //Requirement: + // 'assert' property=[PropertyDeclaration] ('-true' positive=STRING)? ('-false' negative=STRING)?; + public RequirementElements getRequirementAccess() { + return pRequirement; + } + + public ParserRule getRequirementRule() { + return getRequirementAccess().getRule(); + } + + //PropertyDeclaration: + // 'property' name=ID 'is' property=Property; + public PropertyDeclarationElements getPropertyDeclarationAccess() { + return pPropertyDeclaration; + } + + public ParserRule getPropertyDeclarationRule() { + return getPropertyDeclarationAccess().getRule(); + } + + //Property: + // QuantifiedProperty; + public PropertyElements getPropertyAccess() { + return pProperty; + } + + public ParserRule getPropertyRule() { + return getPropertyAccess().getRule(); + } + + //QuantifiedProperty Property: + // ({AllProperty} 'all' | {ExistsProperty} 'exists') variable=VariableDeclaration + // 'in' type=RangeType '.' child=QuantifiedProperty | PropertyDisjunction + public QuantifiedPropertyElements getQuantifiedPropertyAccess() { + return pQuantifiedProperty; + } + + public ParserRule getQuantifiedPropertyRule() { + return getQuantifiedPropertyAccess().getRule(); + } + + //PropertyDisjunction Property: + // PropertyImplication ({PropertyDisjunction.left=current} 'or' right=PropertyImplication)* + public PropertyDisjunctionElements getPropertyDisjunctionAccess() { + return pPropertyDisjunction; + } + + public ParserRule getPropertyDisjunctionRule() { + return getPropertyDisjunctionAccess().getRule(); + } + + //PropertyImplication Property: + // PropertyConjunction ({PropertyImplication.left=current} '=>' right=PropertyImplication)? + public PropertyImplicationElements getPropertyImplicationAccess() { + return pPropertyImplication; + } + + public ParserRule getPropertyImplicationRule() { + return getPropertyImplicationAccess().getRule(); + } + + //PropertyConjunction Property: + // PropertyNegation ({PropertyConjunction.left=current} 'and' right=PropertyNegation)* + public PropertyConjunctionElements getPropertyConjunctionAccess() { + return pPropertyConjunction; + } + + public ParserRule getPropertyConjunctionRule() { + return getPropertyConjunctionAccess().getRule(); + } + + //PropertyNegation Property: + // {PropertyNegation} 'not' child=PropertyNegation | AtomicProperty + public PropertyNegationElements getPropertyNegationAccess() { + return pPropertyNegation; + } + + public ParserRule getPropertyNegationRule() { + return getPropertyNegationAccess().getRule(); + } + + //AtomicProperty Property: + // PatternProperty | '(' Property ')' + public AtomicPropertyElements getAtomicPropertyAccess() { + return pAtomicProperty; + } + + public ParserRule getAtomicPropertyRule() { + return getAtomicPropertyAccess().getRule(); + } + + //PatternProperty: + // LTLPattern | DeadlockFreePattern | InfinitelyOftenPattern | MortalPattern | PresencePattern | AbsencePattern | + // AlwaysPattern | SequencePattern; + public PatternPropertyElements getPatternPropertyAccess() { + return pPatternProperty; + } + + public ParserRule getPatternPropertyRule() { + return getPatternPropertyAccess().getRule(); + } + + //LTLPattern: + // 'ltl' property=LTLUnary; + public LTLPatternElements getLTLPatternAccess() { + return pLTLPattern; + } + + public ParserRule getLTLPatternRule() { + return getLTLPatternAccess().getRule(); + } + + //DeadlockFreePattern: + // {DeadlockFreePattern} 'deadlockfree'; + public DeadlockFreePatternElements getDeadlockFreePatternAccess() { + return pDeadlockFreePattern; + } + + public ParserRule getDeadlockFreePatternRule() { + return getDeadlockFreePatternAccess().getRule(); + } + + //InfinitelyOftenPattern: + // 'infinitelyoften' subject=AtomicObservable; + public InfinitelyOftenPatternElements getInfinitelyOftenPatternAccess() { + return pInfinitelyOftenPattern; + } + + public ParserRule getInfinitelyOftenPatternRule() { + return getInfinitelyOftenPatternAccess().getRule(); + } + + //MortalPattern: + // 'mortal' subject=AtomicObservable; + public MortalPatternElements getMortalPatternAccess() { + return pMortalPattern; + } + + public ParserRule getMortalPatternRule() { + return getMortalPatternAccess().getRule(); + } + + //PresencePattern: + // 'present' subject=AtomicObservable ('lasting' lasting=INT | ('after' after=AtomicObservable) ('within' + // lower=LowerBound ',' upper=UpperBound | 'until' until=AtomicObservable)? + // | ('before' before=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + public PresencePatternElements getPresencePatternAccess() { + return pPresencePattern; + } + + public ParserRule getPresencePatternRule() { + return getPresencePatternAccess().getRule(); + } + + //AbsencePattern: + // 'absent' subject=AtomicObservable (('after' after=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound | + // 'until' until=AtomicObservable)? + // | ('before' before=AtomicObservable) ('for' lower=LowerBound ',' upper=UpperBound)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + public AbsencePatternElements getAbsencePatternAccess() { + return pAbsencePattern; + } + + public ParserRule getAbsencePatternRule() { + return getAbsencePatternAccess().getRule(); + } + + //AlwaysPattern: + // 'always' subject=AtomicObservable ('before' before=AtomicObservable | 'after' after=AtomicObservable ('until' + // until=AtomicObservable)? | 'between' min=AtomicObservable 'and' max=AtomicObservable)?; + public AlwaysPatternElements getAlwaysPatternAccess() { + return pAlwaysPattern; + } + + public ParserRule getAlwaysPatternRule() { + return getAlwaysPatternAccess().getRule(); + } + + //SequencePattern: + // AtomicObservable ('leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable ('before' + // before=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound)? | 'within' lower=LowerBound ',' + // upper=UpperBound | 'after' after=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound | 'until' + // until=AtomicObservable)? + // | 'between' min=AtomicObservable 'and' max=AtomicObservable)? + // | 'precedes' {PrecedesPattern.subject=current} follower=AtomicObservable ('before' before=AtomicObservable | 'after' + // after=AtomicObservable ('until' until=AtomicObservable)? | 'between' min=AtomicObservable 'and' + // max=AtomicObservable)?); + public SequencePatternElements getSequencePatternAccess() { + return pSequencePattern; + } + + public ParserRule getSequencePatternRule() { + return getSequencePatternAccess().getRule(); + } + + //LTLProperty: + // LTLQuantified; + public LTLPropertyElements getLTLPropertyAccess() { + return pLTLProperty; + } + + public ParserRule getLTLPropertyRule() { + return getLTLPropertyAccess().getRule(); + } + + //LTLQuantified LTLProperty: + // ({LTLAll} 'all' | {LTLExists} 'exists') index=VariableDeclaration + // 'in' type=RangeType '.' child=LTLQuantified | LTLDisjunction + public LTLQuantifiedElements getLTLQuantifiedAccess() { + return pLTLQuantified; + } + + public ParserRule getLTLQuantifiedRule() { + return getLTLQuantifiedAccess().getRule(); + } + + //LTLDisjunction LTLProperty: + // LTLImplication ({LTLDisjunction.left=current} 'or' right=LTLImplication)* + public LTLDisjunctionElements getLTLDisjunctionAccess() { + return pLTLDisjunction; + } + + public ParserRule getLTLDisjunctionRule() { + return getLTLDisjunctionAccess().getRule(); + } + + //LTLImplication LTLProperty: + // LTLConjunction ({LTLImplication.left=current} '=>' right=LTLImplication)? + public LTLImplicationElements getLTLImplicationAccess() { + return pLTLImplication; + } + + public ParserRule getLTLImplicationRule() { + return getLTLImplicationAccess().getRule(); + } + + //LTLConjunction LTLProperty: + // LTLBinary ({LTLConjunction.left=current} 'and' right=LTLBinary)* + public LTLConjunctionElements getLTLConjunctionAccess() { + return pLTLConjunction; + } + + public ParserRule getLTLConjunctionRule() { + return getLTLConjunctionAccess().getRule(); + } + + //LTLBinary LTLProperty: + // LTLUnary ({LTLUntil.left=current} 'until' right=LTLUnary | {LTLRelease.left=current} 'release' right=LTLUnary)? + public LTLBinaryElements getLTLBinaryAccess() { + return pLTLBinary; + } + + public ParserRule getLTLBinaryRule() { + return getLTLBinaryAccess().getRule(); + } + + //LTLUnary LTLProperty: + // ({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') + // operand=LTLUnary | AtomicLTL + public LTLUnaryElements getLTLUnaryAccess() { + return pLTLUnary; + } + + public ParserRule getLTLUnaryRule() { + return getLTLUnaryAccess().getRule(); + } + + //AtomicLTL LTLProperty: + // {LTLVariable} declaration=[PropertyDeclarationUse] | ObservableEvent + // | '(' LTLProperty ')' + public AtomicLTLElements getAtomicLTLAccess() { + return pAtomicLTL; + } + + public ParserRule getAtomicLTLRule() { + return getAtomicLTLAccess().getRule(); + } + + //StateEvent: + // EnterStateEvent + // | LeaveStateEvent; + public StateEventElements getStateEventAccess() { + return pStateEvent; + } + + public ParserRule getStateEventRule() { + return getStateEventAccess().getRule(); + } + + //EnterStateEvent: + // 'enter' subject=AtomicObservable; + public EnterStateEventElements getEnterStateEventAccess() { + return pEnterStateEvent; + } + + public ParserRule getEnterStateEventRule() { + return getEnterStateEventAccess().getRule(); + } + + //LeaveStateEvent: + // 'leave' subject=AtomicObservable; + public LeaveStateEventElements getLeaveStateEventAccess() { + return pLeaveStateEvent; + } + + public ParserRule getLeaveStateEventRule() { + return getLeaveStateEventAccess().getRule(); + } + + //Observable: + // ObservableDisjunction; + public ObservableElements getObservableAccess() { + return pObservable; + } + + public ParserRule getObservableRule() { + return getObservableAccess().getRule(); + } + + //ObservableDisjunction Observable: + // ObservableImplication ({ObservableDisjunction.left=current} 'or' right=ObservableImplication)* + public ObservableDisjunctionElements getObservableDisjunctionAccess() { + return pObservableDisjunction; + } + + public ParserRule getObservableDisjunctionRule() { + return getObservableDisjunctionAccess().getRule(); + } + + //ObservableImplication Observable: + // ObservableConjunction ({ObservableImplication.left=current} '=>' right=ObservableImplication)? + public ObservableImplicationElements getObservableImplicationAccess() { + return pObservableImplication; + } + + public ParserRule getObservableImplicationRule() { + return getObservableImplicationAccess().getRule(); + } + + //ObservableConjunction Observable: + // ObservableNegation ({ObservableConjunction.left=current} 'and' right=ObservableNegation)* + public ObservableConjunctionElements getObservableConjunctionAccess() { + return pObservableConjunction; + } + + public ParserRule getObservableConjunctionRule() { + return getObservableConjunctionAccess().getRule(); + } + + //ObservableNegation Observable: + // {ObservableNegation} 'not' child=ObservableNegation | AtomicObservable + public ObservableNegationElements getObservableNegationAccess() { + return pObservableNegation; + } + + public ParserRule getObservableNegationRule() { + return getObservableNegationAccess().getRule(); + } + + //AtomicObservable Observable: + // '(' Observable ')' | ObservableEvent + public AtomicObservableElements getAtomicObservableAccess() { + return pAtomicObservable; + } + + public ParserRule getAtomicObservableRule() { + return getAtomicObservableAccess().getRule(); + } + + //ObservableEvent: + // PathEvent | StateEvent; + public ObservableEventElements getObservableEventAccess() { + return pObservableEvent; + } + + public ParserRule getObservableEventRule() { + return getObservableEventAccess().getRule(); + } + + //PathEvent: + // path=Path item=Subject; + public PathEventElements getPathEventAccess() { + return pPathEvent; + } + + public ParserRule getPathEventRule() { + return getPathEventAccess().getRule(); + } + + //Path: + // (items+=PathItem '/')+; + public PathElements getPathAccess() { + return pPath; + } + + public ParserRule getPathRule() { + return getPathAccess().getRule(); + } + + //PathItem: + // NaturalItem | NamedItem; + public PathItemElements getPathItemAccess() { + return pPathItem; + } + + public ParserRule getPathItemRule() { + return getPathItemAccess().getRule(); + } + + //NaturalItem: + // value=INT; + public NaturalItemElements getNaturalItemAccess() { + return pNaturalItem; + } + + public ParserRule getNaturalItemRule() { + return getNaturalItemAccess().getRule(); + } + + //NamedItem: + // declaration=[PathDeclarationUse]; + public NamedItemElements getNamedItemAccess() { + return pNamedItem; + } + + public ParserRule getNamedItemRule() { + return getNamedItemAccess().getRule(); + } + + //Subject: + // StateSubject | ValueSubject | TagSubject | EventSubject; + public SubjectElements getSubjectAccess() { + return pSubject; + } + + public ParserRule getSubjectRule() { + return getSubjectAccess().getRule(); + } + + //StateSubject: + // 'state' state=[StateDeclaration]; + public StateSubjectElements getStateSubjectAccess() { + return pStateSubject; + } + + public ParserRule getStateSubjectRule() { + return getStateSubjectAccess().getRule(); + } + + //ValueSubject: + // 'value' value=AtomicExpression; + public ValueSubjectElements getValueSubjectAccess() { + return pValueSubject; + } + + public ParserRule getValueSubjectRule() { + return getValueSubjectAccess().getRule(); + } + + //TagSubject: + // 'tag' tag=[TaggedStatement]; + public TagSubjectElements getTagSubjectAccess() { + return pTagSubject; + } + + public ParserRule getTagSubjectRule() { + return getTagSubjectAccess().getRule(); + } + + //EventSubject: + // 'event' event=ID; + public EventSubjectElements getEventSubjectAccess() { + return pEventSubject; + } + + public ParserRule getEventSubjectRule() { + return getEventSubjectAccess().getRule(); + } + + //terminal INT returns ecore::EInt: + // '0'..'9'+; + public TerminalRule getINTRule() { + return tINT; + } + + //terminal ID: + // ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '0'..'9' | '_')*; + public TerminalRule getIDRule() { + return tID; + } + + //terminal FLT returns ecore::EFloat: + // INT '.' INT; + public TerminalRule getFLTRule() { + return tFLT; + } + + //terminal STRING: + // '"' ('\\' . | !('\\' | '"'))* '"' | + // "'" ('\\' . | !('\\' | "'"))* "'"; + public TerminalRule getSTRINGRule() { + return gaTerminals.getSTRINGRule(); + } + + //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/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/validation/AbstractFiacreValidator.java b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/validation/AbstractFiacreValidator.java new file mode 100644 index 0000000..8cafc18 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src-gen/fr/irit/fiacre/xtext/validation/AbstractFiacreValidator.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.validation; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator; + +public abstract class AbstractFiacreValidator extends AbstractDeclarativeValidator { + + @Override + protected List getEPackages() { + List result = new ArrayList(); + result.add(fr.irit.fiacre.xtext.fiacre.FiacrePackage.eINSTANCE); + return result; + } + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/Fiacre.xtext b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/Fiacre.xtext new file mode 100644 index 0000000..c8f6d23 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/Fiacre.xtext @@ -0,0 +1,1019 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Marc Pantel - initial API and implementation and/or initial documentation + * Faiez Zalila + *******************************************************************************/ +grammar fr.irit.fiacre.xtext.Fiacre with org.eclipse.xtext.common.Terminals + +import "http://www.eclipse.org/emf/2002/Ecore" as ecore + +generate fiacre "http://www.irit.fr/fiacre/xtext/Fiacre" + +Model: + {Model} imports+=ImportDeclaration* + (declarations+=Declaration | requirements+=Requirement /* added alternative root */ | root+=Root )* +// ((root=[RootDeclaration])? (declarations+=Declaration | requirements+=Requirement)*) +; + +RootDeclaration: + ComponentDeclaration + | ProcessDeclaration +; + +Root: + {Root} declaration=[RootDeclaration] ('>'(observed+=[RootDeclaration] ('|' observed+=[RootDeclaration])* ))? +; +NamedElement: + Declaration + //| GenericDeclaration + | PortDeclaration + | ParameterDeclaration + | VariableDeclaration + | StateDeclaration + | RecordFieldDeclaration + | UnionTagDeclaration + //ajout Faiez +// | TagDeclaration +; + +TypeDeclarationUse: + TypeDeclaration + //| GenericTypeDeclaration + | ChannelDeclaration + //| GenericConstantDeclaration +; + +ConstantDeclarationUse: + ConstantDeclaration + //| GenericConstantDeclaration +; + +ExpressionDeclarationUse: + VariableDeclaration + | ConstantDeclaration + //| GenericConstantDeclaration + | ParameterDeclaration + | PortDeclaration + | UnionTagDeclaration + //| GenericDeclaration + | FunctionDeclaration +; + +ReferenceDeclarationUse: + VariableDeclaration + | ParameterDeclaration +; + +UnionTagDeclarationUse: + UnionTagDeclaration + //| GenericUnionTagDeclaration +; + +RecordFieldDeclarationUse: + RecordFieldDeclaration + //| GenericRecordFieldDeclaration +; + +PatternDeclarationUse: + VariableDeclaration + | ParameterDeclaration + | PortDeclaration + | UnionTagDeclaration + //| GenericUnionTagDeclaration +; + +BoundDeclarationUse: + VariableDeclaration + //| GenericConstantDeclaration + | ConstantDeclaration +; + +PathDeclarationUse: + ComponentDeclaration + | InstanceDeclaration + | ProcessDeclaration +; + +PropertyDeclarationUse: + PropertyDeclaration + |VariableDeclaration +; + +ImportDeclaration: + '#include' importURI=STRING +; + +Declaration: + TypeDeclaration + | ChannelDeclaration + | ConstantDeclaration + | ParameterizedDeclaration + | PropertyDeclaration +; + +ParameterizedDeclaration: + ProcessDeclaration + | ComponentDeclaration + //added + | FunctionDeclaration +; + +FunctionDeclaration: + 'function' name=ID + ('(' (parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*)? ')') + ':' type=Type + 'is' + ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + (statement=Statement) +; + + +TypeDeclaration: + 'type' name=ID 'is' value=Type +; + +ChannelDeclaration: + 'channel' name=ID 'is' value=ChannelType +; + +ChannelType: + // added ? after the second 'out' + {ChannelType} ('array' size=Expression 'of')? ((((in?='in' (out?='out')?) | out?='out')? (type=TupleType | 'none')) | 'none' | 'sync') +; + +Type: + BasicType + | RangeType + | UnionType + | RecordType + | QueueType + | ArrayType + | ReferencedType +// | TupleType +; + +TupleType returns Type: + Type ({TupleType.types+=current} '#' types+=Type)* +; + +BasicType: + {NaturalType} 'nat' + | {IntegerType} 'int' + | {BooleanType} 'bool' +; +// changed +RangeType: + minimum=Expression '..' maximum=Expression +; + +UnionType: + 'union' tags+=UnionTags ('|' tags+=UnionTags)* 'end' ('union')? +; + +UnionTags: + tags+=UnionTagDeclaration (',' tags+=UnionTagDeclaration)* ('of' type=Type)? +; + +UnionTagDeclaration: + name=ID +; + +RecordType: + 'record' fields+=RecordFields (',' fields+=RecordFields)* 'end' ('record')? +; + +RecordFields: + fields+=RecordFieldDeclaration (',' fields+=RecordFieldDeclaration)* ':' type=Type +; + +RecordFieldDeclaration: + name=ID +; + +QueueType: + 'queue' size=Expression 'of' type=Type +; + +ArrayType: + 'array' size=Expression 'of' type=Type +; + + +ReferencedType: + type=[TypeDeclarationUse] +; + +/* ChannelDeclaration: + 'channel' name=ID 'is' channel=ChannelType +; */ + +ConstantDeclaration: + 'const' name=ID ':' type=Type 'is' value=Expression +; + +ProcessDeclaration: + 'process' name=ID + //('<|' generics+=GenericDeclaration (',' generics+=GenericDeclaration)* '|>')? + ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? + ('(' parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)* ')')? + 'is' + ('port' localPorts+=PortsDeclaration (',' localPorts+=PortsDeclaration)*)? + ('priority' priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + 'states' states+=StateDeclaration (',' states+=StateDeclaration)* + ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + ('init' prelude=StatementSequence)? + (transitions+=Transition)+ +; + +//GenericDeclaration: +// ('type' GenericTypeDeclaration) +// | ('const' GenericConstantDeclaration) +// | (('constr0' | 'constr1') GenericUnionTagDeclaration) +// | ('field' GenericRecordFieldDeclaration) +//; +// +//GenericTypeDeclaration: +// name=ID +//; +// +//GenericConstantDeclaration: +// name=ID +//; +// +//GenericUnionTagDeclaration: +// name=ID +//; +// +//GenericRecordFieldDeclaration: +// name=ID +//; + +StateDeclaration: + name=ID +; +TransitionSource: + 'from' origin=[StateDeclaration] +; +Transition: + source=TransitionSource action=StatementSequence +; + +ComponentDeclaration: + 'component' name=ID + ('[' ports+=PortsDeclaration (',' ports+=PortsDeclaration)* ']')? + ('(' parameters+=ParametersDeclaration (',' parameters+=ParametersDeclaration)*')')? + 'is' + ('var' variables+=VariablesDeclaration (',' variables+=VariablesDeclaration)*)? + ('port' localPorts+=LocalPortsDeclaration (',' localPorts+=LocalPortsDeclaration)*)? + ('priority' priorities+=PriorityDeclaration (',' priorities+=PriorityDeclaration)*)? + ('init' prelude=StatementSequence)? + body=Composition +; + +PortsDeclaration: + ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType +; + +PortDeclaration: + name=ID +; + +LocalPortsDeclaration: + ports+=PortDeclaration (',' ports+=PortDeclaration)* ':' type=ChannelType ('in' left=LowerBound ',' right=UpperBound)? +; + +ParametersDeclaration: + parameters+=ParameterDeclaration (',' parameters+=ParameterDeclaration)* ':' (read?='read')? (write?='write')? type=Type +; + +ParameterDeclaration: + ((reference?='&') (array?='[' size=Expression ']')?)? name=ID +; + +VariablesDeclaration: + variables+=VariableDeclaration (',' variables+=VariableDeclaration)* ':' type=Type (':=' value=Expression)? +; + +VariableDeclaration: + name=ID +; + +PriorityDeclaration: + groups+=PriorityGroup ('>' groups+=PriorityGroup)+ +; + +PriorityGroup: + ports+=[PortDeclaration] ('|' ports+=[PortDeclaration])* +; + +UnlessStatement returns Statement: + StatementChoice ({UnlessStatement.followers+=current} 'unless' followers+=StatementChoice)* +; + +StatementChoice returns Statement: + StatementSequence ({StatementChoice.choices+=current} '[]' choices+=StatementSequence)* +; + +StatementSequence returns Statement: + Statement ({StatementSequence.statements+=current} ';' statements+=Statement)* +; + +Statement: + NullStatement + | TaggedStatement + | PatternStatement + | ConditionalStatement + | SelectStatement + | WhileStatement + | ForeachStatement + | ToStatement + | CaseStatement + | LoopStatement + | OnStatement + | WaitStatement + | ReturnStatement + | BlockStatement +; + +BlockStatement: + 'begin' body=StatementSequence 'end' +; + +ReturnStatement: + 'return' expression=Expression +; + +NullStatement: + {NullStatement} 'null' +; + +TaggedStatement: + '#' name=ID //tag=TagDeclaration +; + +//TagDeclaration: +// name=ID +//; + +PatternStatement: + ( + Pattern + ((',' {AssignStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' values+=Expression (',' values+=Expression)*) + | + (':=' {AssignStatement.patterns+=current} ((values+=Expression (',' values+=Expression)*))) + | + (',' {AssignAnyStatement.patterns+=current} patterns+=Pattern (',' patterns+=Pattern)* ':=' ('any') ('where' exp=Expression)? ) + | + (':=' {AssignAnyStatement.patterns+=current} ('any') ('where' exp=Expression)?) + | + ('!' {SendStatement.port=current} values+=Expression (',' values+=Expression)*) + | + ('?' {ReceiveStatement.port=current} patterns+=Pattern (',' patterns+=Pattern)* ('where' exp=Expression)?) + )? + ) +; + +Pattern: + AnyPattern + | IntegerPattern + | ConstantPattern + | '(' Pattern ')' + | IdentifierPattern +; + +AnyPattern: + {AnyPattern} 'any' +; + +ConstantPattern: + value=LiteralExpression +; + +IntegerPattern: + ('+' | negative?='-') value=INT +; + +IdentifierPattern: +// TODO : Provide a common type for declaration in ConstructorPattern and IdentifierPattern +//( parameters+=Expression (',' parameters+=Expression)* )? + ( + ({ConstructorPattern} declaration=[PatternDeclarationUse] '(' ( parameters+=Pattern (',' parameters+=Pattern)* )? ')' ) + | + ( + declaration=[PatternDeclarationUse] + ( + ('[' {ArrayAccessPattern.source=current} index=Expression ']') + | + ('.' {RecordAccessPattern.source=current} field=[RecordFieldDeclaration]) + )* + ) + ) +; + +ConditionalStatement: + 'if' condition=Expression + 'then' then=StatementSequence (elseif+=ExtendedConditionalStatement)* + ('else' else=StatementSequence)? 'end' ('if')? +; + +ExtendedConditionalStatement: + 'elsif' condition=Expression 'then' then=StatementSequence +; + +SelectStatement: + 'select' + body=UnlessStatement + ('|' index=VariableDeclaration 'in' type=RangeType)? + 'end' ('select')? +; + +WhileStatement: + 'while' condition=Expression 'do' body=StatementSequence 'end' ('while')? +; + +ForeachStatement: + 'foreach' variable=VariableDeclaration 'do' body=StatementSequence 'end' ('foreach')? +; + +ToStatement: + 'to' state=[StateDeclaration] +; + +CaseStatement: + 'case' value=Expression 'of' + pattern+=Pattern '->' body+=StatementSequence ('|' pattern+=Pattern '->' body+=StatementSequence)* + 'end' ('case')? +; + +LoopStatement: + {LoopStatement} 'loop' +; + +OnStatement: + 'on' condition=Expression +; + +WaitStatement: + 'wait' left=LowerBound ',' right=UpperBound +; + +Composition: + // added ? + 'par' ( global=PortSet 'in')? + blocks+=Block ('||' blocks+=Block)* + //('|' index=VariableDeclaration 'in' type=RangeType)? + 'end' ('par')? + ; + +Block: + CompositeBlock | InstanceDeclaration +; + +CompositeBlock: + (local = PortSet ( '->' ) | ( '->' ) )? composition=Composition +; + +InstanceDeclaration: + (local = PortSet ( '->' ) | ( '->' ) )? instance=ComponentInstance +; + +PortSet: + ( + allPorts?='*' + | + ports+=Expression (',' ports+=Expression)* + ) +; + +ComponentInstance: + component=[ParameterizedDeclaration] + //('<|' generics+=GenericInstance (',' generics+=GenericInstance)* '|>')? + ('[' ports+=Expression (',' ports+=Expression)* ']')? + ('(' parameters+=Expression (',' parameters+=Expression)* ')')? +; + +//GenericInstance: +// TypeInstance +// | ConstantInstance +// | UnionTagInstance +// | RecordFieldInstance +//; +// +//TypeInstance: +// 'type' type=Type +//; +// +//ConstantInstance: +// 'const' (const=[ConstantDeclarationUse] | value=LiteralExpression) +//; +// +//UnionTagInstance: +// (constr0?='constr0' | constr1?='constr1') head=[UnionTagDeclarationUse] +//; +// +//RecordFieldInstance: +// 'field' field=[RecordFieldDeclarationUse] +//; + +Expression: + QuantifiedExpression +; + +QuantifiedExpression returns Expression : + (({AllExpression} 'all'|{ExistsExpression} 'exists') + index=VariableDeclaration ('in' type=RangeType)? '.' child=QuantifiedExpression + ) | + Conditional +; + +Conditional returns Expression : + Disjunction ('?' {Conditional.condition=current} then=Disjunction ':' else=Disjunction)? +; + +Disjunction returns Expression : + Implication ({Disjunction.left=current} 'or' right=Implication)* +; + +Implication returns Expression : + Conjunction ({Implication.left=current} '=>' right=Implication)? +; + +Conjunction returns Expression : + Comparison ({Conjunction.left = current} 'and' right=Comparison)* +; + +Comparison returns Expression : + Addition (({ComparisonEqual.left=current} '=' + | {ComparisonNotEqual.left=current} '<>' + | {ComparisonLesser.left=current} '<' + | {ComparisonLesserEqual.left=current} '<=' + | {ComparisonGreater.left=current} '>' + | {ComparisonGreaterEqual.left=current} '>=' + ) + right=Addition + )? +; + +Addition returns Expression : + Substraction ({Addition.left=current} '+' right=Substraction)* +; + +Substraction returns Expression : + Multiplication ({Substraction.left=current} '-' right=Multiplication)* +; + +Multiplication returns Expression: + Division ({Multiplication.left=current} '*' right=Division)* +; + +Division returns Expression: + Modulo ({Division.left=current} '/' right=Modulo)* +; + +Modulo returns Expression: + UnaryExpression ({Modulo.left=current} '%' right=UnaryExpression)* +; + +UnaryExpression returns Expression : + ((({UnaryPlusExpression} '+' + | {UnaryMinusExpression} '-' + | {UnaryNegationExpression} 'not' + | {UnaryFirstExpression} 'first' + | {UnaryLengthExpression} 'length' + | {UnaryCoerceExpression} '$' + | {UnaryFullExpression} 'full' + | {UnaryDeQueueExpression} 'dequeue' + | {UnaryEmptyExpression} 'empty' + ) child=UnaryExpression ) + | + Projection) +; + +Projection returns Expression: + AtomicExpression ({Projection.channel=current} '^' + field=AtomicExpression )? + ; + +// Added to manage the type of current value of a fiacre value during execution +ValueExpression: + IdentifierExpression + | LiteralExpression + | RecordExpression + | ArrayExpression + | QueueExpression +; + +AtomicExpression returns Expression: + IdentifierExpression + | ReferenceExpression + | LiteralExpression + | RecordExpression + | ArrayExpression + | QueueExpression + | EnqueueExpression + | AppendExpression + | '(' Expression ')' +; + +ReferenceExpression: + '&' declaration=[ReferenceDeclarationUse] +; + +IdentifierExpression: + // changed order between the first alternative and the second one + + ( + // + ({ConstructionExpression} declaration=[ExpressionDeclarationUse] '(' ( parameters+=Expression (',' parameters+=Expression)* )? ')') + | + ( + ( + declaration=[ExpressionDeclarationUse] + ( + ('[' {ArrayAccessExpression.child=current} indexes+=Expression (',' indexes+=Expression)*']') + | + ('.' {RecordAccessExpression.child=current} field=[RecordFieldDeclaration]) + )* + ) + ) + ) +; + +RecordExpression: + '{' fields+=FieldExpression (',' fields+=FieldExpression)* '}' +; + +FieldExpression: + //FZ je l'ai repris + field=[RecordFieldDeclarationUse] '=' value=Expression // TODO : Inconsistent +; + +//ArrayExpression returns Expression : +// '[' Expression +// ( +// {ExplicitArrayExpression.values+=current} (',' values+=Expression)* +// | +// ({ImplicitArrayExpression.body+=current} '|' index=VariableDeclaration 'in' type=RangeType) +// ) +// ']' +//; + +ArrayExpression: + {ArrayExpression} '[' (values+=Expression (',' values+=Expression)*)? ']' +; +QueueExpression : + {QueueExpression} '{|' (values+=Expression (',' values+=Expression)*)? '|}' +; + +EnqueueExpression : + 'enqueue' '(' element=Expression ',' queue=Expression ')' +; + +AppendExpression : + 'append' '(' left=Expression ',' right=Expression ')' +; + +LiteralExpression: + BooleanLiteral + | NaturalLiteral +; + +BooleanLiteral: + ({TrueLiteral} 'true'|{FalseLiteral} 'false') +; + +NaturalLiteral: + value=INT +; + +LowerBound: + NaturalLowerBound + | DecimalLowerBound + | VariableLowerBound +; + +UpperBound: + NaturalUpperBound + | DecimalUpperBound + | VariableUpperBound + | InfiniteUpperBound +; + +NaturalLowerBound: + (left?='[' | right?=']') value=INT +; + +NaturalUpperBound: + value=INT (left?='[' | right?=']') +; + +DecimalLowerBound: + (left?='[' | right?=']') value=FLT +; + +DecimalUpperBound: + value=FLT (left?='[' | right?=']') +; + +VariableLowerBound: + (left?='[' | right?=']') variable=[BoundDeclarationUse] +; + +VariableUpperBound: + variable=[BoundDeclarationUse] (left?='[' | right?=']') +; + +InfiniteUpperBound: + {InfiniteUpperBound} '...' '[' +; + +Requirement: + 'assert' property=[PropertyDeclaration] ('-true' positive=STRING)? ('-false' negative=STRING)? +; + +PropertyDeclaration: + 'property' name=ID 'is' property=Property +; + +Property: + QuantifiedProperty +; + +QuantifiedProperty returns Property : + (({AllProperty} 'all'|{ExistsProperty} 'exists') variable=VariableDeclaration + 'in' type=RangeType '.' child=QuantifiedProperty) + | PropertyDisjunction +; + +PropertyDisjunction returns Property : + PropertyImplication ({PropertyDisjunction.left=current} 'or' right=PropertyImplication)* +; + +PropertyImplication returns Property : + PropertyConjunction ({PropertyImplication.left=current} '=>' right=PropertyImplication)? +; + +PropertyConjunction returns Property : + PropertyNegation ({PropertyConjunction.left = current} 'and' right=PropertyNegation)* +; + +PropertyNegation returns Property : + ({PropertyNegation} 'not' child=PropertyNegation) | + AtomicProperty +; + +AtomicProperty returns Property : + ( PatternProperty ) + | + ('(' Property ')') +; + +PatternProperty : + LTLPattern | + DeadlockFreePattern | + InfinitelyOftenPattern | + MortalPattern | + PresencePattern | + AbsencePattern | + AlwaysPattern | + SequencePattern +; + +LTLPattern: + 'ltl' property=LTLUnary +; + +DeadlockFreePattern: + {DeadlockFreePattern} 'deadlockfree' +; + +InfinitelyOftenPattern: + 'infinitelyoften' subject=AtomicObservable +; + +MortalPattern: + 'mortal' subject=AtomicObservable +; + +PresencePattern: + 'present' subject=AtomicObservable + ( + ('lasting' lasting=INT) + | + ( + ('after' after=AtomicObservable) + ( + ('within' lower=LowerBound ',' upper=UpperBound) + | + ('until' until=AtomicObservable) + )? + ) + | + ( + ('before' before=AtomicObservable) ('within' lower=LowerBound ',' upper=UpperBound)? + ) + | + ('between' min=AtomicObservable 'and' max=AtomicObservable) + )? +; + +AbsencePattern: + 'absent' subject=AtomicObservable + ( + ( + ('after' after=AtomicObservable) + ( + ('within' lower=LowerBound ',' upper=UpperBound) + | + ('until' until=AtomicObservable) + )? + ) + | + ( + ('before' before=AtomicObservable) + ('for' lower=LowerBound ',' upper=UpperBound)? + ) + | + ('between' min=AtomicObservable 'and' max=AtomicObservable) + )? +; + +AlwaysPattern: + 'always' subject=AtomicObservable + ( + ('before' before=AtomicObservable) + | + ('after' after=AtomicObservable ('until' until=AtomicObservable)?) + | + ('between' min=AtomicObservable 'and' max=AtomicObservable) + )? +; + +SequencePattern: + AtomicObservable + ( + ('leadsto' {LeadsToPattern.subject=current} follower=AtomicObservable + ( + ('before' before=AtomicObservable ('within' lower=LowerBound ',' upper=UpperBound)?) + | + ('within' lower=LowerBound ',' upper=UpperBound) + | + ('after' after=AtomicObservable + ( + ('within' lower=LowerBound ',' upper=UpperBound) + | + ('until' until=AtomicObservable) + )? + ) + | + ('between' min=AtomicObservable 'and' max=AtomicObservable) + )? + ) + | + ('precedes' {PrecedesPattern.subject=current} follower=AtomicObservable + ( + ('before' before=AtomicObservable) + | + ('after' after=AtomicObservable ('until' until=AtomicObservable)?) + | + ('between' min=AtomicObservable 'and' max=AtomicObservable) + )? + ) + ) +; + +LTLProperty : + LTLQuantified +; + +LTLQuantified returns LTLProperty : + (({LTLAll} 'all'|{LTLExists} 'exists') index=VariableDeclaration + 'in' type=RangeType '.' child=LTLQuantified) + | + LTLDisjunction +; + +LTLDisjunction returns LTLProperty : + LTLImplication ({LTLDisjunction.left=current} 'or' right=LTLImplication)* +; + +LTLImplication returns LTLProperty : + LTLConjunction ({LTLImplication.left=current} '=>' right=LTLImplication)? +; + +LTLConjunction returns LTLProperty : + LTLBinary ({LTLConjunction.left = current} 'and' right=LTLBinary)* +; + +LTLBinary returns LTLProperty: + LTLUnary ( + ({LTLUntil.left = current} 'until' right=LTLUnary) + | + ({LTLRelease.left = current} 'release' right=LTLUnary) + )? +; + +LTLUnary returns LTLProperty : + (({LTLUnaryNegation} 'not' | {LTLUnaryNext} 'next' | {LTLUnaryAlways} '[]' | {LTLUnaryEventually} '<>') operand=LTLUnary) | AtomicLTL +; + +AtomicLTL returns LTLProperty : + {LTLVariable} declaration=[PropertyDeclarationUse] + | ObservableEvent + | '(' LTLProperty ')' +; + +StateEvent: + EnterStateEvent + | + LeaveStateEvent +; + +EnterStateEvent: + 'enter' subject=AtomicObservable +; + +LeaveStateEvent: + 'leave' subject=AtomicObservable +; + +Observable : + ObservableDisjunction +; + +ObservableDisjunction returns Observable : + ObservableImplication ({ObservableDisjunction.left=current} 'or' right=ObservableImplication)* +; + +ObservableImplication returns Observable : + ObservableConjunction ({ObservableImplication.left=current} '=>' right=ObservableImplication)? +; + +ObservableConjunction returns Observable : + ObservableNegation ({ObservableConjunction.left = current} 'and' right=ObservableNegation)* +; + +ObservableNegation returns Observable : + ({ObservableNegation} 'not' child=ObservableNegation) | AtomicObservable +; + +AtomicObservable returns Observable : + '(' Observable ')' | + ObservableEvent +; + +ObservableEvent : + PathEvent | StateEvent +; + +PathEvent : + path=Path item=Subject +; + +Path: + (items+=PathItem '/')+ +; + +PathItem: + NaturalItem | NamedItem +; + +NaturalItem: + value=INT +; + +NamedItem: + declaration=[PathDeclarationUse] +; + +Subject: + StateSubject | ValueSubject | TagSubject | EventSubject +; + +StateSubject: + 'state' state=[StateDeclaration] +; + +ValueSubject: + 'value' value=AtomicExpression +; + +TagSubject: + 'tag' tag=[TaggedStatement] +; + +EventSubject: + 'event' event=ID +; + +terminal INT returns ecore::EInt : ('0' .. '9')+; + +terminal ID returns ecore::EString : (('a' .. 'z') | ('A' .. 'Z') | '_') (('a' .. 'z') | ('A' .. 'Z') | ('0' .. '9') | '_')* ; + +terminal FLT returns ecore::EFloat : INT '.' INT; \ No newline at end of file diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreRuntimeModule.xtend b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreRuntimeModule.xtend new file mode 100644 index 0000000..0cd2478 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreRuntimeModule.xtend @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ + /* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext + + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +class FiacreRuntimeModule extends AbstractFiacreRuntimeModule { +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreStandaloneSetup.xtend b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreStandaloneSetup.xtend new file mode 100644 index 0000000..892dc7d --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/FiacreStandaloneSetup.xtend @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext + + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +class FiacreStandaloneSetup extends FiacreStandaloneSetupGenerated { + + def static void doSetup() { + new FiacreStandaloneSetup().createInjectorAndDoEMFRegistration() + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/GenerateFiacre.mwe2 b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/GenerateFiacre.mwe2 new file mode 100644 index 0000000..58c55d4 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/GenerateFiacre.mwe2 @@ -0,0 +1,62 @@ +module fr.irit.fiacre.xtext.GenerateFiacre + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "fr.irit.fiacre.xtext" + rootPath = rootPath + eclipsePlugin = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + } + + } + language = StandardLanguage { + name = "fr.irit.fiacre.xtext.Fiacre" + fileExtensions = "fcr" + + grammarAccess = grammarAccess.GrammarAccessFragment2 auto-inject{} + emfGenerator = ecore.EMFGeneratorFragment2 auto-inject{} + serializer = { + generateStub = false + } + + validator = validation.ValidatorFragment2 { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + } + scopeProvider = scoping.ImportNamespacesScopingFragment2 auto-inject{} + qualifiedNamesProvider = exporting.QualifiedNamesFragment2 auto-inject{} + builder = builder.BuilderIntegrationFragment2 auto-inject{} + generator = generator.GeneratorFragment2 auto-inject{} + formatter =formatting.Formatter2Fragment2 auto-inject{} + labelProvider=ui.labeling.LabelProviderFragment2 auto-inject{} + outline=ui.outline.OutlineTreeProviderFragment2 auto-inject{} + quickOutline = ui.outline.QuickOutlineFragment2 auto-inject{} + quickFixProvider = ui.quickfix.QuickfixProviderFragment2 auto-inject{} + contentAssist =ui.contentAssist.ContentAssistFragment2 auto-inject{} + parserGenerator = parser.antlr.XtextAntlrGeneratorFragment2 { + options={ + backtrack=true + classSplitting=true + fieldsPerClass="500" + } + } + junitSupport =auto-inject {} + renameRefactoring = auto-inject{} + resourceFactoryFragment = auto-inject{} + compareEditor = auto-inject{} + } + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/generator/FiacreGenerator.xtend b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/generator/FiacreGenerator.xtend new file mode 100644 index 0000000..6ad959f --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/generator/FiacreGenerator.xtend @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ + /* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.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 FiacreGenerator extends AbstractGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { +// fsa.generateFile('greetings.txt', 'People to greet: ' + +// resource.allContents +// .filter(typeof(Greeting)) +// .map[name] +// .join(', ')) + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/scoping/FiacreScopeProvider.xtend b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/scoping/FiacreScopeProvider.xtend new file mode 100644 index 0000000..cbd7c63 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/scoping/FiacreScopeProvider.xtend @@ -0,0 +1,726 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ + /* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.scoping + +import fr.irit.fiacre.xtext.fiacre.ArrayExpression +import fr.irit.fiacre.xtext.fiacre.AssignStatement +import fr.irit.fiacre.xtext.fiacre.CaseStatement +import fr.irit.fiacre.xtext.fiacre.ComponentDeclaration +import fr.irit.fiacre.xtext.fiacre.ComponentInstance +import fr.irit.fiacre.xtext.fiacre.ConstantDeclaration +import fr.irit.fiacre.xtext.fiacre.Declaration +import fr.irit.fiacre.xtext.fiacre.FunctionDeclaration +import fr.irit.fiacre.xtext.fiacre.IdentifierExpression +import fr.irit.fiacre.xtext.fiacre.IdentifierPattern +import fr.irit.fiacre.xtext.fiacre.Model +import fr.irit.fiacre.xtext.fiacre.ParameterizedDeclaration +import fr.irit.fiacre.xtext.fiacre.PortSet +import fr.irit.fiacre.xtext.fiacre.ProcessDeclaration +import fr.irit.fiacre.xtext.fiacre.PropertyDeclaration +import fr.irit.fiacre.xtext.fiacre.ReceiveStatement +import fr.irit.fiacre.xtext.fiacre.RecordType +import fr.irit.fiacre.xtext.fiacre.SelectStatement +import fr.irit.fiacre.xtext.fiacre.SendStatement +import fr.irit.fiacre.xtext.fiacre.StateSubject +import fr.irit.fiacre.xtext.fiacre.StatementSequence +import fr.irit.fiacre.xtext.fiacre.TagSubject +import fr.irit.fiacre.xtext.fiacre.TaggedStatement +import fr.irit.fiacre.xtext.fiacre.Type +import fr.irit.fiacre.xtext.fiacre.TypeDeclaration +import fr.irit.fiacre.xtext.fiacre.UnionType +import java.util.ArrayList +import java.util.Collection +import java.util.List +import org.eclipse.emf.common.util.TreeIterator +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.EReference +import org.eclipse.xtext.scoping.IScope +import org.eclipse.xtext.scoping.Scopes +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider + +/** + * 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. + * + */ +class FiacreScopeProvider extends AbstractDeclarativeScopeProvider { + def IScope scope_StateDeclaration(ProcessDeclaration process, EReference ref) { + //println("scope_StateDeclaration") + buildStateDeclaration(process) + } +/* + * l'entete de la mĂ©thode + * scope_EClass_Ereference() + * EClass c'est la classe ou la super-classe + * (comme IdentifierExpression et ConstructionExpression + */ +// def IScope scope_ExpressionDeclarationUse(Model process, EReference ref) { +// println("scope_ExpressionDeclarationUse") +// buildExpressionDeclarationUse(process) +// } + +// def IScope scope_ExpressionDeclarationUse(ComponentDeclaration component, EReference ref) { +// println("scope_ExpressionDeclarationUse") +// buildExpressionDeclarationUse(component) +// } +// def IScope scope_ReferencedType_type(ProcessDeclaration process, EReference ref) { +// println("scope_ExpressionDeclarationUse") +// buildExpressionDeclarationUseReferencedType(process) +// } + def IScope scope_TypeDeclarationUse(ProcessDeclaration process, EReference ref) { + //println("scope_TypeDeclarationUse") + buildTypeDeclarationUse(process) + } + + def IScope scope_RecordAccessPattern_field(ProcessDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + + def IScope scope_RecordAccessExpression_field(ProcessDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + + def IScope scope_RecordAccessExpression_field(FunctionDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + def IScope scope_RecordAccessExpression_field(PropertyDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + + def IScope scope_FieldExpression_field(ProcessDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + + def IScope scope_FieldExpression_field(FunctionDeclaration process, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(process) + } + + def IScope scope_FieldExpression_field(ComponentDeclaration component, EReference ref) { + //println("scope_RecordFieldDeclarationUse") + buildRecordFieldDeclarationUse(component) + } + +// def IScope scope_ConstructionExpression_declaration(ComponentDeclaration component, EReference ref) { +// println("scope_RecordFieldDeclarationUse") +// build_ConstructionExpression_declaration(component) +// } +// def IScope build_ConstructionExpression_declaration(ComponentDeclaration declaration) { +// val Collection tags = new ArrayList() +// val Model model = eContainer(declaration, Model) as Model +// println("model " + model) +// for (d : model.declarations) { +// if (d instanceof TypeDeclaration) { +// val Type t = (d as TypeDeclaration).value +// if (t instanceof UnionType) { +// for (ut : (t as UnionType).tags) { +// tags.addAll(ut.tags) +// } +// } +// } +// } +// return Scopes.scopeFor(tags) +// } +// def IScope scope_ConstructionExpression_declaration(ConstructionExpression id, EReference ref) { +// buildExpressionDeclarationUseInProcessDeclaration(id) +// } + def IScope scope_IdentifierExpression_declaration(IdentifierExpression id, EReference ref) { + if (id.eContainer instanceof ComponentInstance) { + //println("first if") + if (((id.eContainer as ComponentInstance)).ports.contains(id)) { + //println("second if") + buildPortDeclarations(id) + } else { + if (((id.eContainer as ComponentInstance)).parameters.contains(id)) { + //println("second if") + buildParametersDeclarations(id) + } + } + } else { + if (id.eContainer instanceof ArrayExpression) { + if (((id.eContainer as ArrayExpression).eContainer as ComponentInstance).ports.contains( + id.eContainer)) { + buildPortDeclarations(id) + } + } else { + if (id.eContainer instanceof PortSet) { + buildPortDeclarations(id) + } else { + buildExpressionDeclarationUseInProcessDeclaration(id) + } + + } + } + } + + def IScope buildExpressionDeclarationUseInProcessDeclaration(IdentifierExpression expression) { + val Collection tags = new ArrayList() + //println("econtainer" + eContainer(expression, Declaration)) + switch eContainer(expression, Declaration) { + ProcessDeclaration: { + val ProcessDeclaration process = eContainer(expression, ProcessDeclaration) as ProcessDeclaration + for (pards : process.parameters) { + tags.addAll(pards.parameters) + } + for (vards : process.variables) { + tags.addAll(vards.variables) + } + val Model model = eContainer(expression, Model) as Model + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof FunctionDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + } + ComponentDeclaration: { + val Model model = eContainer(expression, Model) as Model + val ComponentDeclaration component = eContainer(expression, ComponentDeclaration) as ComponentDeclaration + for (pards : component.parameters) { + tags.addAll(pards.parameters) + } + for (vards : component.variables) { + tags.addAll(vards.variables) + } + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof FunctionDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + + } + TypeDeclaration: { + val Model model = eContainer(expression, Model) as Model + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + } + // TODO Ă  modifier en suivant le path + PropertyDeclaration :{ + val Model model = eContainer(expression, Model) as Model + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof FunctionDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + for (process : model.declarations.filter(ProcessDeclaration)){ + for (vards: process.variables){ + tags.addAll(vards.variables) + } + for (vards: process.parameters){ + tags.addAll(vards.parameters) + } + } + } + FunctionDeclaration:{ + val Model model = eContainer(expression, Model) as Model + val FunctionDeclaration function = eContainer(expression, FunctionDeclaration) as FunctionDeclaration + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof FunctionDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + for (parameters : function.parameters) { + tags.addAll(parameters.parameters) + //println("read"+parameters.read) + //println("write"+parameters.write) + } + for (params : function.variables){ + tags.addAll(params.variables) + } + } + } + return Scopes.scopeFor(tags) + } + + def IScope buildParametersDeclarations(IdentifierExpression expression) { + val Collection tags = new ArrayList() + val Model model = eContainer(expression, Model) as Model + val ComponentDeclaration component = eContainer(expression, ComponentDeclaration) as ComponentDeclaration + for (pards : component.parameters) { + tags.addAll(pards.parameters) + } + for (vards : component.variables) { + tags.addAll(vards.variables) + } + for (d : model.declarations) { + if (d instanceof TypeDeclaration) { + val Type t = (d as TypeDeclaration).value + if (t instanceof UnionType) { + for (ut : (t as UnionType).tags) { + tags.addAll(ut.tags) + } + } + } + if (d instanceof ConstantDeclaration) { + tags.add(d) + } + if (d instanceof FunctionDeclaration) { + tags.add(d) + } + } + + return Scopes.scopeFor(tags) + } + + def IScope scope_IdentifierPattern_declaration(IdentifierPattern id, EReference ref) { + switch id.eContainer { + AssignStatement: { + //println("assign") + if ((id.eContainer as AssignStatement).patterns.contains(id)) { + //println("assign2") + buildIdentifierPatternParametersAndVariables(id) + } + + } + SendStatement: { + if ((id.eContainer as SendStatement).port == id) { + buildIdentifierPatternPorts(id) + } + } + ReceiveStatement: { + if ((id.eContainer as ReceiveStatement).port == id) { + buildIdentifierPatternPorts(id) + } else { + if ((id.eContainer as ReceiveStatement).patterns.contains(id)) { + buildIdentifierPatternParametersAndVariables(id) + } + } + } + StatementSequence: { + buildIdentifierPatternPorts(id) + } + CaseStatement: { + //println("case statement") + buildIdentifierPatternForCaseStatement(id) + } + } + } + + def IScope buildIdentifierPatternForCaseStatement(IdentifierPattern pattern) { + val Collection tags = new ArrayList() + val Model model = eContainer(pattern, Model) as Model + for (d : model.declarations) { + if (d instanceof TypeDeclaration) { + val Type t = (d as TypeDeclaration).value + if (t instanceof UnionType) { + for (ut : (t as UnionType).tags) { + tags.addAll(ut.tags) + } + } + } + } + switch eContainer(pattern, Declaration){ + ProcessDeclaration:{ + val ProcessDeclaration process = eContainer(pattern, ProcessDeclaration) as ProcessDeclaration + for (pds : process.ports) { + tags.addAll(pds.ports) + } + } + FunctionDeclaration:{ + val FunctionDeclaration function = eContainer(pattern, FunctionDeclaration) as FunctionDeclaration + for (parameters : function.parameters) { + tags.addAll(parameters.parameters) + //println("read"+parameters.read) + //println("write"+parameters.write) + } + for (vars : function.variables) { + tags.addAll(vars.variables) + } + } + } + //println("tags"+tags) + return Scopes.scopeFor(tags) + } + + def buildIdentifierPatternPorts(IdentifierPattern pattern) { + val Collection tags = new ArrayList() + val ProcessDeclaration process_decl = eContainer(pattern, ProcessDeclaration) as ProcessDeclaration + for (port_d : process_decl.ports) { + //println("Scope PortDeclaration ProcessDeclaration") + tags.addAll(port_d.ports) + } + for (port_d : process_decl.localPorts) { + //println("Scope LocalPortDeclaration ProcessDeclaration") + tags.addAll(port_d.ports) + } + return Scopes.scopeFor(tags) + } + + def IScope buildIdentifierPatternParametersAndVariables(IdentifierPattern id) { + val Collection tags = new ArrayList() + val ProcessDeclaration process_decl = eContainer(id, ProcessDeclaration) as ProcessDeclaration + for (psd : process_decl.parameters) { + for (pard : psd.parameters) { + tags.add(pard) + } + } + for (vsd : process_decl.variables) { + for (vard : vsd.variables) { + tags.add(vard) + } + } + val Model model = process_decl.eContainer as Model + for (d : model.declarations) { + if (d instanceof TypeDeclaration) { + val Type t = (d as TypeDeclaration).value + if (t instanceof UnionType) { + for (ut : (t as UnionType).tags) { + tags.addAll(ut.tags) + } + } + } + } + return Scopes.scopeFor(tags) + } + + def IScope buildPortDeclarations(IdentifierExpression id) { + val Collection tags = new ArrayList() + val ParameterizedDeclaration pard = eContainer(id, ParameterizedDeclaration) as ParameterizedDeclaration + //println(pard) + if (pard instanceof ComponentDeclaration) { + for (eports : (pard as ComponentDeclaration).localPorts) { + for (port : eports.ports) { + tags.add(port) + } + } + for (eports : (pard as ComponentDeclaration).ports) { + for (port : eports.ports) { + tags.add(port) + } + } + } else { + for (eports : (pard as ProcessDeclaration).ports) { + for (port : eports.ports) { + tags.add(port) + } + } + } + return Scopes.scopeFor(tags) + } + + def static EObject eContainer(EObject root, Class type) { + var EObject current = root + while (current != null) { + if (type.isInstance(current)) { + return current + } else { + current = current.eContainer + } + } + return null + } + + def IScope buildRecordFieldDeclarationUse(Declaration process) { + val Collection tags = new ArrayList() +// for (dec : process.generics) { +// tags.add(dec) +// } + + val Model model = process.eContainer as Model +// for (d : model.getDeclarations()) { +// if (d instanceof TypeDeclaration) { +// val Type t = (d as TypeDeclaration).value +// if (t instanceof RecordType) { +// val RecordType u = t as RecordType +// for (ts : u.fields) { +// for (s : ts.fields) { +// //println(s.getName() + " record ") +// } +// tags.addAll(ts.getFields()) +// } +// } +// } +// } + for (rt : model.eAllContents.toList.filter(RecordType)) + { + for (ts : rt.fields) { + for (s : ts.fields) { + //println(s.getName() + " record ") + } + tags.addAll(ts.getFields()) + } + } + return Scopes.scopeFor(tags) + } + + def IScope buildRecordFieldDeclarationUse(ComponentDeclaration component) { + val Collection tags = new ArrayList() +// for (dec : component.generics) { +// tags.add(dec) +// } + + val Model model = component.eContainer as Model + for (d : model.getDeclarations()) { + if (d instanceof TypeDeclaration) { + val Type t = (d as TypeDeclaration).value + if (t instanceof RecordType) { + val RecordType u = t as RecordType + for (ts : u.fields) { + for (s : ts.fields) { + //println(s.getName() + " record ") + } + tags.addAll(ts.getFields()) + } + } + } + } + return Scopes.scopeFor(tags) + } + + def IScope buildPatternDeclarationUse(ProcessDeclaration pdec) { + val Collection tags = new ArrayList() + + for (vd : pdec.variables) { + //println("Scope VariableDeclaration ProcessDeclaration") + tags.addAll(vd.variables) + } + for (port_d : pdec.ports) { + //println("Scope PortDeclaration ProcessDeclaration") + tags.addAll(port_d.ports) + } + for (port_d : pdec.localPorts) { + //println("Scope LocalPortDeclaration ProcessDeclaration") + tags.addAll(port_d.ports) + } +// for (VariablesDeclaration vd : pdec.getVariables()) { +// System.out +// .println("Scope VariableDeclaration in ProcessDeclaration"); +// for (VariableDeclaration s : vd.getVariables()) { +// System.out.print(s.getName() + " "); +// } +// tags.addAll(vd.getVariables()); +// } + for (vd : pdec.parameters) { + //println("Scope ParameterDeclaration in ProcessDeclaration") + tags.addAll(vd.parameters) + } + + val Model model = pdec.eContainer as Model + for (d : model.declarations) { + if (d instanceof TypeDeclaration) { + val Type t = (d as TypeDeclaration).value + if (t instanceof UnionType) { + for (ut : (t as UnionType).tags) { + tags.addAll(ut.tags) + } + } + } + } + return Scopes.scopeFor(tags) + } + + def static List eAllSelectStatement(EObject source) { + val TreeIterator contentIterator = source.eAllContents() + val List result = new ArrayList() + + while (contentIterator.hasNext) { + val EObject next = contentIterator.next + if (next instanceof SelectStatement) { + result.add(next) + } + } + return result + } + + def IScope buildStateDeclaration(ProcessDeclaration process) { + return Scopes.scopeFor(process.getStates()) + } + + def IScope buildExpressionDeclarationUse(Model model) { + val Collection tags = new ArrayList() +// val Model model = d.eContainer as Model + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } +// for (gd : d.generics) { +// tags.add(gd) +// } + } + +// val ProcessDeclaration pdec = d as ProcessDeclaration +// for (vd : pdec.parameters) { +// println("Scope ParameterDeclaration in ProcessDeclaration") +// tags.addAll(vd.parameters) +// } +// for (vd : pdec.variables) { +// tags.addAll(vd.variables) +// } +// +// val List e = eAllSelectStatement(pdec) +// for (EObject ss : e) { +// if ((ss as SelectStatement).index != null) { +// tags.add((ss as SelectStatement).index) +// } +// } + return Scopes.scopeFor(tags) + } + + def IScope buildExpressionDeclarationUse(ComponentDeclaration d) { + val Collection tags = new ArrayList() + val Model model = d.eContainer as Model + for (dec : model.declarations) { + if (dec instanceof ConstantDeclaration) { + tags.add(dec) + } + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } +// for (gd : d.generics) { +// tags.add(gd) +// } + } + + val ProcessDeclaration pdec = d as ProcessDeclaration + for (vd : pdec.parameters) { + //println("Scope ParameterDeclaration in ProcessDeclaration") + tags.addAll(vd.parameters) + } + for (vd : pdec.variables) { + tags.addAll(vd.variables) + } + + val List e = eAllSelectStatement(pdec) + for (EObject ss : e) { + if ((ss as SelectStatement).index != null) { + tags.add((ss as SelectStatement).index) + } + } + return Scopes.scopeFor(tags) + } + + def IScope buildExpressionDeclarationUseReferencedType(ProcessDeclaration d) { + val Collection tags = new ArrayList() + val Model model = d.eContainer as Model + for (dec : model.declarations) { + if (dec instanceof TypeDeclaration) { + val Type t = (dec as TypeDeclaration).value + if (t instanceof UnionType) { + for (ts : (t as UnionType).tags) { + tags.addAll(ts.tags) + } + } + } + } + + return Scopes.scopeFor(tags) + } + + def IScope buildTypeDeclarationUse(ProcessDeclaration p) { + val Collection tags = new ArrayList() + val Model model = p.eContainer as Model + for (dec : model.declarations) { + if (dec instanceof TypeDeclaration) { + tags.add(dec) + } + } + + return Scopes.scopeFor(tags) + } + + def IScope scope_StateSubject_state(StateSubject ss, EReference ref) { + //println("scope_StateDeclaration") + buildStateSubject_state(ss) + } + + def IScope buildStateSubject_state(StateSubject subject) { + val Collection tags = new ArrayList() + //println("statesubject " + subject.eContainer) + val model = eContainer(subject, Model) as Model + for (process : model.declarations.filter(ProcessDeclaration)) { + tags.addAll(process.states) + } + return Scopes.scopeFor(tags) + } + def IScope scope_TagSubject_tag(TagSubject tags, EReference ref) { + val model = eContainer(tags, Model) as Model + return Scopes.scopeFor(model.eAllContents.toList.filter(TaggedStatement)) + } + + +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/validation/FiacreValidator.xtend b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/validation/FiacreValidator.xtend new file mode 100644 index 0000000..760f93c --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/src/fr/irit/fiacre/xtext/validation/FiacreValidator.xtend @@ -0,0 +1,177 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/* + * generated by Xtext 2.10.0 + */ +package fr.irit.fiacre.xtext.validation + +import fr.irit.fiacre.xtext.fiacre.AssignAnyStatement +import fr.irit.fiacre.xtext.fiacre.BlockStatement +import fr.irit.fiacre.xtext.fiacre.FiacrePackage +import fr.irit.fiacre.xtext.fiacre.FunctionDeclaration +import fr.irit.fiacre.xtext.fiacre.LoopStatement +import fr.irit.fiacre.xtext.fiacre.OnStatement +import fr.irit.fiacre.xtext.fiacre.ParametersDeclaration +import fr.irit.fiacre.xtext.fiacre.ReturnStatement +import fr.irit.fiacre.xtext.fiacre.SelectStatement +import fr.irit.fiacre.xtext.fiacre.TaggedStatement +import fr.irit.fiacre.xtext.fiacre.WaitStatement +import org.eclipse.emf.ecore.EObject +import org.eclipse.xtext.validation.Check + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +class FiacreValidator extends AbstractFiacreValidator { + + public static val INVALID_NAME = 'invalidName' +// + @Check + def checkNotReadAttributeInParametersDeclarationOfFunctionDeclaration(ParametersDeclaration parameters) { + if (parameters.read) { + //println("read econtainer"+ eContainer(parameters, Declaration)) + //println(eContainer(parameters, FunctionDeclaration)) + if(eContainer(parameters, FunctionDeclaration) != null){ + error('Not allowed in this scope', + FiacrePackage.eINSTANCE.parametersDeclaration_Read) + + } + } + } + + @Check + def checkNotWriteAttributeInParametersDeclarationOfFunctionDeclaration(ParametersDeclaration parameters) { + if (parameters.write) { + //println("read econtainer"+ eContainer(parameters, Declaration)) + //println(eContainer(parameters, FunctionDeclaration)) + if(eContainer(parameters, FunctionDeclaration) != null){ + error('Not allowed in this scope', + FiacrePackage.eINSTANCE.parametersDeclaration_Write) + + } + } + } + + @Check + def checkFunctionBodyStatement(FunctionDeclaration function) { + if (!(function.statement instanceof BlockStatement || function.statement instanceof ReturnStatement)){ + error('a function statement must be either a return statement or a block statement', + FiacrePackage.eINSTANCE.functionDeclaration_Statement) + } + + // not allowed statements in function + /* + * TaggedStatement + * AssignAnyStatement + * SelectStatement + * ToStatement + * LoopStatement + * IdentifierPattern + * SendStatement + * ReceiveStatement + * WaitStatement + * OnStatement + */ + + } + // TaggedStatement + @Check + def checkNoTaggedStatementInFunctionDeclaration(TaggedStatement taggedStatement) { + if(eContainer(taggedStatement, FunctionDeclaration) != null){ + //println(taggedStatement) + messageAcceptor.acceptError("A tag is not allowed in a function",taggedStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //AssignAnyStatement + @Check + def checkNoAssignAnyStatementInFunctionDeclaration(AssignAnyStatement assignAnyStatement) { + //println("messageAcceptor " + messageAcceptor); + if(eContainer(assignAnyStatement, FunctionDeclaration) != null){ + messageAcceptor.acceptError("Assigning any value not allowed in a function ",assignAnyStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //SelectStatement + @Check + def checkNoSelectStatementInFunctionDeclaration(SelectStatement selectStatement) { + + if(eContainer(selectStatement, FunctionDeclaration) != null){ + messageAcceptor.acceptError("Non-deterministic choices are not allowed in a function",selectStatement,null,INSIGNIFICANT_INDEX, null) + } + } + //ToStatement + /* + * It is checked automatically using the scopeProvider mechanism. + * A To statement requires referring to a state declared in the concerned declaration, + * but in a function, states can't be declared. So, user can't write To statements + * Idem to: + * IdentifierPattern + * SendStatement + * ReceiveStatement + */ + + //LoopStatement + @Check + def checkNoLoopStatementInFunctionDeclaration(LoopStatement loopStatement) { + + if(eContainer(loopStatement, FunctionDeclaration) != null){ + messageAcceptor.acceptError("Loop statement is not allowed in a function",loopStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //WaitStatement + @Check + def checkNoWaitStatementInFunctionDeclaration(WaitStatement waitStatement) { + + if(eContainer(waitStatement, FunctionDeclaration) != null){ + messageAcceptor.acceptError("Wait statement is not allowed in a function",waitStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //OnStatement + @Check + def checkNoOnStatementInFunctionDeclaration(OnStatement onStatement) { + + if(eContainer(onStatement, FunctionDeclaration) != null){ + messageAcceptor.acceptError("Guards are not allowed in a function",onStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //ReturnStatement + @Check + def checkNoReturnStatementOutsideFunctionDeclaration(ReturnStatement returnStatement) { + if(eContainer(returnStatement, FunctionDeclaration) == null){ + messageAcceptor.acceptError("A return statement is only allowed in a function",returnStatement,null,INSIGNIFICANT_INDEX, null) + } + } + + //BlockStatement + @Check + def checkNoBlockStatementInFunctionDeclaration(BlockStatement blockStatement) { + if(eContainer(blockStatement, FunctionDeclaration) == null){ + messageAcceptor.acceptError("A block statement (begin ... end) is only allowed in a function",blockStatement,null,INSIGNIFICANT_INDEX, null) + } + } + def static EObject eContainer(EObject root, Class type) { + var EObject current = root + while (current != null) { + if (type.isInstance(current)) { + return current + } else { + current = current.eContainer + } + } + return null + } +} diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/.gitignore new file mode 100644 index 0000000..15f134b --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/.gitignore @@ -0,0 +1,6 @@ +/.FiacreRuntimeModule.java._trace +/.FiacreRuntimeModule.xtendbin +/.FiacreStandaloneSetup.java._trace +/.FiacreStandaloneSetup.xtendbin +/FiacreRuntimeModule.java +/FiacreStandaloneSetup.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/generator/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/generator/.gitignore new file mode 100644 index 0000000..46f9c41 --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/generator/.gitignore @@ -0,0 +1,3 @@ +/.FiacreGenerator.java._trace +/.FiacreGenerator.xtendbin +/FiacreGenerator.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/scoping/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/scoping/.gitignore new file mode 100644 index 0000000..cbabefb --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/scoping/.gitignore @@ -0,0 +1,3 @@ +/.FiacreScopeProvider.java._trace +/.FiacreScopeProvider.xtendbin +/FiacreScopeProvider.java diff --git a/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/validation/.gitignore b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/validation/.gitignore new file mode 100644 index 0000000..62cd99a --- /dev/null +++ b/eclipse/plugins/fr.irit.fiacre.xtext/xtend-gen/fr/irit/fiacre/xtext/validation/.gitignore @@ -0,0 +1,3 @@ +/.FiacreValidator.java._trace +/.FiacreValidator.xtendbin +/FiacreValidator.java diff --git a/eclipse/plugins/fr.irit.xtext.xmi/.classpath b/eclipse/plugins/fr.irit.xtext.xmi/.classpath new file mode 100644 index 0000000..16d067f --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/eclipse/plugins/fr.irit.xtext.xmi/.gitignore b/eclipse/plugins/fr.irit.xtext.xmi/.gitignore new file mode 100644 index 0000000..44d4232 --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/.gitignore @@ -0,0 +1,2 @@ +.DS_Store +/bin/ diff --git a/eclipse/plugins/fr.irit.xtext.xmi/.project b/eclipse/plugins/fr.irit.xtext.xmi/.project new file mode 100644 index 0000000..6f6c4e7 --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/.project @@ -0,0 +1,28 @@ + + + fr.irit.xtext.xmi + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/eclipse/plugins/fr.irit.xtext.xmi/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/fr.irit.xtext.xmi/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..f42de36 --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/eclipse/plugins/fr.irit.xtext.xmi/META-INF/MANIFEST.MF b/eclipse/plugins/fr.irit.xtext.xmi/META-INF/MANIFEST.MF new file mode 100644 index 0000000..76d3137 --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: XText to Xmi serializer +Bundle-SymbolicName: fr.irit.xtext.xmi;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Activator: fr.irit.xtext.xmi.Activator +Bundle-Vendor: IRIT +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.core.resources, + org.eclipse.xtext +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy diff --git a/eclipse/plugins/fr.irit.xtext.xmi/build.properties b/eclipse/plugins/fr.irit.xtext.xmi/build.properties new file mode 100644 index 0000000..355626b --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/build.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + META-INF/,\ + . diff --git a/eclipse/plugins/fr.irit.xtext.xmi/plugin.xml b/eclipse/plugins/fr.irit.xtext.xmi/plugin.xml new file mode 100644 index 0000000..58575df --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/plugin.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/Activator.java b/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/Activator.java new file mode 100644 index 0000000..b72ff56 --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/Activator.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.xtext.xmi; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.geneauto.xtext.toXmi"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } +} diff --git a/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/popup/actions/XTextToXmiAction.java b/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/popup/actions/XTextToXmiAction.java new file mode 100644 index 0000000..ba7f7af --- /dev/null +++ b/eclipse/plugins/fr.irit.xtext.xmi/src/fr/irit/xtext/xmi/popup/actions/XTextToXmiAction.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.irit.xtext.xmi.popup.actions; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.mapping.ModelStatus; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IActionDelegate; +import org.eclipse.ui.IObjectActionDelegate; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.xtext.resource.XtextResource; +import org.eclipse.xtext.resource.XtextResourceSet; + +public class XTextToXmiAction implements IObjectActionDelegate { + + private Shell shell; + private ISelection selection; + + /** + * Constructor for Action1. + */ + public XTextToXmiAction() { + super(); + } + + /** + * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart) + */ + public void setActivePart(IAction action, IWorkbenchPart targetPart) { + shell = targetPart.getSite().getShell(); + } + + /** + * @see IActionDelegate#run(IAction) + */ + public void run(IAction action) { + IFile file = getFile(); + URI xtextURI = URI.createPlatformResourceURI(file.getFullPath().toString(), true); + + XtextResourceSet resourceSet = new XtextResourceSet(); + + //Resource xtextResource = resourceSet.getResource(xtextURI , true); + Resource xtextResource = resourceSet.createResource(xtextURI); + System.out.println(xtextURI.toString()); + if (xtextResource != null){ + Map options = new HashMap(); + options.put(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE); + try { + xtextResource.load(options); + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + Resource xmiResource = new XMIResourceFactoryImpl().createResource(xtextURI.trimFileExtension().appendFileExtension("xmi")); + xmiResource.getContents().add(xtextResource.getContents().get(0)); + EcoreUtil.resolveAll(resourceSet); + try { + xmiResource.save(null); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } +// System.out.println("resource"+ xmiResource.getContents().get(0)); +// Model model = (Model) xmiResource.getContents().get(0); +// System.out.println("model"+ model); +// System.out.println("model" + model.getGreetings().get(0)); + }else{ + ModelStatus sts = new ModelStatus(IStatus.ERROR, "org.geneauto.xtext.toXmi", "http://www.topcased.org/fiacre/xtext/Fiacre", "Impossible to load the selected file for xmi conversion.\n" + + "Maybe this file is not an XText instance ? Status"); + ErrorDialog.openError(shell, "Error", "Impossible to load the selected file for xmi conversion.\n" + + "Maybe this file is not an XText instance ?", sts); + } + + + } + + /** + * @see IActionDelegate#selectionChanged(IAction, ISelection) + */ + public void selectionChanged(IAction action, ISelection selection) { + this.selection = selection; + } + + private IFile getFile() { + return (IFile) + ((IStructuredSelection)selection) + .getFirstElement(); + } + +} diff --git a/eclipse/plugins/fr.laas.libtts/.classpath b/eclipse/plugins/fr.laas.libtts/.classpath new file mode 100644 index 0000000..03469d4 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/eclipse/plugins/fr.laas.libtts/.gitignore b/eclipse/plugins/fr.laas.libtts/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/eclipse/plugins/fr.laas.libtts/.project b/eclipse/plugins/fr.laas.libtts/.project new file mode 100644 index 0000000..3b1aad8 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/.project @@ -0,0 +1,28 @@ + + + fr.laas.libtts + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/eclipse/plugins/fr.laas.libtts/.settings/org.eclipse.jdt.core.prefs b/eclipse/plugins/fr.laas.libtts/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/eclipse/plugins/fr.laas.libtts/META-INF/MANIFEST.MF b/eclipse/plugins/fr.laas.libtts/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c1e53cf --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/META-INF/MANIFEST.MF @@ -0,0 +1,28 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Libtts +Bundle-SymbolicName: fr.laas.libtts;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-ClassPath: lib/httpclient-4.2.5.jar, + lib/httpcore-4.2.4.jar, + lib/libthrift-0.9.2-javadoc.jar, + lib/libthrift-0.9.2.jar, + lib/json-simple-1.1.jar, + . +Require-Bundle: org.slf4j.api, + org.apache.commons.lang3, + org.eclipse.ui.workbench, + org.eclipse.core.commands, + org.eclipse.jface, + com.google.inject, + javax.inject, + org.eclipse.swt, + org.eclipse.equinox.registry, + org.eclipse.osgi, + org.eclipse.ui;bundle-version="3.107.0", + org.eclipse.core.runtime;bundle-version="3.11.1" +Export-Package: fr.laas.libtts, + tts +Bundle-ActivationPolicy: lazy +Bundle-Activator: fr.laas.libtts.Activator diff --git a/eclipse/plugins/fr.laas.libtts/build.properties b/eclipse/plugins/fr.laas.libtts/build.properties new file mode 100644 index 0000000..c2e731e --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/build.properties @@ -0,0 +1,19 @@ +############################################################################### +# Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the LGPL 3.0 +# which accompanies this distribution, and is available at +# https://www.gnu.org/licenses/lgpl-3.0-standalone.html +# +# Contributors: +# Faiez Zalila - initial API and implementation and/or initial documentation +############################################################################### +bin.includes = META-INF/,\ + lib/httpclient-4.2.5.jar,\ + lib/httpcore-4.2.4.jar,\ + lib/libthrift-0.9.2-javadoc.jar,\ + lib/libthrift-0.9.2.jar,\ + .,\ + lib/json-simple-1.1.jar,\ + plugin.xml +source.. = src/ diff --git a/eclipse/plugins/fr.laas.libtts/lib/httpclient-4.2.5.jar b/eclipse/plugins/fr.laas.libtts/lib/httpclient-4.2.5.jar new file mode 100644 index 0000000..84fece4 Binary files /dev/null and b/eclipse/plugins/fr.laas.libtts/lib/httpclient-4.2.5.jar differ diff --git a/eclipse/plugins/fr.laas.libtts/lib/httpcore-4.2.4.jar b/eclipse/plugins/fr.laas.libtts/lib/httpcore-4.2.4.jar new file mode 100644 index 0000000..9f45bd9 Binary files /dev/null and b/eclipse/plugins/fr.laas.libtts/lib/httpcore-4.2.4.jar differ diff --git a/eclipse/plugins/fr.laas.libtts/lib/json-simple-1.1.jar b/eclipse/plugins/fr.laas.libtts/lib/json-simple-1.1.jar new file mode 100644 index 0000000..f395f41 Binary files /dev/null and b/eclipse/plugins/fr.laas.libtts/lib/json-simple-1.1.jar differ diff --git a/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2-javadoc.jar b/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2-javadoc.jar new file mode 100644 index 0000000..9011c65 Binary files /dev/null and b/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2-javadoc.jar differ diff --git a/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2.jar b/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2.jar new file mode 100644 index 0000000..a06e276 Binary files /dev/null and b/eclipse/plugins/fr.laas.libtts/lib/libthrift-0.9.2.jar differ diff --git a/eclipse/plugins/fr.laas.libtts/plugin.xml b/eclipse/plugins/fr.laas.libtts/plugin.xml new file mode 100644 index 0000000..9e76995 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/plugin.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Activator.java b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Activator.java new file mode 100644 index 0000000..addaa94 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Activator.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.laas.libtts; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + + +public class Activator extends AbstractUIPlugin { + + + // The plug-in ID + public static final String PLUGIN_ID = "fr.laas.libtts"; //$NON-NLS-1$ + + // The shared instance + private static Activator plugin; + + public static String FRAC_PATH = ""; + public static String LIBTTS_PATH = ""; + /** + * The constructor + */ + public Activator() { + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + FRAC_PATH = getPreferenceStore().getString("frac_dir")+"/"; + LIBTTS_PATH = getPreferenceStore().getString("server_bin"); + + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } +} diff --git a/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/FiacreSimulatorPreferencePage.java b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/FiacreSimulatorPreferencePage.java new file mode 100644 index 0000000..960525a --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/FiacreSimulatorPreferencePage.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.laas.libtts; + +import org.eclipse.jface.preference.DirectoryFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.FileFieldEditor; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class FiacreSimulatorPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage{ + + @Override + protected void createFieldEditors() { + // TODO Auto-generated method stub + addField(new DirectoryFieldEditor("frac_dir", "Frac directory", getFieldEditorParent())); + addField(new FileFieldEditor("server_bin", "TTS simulator", getFieldEditorParent())); + } + + @Override + public void init(IWorkbench workbench) { + // TODO Auto-generated method stub + setPreferenceStore(Activator.getDefault().getPreferenceStore()); + } + +} diff --git a/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/LibTTS.java b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/LibTTS.java new file mode 100644 index 0000000..b5ef7ed --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/LibTTS.java @@ -0,0 +1,220 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + * Jorge Enrique Gutierrez Zuluaga + *******************************************************************************/ +package fr.laas.libtts; + +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.List; + +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TBinaryProtocol; +import org.apache.thrift.protocol.TProtocol; +import org.apache.thrift.transport.TSocket; +import org.apache.thrift.transport.TTransport; +import org.apache.thrift.transport.TTransportException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.MultiStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.ui.PlatformUI; + +import tts.Error; +import tts.InvalidPath; +import tts.Net; +import tts.TTS.Client; + +public class LibTTS { + private Client client; + private TTransport transport; + private Net tts_model; + private TTSSimulator TTSSimulator; + private Process tts_server_process; + + public LibTTS(String _tts_model_path) { + + // call the server automatically + Runtime tts_server_run = Runtime.getRuntime(); + try { + tts_server_process = tts_server_run + .exec(Tools.LibTTS+" --port=9090"); + // tts_server_process.waitFor(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + // Launch le LibTTS client + client = launchClient(); + initialize_tts_model(_tts_model_path); + } + + private void initialize_tts_model(String _tts_model_path) { + Net pn; + try { + pn = client.load_local(_tts_model_path); + if (pn.isTimed()) + System.out.print("Timed "); + System.out.println("TTS successfully loaded"); + setTTS_model(pn); + TTSSimulator = new TTSSimulator(tts_model, client); + } catch (Error e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (InvalidPath e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (TException e) { + showException("TException", e); + quit(); + //e.printStackTrace(); + } + + } + + public static void showException(String message, final Exception ex) { + + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + ex.printStackTrace(pw); + // ex.printStackTrace(); + + final String trace = sw.toString(); // stack trace as a string + + // Temp holder of child statuses + List childStatuses = new ArrayList(); + + String error = null; + // Split output by OS-independend new-line + for (String line : trace.split(System.getProperty("line.separator"))) { + if (error == null) + error = line; + else + childStatuses.add(new Status(IStatus.ERROR, "fr.laas.libtts", line)); + } + + MultiStatus multiStatus = new MultiStatus("fr.laas.libtts", IStatus.ERROR, + childStatuses.toArray(new Status[] {}), // convert to array of + // statuses + error, ex); + + ErrorDialog.openError(null, "Unexpected Error", message, multiStatus); + } + + public TTSSimulator getTTSSimulator() { + return TTSSimulator; + } + + public void setTTSSimulator(TTSSimulator simulateTTS) { + this.TTSSimulator = simulateTTS; + } + + private Client launchClient() { + + transport = new TSocket("localhost", 9090); + try { + // System.out.println("ttransport " + transport); + transport.open(); + } catch (TTransportException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + TProtocol protocol = new TBinaryProtocol(transport); + Client _client = new Client(protocol); + // System.out.println("3"); + return _client; + } + + public void simulate() { + + TTSSimulator.simulate(); + } + + public Net getTTS_model() { + return tts_model; + } + + public Client getClient() { + return client; + } + + public void setClient(Client client) { + this.client = client; + } + + public void setTTS_model(Net tts_model) { + this.tts_model = tts_model; + } + + public void quit() { + try { + client.shutdown(); + } catch (TException e) { + // TODO Auto-generated catch block + // e.printStackTrace(); + } + transport.close(); + tts_server_process.destroyForcibly(); + // callCommand("kill -9 "+getPidOfProcess(tts_server_process)); + // IWorkbenchWindow window = + // HandlerUtil.getActiveWorkbenchWindowChecked(event); +// if (PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) { +// MessageDialog.openInformation(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), +// "Fiacre simulator", "Simulator closed"); +// } + } + + private static void callCommand(String line_cmd) { + Runtime cmd_run = Runtime.getRuntime(); + Process cmd_process; + try { + cmd_process = cmd_run.exec(line_cmd); + + try { + cmd_process.waitFor(); + } catch (InterruptedException e) { + + // TODO Auto-generated catch block + e.printStackTrace(); + } + } catch (IOException e1) { + // TODO Auto-generated catch block + e1.printStackTrace(); + } + } + + public static long getPidOfProcess(Process p) { + long pid = -1; + + try { + if (p.getClass().getName().equals("java.lang.UNIXProcess")) { + Field f = p.getClass().getDeclaredField("pid"); + f.setAccessible(true); + pid = f.getLong(p); + f.setAccessible(false); + } + } catch (Exception e) { + pid = -1; + } + return pid; + } + +} diff --git a/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/TTSSimulator.java b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/TTSSimulator.java new file mode 100644 index 0000000..8ca8720 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/TTSSimulator.java @@ -0,0 +1,376 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.laas.libtts; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.Stack; + +import org.apache.commons.lang3.math.Fraction; +import org.apache.thrift.TException; +import org.json.simple.JSONObject; +import org.json.simple.parser.JSONParser; +import org.json.simple.parser.ParseException; + +import tts.Clock; +import tts.Error; +import tts.Interval; +import tts.InvalidDelay; +import tts.Net; +import tts.NotFireable; +import tts.Place; +import tts.StateNotFound; +import tts.TTS.Client; +import tts.TTSState; +import tts.Transition; +import tts.TransitionNotFound; + +public class TTSSimulator { + private Net pn; + private Client client; + private HashMap allTransitions; + private HashMap allPlaces; + private TTSState state; + private Stack previous_states; + + public Stack getPrevious_states() { + return previous_states; + } + + public void setPrevious_states(Stack previous_states) { + this.previous_states = previous_states; + } + + public TTSSimulator(Net apn, Client aclient) { + pn = apn; + client = aclient; + HashMap atransitions = new HashMap(); + for (Transition transition : pn.getTransitions()) { + atransitions.put(transition.getUid(), transition); + } + HashMap aplaces = new HashMap(); + for (Place place : pn.getPlaces()) { + aplaces.put(place.getUid(), place); + } + allPlaces = aplaces; + allTransitions = atransitions; + previous_states = new Stack(); + try { + state = client.initial_state(); + } catch (Error e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public Net getPn() { + return pn; + } + + public void setPn(Net pn) { + this.pn = pn; + } + + public Client getClient() { + return client; + } + + public void setClient(Client client) { + this.client = client; + } + + public HashMap getAllTransitions() { + return allTransitions; + } + + public void setAllTransitions(HashMap transitions) { + this.allTransitions = transitions; + } + + public HashMap getAllPlaces() { + return allPlaces; + } + + public void setAllPlaces(HashMap places) { + this.allPlaces = places; + } + + public TTSState getState() { + return state; + } + + public void setState(TTSState state) { + this.state = state; + } + + public void simulate() { + try { + printCurrent(); + boolean quit = false; + while (!quit) { + BufferedReader bufferRead = new BufferedReader(new InputStreamReader(System.in)); + String s; + try { + s = bufferRead.readLine(); + String[] line = s.split(" "); + switch (line.length) { + case 1: + switch (line[0]) { + case "q": + quit = quit(); + break; + case "h": + help(); + break; + case "p": + printCurrent(); + break; + default: + System.out.println("Unknown command"); + } + break; + case 2: + switch (line[0]) { + case "f": + fireTransition(Long.parseLong(line[1])); + break; + case "d": + delay(line[1]); + break; + default: + System.out.println("Unknown command"); + } + break; + default: + System.out.println("Invalid usage"); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } catch (TException x) { + x.printStackTrace(); + } + } + + public boolean quit() { + System.out.println("Quit! Bye."); + return true; + } + + public void help() { + System.out.println("LibTTS commands: "); + System.out.println("h \t //this mode "); + System.out.println("f n \t //fire the transition n (n is the transition uid)"); + System.out.println("d n \t //let delay n elapse (n int or float)"); + System.out.println("p \t //Print the current state"); + System.out.println("q \t //Quit LibTTS"); + } + + public void printCurrent() { + System.out.println("Printing the current state"); + printStatesAndValues(); + printTransitions(); + } + + public void fireTransition(long parseLong) + throws Error, StateNotFound, TransitionNotFound, NotFireable, TException { + TTSState previous_state = state; + state = client.fire(state.uid, parseLong); + //System.out.println("do firing: " + allTransitions.get(parseLong).name); + previous_states.add(previous_state); + //System.out.println("previous "+ previous_states); + //printCurrent(); + } + + public void delay(String d) throws Error, StateNotFound, InvalidDelay, TException { +// try { + TTSState previous_state = state; + Fraction frac = Fraction.getFraction(d); + Clock delay = new Clock(); + delay.numerator = String.valueOf(frac.getNumerator()); + delay.denominator = String.valueOf(frac.getDenominator()); + +// try { + state = client.advance_time(state.uid, delay); + System.out.println("do delay: "); + //printCurrent(); +// } catch (Error e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (StateNotFound e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (InvalidDelay e) { +// // TODO Auto-generated catch block +// System.out.println("not possible date:" + d); +// } catch (TException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// +// } catch (NumberFormatException nfe) { +// System.out.println("Unknown Number Format:" + d); +// } + previous_states.add(previous_state); + //System.out.println("previous "+ previous_states); + } + public void undo(){ + state = previous_states.pop(); + } + public void printStatesAndValues() { + + System.out.print("Places:"); + for (Long id : state.getMarkings()) { + System.out.print(allPlaces.get(id).getName() + " "); + } + System.out.println(""); + //System.out.println("Values:" + state.getValues()); + // The following printing of values is just to debug the current values of variables + System.out.println("Values:"); + JSONParser parser = new JSONParser(); + try { + JSONObject json_values = (JSONObject) parser.parse(state.getValues()); + ArrayList list = new ArrayList(json_values.keySet()); + Collections.sort(list); + for (Object key: list) { + System.out.print("\t"+key+":"); + System.out.println(json_values.get(key)); + } + } catch (ParseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public ArrayList getCurrentPlaces(){ + ArrayList places = new ArrayList(); + for (Long id : state.getMarkings()) { + places.add(allPlaces.get(id).getName()); + } + return places; + } + public HashMap getFireableTransitions(){ + HashMap transitions = new HashMap(); + try { + for (Long transition_id : client.enabled(state.getUid())) { + if (client.fireable(state.getUid()).contains(transition_id)) { + transitions.put(allTransitions.get(transition_id).getName(), getInterval(allTransitions.get(transition_id).getInterval(),state.getClocks().get(transition_id))); + } + } + } catch (Error e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (StateNotFound e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return transitions; + } + + public HashMap getEnabledTransitions(){ + HashMap transitions = new HashMap(); + try { + for (Long transition_id : client.enabled(state.getUid())) { + if (!(client.fireable(state.getUid()).contains(transition_id))) { + transitions.put(allTransitions.get(transition_id).getName(), getInterval(allTransitions.get(transition_id).getInterval(),state.getClocks().get(transition_id))); + } + } + } catch (Error e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (StateNotFound e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return transitions; + } + public void printTransitions() { + System.out.println("Enabled (Fireable) transitions in the state " + state.getUid()); + try { + for (Long transition_id : client.enabled(state.getUid())) { + String res_transition = ""; + if (client.fireable(state.getUid()).contains(transition_id)) { + res_transition = "+ "; + } else { + res_transition = "- "; + } + res_transition += transition_id + " " + allTransitions.get(transition_id).getName(); + res_transition += " "; + res_transition += getInterval(allTransitions.get(transition_id).getInterval(), + state.getClocks().get(transition_id)); + res_transition += " "; + System.out.println(res_transition); + } + } catch (TException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + private String getInterval(Interval interval, Clock clock) { + String res_interval = ""; + + if (interval == null) { + res_interval = " [0, w["; + } else { + Fraction low = Fraction.getFraction(interval.low.numerator + "/" + interval.low.denominator); + Fraction dynamic_clock = Fraction.getFraction(clock.getNumerator() + "/" + clock.getDenominator()); + if (interval.open_low) { + if ((low.subtract(dynamic_clock)).floatValue() < 0) { + res_interval += " ["; + } else { + res_interval += " ]"; + } + } else { + res_interval += " ["; + } + + if ((low.subtract(dynamic_clock)).floatValue() < 0) { + res_interval += "0"; + } else { + res_interval += (low.subtract(dynamic_clock)).floatValue(); + } + res_interval += ", "; + if (interval.high == null) { + res_interval += "w"; + } else { + Fraction high = Fraction.getFraction(interval.high.numerator + "/" + interval.high.denominator); + if ((high.subtract(dynamic_clock)).floatValue() < 0) { + res_interval += "0"; + } else { + res_interval += (high.subtract(dynamic_clock)).floatValue(); + } + } + if (interval.open_high) { + res_interval += "[ "; + } else { + res_interval += "] "; + } + } + return res_interval; + } +} diff --git a/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Tools.java b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Tools.java new file mode 100644 index 0000000..8bd7a4b --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/fr/laas/libtts/Tools.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +package fr.laas.libtts; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; +import java.util.Map.Entry; + + + +public class Tools { + + public static String FRAC_PATH; + public static String LibTTS; + + public static void getProperties() throws IOException{ + Tools.FRAC_PATH = Activator.FRAC_PATH ; + Tools.LibTTS = Activator.LIBTTS_PATH ; + + } + +} diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Clock.java b/eclipse/plugins/fr.laas.libtts/src/tts/Clock.java new file mode 100644 index 0000000..bd8d2bc --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Clock.java @@ -0,0 +1,491 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Clock implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Clock"); + + private static final org.apache.thrift.protocol.TField NUMERATOR_FIELD_DESC = new org.apache.thrift.protocol.TField("numerator", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField DENOMINATOR_FIELD_DESC = new org.apache.thrift.protocol.TField("denominator", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ClockStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ClockTupleSchemeFactory()); + } + + public String numerator; // required + public String denominator; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + NUMERATOR((short)1, "numerator"), + DENOMINATOR((short)2, "denominator"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // NUMERATOR + return NUMERATOR; + case 2: // DENOMINATOR + return DENOMINATOR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.NUMERATOR, new org.apache.thrift.meta_data.FieldMetaData("numerator", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.DENOMINATOR, new org.apache.thrift.meta_data.FieldMetaData("denominator", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Clock.class, metaDataMap); + } + + public Clock() { + } + + public Clock( + String numerator, + String denominator) + { + this(); + this.numerator = numerator; + this.denominator = denominator; + } + + /** + * Performs a deep copy on other. + */ + public Clock(Clock other) { + if (other.isSetNumerator()) { + this.numerator = other.numerator; + } + if (other.isSetDenominator()) { + this.denominator = other.denominator; + } + } + + public Clock deepCopy() { + return new Clock(this); + } + + @Override + public void clear() { + this.numerator = null; + this.denominator = null; + } + + public String getNumerator() { + return this.numerator; + } + + public Clock setNumerator(String numerator) { + this.numerator = numerator; + return this; + } + + public void unsetNumerator() { + this.numerator = null; + } + + /** Returns true if field numerator is set (has been assigned a value) and false otherwise */ + public boolean isSetNumerator() { + return this.numerator != null; + } + + public void setNumeratorIsSet(boolean value) { + if (!value) { + this.numerator = null; + } + } + + public String getDenominator() { + return this.denominator; + } + + public Clock setDenominator(String denominator) { + this.denominator = denominator; + return this; + } + + public void unsetDenominator() { + this.denominator = null; + } + + /** Returns true if field denominator is set (has been assigned a value) and false otherwise */ + public boolean isSetDenominator() { + return this.denominator != null; + } + + public void setDenominatorIsSet(boolean value) { + if (!value) { + this.denominator = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case NUMERATOR: + if (value == null) { + unsetNumerator(); + } else { + setNumerator((String)value); + } + break; + + case DENOMINATOR: + if (value == null) { + unsetDenominator(); + } else { + setDenominator((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case NUMERATOR: + return getNumerator(); + + case DENOMINATOR: + return getDenominator(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case NUMERATOR: + return isSetNumerator(); + case DENOMINATOR: + return isSetDenominator(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Clock) + return this.equals((Clock)that); + return false; + } + + public boolean equals(Clock that) { + if (that == null) + return false; + + boolean this_present_numerator = true && this.isSetNumerator(); + boolean that_present_numerator = true && that.isSetNumerator(); + if (this_present_numerator || that_present_numerator) { + if (!(this_present_numerator && that_present_numerator)) + return false; + if (!this.numerator.equals(that.numerator)) + return false; + } + + boolean this_present_denominator = true && this.isSetDenominator(); + boolean that_present_denominator = true && that.isSetDenominator(); + if (this_present_denominator || that_present_denominator) { + if (!(this_present_denominator && that_present_denominator)) + return false; + if (!this.denominator.equals(that.denominator)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_numerator = true && (isSetNumerator()); + list.add(present_numerator); + if (present_numerator) + list.add(numerator); + + boolean present_denominator = true && (isSetDenominator()); + list.add(present_denominator); + if (present_denominator) + list.add(denominator); + + return list.hashCode(); + } + + @Override + public int compareTo(Clock other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetNumerator()).compareTo(other.isSetNumerator()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetNumerator()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.numerator, other.numerator); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDenominator()).compareTo(other.isSetDenominator()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDenominator()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.denominator, other.denominator); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Clock("); + boolean first = true; + + sb.append("numerator:"); + if (this.numerator == null) { + sb.append("null"); + } else { + sb.append(this.numerator); + } + first = false; + if (!first) sb.append(", "); + sb.append("denominator:"); + if (this.denominator == null) { + sb.append("null"); + } else { + sb.append(this.denominator); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (numerator == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'numerator' was not present! Struct: " + toString()); + } + if (denominator == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'denominator' was not present! Struct: " + toString()); + } + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ClockStandardSchemeFactory implements SchemeFactory { + public ClockStandardScheme getScheme() { + return new ClockStandardScheme(); + } + } + + private static class ClockStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Clock struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // NUMERATOR + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.numerator = iprot.readString(); + struct.setNumeratorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DENOMINATOR + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.denominator = iprot.readString(); + struct.setDenominatorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Clock struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.numerator != null) { + oprot.writeFieldBegin(NUMERATOR_FIELD_DESC); + oprot.writeString(struct.numerator); + oprot.writeFieldEnd(); + } + if (struct.denominator != null) { + oprot.writeFieldBegin(DENOMINATOR_FIELD_DESC); + oprot.writeString(struct.denominator); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ClockTupleSchemeFactory implements SchemeFactory { + public ClockTupleScheme getScheme() { + return new ClockTupleScheme(); + } + } + + private static class ClockTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Clock struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.numerator); + oprot.writeString(struct.denominator); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Clock struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.numerator = iprot.readString(); + struct.setNumeratorIsSet(true); + struct.denominator = iprot.readString(); + struct.setDenominatorIsSet(true); + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Error.java b/eclipse/plugins/fr.laas.libtts/src/tts/Error.java new file mode 100644 index 0000000..87036c9 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Error.java @@ -0,0 +1,399 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Error extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Error"); + + private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ErrorStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ErrorTupleSchemeFactory()); + } + + public String reason; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + REASON((short)1, "reason"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // REASON + return REASON; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.REASON, new org.apache.thrift.meta_data.FieldMetaData("reason", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Error.class, metaDataMap); + } + + public Error() { + } + + public Error( + String reason) + { + this(); + this.reason = reason; + } + + /** + * Performs a deep copy on other. + */ + public Error(Error other) { + if (other.isSetReason()) { + this.reason = other.reason; + } + } + + public Error deepCopy() { + return new Error(this); + } + + @Override + public void clear() { + this.reason = null; + } + + public String getReason() { + return this.reason; + } + + public Error setReason(String reason) { + this.reason = reason; + return this; + } + + public void unsetReason() { + this.reason = null; + } + + /** Returns true if field reason is set (has been assigned a value) and false otherwise */ + public boolean isSetReason() { + return this.reason != null; + } + + public void setReasonIsSet(boolean value) { + if (!value) { + this.reason = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case REASON: + if (value == null) { + unsetReason(); + } else { + setReason((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case REASON: + return getReason(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case REASON: + return isSetReason(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Error) + return this.equals((Error)that); + return false; + } + + public boolean equals(Error that) { + if (that == null) + return false; + + boolean this_present_reason = true && this.isSetReason(); + boolean that_present_reason = true && that.isSetReason(); + if (this_present_reason || that_present_reason) { + if (!(this_present_reason && that_present_reason)) + return false; + if (!this.reason.equals(that.reason)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_reason = true && (isSetReason()); + list.add(present_reason); + if (present_reason) + list.add(reason); + + return list.hashCode(); + } + + @Override + public int compareTo(Error other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetReason()).compareTo(other.isSetReason()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetReason()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.reason, other.reason); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Error("); + boolean first = true; + + sb.append("reason:"); + if (this.reason == null) { + sb.append("null"); + } else { + sb.append(this.reason); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ErrorStandardSchemeFactory implements SchemeFactory { + public ErrorStandardScheme getScheme() { + return new ErrorStandardScheme(); + } + } + + private static class ErrorStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Error struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // REASON + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.reason = iprot.readString(); + struct.setReasonIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Error struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.reason != null) { + oprot.writeFieldBegin(REASON_FIELD_DESC); + oprot.writeString(struct.reason); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ErrorTupleSchemeFactory implements SchemeFactory { + public ErrorTupleScheme getScheme() { + return new ErrorTupleScheme(); + } + } + + private static class ErrorTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Error struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetReason()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetReason()) { + oprot.writeString(struct.reason); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Error struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.reason = iprot.readString(); + struct.setReasonIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Interval.java b/eclipse/plugins/fr.laas.libtts/src/tts/Interval.java new file mode 100644 index 0000000..004c1d8 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Interval.java @@ -0,0 +1,709 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Interval implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Interval"); + + private static final org.apache.thrift.protocol.TField OPEN_LOW_FIELD_DESC = new org.apache.thrift.protocol.TField("open_low", org.apache.thrift.protocol.TType.BOOL, (short)1); + private static final org.apache.thrift.protocol.TField LOW_FIELD_DESC = new org.apache.thrift.protocol.TField("low", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField OPEN_HIGH_FIELD_DESC = new org.apache.thrift.protocol.TField("open_high", org.apache.thrift.protocol.TType.BOOL, (short)3); + private static final org.apache.thrift.protocol.TField HIGH_FIELD_DESC = new org.apache.thrift.protocol.TField("high", org.apache.thrift.protocol.TType.STRUCT, (short)4); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new IntervalStandardSchemeFactory()); + schemes.put(TupleScheme.class, new IntervalTupleSchemeFactory()); + } + + public boolean open_low; // required + public Clock low; // required + public boolean open_high; // required + public Clock high; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + OPEN_LOW((short)1, "open_low"), + LOW((short)2, "low"), + OPEN_HIGH((short)3, "open_high"), + HIGH((short)4, "high"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // OPEN_LOW + return OPEN_LOW; + case 2: // LOW + return LOW; + case 3: // OPEN_HIGH + return OPEN_HIGH; + case 4: // HIGH + return HIGH; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __OPEN_LOW_ISSET_ID = 0; + private static final int __OPEN_HIGH_ISSET_ID = 1; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.HIGH}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.OPEN_LOW, new org.apache.thrift.meta_data.FieldMetaData("open_low", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.LOW, new org.apache.thrift.meta_data.FieldMetaData("low", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class))); + tmpMap.put(_Fields.OPEN_HIGH, new org.apache.thrift.meta_data.FieldMetaData("open_high", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.HIGH, new org.apache.thrift.meta_data.FieldMetaData("high", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Interval.class, metaDataMap); + } + + public Interval() { + } + + public Interval( + boolean open_low, + Clock low, + boolean open_high) + { + this(); + this.open_low = open_low; + setOpen_lowIsSet(true); + this.low = low; + this.open_high = open_high; + setOpen_highIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public Interval(Interval other) { + __isset_bitfield = other.__isset_bitfield; + this.open_low = other.open_low; + if (other.isSetLow()) { + this.low = new Clock(other.low); + } + this.open_high = other.open_high; + if (other.isSetHigh()) { + this.high = new Clock(other.high); + } + } + + public Interval deepCopy() { + return new Interval(this); + } + + @Override + public void clear() { + setOpen_lowIsSet(false); + this.open_low = false; + this.low = null; + setOpen_highIsSet(false); + this.open_high = false; + this.high = null; + } + + public boolean isOpen_low() { + return this.open_low; + } + + public Interval setOpen_low(boolean open_low) { + this.open_low = open_low; + setOpen_lowIsSet(true); + return this; + } + + public void unsetOpen_low() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OPEN_LOW_ISSET_ID); + } + + /** Returns true if field open_low is set (has been assigned a value) and false otherwise */ + public boolean isSetOpen_low() { + return EncodingUtils.testBit(__isset_bitfield, __OPEN_LOW_ISSET_ID); + } + + public void setOpen_lowIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OPEN_LOW_ISSET_ID, value); + } + + public Clock getLow() { + return this.low; + } + + public Interval setLow(Clock low) { + this.low = low; + return this; + } + + public void unsetLow() { + this.low = null; + } + + /** Returns true if field low is set (has been assigned a value) and false otherwise */ + public boolean isSetLow() { + return this.low != null; + } + + public void setLowIsSet(boolean value) { + if (!value) { + this.low = null; + } + } + + public boolean isOpen_high() { + return this.open_high; + } + + public Interval setOpen_high(boolean open_high) { + this.open_high = open_high; + setOpen_highIsSet(true); + return this; + } + + public void unsetOpen_high() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __OPEN_HIGH_ISSET_ID); + } + + /** Returns true if field open_high is set (has been assigned a value) and false otherwise */ + public boolean isSetOpen_high() { + return EncodingUtils.testBit(__isset_bitfield, __OPEN_HIGH_ISSET_ID); + } + + public void setOpen_highIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OPEN_HIGH_ISSET_ID, value); + } + + public Clock getHigh() { + return this.high; + } + + public Interval setHigh(Clock high) { + this.high = high; + return this; + } + + public void unsetHigh() { + this.high = null; + } + + /** Returns true if field high is set (has been assigned a value) and false otherwise */ + public boolean isSetHigh() { + return this.high != null; + } + + public void setHighIsSet(boolean value) { + if (!value) { + this.high = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case OPEN_LOW: + if (value == null) { + unsetOpen_low(); + } else { + setOpen_low((Boolean)value); + } + break; + + case LOW: + if (value == null) { + unsetLow(); + } else { + setLow((Clock)value); + } + break; + + case OPEN_HIGH: + if (value == null) { + unsetOpen_high(); + } else { + setOpen_high((Boolean)value); + } + break; + + case HIGH: + if (value == null) { + unsetHigh(); + } else { + setHigh((Clock)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case OPEN_LOW: + return Boolean.valueOf(isOpen_low()); + + case LOW: + return getLow(); + + case OPEN_HIGH: + return Boolean.valueOf(isOpen_high()); + + case HIGH: + return getHigh(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case OPEN_LOW: + return isSetOpen_low(); + case LOW: + return isSetLow(); + case OPEN_HIGH: + return isSetOpen_high(); + case HIGH: + return isSetHigh(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Interval) + return this.equals((Interval)that); + return false; + } + + public boolean equals(Interval that) { + if (that == null) + return false; + + boolean this_present_open_low = true; + boolean that_present_open_low = true; + if (this_present_open_low || that_present_open_low) { + if (!(this_present_open_low && that_present_open_low)) + return false; + if (this.open_low != that.open_low) + return false; + } + + boolean this_present_low = true && this.isSetLow(); + boolean that_present_low = true && that.isSetLow(); + if (this_present_low || that_present_low) { + if (!(this_present_low && that_present_low)) + return false; + if (!this.low.equals(that.low)) + return false; + } + + boolean this_present_open_high = true; + boolean that_present_open_high = true; + if (this_present_open_high || that_present_open_high) { + if (!(this_present_open_high && that_present_open_high)) + return false; + if (this.open_high != that.open_high) + return false; + } + + boolean this_present_high = true && this.isSetHigh(); + boolean that_present_high = true && that.isSetHigh(); + if (this_present_high || that_present_high) { + if (!(this_present_high && that_present_high)) + return false; + if (!this.high.equals(that.high)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_open_low = true; + list.add(present_open_low); + if (present_open_low) + list.add(open_low); + + boolean present_low = true && (isSetLow()); + list.add(present_low); + if (present_low) + list.add(low); + + boolean present_open_high = true; + list.add(present_open_high); + if (present_open_high) + list.add(open_high); + + boolean present_high = true && (isSetHigh()); + list.add(present_high); + if (present_high) + list.add(high); + + return list.hashCode(); + } + + @Override + public int compareTo(Interval other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetOpen_low()).compareTo(other.isSetOpen_low()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOpen_low()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.open_low, other.open_low); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetLow()).compareTo(other.isSetLow()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetLow()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.low, other.low); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetOpen_high()).compareTo(other.isSetOpen_high()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetOpen_high()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.open_high, other.open_high); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetHigh()).compareTo(other.isSetHigh()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetHigh()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.high, other.high); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Interval("); + boolean first = true; + + sb.append("open_low:"); + sb.append(this.open_low); + first = false; + if (!first) sb.append(", "); + sb.append("low:"); + if (this.low == null) { + sb.append("null"); + } else { + sb.append(this.low); + } + first = false; + if (!first) sb.append(", "); + sb.append("open_high:"); + sb.append(this.open_high); + first = false; + if (isSetHigh()) { + if (!first) sb.append(", "); + sb.append("high:"); + if (this.high == null) { + sb.append("null"); + } else { + sb.append(this.high); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // alas, we cannot check 'open_low' because it's a primitive and you chose the non-beans generator. + if (low == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'low' was not present! Struct: " + toString()); + } + // alas, we cannot check 'open_high' because it's a primitive and you chose the non-beans generator. + // check for sub-struct validity + if (low != null) { + low.validate(); + } + if (high != null) { + high.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class IntervalStandardSchemeFactory implements SchemeFactory { + public IntervalStandardScheme getScheme() { + return new IntervalStandardScheme(); + } + } + + private static class IntervalStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Interval struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // OPEN_LOW + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.open_low = iprot.readBool(); + struct.setOpen_lowIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // LOW + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.low = new Clock(); + struct.low.read(iprot); + struct.setLowIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // OPEN_HIGH + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.open_high = iprot.readBool(); + struct.setOpen_highIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // HIGH + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.high = new Clock(); + struct.high.read(iprot); + struct.setHighIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetOpen_low()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'open_low' was not found in serialized data! Struct: " + toString()); + } + if (!struct.isSetOpen_high()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'open_high' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Interval struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(OPEN_LOW_FIELD_DESC); + oprot.writeBool(struct.open_low); + oprot.writeFieldEnd(); + if (struct.low != null) { + oprot.writeFieldBegin(LOW_FIELD_DESC); + struct.low.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(OPEN_HIGH_FIELD_DESC); + oprot.writeBool(struct.open_high); + oprot.writeFieldEnd(); + if (struct.high != null) { + if (struct.isSetHigh()) { + oprot.writeFieldBegin(HIGH_FIELD_DESC); + struct.high.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class IntervalTupleSchemeFactory implements SchemeFactory { + public IntervalTupleScheme getScheme() { + return new IntervalTupleScheme(); + } + } + + private static class IntervalTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Interval struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBool(struct.open_low); + struct.low.write(oprot); + oprot.writeBool(struct.open_high); + BitSet optionals = new BitSet(); + if (struct.isSetHigh()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetHigh()) { + struct.high.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Interval struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.open_low = iprot.readBool(); + struct.setOpen_lowIsSet(true); + struct.low = new Clock(); + struct.low.read(iprot); + struct.setLowIsSet(true); + struct.open_high = iprot.readBool(); + struct.setOpen_highIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.high = new Clock(); + struct.high.read(iprot); + struct.setHighIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/InvalidDelay.java b/eclipse/plugins/fr.laas.libtts/src/tts/InvalidDelay.java new file mode 100644 index 0000000..fc5776f --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/InvalidDelay.java @@ -0,0 +1,404 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class InvalidDelay extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidDelay"); + + private static final org.apache.thrift.protocol.TField CLOCK_FIELD_DESC = new org.apache.thrift.protocol.TField("clock", org.apache.thrift.protocol.TType.STRUCT, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new InvalidDelayStandardSchemeFactory()); + schemes.put(TupleScheme.class, new InvalidDelayTupleSchemeFactory()); + } + + public Clock clock; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + CLOCK((short)1, "clock"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // CLOCK + return CLOCK; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.CLOCK, new org.apache.thrift.meta_data.FieldMetaData("clock", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InvalidDelay.class, metaDataMap); + } + + public InvalidDelay() { + } + + public InvalidDelay( + Clock clock) + { + this(); + this.clock = clock; + } + + /** + * Performs a deep copy on other. + */ + public InvalidDelay(InvalidDelay other) { + if (other.isSetClock()) { + this.clock = new Clock(other.clock); + } + } + + public InvalidDelay deepCopy() { + return new InvalidDelay(this); + } + + @Override + public void clear() { + this.clock = null; + } + + public Clock getClock() { + return this.clock; + } + + public InvalidDelay setClock(Clock clock) { + this.clock = clock; + return this; + } + + public void unsetClock() { + this.clock = null; + } + + /** Returns true if field clock is set (has been assigned a value) and false otherwise */ + public boolean isSetClock() { + return this.clock != null; + } + + public void setClockIsSet(boolean value) { + if (!value) { + this.clock = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case CLOCK: + if (value == null) { + unsetClock(); + } else { + setClock((Clock)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case CLOCK: + return getClock(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case CLOCK: + return isSetClock(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof InvalidDelay) + return this.equals((InvalidDelay)that); + return false; + } + + public boolean equals(InvalidDelay that) { + if (that == null) + return false; + + boolean this_present_clock = true && this.isSetClock(); + boolean that_present_clock = true && that.isSetClock(); + if (this_present_clock || that_present_clock) { + if (!(this_present_clock && that_present_clock)) + return false; + if (!this.clock.equals(that.clock)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_clock = true && (isSetClock()); + list.add(present_clock); + if (present_clock) + list.add(clock); + + return list.hashCode(); + } + + @Override + public int compareTo(InvalidDelay other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetClock()).compareTo(other.isSetClock()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetClock()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.clock, other.clock); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("InvalidDelay("); + boolean first = true; + + sb.append("clock:"); + if (this.clock == null) { + sb.append("null"); + } else { + sb.append(this.clock); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (clock != null) { + clock.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class InvalidDelayStandardSchemeFactory implements SchemeFactory { + public InvalidDelayStandardScheme getScheme() { + return new InvalidDelayStandardScheme(); + } + } + + private static class InvalidDelayStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidDelay struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // CLOCK + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.clock = new Clock(); + struct.clock.read(iprot); + struct.setClockIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidDelay struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.clock != null) { + oprot.writeFieldBegin(CLOCK_FIELD_DESC); + struct.clock.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class InvalidDelayTupleSchemeFactory implements SchemeFactory { + public InvalidDelayTupleScheme getScheme() { + return new InvalidDelayTupleScheme(); + } + } + + private static class InvalidDelayTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, InvalidDelay struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetClock()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetClock()) { + struct.clock.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, InvalidDelay struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.clock = new Clock(); + struct.clock.read(iprot); + struct.setClockIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/InvalidPath.java b/eclipse/plugins/fr.laas.libtts/src/tts/InvalidPath.java new file mode 100644 index 0000000..ad4c648 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/InvalidPath.java @@ -0,0 +1,399 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class InvalidPath extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidPath"); + + private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path", org.apache.thrift.protocol.TType.STRING, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new InvalidPathStandardSchemeFactory()); + schemes.put(TupleScheme.class, new InvalidPathTupleSchemeFactory()); + } + + public String path; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + PATH((short)1, "path"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // PATH + return PATH; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InvalidPath.class, metaDataMap); + } + + public InvalidPath() { + } + + public InvalidPath( + String path) + { + this(); + this.path = path; + } + + /** + * Performs a deep copy on other. + */ + public InvalidPath(InvalidPath other) { + if (other.isSetPath()) { + this.path = other.path; + } + } + + public InvalidPath deepCopy() { + return new InvalidPath(this); + } + + @Override + public void clear() { + this.path = null; + } + + public String getPath() { + return this.path; + } + + public InvalidPath setPath(String path) { + this.path = path; + return this; + } + + public void unsetPath() { + this.path = null; + } + + /** Returns true if field path is set (has been assigned a value) and false otherwise */ + public boolean isSetPath() { + return this.path != null; + } + + public void setPathIsSet(boolean value) { + if (!value) { + this.path = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case PATH: + if (value == null) { + unsetPath(); + } else { + setPath((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case PATH: + return getPath(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case PATH: + return isSetPath(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof InvalidPath) + return this.equals((InvalidPath)that); + return false; + } + + public boolean equals(InvalidPath that) { + if (that == null) + return false; + + boolean this_present_path = true && this.isSetPath(); + boolean that_present_path = true && that.isSetPath(); + if (this_present_path || that_present_path) { + if (!(this_present_path && that_present_path)) + return false; + if (!this.path.equals(that.path)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_path = true && (isSetPath()); + list.add(present_path); + if (present_path) + list.add(path); + + return list.hashCode(); + } + + @Override + public int compareTo(InvalidPath other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetPath()).compareTo(other.isSetPath()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPath()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path, other.path); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("InvalidPath("); + boolean first = true; + + sb.append("path:"); + if (this.path == null) { + sb.append("null"); + } else { + sb.append(this.path); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class InvalidPathStandardSchemeFactory implements SchemeFactory { + public InvalidPathStandardScheme getScheme() { + return new InvalidPathStandardScheme(); + } + } + + private static class InvalidPathStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidPath struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.path = iprot.readString(); + struct.setPathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidPath struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.path != null) { + oprot.writeFieldBegin(PATH_FIELD_DESC); + oprot.writeString(struct.path); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class InvalidPathTupleSchemeFactory implements SchemeFactory { + public InvalidPathTupleScheme getScheme() { + return new InvalidPathTupleScheme(); + } + } + + private static class InvalidPathTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, InvalidPath struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetPath()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetPath()) { + oprot.writeString(struct.path); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, InvalidPath struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.path = iprot.readString(); + struct.setPathIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Net.java b/eclipse/plugins/fr.laas.libtts/src/tts/Net.java new file mode 100644 index 0000000..90f9601 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Net.java @@ -0,0 +1,715 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Net implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Net"); + + private static final org.apache.thrift.protocol.TField PLACES_FIELD_DESC = new org.apache.thrift.protocol.TField("places", org.apache.thrift.protocol.TType.LIST, (short)1); + private static final org.apache.thrift.protocol.TField TRANSITIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("transitions", org.apache.thrift.protocol.TType.LIST, (short)2); + private static final org.apache.thrift.protocol.TField TIMED_FIELD_DESC = new org.apache.thrift.protocol.TField("timed", org.apache.thrift.protocol.TType.BOOL, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new NetStandardSchemeFactory()); + schemes.put(TupleScheme.class, new NetTupleSchemeFactory()); + } + + public List places; // required + public List transitions; // required + public boolean timed; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + PLACES((short)1, "places"), + TRANSITIONS((short)2, "transitions"), + TIMED((short)3, "timed"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // PLACES + return PLACES; + case 2: // TRANSITIONS + return TRANSITIONS; + case 3: // TIMED + return TIMED; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __TIMED_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.PLACES, new org.apache.thrift.meta_data.FieldMetaData("places", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Place.class)))); + tmpMap.put(_Fields.TRANSITIONS, new org.apache.thrift.meta_data.FieldMetaData("transitions", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Transition.class)))); + tmpMap.put(_Fields.TIMED, new org.apache.thrift.meta_data.FieldMetaData("timed", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Net.class, metaDataMap); + } + + public Net() { + } + + public Net( + List places, + List transitions, + boolean timed) + { + this(); + this.places = places; + this.transitions = transitions; + this.timed = timed; + setTimedIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public Net(Net other) { + __isset_bitfield = other.__isset_bitfield; + if (other.isSetPlaces()) { + List __this__places = new ArrayList(other.places.size()); + for (Place other_element : other.places) { + __this__places.add(new Place(other_element)); + } + this.places = __this__places; + } + if (other.isSetTransitions()) { + List __this__transitions = new ArrayList(other.transitions.size()); + for (Transition other_element : other.transitions) { + __this__transitions.add(new Transition(other_element)); + } + this.transitions = __this__transitions; + } + this.timed = other.timed; + } + + public Net deepCopy() { + return new Net(this); + } + + @Override + public void clear() { + this.places = null; + this.transitions = null; + setTimedIsSet(false); + this.timed = false; + } + + public int getPlacesSize() { + return (this.places == null) ? 0 : this.places.size(); + } + + public java.util.Iterator getPlacesIterator() { + return (this.places == null) ? null : this.places.iterator(); + } + + public void addToPlaces(Place elem) { + if (this.places == null) { + this.places = new ArrayList(); + } + this.places.add(elem); + } + + public List getPlaces() { + return this.places; + } + + public Net setPlaces(List places) { + this.places = places; + return this; + } + + public void unsetPlaces() { + this.places = null; + } + + /** Returns true if field places is set (has been assigned a value) and false otherwise */ + public boolean isSetPlaces() { + return this.places != null; + } + + public void setPlacesIsSet(boolean value) { + if (!value) { + this.places = null; + } + } + + public int getTransitionsSize() { + return (this.transitions == null) ? 0 : this.transitions.size(); + } + + public java.util.Iterator getTransitionsIterator() { + return (this.transitions == null) ? null : this.transitions.iterator(); + } + + public void addToTransitions(Transition elem) { + if (this.transitions == null) { + this.transitions = new ArrayList(); + } + this.transitions.add(elem); + } + + public List getTransitions() { + return this.transitions; + } + + public Net setTransitions(List transitions) { + this.transitions = transitions; + return this; + } + + public void unsetTransitions() { + this.transitions = null; + } + + /** Returns true if field transitions is set (has been assigned a value) and false otherwise */ + public boolean isSetTransitions() { + return this.transitions != null; + } + + public void setTransitionsIsSet(boolean value) { + if (!value) { + this.transitions = null; + } + } + + public boolean isTimed() { + return this.timed; + } + + public Net setTimed(boolean timed) { + this.timed = timed; + setTimedIsSet(true); + return this; + } + + public void unsetTimed() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMED_ISSET_ID); + } + + /** Returns true if field timed is set (has been assigned a value) and false otherwise */ + public boolean isSetTimed() { + return EncodingUtils.testBit(__isset_bitfield, __TIMED_ISSET_ID); + } + + public void setTimedIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMED_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case PLACES: + if (value == null) { + unsetPlaces(); + } else { + setPlaces((List)value); + } + break; + + case TRANSITIONS: + if (value == null) { + unsetTransitions(); + } else { + setTransitions((List)value); + } + break; + + case TIMED: + if (value == null) { + unsetTimed(); + } else { + setTimed((Boolean)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case PLACES: + return getPlaces(); + + case TRANSITIONS: + return getTransitions(); + + case TIMED: + return Boolean.valueOf(isTimed()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case PLACES: + return isSetPlaces(); + case TRANSITIONS: + return isSetTransitions(); + case TIMED: + return isSetTimed(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Net) + return this.equals((Net)that); + return false; + } + + public boolean equals(Net that) { + if (that == null) + return false; + + boolean this_present_places = true && this.isSetPlaces(); + boolean that_present_places = true && that.isSetPlaces(); + if (this_present_places || that_present_places) { + if (!(this_present_places && that_present_places)) + return false; + if (!this.places.equals(that.places)) + return false; + } + + boolean this_present_transitions = true && this.isSetTransitions(); + boolean that_present_transitions = true && that.isSetTransitions(); + if (this_present_transitions || that_present_transitions) { + if (!(this_present_transitions && that_present_transitions)) + return false; + if (!this.transitions.equals(that.transitions)) + return false; + } + + boolean this_present_timed = true; + boolean that_present_timed = true; + if (this_present_timed || that_present_timed) { + if (!(this_present_timed && that_present_timed)) + return false; + if (this.timed != that.timed) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_places = true && (isSetPlaces()); + list.add(present_places); + if (present_places) + list.add(places); + + boolean present_transitions = true && (isSetTransitions()); + list.add(present_transitions); + if (present_transitions) + list.add(transitions); + + boolean present_timed = true; + list.add(present_timed); + if (present_timed) + list.add(timed); + + return list.hashCode(); + } + + @Override + public int compareTo(Net other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetPlaces()).compareTo(other.isSetPlaces()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPlaces()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.places, other.places); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTransitions()).compareTo(other.isSetTransitions()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTransitions()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transitions, other.transitions); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTimed()).compareTo(other.isSetTimed()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTimed()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timed, other.timed); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Net("); + boolean first = true; + + sb.append("places:"); + if (this.places == null) { + sb.append("null"); + } else { + sb.append(this.places); + } + first = false; + if (!first) sb.append(", "); + sb.append("transitions:"); + if (this.transitions == null) { + sb.append("null"); + } else { + sb.append(this.transitions); + } + first = false; + if (!first) sb.append(", "); + sb.append("timed:"); + sb.append(this.timed); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class NetStandardSchemeFactory implements SchemeFactory { + public NetStandardScheme getScheme() { + return new NetStandardScheme(); + } + } + + private static class NetStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Net struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // PLACES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list18 = iprot.readListBegin(); + struct.places = new ArrayList(_list18.size); + Place _elem19; + for (int _i20 = 0; _i20 < _list18.size; ++_i20) + { + _elem19 = new Place(); + _elem19.read(iprot); + struct.places.add(_elem19); + } + iprot.readListEnd(); + } + struct.setPlacesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TRANSITIONS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(); + struct.transitions = new ArrayList(_list21.size); + Transition _elem22; + for (int _i23 = 0; _i23 < _list21.size; ++_i23) + { + _elem22 = new Transition(); + _elem22.read(iprot); + struct.transitions.add(_elem22); + } + iprot.readListEnd(); + } + struct.setTransitionsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TIMED + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.timed = iprot.readBool(); + struct.setTimedIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Net struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.places != null) { + oprot.writeFieldBegin(PLACES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.places.size())); + for (Place _iter24 : struct.places) + { + _iter24.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.transitions != null) { + oprot.writeFieldBegin(TRANSITIONS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.transitions.size())); + for (Transition _iter25 : struct.transitions) + { + _iter25.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(TIMED_FIELD_DESC); + oprot.writeBool(struct.timed); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class NetTupleSchemeFactory implements SchemeFactory { + public NetTupleScheme getScheme() { + return new NetTupleScheme(); + } + } + + private static class NetTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Net struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetPlaces()) { + optionals.set(0); + } + if (struct.isSetTransitions()) { + optionals.set(1); + } + if (struct.isSetTimed()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetPlaces()) { + { + oprot.writeI32(struct.places.size()); + for (Place _iter26 : struct.places) + { + _iter26.write(oprot); + } + } + } + if (struct.isSetTransitions()) { + { + oprot.writeI32(struct.transitions.size()); + for (Transition _iter27 : struct.transitions) + { + _iter27.write(oprot); + } + } + } + if (struct.isSetTimed()) { + oprot.writeBool(struct.timed); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Net struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list28 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.places = new ArrayList(_list28.size); + Place _elem29; + for (int _i30 = 0; _i30 < _list28.size; ++_i30) + { + _elem29 = new Place(); + _elem29.read(iprot); + struct.places.add(_elem29); + } + } + struct.setPlacesIsSet(true); + } + if (incoming.get(1)) { + { + org.apache.thrift.protocol.TList _list31 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.transitions = new ArrayList(_list31.size); + Transition _elem32; + for (int _i33 = 0; _i33 < _list31.size; ++_i33) + { + _elem32 = new Transition(); + _elem32.read(iprot); + struct.transitions.add(_elem32); + } + } + struct.setTransitionsIsSet(true); + } + if (incoming.get(2)) { + struct.timed = iprot.readBool(); + struct.setTimedIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/NotFireable.java b/eclipse/plugins/fr.laas.libtts/src/tts/NotFireable.java new file mode 100644 index 0000000..89a7fd1 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/NotFireable.java @@ -0,0 +1,398 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class NotFireable extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NotFireable"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new NotFireableStandardSchemeFactory()); + schemes.put(TupleScheme.class, new NotFireableTupleSchemeFactory()); + } + + public long uid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(NotFireable.class, metaDataMap); + } + + public NotFireable() { + } + + public NotFireable( + long uid) + { + this(); + this.uid = uid; + setUidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public NotFireable(NotFireable other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + } + + public NotFireable deepCopy() { + return new NotFireable(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + } + + public long getUid() { + return this.uid; + } + + public NotFireable setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof NotFireable) + return this.equals((NotFireable)that); + return false; + } + + public boolean equals(NotFireable that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + return list.hashCode(); + } + + @Override + public int compareTo(NotFireable other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("NotFireable("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class NotFireableStandardSchemeFactory implements SchemeFactory { + public NotFireableStandardScheme getScheme() { + return new NotFireableStandardScheme(); + } + } + + private static class NotFireableStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, NotFireable struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, NotFireable struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class NotFireableTupleSchemeFactory implements SchemeFactory { + public NotFireableTupleScheme getScheme() { + return new NotFireableTupleScheme(); + } + } + + private static class NotFireableTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, NotFireable struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUid()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetUid()) { + oprot.writeI64(struct.uid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, NotFireable struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Place.java b/eclipse/plugins/fr.laas.libtts/src/tts/Place.java new file mode 100644 index 0000000..faedd3b --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Place.java @@ -0,0 +1,587 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Place implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Place"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField INITIAL_MARKING_FIELD_DESC = new org.apache.thrift.protocol.TField("initial_marking", org.apache.thrift.protocol.TType.I16, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new PlaceStandardSchemeFactory()); + schemes.put(TupleScheme.class, new PlaceTupleSchemeFactory()); + } + + public long uid; // required + public String name; // required + public short initial_marking; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"), + NAME((short)2, "name"), + INITIAL_MARKING((short)3, "initial_marking"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + case 2: // NAME + return NAME; + case 3: // INITIAL_MARKING + return INITIAL_MARKING; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private static final int __INITIAL_MARKING_ISSET_ID = 1; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "place_id"))); + tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.INITIAL_MARKING, new org.apache.thrift.meta_data.FieldMetaData("initial_marking", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I16))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Place.class, metaDataMap); + } + + public Place() { + } + + public Place( + long uid, + String name, + short initial_marking) + { + this(); + this.uid = uid; + setUidIsSet(true); + this.name = name; + this.initial_marking = initial_marking; + setInitial_markingIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public Place(Place other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + if (other.isSetName()) { + this.name = other.name; + } + this.initial_marking = other.initial_marking; + } + + public Place deepCopy() { + return new Place(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + this.name = null; + setInitial_markingIsSet(false); + this.initial_marking = 0; + } + + public long getUid() { + return this.uid; + } + + public Place setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public String getName() { + return this.name; + } + + public Place setName(String name) { + this.name = name; + return this; + } + + public void unsetName() { + this.name = null; + } + + /** Returns true if field name is set (has been assigned a value) and false otherwise */ + public boolean isSetName() { + return this.name != null; + } + + public void setNameIsSet(boolean value) { + if (!value) { + this.name = null; + } + } + + public short getInitial_marking() { + return this.initial_marking; + } + + public Place setInitial_marking(short initial_marking) { + this.initial_marking = initial_marking; + setInitial_markingIsSet(true); + return this; + } + + public void unsetInitial_marking() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INITIAL_MARKING_ISSET_ID); + } + + /** Returns true if field initial_marking is set (has been assigned a value) and false otherwise */ + public boolean isSetInitial_marking() { + return EncodingUtils.testBit(__isset_bitfield, __INITIAL_MARKING_ISSET_ID); + } + + public void setInitial_markingIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INITIAL_MARKING_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + case NAME: + if (value == null) { + unsetName(); + } else { + setName((String)value); + } + break; + + case INITIAL_MARKING: + if (value == null) { + unsetInitial_marking(); + } else { + setInitial_marking((Short)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + case NAME: + return getName(); + + case INITIAL_MARKING: + return Short.valueOf(getInitial_marking()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + case NAME: + return isSetName(); + case INITIAL_MARKING: + return isSetInitial_marking(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Place) + return this.equals((Place)that); + return false; + } + + public boolean equals(Place that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + boolean this_present_name = true && this.isSetName(); + boolean that_present_name = true && that.isSetName(); + if (this_present_name || that_present_name) { + if (!(this_present_name && that_present_name)) + return false; + if (!this.name.equals(that.name)) + return false; + } + + boolean this_present_initial_marking = true; + boolean that_present_initial_marking = true; + if (this_present_initial_marking || that_present_initial_marking) { + if (!(this_present_initial_marking && that_present_initial_marking)) + return false; + if (this.initial_marking != that.initial_marking) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + boolean present_name = true && (isSetName()); + list.add(present_name); + if (present_name) + list.add(name); + + boolean present_initial_marking = true; + list.add(present_initial_marking); + if (present_initial_marking) + list.add(initial_marking); + + return list.hashCode(); + } + + @Override + public int compareTo(Place other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetInitial_marking()).compareTo(other.isSetInitial_marking()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetInitial_marking()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.initial_marking, other.initial_marking); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Place("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + if (!first) sb.append(", "); + sb.append("name:"); + if (this.name == null) { + sb.append("null"); + } else { + sb.append(this.name); + } + first = false; + if (!first) sb.append(", "); + sb.append("initial_marking:"); + sb.append(this.initial_marking); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // alas, we cannot check 'uid' because it's a primitive and you chose the non-beans generator. + if (name == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString()); + } + // alas, we cannot check 'initial_marking' because it's a primitive and you chose the non-beans generator. + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class PlaceStandardSchemeFactory implements SchemeFactory { + public PlaceStandardScheme getScheme() { + return new PlaceStandardScheme(); + } + } + + private static class PlaceStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Place struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readString(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // INITIAL_MARKING + if (schemeField.type == org.apache.thrift.protocol.TType.I16) { + struct.initial_marking = iprot.readI16(); + struct.setInitial_markingIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetUid()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'uid' was not found in serialized data! Struct: " + toString()); + } + if (!struct.isSetInitial_marking()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'initial_marking' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Place struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeString(struct.name); + oprot.writeFieldEnd(); + } + oprot.writeFieldBegin(INITIAL_MARKING_FIELD_DESC); + oprot.writeI16(struct.initial_marking); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class PlaceTupleSchemeFactory implements SchemeFactory { + public PlaceTupleScheme getScheme() { + return new PlaceTupleScheme(); + } + } + + private static class PlaceTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Place struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI64(struct.uid); + oprot.writeString(struct.name); + oprot.writeI16(struct.initial_marking); + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Place struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + struct.name = iprot.readString(); + struct.setNameIsSet(true); + struct.initial_marking = iprot.readI16(); + struct.setInitial_markingIsSet(true); + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/StateNotFound.java b/eclipse/plugins/fr.laas.libtts/src/tts/StateNotFound.java new file mode 100644 index 0000000..1009597 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/StateNotFound.java @@ -0,0 +1,398 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class StateNotFound extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StateNotFound"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new StateNotFoundStandardSchemeFactory()); + schemes.put(TupleScheme.class, new StateNotFoundTupleSchemeFactory()); + } + + public long uid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StateNotFound.class, metaDataMap); + } + + public StateNotFound() { + } + + public StateNotFound( + long uid) + { + this(); + this.uid = uid; + setUidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public StateNotFound(StateNotFound other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + } + + public StateNotFound deepCopy() { + return new StateNotFound(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + } + + public long getUid() { + return this.uid; + } + + public StateNotFound setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof StateNotFound) + return this.equals((StateNotFound)that); + return false; + } + + public boolean equals(StateNotFound that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + return list.hashCode(); + } + + @Override + public int compareTo(StateNotFound other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("StateNotFound("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class StateNotFoundStandardSchemeFactory implements SchemeFactory { + public StateNotFoundStandardScheme getScheme() { + return new StateNotFoundStandardScheme(); + } + } + + private static class StateNotFoundStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, StateNotFound struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, StateNotFound struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class StateNotFoundTupleSchemeFactory implements SchemeFactory { + public StateNotFoundTupleScheme getScheme() { + return new StateNotFoundTupleScheme(); + } + } + + private static class StateNotFoundTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, StateNotFound struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUid()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetUid()) { + oprot.writeI64(struct.uid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, StateNotFound struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/TTS.java b/eclipse/plugins/fr.laas.libtts/src/tts/TTS.java new file mode 100644 index 0000000..5bd70dc --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/TTS.java @@ -0,0 +1,12867 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint ExupĂ©ry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class TTS { + + public interface Iface { + + public Net load_local(String path) throws Error, InvalidPath, org.apache.thrift.TException; + + public TTSState initial_state() throws Error, org.apache.thrift.TException; + + public boolean is_enabled(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException; + + public List enabled(long sid) throws Error, StateNotFound, org.apache.thrift.TException; + + public boolean is_fireable(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException; + + public List fireable(long sid) throws Error, StateNotFound, org.apache.thrift.TException; + + public TTSState fire(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, NotFireable, org.apache.thrift.TException; + + public boolean can_advance_time(long sid, Clock delay) throws Error, StateNotFound, org.apache.thrift.TException; + + public TTSState advance_time(long sid, Clock delay) throws Error, StateNotFound, InvalidDelay, org.apache.thrift.TException; + + public void discard(List sids) throws org.apache.thrift.TException; + + public void discard_all_except(List sids) throws org.apache.thrift.TException; + + public void shutdown() throws org.apache.thrift.TException; + + } + + public interface AsyncIface { + + public void load_local(String path, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void initial_state(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void is_enabled(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void enabled(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void is_fireable(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void fireable(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void fire(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void can_advance_time(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void advance_time(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void discard(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void discard_all_except(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + public void shutdown(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + + } + + public static class Client extends org.apache.thrift.TServiceClient implements Iface { + public static class Factory implements org.apache.thrift.TServiceClientFactory { + public Factory() {} + public Client getClient(org.apache.thrift.protocol.TProtocol prot) { + return new Client(prot); + } + public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) { + return new Client(iprot, oprot); + } + } + + public Client(org.apache.thrift.protocol.TProtocol prot) + { + super(prot, prot); + } + + public Client(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) { + super(iprot, oprot); + } + + public Net load_local(String path) throws Error, InvalidPath, org.apache.thrift.TException + { + send_load_local(path); + return recv_load_local(); + } + + public void send_load_local(String path) throws org.apache.thrift.TException + { + load_local_args args = new load_local_args(); + args.setPath(path); + sendBase("load_local", args); + } + + public Net recv_load_local() throws Error, InvalidPath, org.apache.thrift.TException + { + load_local_result result = new load_local_result(); + receiveBase(result, "load_local"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.path_error != null) { + throw result.path_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "load_local failed: unknown result"); + } + + public TTSState initial_state() throws Error, org.apache.thrift.TException + { + send_initial_state(); + return recv_initial_state(); + } + + public void send_initial_state() throws org.apache.thrift.TException + { + initial_state_args args = new initial_state_args(); + sendBase("initial_state", args); + } + + public TTSState recv_initial_state() throws Error, org.apache.thrift.TException + { + initial_state_result result = new initial_state_result(); + receiveBase(result, "initial_state"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "initial_state failed: unknown result"); + } + + public boolean is_enabled(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException + { + send_is_enabled(sid, tid); + return recv_is_enabled(); + } + + public void send_is_enabled(long sid, long tid) throws org.apache.thrift.TException + { + is_enabled_args args = new is_enabled_args(); + args.setSid(sid); + args.setTid(tid); + sendBase("is_enabled", args); + } + + public boolean recv_is_enabled() throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException + { + is_enabled_result result = new is_enabled_result(); + receiveBase(result, "is_enabled"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + if (result.transition_error != null) { + throw result.transition_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "is_enabled failed: unknown result"); + } + + public List enabled(long sid) throws Error, StateNotFound, org.apache.thrift.TException + { + send_enabled(sid); + return recv_enabled(); + } + + public void send_enabled(long sid) throws org.apache.thrift.TException + { + enabled_args args = new enabled_args(); + args.setSid(sid); + sendBase("enabled", args); + } + + public List recv_enabled() throws Error, StateNotFound, org.apache.thrift.TException + { + enabled_result result = new enabled_result(); + receiveBase(result, "enabled"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "enabled failed: unknown result"); + } + + public boolean is_fireable(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException + { + send_is_fireable(sid, tid); + return recv_is_fireable(); + } + + public void send_is_fireable(long sid, long tid) throws org.apache.thrift.TException + { + is_fireable_args args = new is_fireable_args(); + args.setSid(sid); + args.setTid(tid); + sendBase("is_fireable", args); + } + + public boolean recv_is_fireable() throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException + { + is_fireable_result result = new is_fireable_result(); + receiveBase(result, "is_fireable"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + if (result.transition_error != null) { + throw result.transition_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "is_fireable failed: unknown result"); + } + + public List fireable(long sid) throws Error, StateNotFound, org.apache.thrift.TException + { + send_fireable(sid); + return recv_fireable(); + } + + public void send_fireable(long sid) throws org.apache.thrift.TException + { + fireable_args args = new fireable_args(); + args.setSid(sid); + sendBase("fireable", args); + } + + public List recv_fireable() throws Error, StateNotFound, org.apache.thrift.TException + { + fireable_result result = new fireable_result(); + receiveBase(result, "fireable"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.s_error != null) { + throw result.s_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "fireable failed: unknown result"); + } + + public TTSState fire(long sid, long tid) throws Error, StateNotFound, TransitionNotFound, NotFireable, org.apache.thrift.TException + { + send_fire(sid, tid); + return recv_fire(); + } + + public void send_fire(long sid, long tid) throws org.apache.thrift.TException + { + fire_args args = new fire_args(); + args.setSid(sid); + args.setTid(tid); + sendBase("fire", args); + } + + public TTSState recv_fire() throws Error, StateNotFound, TransitionNotFound, NotFireable, org.apache.thrift.TException + { + fire_result result = new fire_result(); + receiveBase(result, "fire"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + if (result.transition_error != null) { + throw result.transition_error; + } + if (result.fireable_error != null) { + throw result.fireable_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "fire failed: unknown result"); + } + + public boolean can_advance_time(long sid, Clock delay) throws Error, StateNotFound, org.apache.thrift.TException + { + send_can_advance_time(sid, delay); + return recv_can_advance_time(); + } + + public void send_can_advance_time(long sid, Clock delay) throws org.apache.thrift.TException + { + can_advance_time_args args = new can_advance_time_args(); + args.setSid(sid); + args.setDelay(delay); + sendBase("can_advance_time", args); + } + + public boolean recv_can_advance_time() throws Error, StateNotFound, org.apache.thrift.TException + { + can_advance_time_result result = new can_advance_time_result(); + receiveBase(result, "can_advance_time"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "can_advance_time failed: unknown result"); + } + + public TTSState advance_time(long sid, Clock delay) throws Error, StateNotFound, InvalidDelay, org.apache.thrift.TException + { + send_advance_time(sid, delay); + return recv_advance_time(); + } + + public void send_advance_time(long sid, Clock delay) throws org.apache.thrift.TException + { + advance_time_args args = new advance_time_args(); + args.setSid(sid); + args.setDelay(delay); + sendBase("advance_time", args); + } + + public TTSState recv_advance_time() throws Error, StateNotFound, InvalidDelay, org.apache.thrift.TException + { + advance_time_result result = new advance_time_result(); + receiveBase(result, "advance_time"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.error != null) { + throw result.error; + } + if (result.state_error != null) { + throw result.state_error; + } + if (result.delay_error != null) { + throw result.delay_error; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "advance_time failed: unknown result"); + } + + public void discard(List sids) throws org.apache.thrift.TException + { + send_discard(sids); + recv_discard(); + } + + public void send_discard(List sids) throws org.apache.thrift.TException + { + discard_args args = new discard_args(); + args.setSids(sids); + sendBase("discard", args); + } + + public void recv_discard() throws org.apache.thrift.TException + { + discard_result result = new discard_result(); + receiveBase(result, "discard"); + return; + } + + public void discard_all_except(List sids) throws org.apache.thrift.TException + { + send_discard_all_except(sids); + recv_discard_all_except(); + } + + public void send_discard_all_except(List sids) throws org.apache.thrift.TException + { + discard_all_except_args args = new discard_all_except_args(); + args.setSids(sids); + sendBase("discard_all_except", args); + } + + public void recv_discard_all_except() throws org.apache.thrift.TException + { + discard_all_except_result result = new discard_all_except_result(); + receiveBase(result, "discard_all_except"); + return; + } + + public void shutdown() throws org.apache.thrift.TException + { + send_shutdown(); + } + + public void send_shutdown() throws org.apache.thrift.TException + { + shutdown_args args = new shutdown_args(); + sendBase("shutdown", args); + } + + } + public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface { + public static class Factory implements org.apache.thrift.async.TAsyncClientFactory { + private org.apache.thrift.async.TAsyncClientManager clientManager; + private org.apache.thrift.protocol.TProtocolFactory protocolFactory; + public Factory(org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.protocol.TProtocolFactory protocolFactory) { + this.clientManager = clientManager; + this.protocolFactory = protocolFactory; + } + public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) { + return new AsyncClient(protocolFactory, clientManager, transport); + } + } + + public AsyncClient(org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.async.TAsyncClientManager clientManager, org.apache.thrift.transport.TNonblockingTransport transport) { + super(protocolFactory, clientManager, transport); + } + + public void load_local(String path, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + load_local_call method_call = new load_local_call(path, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class load_local_call extends org.apache.thrift.async.TAsyncMethodCall { + private String path; + public load_local_call(String path, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.path = path; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("load_local", org.apache.thrift.protocol.TMessageType.CALL, 0)); + load_local_args args = new load_local_args(); + args.setPath(path); + args.write(prot); + prot.writeMessageEnd(); + } + + public Net getResult() throws Error, InvalidPath, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_load_local(); + } + } + + public void initial_state(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + initial_state_call method_call = new initial_state_call(resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class initial_state_call extends org.apache.thrift.async.TAsyncMethodCall { + public initial_state_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("initial_state", org.apache.thrift.protocol.TMessageType.CALL, 0)); + initial_state_args args = new initial_state_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public TTSState getResult() throws Error, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_initial_state(); + } + } + + public void is_enabled(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + is_enabled_call method_call = new is_enabled_call(sid, tid, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class is_enabled_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + private long tid; + public is_enabled_call(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + this.tid = tid; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("is_enabled", org.apache.thrift.protocol.TMessageType.CALL, 0)); + is_enabled_args args = new is_enabled_args(); + args.setSid(sid); + args.setTid(tid); + args.write(prot); + prot.writeMessageEnd(); + } + + public boolean getResult() throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_is_enabled(); + } + } + + public void enabled(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + enabled_call method_call = new enabled_call(sid, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class enabled_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + public enabled_call(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("enabled", org.apache.thrift.protocol.TMessageType.CALL, 0)); + enabled_args args = new enabled_args(); + args.setSid(sid); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws Error, StateNotFound, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_enabled(); + } + } + + public void is_fireable(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + is_fireable_call method_call = new is_fireable_call(sid, tid, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class is_fireable_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + private long tid; + public is_fireable_call(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + this.tid = tid; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("is_fireable", org.apache.thrift.protocol.TMessageType.CALL, 0)); + is_fireable_args args = new is_fireable_args(); + args.setSid(sid); + args.setTid(tid); + args.write(prot); + prot.writeMessageEnd(); + } + + public boolean getResult() throws Error, StateNotFound, TransitionNotFound, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_is_fireable(); + } + } + + public void fireable(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + fireable_call method_call = new fireable_call(sid, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class fireable_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + public fireable_call(long sid, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("fireable", org.apache.thrift.protocol.TMessageType.CALL, 0)); + fireable_args args = new fireable_args(); + args.setSid(sid); + args.write(prot); + prot.writeMessageEnd(); + } + + public List getResult() throws Error, StateNotFound, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_fireable(); + } + } + + public void fire(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + fire_call method_call = new fire_call(sid, tid, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class fire_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + private long tid; + public fire_call(long sid, long tid, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + this.tid = tid; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("fire", org.apache.thrift.protocol.TMessageType.CALL, 0)); + fire_args args = new fire_args(); + args.setSid(sid); + args.setTid(tid); + args.write(prot); + prot.writeMessageEnd(); + } + + public TTSState getResult() throws Error, StateNotFound, TransitionNotFound, NotFireable, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_fire(); + } + } + + public void can_advance_time(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + can_advance_time_call method_call = new can_advance_time_call(sid, delay, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class can_advance_time_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + private Clock delay; + public can_advance_time_call(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + this.delay = delay; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("can_advance_time", org.apache.thrift.protocol.TMessageType.CALL, 0)); + can_advance_time_args args = new can_advance_time_args(); + args.setSid(sid); + args.setDelay(delay); + args.write(prot); + prot.writeMessageEnd(); + } + + public boolean getResult() throws Error, StateNotFound, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_can_advance_time(); + } + } + + public void advance_time(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + advance_time_call method_call = new advance_time_call(sid, delay, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class advance_time_call extends org.apache.thrift.async.TAsyncMethodCall { + private long sid; + private Clock delay; + public advance_time_call(long sid, Clock delay, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sid = sid; + this.delay = delay; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("advance_time", org.apache.thrift.protocol.TMessageType.CALL, 0)); + advance_time_args args = new advance_time_args(); + args.setSid(sid); + args.setDelay(delay); + args.write(prot); + prot.writeMessageEnd(); + } + + public TTSState getResult() throws Error, StateNotFound, InvalidDelay, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_advance_time(); + } + } + + public void discard(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + discard_call method_call = new discard_call(sids, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class discard_call extends org.apache.thrift.async.TAsyncMethodCall { + private List sids; + public discard_call(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sids = sids; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("discard", org.apache.thrift.protocol.TMessageType.CALL, 0)); + discard_args args = new discard_args(); + args.setSids(sids); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_discard(); + } + } + + public void discard_all_except(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + discard_all_except_call method_call = new discard_all_except_call(sids, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class discard_all_except_call extends org.apache.thrift.async.TAsyncMethodCall { + private List sids; + public discard_all_except_call(List sids, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.sids = sids; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("discard_all_except", org.apache.thrift.protocol.TMessageType.CALL, 0)); + discard_all_except_args args = new discard_all_except_args(); + args.setSids(sids); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + (new Client(prot)).recv_discard_all_except(); + } + } + + public void shutdown(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + shutdown_call method_call = new shutdown_call(resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class shutdown_call extends org.apache.thrift.async.TAsyncMethodCall { + public shutdown_call(org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, true); + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shutdown", org.apache.thrift.protocol.TMessageType.ONEWAY, 0)); + shutdown_args args = new shutdown_args(); + args.write(prot); + prot.writeMessageEnd(); + } + + public void getResult() throws org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + } + } + + } + + public static class Processor extends org.apache.thrift.TBaseProcessor implements org.apache.thrift.TProcessor { + private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName()); + public Processor(I iface) { + super(iface, getProcessMap(new HashMap>())); + } + + protected Processor(I iface, Map> processMap) { + super(iface, getProcessMap(processMap)); + } + + private static Map> getProcessMap(Map> processMap) { + processMap.put("load_local", new load_local()); + processMap.put("initial_state", new initial_state()); + processMap.put("is_enabled", new is_enabled()); + processMap.put("enabled", new enabled()); + processMap.put("is_fireable", new is_fireable()); + processMap.put("fireable", new fireable()); + processMap.put("fire", new fire()); + processMap.put("can_advance_time", new can_advance_time()); + processMap.put("advance_time", new advance_time()); + processMap.put("discard", new discard()); + processMap.put("discard_all_except", new discard_all_except()); + processMap.put("shutdown", new shutdown()); + return processMap; + } + + public static class load_local extends org.apache.thrift.ProcessFunction { + public load_local() { + super("load_local"); + } + + public load_local_args getEmptyArgsInstance() { + return new load_local_args(); + } + + protected boolean isOneway() { + return false; + } + + public load_local_result getResult(I iface, load_local_args args) throws org.apache.thrift.TException { + load_local_result result = new load_local_result(); + try { + result.success = iface.load_local(args.path); + } catch (Error error) { + result.error = error; + } catch (InvalidPath path_error) { + result.path_error = path_error; + } + return result; + } + } + + public static class initial_state extends org.apache.thrift.ProcessFunction { + public initial_state() { + super("initial_state"); + } + + public initial_state_args getEmptyArgsInstance() { + return new initial_state_args(); + } + + protected boolean isOneway() { + return false; + } + + public initial_state_result getResult(I iface, initial_state_args args) throws org.apache.thrift.TException { + initial_state_result result = new initial_state_result(); + try { + result.success = iface.initial_state(); + } catch (Error error) { + result.error = error; + } + return result; + } + } + + public static class is_enabled extends org.apache.thrift.ProcessFunction { + public is_enabled() { + super("is_enabled"); + } + + public is_enabled_args getEmptyArgsInstance() { + return new is_enabled_args(); + } + + protected boolean isOneway() { + return false; + } + + public is_enabled_result getResult(I iface, is_enabled_args args) throws org.apache.thrift.TException { + is_enabled_result result = new is_enabled_result(); + try { + result.success = iface.is_enabled(args.sid, args.tid); + result.setSuccessIsSet(true); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } catch (TransitionNotFound transition_error) { + result.transition_error = transition_error; + } + return result; + } + } + + public static class enabled extends org.apache.thrift.ProcessFunction { + public enabled() { + super("enabled"); + } + + public enabled_args getEmptyArgsInstance() { + return new enabled_args(); + } + + protected boolean isOneway() { + return false; + } + + public enabled_result getResult(I iface, enabled_args args) throws org.apache.thrift.TException { + enabled_result result = new enabled_result(); + try { + result.success = iface.enabled(args.sid); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } + return result; + } + } + + public static class is_fireable extends org.apache.thrift.ProcessFunction { + public is_fireable() { + super("is_fireable"); + } + + public is_fireable_args getEmptyArgsInstance() { + return new is_fireable_args(); + } + + protected boolean isOneway() { + return false; + } + + public is_fireable_result getResult(I iface, is_fireable_args args) throws org.apache.thrift.TException { + is_fireable_result result = new is_fireable_result(); + try { + result.success = iface.is_fireable(args.sid, args.tid); + result.setSuccessIsSet(true); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } catch (TransitionNotFound transition_error) { + result.transition_error = transition_error; + } + return result; + } + } + + public static class fireable extends org.apache.thrift.ProcessFunction { + public fireable() { + super("fireable"); + } + + public fireable_args getEmptyArgsInstance() { + return new fireable_args(); + } + + protected boolean isOneway() { + return false; + } + + public fireable_result getResult(I iface, fireable_args args) throws org.apache.thrift.TException { + fireable_result result = new fireable_result(); + try { + result.success = iface.fireable(args.sid); + } catch (Error error) { + result.error = error; + } catch (StateNotFound s_error) { + result.s_error = s_error; + } + return result; + } + } + + public static class fire extends org.apache.thrift.ProcessFunction { + public fire() { + super("fire"); + } + + public fire_args getEmptyArgsInstance() { + return new fire_args(); + } + + protected boolean isOneway() { + return false; + } + + public fire_result getResult(I iface, fire_args args) throws org.apache.thrift.TException { + fire_result result = new fire_result(); + try { + result.success = iface.fire(args.sid, args.tid); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } catch (TransitionNotFound transition_error) { + result.transition_error = transition_error; + } catch (NotFireable fireable_error) { + result.fireable_error = fireable_error; + } + return result; + } + } + + public static class can_advance_time extends org.apache.thrift.ProcessFunction { + public can_advance_time() { + super("can_advance_time"); + } + + public can_advance_time_args getEmptyArgsInstance() { + return new can_advance_time_args(); + } + + protected boolean isOneway() { + return false; + } + + public can_advance_time_result getResult(I iface, can_advance_time_args args) throws org.apache.thrift.TException { + can_advance_time_result result = new can_advance_time_result(); + try { + result.success = iface.can_advance_time(args.sid, args.delay); + result.setSuccessIsSet(true); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } + return result; + } + } + + public static class advance_time extends org.apache.thrift.ProcessFunction { + public advance_time() { + super("advance_time"); + } + + public advance_time_args getEmptyArgsInstance() { + return new advance_time_args(); + } + + protected boolean isOneway() { + return false; + } + + public advance_time_result getResult(I iface, advance_time_args args) throws org.apache.thrift.TException { + advance_time_result result = new advance_time_result(); + try { + result.success = iface.advance_time(args.sid, args.delay); + } catch (Error error) { + result.error = error; + } catch (StateNotFound state_error) { + result.state_error = state_error; + } catch (InvalidDelay delay_error) { + result.delay_error = delay_error; + } + return result; + } + } + + public static class discard extends org.apache.thrift.ProcessFunction { + public discard() { + super("discard"); + } + + public discard_args getEmptyArgsInstance() { + return new discard_args(); + } + + protected boolean isOneway() { + return false; + } + + public discard_result getResult(I iface, discard_args args) throws org.apache.thrift.TException { + discard_result result = new discard_result(); + iface.discard(args.sids); + return result; + } + } + + public static class discard_all_except extends org.apache.thrift.ProcessFunction { + public discard_all_except() { + super("discard_all_except"); + } + + public discard_all_except_args getEmptyArgsInstance() { + return new discard_all_except_args(); + } + + protected boolean isOneway() { + return false; + } + + public discard_all_except_result getResult(I iface, discard_all_except_args args) throws org.apache.thrift.TException { + discard_all_except_result result = new discard_all_except_result(); + iface.discard_all_except(args.sids); + return result; + } + } + + public static class shutdown extends org.apache.thrift.ProcessFunction { + public shutdown() { + super("shutdown"); + } + + public shutdown_args getEmptyArgsInstance() { + return new shutdown_args(); + } + + protected boolean isOneway() { + return true; + } + + public org.apache.thrift.TBase getResult(I iface, shutdown_args args) throws org.apache.thrift.TException { + iface.shutdown(); + return null; + } + } + + } + + public static class AsyncProcessor extends org.apache.thrift.TBaseAsyncProcessor { + private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName()); + public AsyncProcessor(I iface) { + super(iface, getProcessMap(new HashMap>())); + } + + protected AsyncProcessor(I iface, Map> processMap) { + super(iface, getProcessMap(processMap)); + } + + private static Map> getProcessMap(Map> processMap) { + processMap.put("load_local", new load_local()); + processMap.put("initial_state", new initial_state()); + processMap.put("is_enabled", new is_enabled()); + processMap.put("enabled", new enabled()); + processMap.put("is_fireable", new is_fireable()); + processMap.put("fireable", new fireable()); + processMap.put("fire", new fire()); + processMap.put("can_advance_time", new can_advance_time()); + processMap.put("advance_time", new advance_time()); + processMap.put("discard", new discard()); + processMap.put("discard_all_except", new discard_all_except()); + processMap.put("shutdown", new shutdown()); + return processMap; + } + + public static class load_local extends org.apache.thrift.AsyncProcessFunction { + public load_local() { + super("load_local"); + } + + public load_local_args getEmptyArgsInstance() { + return new load_local_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Net o) { + load_local_result result = new load_local_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + load_local_result result = new load_local_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof InvalidPath) { + result.path_error = (InvalidPath) e; + result.setPath_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, load_local_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.load_local(args.path,resultHandler); + } + } + + public static class initial_state extends org.apache.thrift.AsyncProcessFunction { + public initial_state() { + super("initial_state"); + } + + public initial_state_args getEmptyArgsInstance() { + return new initial_state_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(TTSState o) { + initial_state_result result = new initial_state_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + initial_state_result result = new initial_state_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, initial_state_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.initial_state(resultHandler); + } + } + + public static class is_enabled extends org.apache.thrift.AsyncProcessFunction { + public is_enabled() { + super("is_enabled"); + } + + public is_enabled_args getEmptyArgsInstance() { + return new is_enabled_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Boolean o) { + is_enabled_result result = new is_enabled_result(); + result.success = o; + result.setSuccessIsSet(true); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + is_enabled_result result = new is_enabled_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else if (e instanceof TransitionNotFound) { + result.transition_error = (TransitionNotFound) e; + result.setTransition_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, is_enabled_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.is_enabled(args.sid, args.tid,resultHandler); + } + } + + public static class enabled extends org.apache.thrift.AsyncProcessFunction> { + public enabled() { + super("enabled"); + } + + public enabled_args getEmptyArgsInstance() { + return new enabled_args(); + } + + public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback>() { + public void onComplete(List o) { + enabled_result result = new enabled_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + enabled_result result = new enabled_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, enabled_args args, org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws TException { + iface.enabled(args.sid,resultHandler); + } + } + + public static class is_fireable extends org.apache.thrift.AsyncProcessFunction { + public is_fireable() { + super("is_fireable"); + } + + public is_fireable_args getEmptyArgsInstance() { + return new is_fireable_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Boolean o) { + is_fireable_result result = new is_fireable_result(); + result.success = o; + result.setSuccessIsSet(true); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + is_fireable_result result = new is_fireable_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else if (e instanceof TransitionNotFound) { + result.transition_error = (TransitionNotFound) e; + result.setTransition_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, is_fireable_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.is_fireable(args.sid, args.tid,resultHandler); + } + } + + public static class fireable extends org.apache.thrift.AsyncProcessFunction> { + public fireable() { + super("fireable"); + } + + public fireable_args getEmptyArgsInstance() { + return new fireable_args(); + } + + public AsyncMethodCallback> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback>() { + public void onComplete(List o) { + fireable_result result = new fireable_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + fireable_result result = new fireable_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.s_error = (StateNotFound) e; + result.setS_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, fireable_args args, org.apache.thrift.async.AsyncMethodCallback> resultHandler) throws TException { + iface.fireable(args.sid,resultHandler); + } + } + + public static class fire extends org.apache.thrift.AsyncProcessFunction { + public fire() { + super("fire"); + } + + public fire_args getEmptyArgsInstance() { + return new fire_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(TTSState o) { + fire_result result = new fire_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + fire_result result = new fire_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else if (e instanceof TransitionNotFound) { + result.transition_error = (TransitionNotFound) e; + result.setTransition_errorIsSet(true); + msg = result; + } + else if (e instanceof NotFireable) { + result.fireable_error = (NotFireable) e; + result.setFireable_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, fire_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.fire(args.sid, args.tid,resultHandler); + } + } + + public static class can_advance_time extends org.apache.thrift.AsyncProcessFunction { + public can_advance_time() { + super("can_advance_time"); + } + + public can_advance_time_args getEmptyArgsInstance() { + return new can_advance_time_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Boolean o) { + can_advance_time_result result = new can_advance_time_result(); + result.success = o; + result.setSuccessIsSet(true); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + can_advance_time_result result = new can_advance_time_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, can_advance_time_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.can_advance_time(args.sid, args.delay,resultHandler); + } + } + + public static class advance_time extends org.apache.thrift.AsyncProcessFunction { + public advance_time() { + super("advance_time"); + } + + public advance_time_args getEmptyArgsInstance() { + return new advance_time_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(TTSState o) { + advance_time_result result = new advance_time_result(); + result.success = o; + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + advance_time_result result = new advance_time_result(); + if (e instanceof Error) { + result.error = (Error) e; + result.setErrorIsSet(true); + msg = result; + } + else if (e instanceof StateNotFound) { + result.state_error = (StateNotFound) e; + result.setState_errorIsSet(true); + msg = result; + } + else if (e instanceof InvalidDelay) { + result.delay_error = (InvalidDelay) e; + result.setDelay_errorIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, advance_time_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.advance_time(args.sid, args.delay,resultHandler); + } + } + + public static class discard extends org.apache.thrift.AsyncProcessFunction { + public discard() { + super("discard"); + } + + public discard_args getEmptyArgsInstance() { + return new discard_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Void o) { + discard_result result = new discard_result(); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + discard_result result = new discard_result(); + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, discard_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.discard(args.sids,resultHandler); + } + } + + public static class discard_all_except extends org.apache.thrift.AsyncProcessFunction { + public discard_all_except() { + super("discard_all_except"); + } + + public discard_all_except_args getEmptyArgsInstance() { + return new discard_all_except_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Void o) { + discard_all_except_result result = new discard_all_except_result(); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + discard_all_except_result result = new discard_all_except_result(); + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, discard_all_except_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.discard_all_except(args.sids,resultHandler); + } + } + + public static class shutdown extends org.apache.thrift.AsyncProcessFunction { + public shutdown() { + super("shutdown"); + } + + public shutdown_args getEmptyArgsInstance() { + return new shutdown_args(); + } + + public AsyncMethodCallback getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback() { + public void onComplete(Void o) { + } + public void onError(Exception e) { + } + }; + } + + protected boolean isOneway() { + return true; + } + + public void start(I iface, shutdown_args args, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws TException { + iface.shutdown(resultHandler); + } + } + + } + + public static class load_local_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("load_local_args"); + + private static final org.apache.thrift.protocol.TField PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("path", org.apache.thrift.protocol.TType.STRING, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new load_local_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new load_local_argsTupleSchemeFactory()); + } + + public String path; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + PATH((short)1, "path"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // PATH + return PATH; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.PATH, new org.apache.thrift.meta_data.FieldMetaData("path", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(load_local_args.class, metaDataMap); + } + + public load_local_args() { + } + + public load_local_args( + String path) + { + this(); + this.path = path; + } + + /** + * Performs a deep copy on other. + */ + public load_local_args(load_local_args other) { + if (other.isSetPath()) { + this.path = other.path; + } + } + + public load_local_args deepCopy() { + return new load_local_args(this); + } + + @Override + public void clear() { + this.path = null; + } + + public String getPath() { + return this.path; + } + + public load_local_args setPath(String path) { + this.path = path; + return this; + } + + public void unsetPath() { + this.path = null; + } + + /** Returns true if field path is set (has been assigned a value) and false otherwise */ + public boolean isSetPath() { + return this.path != null; + } + + public void setPathIsSet(boolean value) { + if (!value) { + this.path = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case PATH: + if (value == null) { + unsetPath(); + } else { + setPath((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case PATH: + return getPath(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case PATH: + return isSetPath(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof load_local_args) + return this.equals((load_local_args)that); + return false; + } + + public boolean equals(load_local_args that) { + if (that == null) + return false; + + boolean this_present_path = true && this.isSetPath(); + boolean that_present_path = true && that.isSetPath(); + if (this_present_path || that_present_path) { + if (!(this_present_path && that_present_path)) + return false; + if (!this.path.equals(that.path)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_path = true && (isSetPath()); + list.add(present_path); + if (present_path) + list.add(path); + + return list.hashCode(); + } + + @Override + public int compareTo(load_local_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetPath()).compareTo(other.isSetPath()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPath()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path, other.path); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("load_local_args("); + boolean first = true; + + sb.append("path:"); + if (this.path == null) { + sb.append("null"); + } else { + sb.append(this.path); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class load_local_argsStandardSchemeFactory implements SchemeFactory { + public load_local_argsStandardScheme getScheme() { + return new load_local_argsStandardScheme(); + } + } + + private static class load_local_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, load_local_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // PATH + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.path = iprot.readString(); + struct.setPathIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, load_local_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.path != null) { + oprot.writeFieldBegin(PATH_FIELD_DESC); + oprot.writeString(struct.path); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class load_local_argsTupleSchemeFactory implements SchemeFactory { + public load_local_argsTupleScheme getScheme() { + return new load_local_argsTupleScheme(); + } + } + + private static class load_local_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, load_local_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetPath()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetPath()) { + oprot.writeString(struct.path); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, load_local_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.path = iprot.readString(); + struct.setPathIsSet(true); + } + } + } + + } + + public static class load_local_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("load_local_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField PATH_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("path_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new load_local_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new load_local_resultTupleSchemeFactory()); + } + + public Net success; // required + public Error error; // required + public InvalidPath path_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + PATH_ERROR((short)2, "path_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // PATH_ERROR + return PATH_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Net.class))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.PATH_ERROR, new org.apache.thrift.meta_data.FieldMetaData("path_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(load_local_result.class, metaDataMap); + } + + public load_local_result() { + } + + public load_local_result( + Net success, + Error error, + InvalidPath path_error) + { + this(); + this.success = success; + this.error = error; + this.path_error = path_error; + } + + /** + * Performs a deep copy on other. + */ + public load_local_result(load_local_result other) { + if (other.isSetSuccess()) { + this.success = new Net(other.success); + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetPath_error()) { + this.path_error = new InvalidPath(other.path_error); + } + } + + public load_local_result deepCopy() { + return new load_local_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + this.path_error = null; + } + + public Net getSuccess() { + return this.success; + } + + public load_local_result setSuccess(Net success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public load_local_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public InvalidPath getPath_error() { + return this.path_error; + } + + public load_local_result setPath_error(InvalidPath path_error) { + this.path_error = path_error; + return this; + } + + public void unsetPath_error() { + this.path_error = null; + } + + /** Returns true if field path_error is set (has been assigned a value) and false otherwise */ + public boolean isSetPath_error() { + return this.path_error != null; + } + + public void setPath_errorIsSet(boolean value) { + if (!value) { + this.path_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Net)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case PATH_ERROR: + if (value == null) { + unsetPath_error(); + } else { + setPath_error((InvalidPath)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + case PATH_ERROR: + return getPath_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case PATH_ERROR: + return isSetPath_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof load_local_result) + return this.equals((load_local_result)that); + return false; + } + + public boolean equals(load_local_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_path_error = true && this.isSetPath_error(); + boolean that_present_path_error = true && that.isSetPath_error(); + if (this_present_path_error || that_present_path_error) { + if (!(this_present_path_error && that_present_path_error)) + return false; + if (!this.path_error.equals(that.path_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_path_error = true && (isSetPath_error()); + list.add(present_path_error); + if (present_path_error) + list.add(path_error); + + return list.hashCode(); + } + + @Override + public int compareTo(load_local_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetPath_error()).compareTo(other.isSetPath_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetPath_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.path_error, other.path_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("load_local_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("path_error:"); + if (this.path_error == null) { + sb.append("null"); + } else { + sb.append(this.path_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class load_local_resultStandardSchemeFactory implements SchemeFactory { + public load_local_resultStandardScheme getScheme() { + return new load_local_resultStandardScheme(); + } + } + + private static class load_local_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, load_local_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new Net(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PATH_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.path_error = new InvalidPath(); + struct.path_error.read(iprot); + struct.setPath_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, load_local_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.path_error != null) { + oprot.writeFieldBegin(PATH_ERROR_FIELD_DESC); + struct.path_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class load_local_resultTupleSchemeFactory implements SchemeFactory { + public load_local_resultTupleScheme getScheme() { + return new load_local_resultTupleScheme(); + } + } + + private static class load_local_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, load_local_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetPath_error()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetPath_error()) { + struct.path_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, load_local_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = new Net(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.path_error = new InvalidPath(); + struct.path_error.read(iprot); + struct.setPath_errorIsSet(true); + } + } + } + + } + + public static class initial_state_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("initial_state_args"); + + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new initial_state_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new initial_state_argsTupleSchemeFactory()); + } + + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { +; + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(initial_state_args.class, metaDataMap); + } + + public initial_state_args() { + } + + /** + * Performs a deep copy on other. + */ + public initial_state_args(initial_state_args other) { + } + + public initial_state_args deepCopy() { + return new initial_state_args(this); + } + + @Override + public void clear() { + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof initial_state_args) + return this.equals((initial_state_args)that); + return false; + } + + public boolean equals(initial_state_args that) { + if (that == null) + return false; + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + return list.hashCode(); + } + + @Override + public int compareTo(initial_state_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("initial_state_args("); + boolean first = true; + + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class initial_state_argsStandardSchemeFactory implements SchemeFactory { + public initial_state_argsStandardScheme getScheme() { + return new initial_state_argsStandardScheme(); + } + } + + private static class initial_state_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, initial_state_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, initial_state_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class initial_state_argsTupleSchemeFactory implements SchemeFactory { + public initial_state_argsTupleScheme getScheme() { + return new initial_state_argsTupleScheme(); + } + } + + private static class initial_state_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, initial_state_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, initial_state_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + + } + + public static class initial_state_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("initial_state_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new initial_state_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new initial_state_resultTupleSchemeFactory()); + } + + public TTSState success; // required + public Error error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTSState.class))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(initial_state_result.class, metaDataMap); + } + + public initial_state_result() { + } + + public initial_state_result( + TTSState success, + Error error) + { + this(); + this.success = success; + this.error = error; + } + + /** + * Performs a deep copy on other. + */ + public initial_state_result(initial_state_result other) { + if (other.isSetSuccess()) { + this.success = new TTSState(other.success); + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + } + + public initial_state_result deepCopy() { + return new initial_state_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + } + + public TTSState getSuccess() { + return this.success; + } + + public initial_state_result setSuccess(TTSState success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public initial_state_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((TTSState)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof initial_state_result) + return this.equals((initial_state_result)that); + return false; + } + + public boolean equals(initial_state_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + return list.hashCode(); + } + + @Override + public int compareTo(initial_state_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("initial_state_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class initial_state_resultStandardSchemeFactory implements SchemeFactory { + public initial_state_resultStandardScheme getScheme() { + return new initial_state_resultStandardScheme(); + } + } + + private static class initial_state_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, initial_state_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, initial_state_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class initial_state_resultTupleSchemeFactory implements SchemeFactory { + public initial_state_resultTupleScheme getScheme() { + return new initial_state_resultTupleScheme(); + } + } + + private static class initial_state_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, initial_state_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, initial_state_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + } + } + + } + + public static class is_enabled_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("is_enabled_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField TID_FIELD_DESC = new org.apache.thrift.protocol.TField("tid", org.apache.thrift.protocol.TType.I64, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new is_enabled_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new is_enabled_argsTupleSchemeFactory()); + } + + public long sid; // required + public long tid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"), + TID((short)2, "tid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + case 2: // TID + return TID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private static final int __TID_ISSET_ID = 1; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.TID, new org.apache.thrift.meta_data.FieldMetaData("tid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(is_enabled_args.class, metaDataMap); + } + + public is_enabled_args() { + } + + public is_enabled_args( + long sid, + long tid) + { + this(); + this.sid = sid; + setSidIsSet(true); + this.tid = tid; + setTidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public is_enabled_args(is_enabled_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + this.tid = other.tid; + } + + public is_enabled_args deepCopy() { + return new is_enabled_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + setTidIsSet(false); + this.tid = 0; + } + + public long getSid() { + return this.sid; + } + + public is_enabled_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public long getTid() { + return this.tid; + } + + public is_enabled_args setTid(long tid) { + this.tid = tid; + setTidIsSet(true); + return this; + } + + public void unsetTid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TID_ISSET_ID); + } + + /** Returns true if field tid is set (has been assigned a value) and false otherwise */ + public boolean isSetTid() { + return EncodingUtils.testBit(__isset_bitfield, __TID_ISSET_ID); + } + + public void setTidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + case TID: + if (value == null) { + unsetTid(); + } else { + setTid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + case TID: + return Long.valueOf(getTid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + case TID: + return isSetTid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof is_enabled_args) + return this.equals((is_enabled_args)that); + return false; + } + + public boolean equals(is_enabled_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + boolean this_present_tid = true; + boolean that_present_tid = true; + if (this_present_tid || that_present_tid) { + if (!(this_present_tid && that_present_tid)) + return false; + if (this.tid != that.tid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + boolean present_tid = true; + list.add(present_tid); + if (present_tid) + list.add(tid); + + return list.hashCode(); + } + + @Override + public int compareTo(is_enabled_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTid()).compareTo(other.isSetTid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tid, other.tid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("is_enabled_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + if (!first) sb.append(", "); + sb.append("tid:"); + sb.append(this.tid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class is_enabled_argsStandardSchemeFactory implements SchemeFactory { + public is_enabled_argsStandardScheme getScheme() { + return new is_enabled_argsStandardScheme(); + } + } + + private static class is_enabled_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, is_enabled_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, is_enabled_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(TID_FIELD_DESC); + oprot.writeI64(struct.tid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class is_enabled_argsTupleSchemeFactory implements SchemeFactory { + public is_enabled_argsTupleScheme getScheme() { + return new is_enabled_argsTupleScheme(); + } + } + + private static class is_enabled_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, is_enabled_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + if (struct.isSetTid()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + if (struct.isSetTid()) { + oprot.writeI64(struct.tid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, is_enabled_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + if (incoming.get(1)) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } + } + } + + } + + public static class is_enabled_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("is_enabled_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField TRANSITION_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("transition_error", org.apache.thrift.protocol.TType.STRUCT, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new is_enabled_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new is_enabled_resultTupleSchemeFactory()); + } + + public boolean success; // required + public Error error; // required + public StateNotFound state_error; // required + public TransitionNotFound transition_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"), + TRANSITION_ERROR((short)3, "transition_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + case 3: // TRANSITION_ERROR + return TRANSITION_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SUCCESS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.TRANSITION_ERROR, new org.apache.thrift.meta_data.FieldMetaData("transition_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(is_enabled_result.class, metaDataMap); + } + + public is_enabled_result() { + } + + public is_enabled_result( + boolean success, + Error error, + StateNotFound state_error, + TransitionNotFound transition_error) + { + this(); + this.success = success; + setSuccessIsSet(true); + this.error = error; + this.state_error = state_error; + this.transition_error = transition_error; + } + + /** + * Performs a deep copy on other. + */ + public is_enabled_result(is_enabled_result other) { + __isset_bitfield = other.__isset_bitfield; + this.success = other.success; + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + if (other.isSetTransition_error()) { + this.transition_error = new TransitionNotFound(other.transition_error); + } + } + + public is_enabled_result deepCopy() { + return new is_enabled_result(this); + } + + @Override + public void clear() { + setSuccessIsSet(false); + this.success = false; + this.error = null; + this.state_error = null; + this.transition_error = null; + } + + public boolean isSuccess() { + return this.success; + } + + public is_enabled_result setSuccess(boolean success) { + this.success = success; + setSuccessIsSet(true); + return this; + } + + public void unsetSuccess() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + public void setSuccessIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); + } + + public Error getError() { + return this.error; + } + + public is_enabled_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public is_enabled_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public TransitionNotFound getTransition_error() { + return this.transition_error; + } + + public is_enabled_result setTransition_error(TransitionNotFound transition_error) { + this.transition_error = transition_error; + return this; + } + + public void unsetTransition_error() { + this.transition_error = null; + } + + /** Returns true if field transition_error is set (has been assigned a value) and false otherwise */ + public boolean isSetTransition_error() { + return this.transition_error != null; + } + + public void setTransition_errorIsSet(boolean value) { + if (!value) { + this.transition_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + case TRANSITION_ERROR: + if (value == null) { + unsetTransition_error(); + } else { + setTransition_error((TransitionNotFound)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return Boolean.valueOf(isSuccess()); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + case TRANSITION_ERROR: + return getTransition_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + case TRANSITION_ERROR: + return isSetTransition_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof is_enabled_result) + return this.equals((is_enabled_result)that); + return false; + } + + public boolean equals(is_enabled_result that) { + if (that == null) + return false; + + boolean this_present_success = true; + boolean that_present_success = true; + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (this.success != that.success) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + boolean this_present_transition_error = true && this.isSetTransition_error(); + boolean that_present_transition_error = true && that.isSetTransition_error(); + if (this_present_transition_error || that_present_transition_error) { + if (!(this_present_transition_error && that_present_transition_error)) + return false; + if (!this.transition_error.equals(that.transition_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true; + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + boolean present_transition_error = true && (isSetTransition_error()); + list.add(present_transition_error); + if (present_transition_error) + list.add(transition_error); + + return list.hashCode(); + } + + @Override + public int compareTo(is_enabled_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTransition_error()).compareTo(other.isSetTransition_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTransition_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transition_error, other.transition_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("is_enabled_result("); + boolean first = true; + + sb.append("success:"); + sb.append(this.success); + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + if (!first) sb.append(", "); + sb.append("transition_error:"); + if (this.transition_error == null) { + sb.append("null"); + } else { + sb.append(this.transition_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class is_enabled_resultStandardSchemeFactory implements SchemeFactory { + public is_enabled_resultStandardScheme getScheme() { + return new is_enabled_resultStandardScheme(); + } + } + + private static class is_enabled_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, is_enabled_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TRANSITION_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, is_enabled_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBool(struct.success); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.transition_error != null) { + oprot.writeFieldBegin(TRANSITION_ERROR_FIELD_DESC); + struct.transition_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class is_enabled_resultTupleSchemeFactory implements SchemeFactory { + public is_enabled_resultTupleScheme getScheme() { + return new is_enabled_resultTupleScheme(); + } + } + + private static class is_enabled_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, is_enabled_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + if (struct.isSetTransition_error()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + oprot.writeBool(struct.success); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + if (struct.isSetTransition_error()) { + struct.transition_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, is_enabled_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + if (incoming.get(3)) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } + } + } + + } + + public static class enabled_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enabled_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new enabled_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new enabled_argsTupleSchemeFactory()); + } + + public long sid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enabled_args.class, metaDataMap); + } + + public enabled_args() { + } + + public enabled_args( + long sid) + { + this(); + this.sid = sid; + setSidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public enabled_args(enabled_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + } + + public enabled_args deepCopy() { + return new enabled_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + } + + public long getSid() { + return this.sid; + } + + public enabled_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof enabled_args) + return this.equals((enabled_args)that); + return false; + } + + public boolean equals(enabled_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + return list.hashCode(); + } + + @Override + public int compareTo(enabled_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("enabled_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class enabled_argsStandardSchemeFactory implements SchemeFactory { + public enabled_argsStandardScheme getScheme() { + return new enabled_argsStandardScheme(); + } + } + + private static class enabled_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, enabled_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, enabled_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class enabled_argsTupleSchemeFactory implements SchemeFactory { + public enabled_argsTupleScheme getScheme() { + return new enabled_argsTupleScheme(); + } + } + + private static class enabled_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, enabled_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, enabled_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + } + } + + } + + public static class enabled_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enabled_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new enabled_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new enabled_resultTupleSchemeFactory()); + } + + public List success; // required + public Error error; // required + public StateNotFound state_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id")))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enabled_result.class, metaDataMap); + } + + public enabled_result() { + } + + public enabled_result( + List success, + Error error, + StateNotFound state_error) + { + this(); + this.success = success; + this.error = error; + this.state_error = state_error; + } + + /** + * Performs a deep copy on other. + */ + public enabled_result(enabled_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(other.success.size()); + for (Long other_element : other.success) { + __this__success.add(other_element); + } + this.success = __this__success; + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + } + + public enabled_result deepCopy() { + return new enabled_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + this.state_error = null; + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(long elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public enabled_result setSuccess(List success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public enabled_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public enabled_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof enabled_result) + return this.equals((enabled_result)that); + return false; + } + + public boolean equals(enabled_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + return list.hashCode(); + } + + @Override + public int compareTo(enabled_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("enabled_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class enabled_resultStandardSchemeFactory implements SchemeFactory { + public enabled_resultStandardScheme getScheme() { + return new enabled_resultStandardScheme(); + } + } + + private static class enabled_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, enabled_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list34 = iprot.readListBegin(); + struct.success = new ArrayList(_list34.size); + long _elem35; + for (int _i36 = 0; _i36 < _list34.size; ++_i36) + { + _elem35 = iprot.readI64(); + struct.success.add(_elem35); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, enabled_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.success.size())); + for (long _iter37 : struct.success) + { + oprot.writeI64(_iter37); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class enabled_resultTupleSchemeFactory implements SchemeFactory { + public enabled_resultTupleScheme getScheme() { + return new enabled_resultTupleScheme(); + } + } + + private static class enabled_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, enabled_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (long _iter38 : struct.success) + { + oprot.writeI64(_iter38); + } + } + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, enabled_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list39 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32()); + struct.success = new ArrayList(_list39.size); + long _elem40; + for (int _i41 = 0; _i41 < _list39.size; ++_i41) + { + _elem40 = iprot.readI64(); + struct.success.add(_elem40); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + } + } + + } + + public static class is_fireable_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("is_fireable_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField TID_FIELD_DESC = new org.apache.thrift.protocol.TField("tid", org.apache.thrift.protocol.TType.I64, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new is_fireable_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new is_fireable_argsTupleSchemeFactory()); + } + + public long sid; // required + public long tid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"), + TID((short)2, "tid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + case 2: // TID + return TID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private static final int __TID_ISSET_ID = 1; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.TID, new org.apache.thrift.meta_data.FieldMetaData("tid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(is_fireable_args.class, metaDataMap); + } + + public is_fireable_args() { + } + + public is_fireable_args( + long sid, + long tid) + { + this(); + this.sid = sid; + setSidIsSet(true); + this.tid = tid; + setTidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public is_fireable_args(is_fireable_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + this.tid = other.tid; + } + + public is_fireable_args deepCopy() { + return new is_fireable_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + setTidIsSet(false); + this.tid = 0; + } + + public long getSid() { + return this.sid; + } + + public is_fireable_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public long getTid() { + return this.tid; + } + + public is_fireable_args setTid(long tid) { + this.tid = tid; + setTidIsSet(true); + return this; + } + + public void unsetTid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TID_ISSET_ID); + } + + /** Returns true if field tid is set (has been assigned a value) and false otherwise */ + public boolean isSetTid() { + return EncodingUtils.testBit(__isset_bitfield, __TID_ISSET_ID); + } + + public void setTidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + case TID: + if (value == null) { + unsetTid(); + } else { + setTid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + case TID: + return Long.valueOf(getTid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + case TID: + return isSetTid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof is_fireable_args) + return this.equals((is_fireable_args)that); + return false; + } + + public boolean equals(is_fireable_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + boolean this_present_tid = true; + boolean that_present_tid = true; + if (this_present_tid || that_present_tid) { + if (!(this_present_tid && that_present_tid)) + return false; + if (this.tid != that.tid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + boolean present_tid = true; + list.add(present_tid); + if (present_tid) + list.add(tid); + + return list.hashCode(); + } + + @Override + public int compareTo(is_fireable_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTid()).compareTo(other.isSetTid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tid, other.tid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("is_fireable_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + if (!first) sb.append(", "); + sb.append("tid:"); + sb.append(this.tid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class is_fireable_argsStandardSchemeFactory implements SchemeFactory { + public is_fireable_argsStandardScheme getScheme() { + return new is_fireable_argsStandardScheme(); + } + } + + private static class is_fireable_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, is_fireable_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, is_fireable_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(TID_FIELD_DESC); + oprot.writeI64(struct.tid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class is_fireable_argsTupleSchemeFactory implements SchemeFactory { + public is_fireable_argsTupleScheme getScheme() { + return new is_fireable_argsTupleScheme(); + } + } + + private static class is_fireable_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, is_fireable_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + if (struct.isSetTid()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + if (struct.isSetTid()) { + oprot.writeI64(struct.tid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, is_fireable_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + if (incoming.get(1)) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } + } + } + + } + + public static class is_fireable_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("is_fireable_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField TRANSITION_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("transition_error", org.apache.thrift.protocol.TType.STRUCT, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new is_fireable_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new is_fireable_resultTupleSchemeFactory()); + } + + public boolean success; // required + public Error error; // required + public StateNotFound state_error; // required + public TransitionNotFound transition_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"), + TRANSITION_ERROR((short)3, "transition_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + case 3: // TRANSITION_ERROR + return TRANSITION_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SUCCESS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.TRANSITION_ERROR, new org.apache.thrift.meta_data.FieldMetaData("transition_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(is_fireable_result.class, metaDataMap); + } + + public is_fireable_result() { + } + + public is_fireable_result( + boolean success, + Error error, + StateNotFound state_error, + TransitionNotFound transition_error) + { + this(); + this.success = success; + setSuccessIsSet(true); + this.error = error; + this.state_error = state_error; + this.transition_error = transition_error; + } + + /** + * Performs a deep copy on other. + */ + public is_fireable_result(is_fireable_result other) { + __isset_bitfield = other.__isset_bitfield; + this.success = other.success; + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + if (other.isSetTransition_error()) { + this.transition_error = new TransitionNotFound(other.transition_error); + } + } + + public is_fireable_result deepCopy() { + return new is_fireable_result(this); + } + + @Override + public void clear() { + setSuccessIsSet(false); + this.success = false; + this.error = null; + this.state_error = null; + this.transition_error = null; + } + + public boolean isSuccess() { + return this.success; + } + + public is_fireable_result setSuccess(boolean success) { + this.success = success; + setSuccessIsSet(true); + return this; + } + + public void unsetSuccess() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + public void setSuccessIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); + } + + public Error getError() { + return this.error; + } + + public is_fireable_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public is_fireable_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public TransitionNotFound getTransition_error() { + return this.transition_error; + } + + public is_fireable_result setTransition_error(TransitionNotFound transition_error) { + this.transition_error = transition_error; + return this; + } + + public void unsetTransition_error() { + this.transition_error = null; + } + + /** Returns true if field transition_error is set (has been assigned a value) and false otherwise */ + public boolean isSetTransition_error() { + return this.transition_error != null; + } + + public void setTransition_errorIsSet(boolean value) { + if (!value) { + this.transition_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + case TRANSITION_ERROR: + if (value == null) { + unsetTransition_error(); + } else { + setTransition_error((TransitionNotFound)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return Boolean.valueOf(isSuccess()); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + case TRANSITION_ERROR: + return getTransition_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + case TRANSITION_ERROR: + return isSetTransition_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof is_fireable_result) + return this.equals((is_fireable_result)that); + return false; + } + + public boolean equals(is_fireable_result that) { + if (that == null) + return false; + + boolean this_present_success = true; + boolean that_present_success = true; + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (this.success != that.success) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + boolean this_present_transition_error = true && this.isSetTransition_error(); + boolean that_present_transition_error = true && that.isSetTransition_error(); + if (this_present_transition_error || that_present_transition_error) { + if (!(this_present_transition_error && that_present_transition_error)) + return false; + if (!this.transition_error.equals(that.transition_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true; + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + boolean present_transition_error = true && (isSetTransition_error()); + list.add(present_transition_error); + if (present_transition_error) + list.add(transition_error); + + return list.hashCode(); + } + + @Override + public int compareTo(is_fireable_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTransition_error()).compareTo(other.isSetTransition_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTransition_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transition_error, other.transition_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("is_fireable_result("); + boolean first = true; + + sb.append("success:"); + sb.append(this.success); + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + if (!first) sb.append(", "); + sb.append("transition_error:"); + if (this.transition_error == null) { + sb.append("null"); + } else { + sb.append(this.transition_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class is_fireable_resultStandardSchemeFactory implements SchemeFactory { + public is_fireable_resultStandardScheme getScheme() { + return new is_fireable_resultStandardScheme(); + } + } + + private static class is_fireable_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, is_fireable_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TRANSITION_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, is_fireable_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBool(struct.success); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.transition_error != null) { + oprot.writeFieldBegin(TRANSITION_ERROR_FIELD_DESC); + struct.transition_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class is_fireable_resultTupleSchemeFactory implements SchemeFactory { + public is_fireable_resultTupleScheme getScheme() { + return new is_fireable_resultTupleScheme(); + } + } + + private static class is_fireable_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, is_fireable_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + if (struct.isSetTransition_error()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + oprot.writeBool(struct.success); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + if (struct.isSetTransition_error()) { + struct.transition_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, is_fireable_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + if (incoming.get(3)) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } + } + } + + } + + public static class fireable_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fireable_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new fireable_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new fireable_argsTupleSchemeFactory()); + } + + public long sid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fireable_args.class, metaDataMap); + } + + public fireable_args() { + } + + public fireable_args( + long sid) + { + this(); + this.sid = sid; + setSidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public fireable_args(fireable_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + } + + public fireable_args deepCopy() { + return new fireable_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + } + + public long getSid() { + return this.sid; + } + + public fireable_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof fireable_args) + return this.equals((fireable_args)that); + return false; + } + + public boolean equals(fireable_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + return list.hashCode(); + } + + @Override + public int compareTo(fireable_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("fireable_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class fireable_argsStandardSchemeFactory implements SchemeFactory { + public fireable_argsStandardScheme getScheme() { + return new fireable_argsStandardScheme(); + } + } + + private static class fireable_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, fireable_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, fireable_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class fireable_argsTupleSchemeFactory implements SchemeFactory { + public fireable_argsTupleScheme getScheme() { + return new fireable_argsTupleScheme(); + } + } + + private static class fireable_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, fireable_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, fireable_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + } + } + + } + + public static class fireable_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fireable_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField S_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("s_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new fireable_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new fireable_resultTupleSchemeFactory()); + } + + public List success; // required + public Error error; // required + public StateNotFound s_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + S_ERROR((short)2, "s_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // S_ERROR + return S_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id")))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.S_ERROR, new org.apache.thrift.meta_data.FieldMetaData("s_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fireable_result.class, metaDataMap); + } + + public fireable_result() { + } + + public fireable_result( + List success, + Error error, + StateNotFound s_error) + { + this(); + this.success = success; + this.error = error; + this.s_error = s_error; + } + + /** + * Performs a deep copy on other. + */ + public fireable_result(fireable_result other) { + if (other.isSetSuccess()) { + List __this__success = new ArrayList(other.success.size()); + for (Long other_element : other.success) { + __this__success.add(other_element); + } + this.success = __this__success; + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetS_error()) { + this.s_error = new StateNotFound(other.s_error); + } + } + + public fireable_result deepCopy() { + return new fireable_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + this.s_error = null; + } + + public int getSuccessSize() { + return (this.success == null) ? 0 : this.success.size(); + } + + public java.util.Iterator getSuccessIterator() { + return (this.success == null) ? null : this.success.iterator(); + } + + public void addToSuccess(long elem) { + if (this.success == null) { + this.success = new ArrayList(); + } + this.success.add(elem); + } + + public List getSuccess() { + return this.success; + } + + public fireable_result setSuccess(List success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public fireable_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getS_error() { + return this.s_error; + } + + public fireable_result setS_error(StateNotFound s_error) { + this.s_error = s_error; + return this; + } + + public void unsetS_error() { + this.s_error = null; + } + + /** Returns true if field s_error is set (has been assigned a value) and false otherwise */ + public boolean isSetS_error() { + return this.s_error != null; + } + + public void setS_errorIsSet(boolean value) { + if (!value) { + this.s_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((List)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case S_ERROR: + if (value == null) { + unsetS_error(); + } else { + setS_error((StateNotFound)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + case S_ERROR: + return getS_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case S_ERROR: + return isSetS_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof fireable_result) + return this.equals((fireable_result)that); + return false; + } + + public boolean equals(fireable_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_s_error = true && this.isSetS_error(); + boolean that_present_s_error = true && that.isSetS_error(); + if (this_present_s_error || that_present_s_error) { + if (!(this_present_s_error && that_present_s_error)) + return false; + if (!this.s_error.equals(that.s_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_s_error = true && (isSetS_error()); + list.add(present_s_error); + if (present_s_error) + list.add(s_error); + + return list.hashCode(); + } + + @Override + public int compareTo(fireable_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetS_error()).compareTo(other.isSetS_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetS_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.s_error, other.s_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("fireable_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("s_error:"); + if (this.s_error == null) { + sb.append("null"); + } else { + sb.append(this.s_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class fireable_resultStandardSchemeFactory implements SchemeFactory { + public fireable_resultStandardScheme getScheme() { + return new fireable_resultStandardScheme(); + } + } + + private static class fireable_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, fireable_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list42 = iprot.readListBegin(); + struct.success = new ArrayList(_list42.size); + long _elem43; + for (int _i44 = 0; _i44 < _list42.size; ++_i44) + { + _elem43 = iprot.readI64(); + struct.success.add(_elem43); + } + iprot.readListEnd(); + } + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // S_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.s_error = new StateNotFound(); + struct.s_error.read(iprot); + struct.setS_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, fireable_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.success.size())); + for (long _iter45 : struct.success) + { + oprot.writeI64(_iter45); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.s_error != null) { + oprot.writeFieldBegin(S_ERROR_FIELD_DESC); + struct.s_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class fireable_resultTupleSchemeFactory implements SchemeFactory { + public fireable_resultTupleScheme getScheme() { + return new fireable_resultTupleScheme(); + } + } + + private static class fireable_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, fireable_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetS_error()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + { + oprot.writeI32(struct.success.size()); + for (long _iter46 : struct.success) + { + oprot.writeI64(_iter46); + } + } + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetS_error()) { + struct.s_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, fireable_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32()); + struct.success = new ArrayList(_list47.size); + long _elem48; + for (int _i49 = 0; _i49 < _list47.size; ++_i49) + { + _elem48 = iprot.readI64(); + struct.success.add(_elem48); + } + } + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.s_error = new StateNotFound(); + struct.s_error.read(iprot); + struct.setS_errorIsSet(true); + } + } + } + + } + + public static class fire_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fire_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField TID_FIELD_DESC = new org.apache.thrift.protocol.TField("tid", org.apache.thrift.protocol.TType.I64, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new fire_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new fire_argsTupleSchemeFactory()); + } + + public long sid; // required + public long tid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"), + TID((short)2, "tid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + case 2: // TID + return TID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private static final int __TID_ISSET_ID = 1; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.TID, new org.apache.thrift.meta_data.FieldMetaData("tid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fire_args.class, metaDataMap); + } + + public fire_args() { + } + + public fire_args( + long sid, + long tid) + { + this(); + this.sid = sid; + setSidIsSet(true); + this.tid = tid; + setTidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public fire_args(fire_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + this.tid = other.tid; + } + + public fire_args deepCopy() { + return new fire_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + setTidIsSet(false); + this.tid = 0; + } + + public long getSid() { + return this.sid; + } + + public fire_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public long getTid() { + return this.tid; + } + + public fire_args setTid(long tid) { + this.tid = tid; + setTidIsSet(true); + return this; + } + + public void unsetTid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TID_ISSET_ID); + } + + /** Returns true if field tid is set (has been assigned a value) and false otherwise */ + public boolean isSetTid() { + return EncodingUtils.testBit(__isset_bitfield, __TID_ISSET_ID); + } + + public void setTidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + case TID: + if (value == null) { + unsetTid(); + } else { + setTid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + case TID: + return Long.valueOf(getTid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + case TID: + return isSetTid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof fire_args) + return this.equals((fire_args)that); + return false; + } + + public boolean equals(fire_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + boolean this_present_tid = true; + boolean that_present_tid = true; + if (this_present_tid || that_present_tid) { + if (!(this_present_tid && that_present_tid)) + return false; + if (this.tid != that.tid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + boolean present_tid = true; + list.add(present_tid); + if (present_tid) + list.add(tid); + + return list.hashCode(); + } + + @Override + public int compareTo(fire_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTid()).compareTo(other.isSetTid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tid, other.tid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("fire_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + if (!first) sb.append(", "); + sb.append("tid:"); + sb.append(this.tid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class fire_argsStandardSchemeFactory implements SchemeFactory { + public fire_argsStandardScheme getScheme() { + return new fire_argsStandardScheme(); + } + } + + private static class fire_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, fire_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // TID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, fire_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + oprot.writeFieldBegin(TID_FIELD_DESC); + oprot.writeI64(struct.tid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class fire_argsTupleSchemeFactory implements SchemeFactory { + public fire_argsTupleScheme getScheme() { + return new fire_argsTupleScheme(); + } + } + + private static class fire_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, fire_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + if (struct.isSetTid()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + if (struct.isSetTid()) { + oprot.writeI64(struct.tid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, fire_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + if (incoming.get(1)) { + struct.tid = iprot.readI64(); + struct.setTidIsSet(true); + } + } + } + + } + + public static class fire_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fire_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField TRANSITION_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("transition_error", org.apache.thrift.protocol.TType.STRUCT, (short)3); + private static final org.apache.thrift.protocol.TField FIREABLE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("fireable_error", org.apache.thrift.protocol.TType.STRUCT, (short)4); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new fire_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new fire_resultTupleSchemeFactory()); + } + + public TTSState success; // required + public Error error; // required + public StateNotFound state_error; // required + public TransitionNotFound transition_error; // required + public NotFireable fireable_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"), + TRANSITION_ERROR((short)3, "transition_error"), + FIREABLE_ERROR((short)4, "fireable_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + case 3: // TRANSITION_ERROR + return TRANSITION_ERROR; + case 4: // FIREABLE_ERROR + return FIREABLE_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTSState.class))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.TRANSITION_ERROR, new org.apache.thrift.meta_data.FieldMetaData("transition_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.FIREABLE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("fireable_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(fire_result.class, metaDataMap); + } + + public fire_result() { + } + + public fire_result( + TTSState success, + Error error, + StateNotFound state_error, + TransitionNotFound transition_error, + NotFireable fireable_error) + { + this(); + this.success = success; + this.error = error; + this.state_error = state_error; + this.transition_error = transition_error; + this.fireable_error = fireable_error; + } + + /** + * Performs a deep copy on other. + */ + public fire_result(fire_result other) { + if (other.isSetSuccess()) { + this.success = new TTSState(other.success); + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + if (other.isSetTransition_error()) { + this.transition_error = new TransitionNotFound(other.transition_error); + } + if (other.isSetFireable_error()) { + this.fireable_error = new NotFireable(other.fireable_error); + } + } + + public fire_result deepCopy() { + return new fire_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + this.state_error = null; + this.transition_error = null; + this.fireable_error = null; + } + + public TTSState getSuccess() { + return this.success; + } + + public fire_result setSuccess(TTSState success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public fire_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public fire_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public TransitionNotFound getTransition_error() { + return this.transition_error; + } + + public fire_result setTransition_error(TransitionNotFound transition_error) { + this.transition_error = transition_error; + return this; + } + + public void unsetTransition_error() { + this.transition_error = null; + } + + /** Returns true if field transition_error is set (has been assigned a value) and false otherwise */ + public boolean isSetTransition_error() { + return this.transition_error != null; + } + + public void setTransition_errorIsSet(boolean value) { + if (!value) { + this.transition_error = null; + } + } + + public NotFireable getFireable_error() { + return this.fireable_error; + } + + public fire_result setFireable_error(NotFireable fireable_error) { + this.fireable_error = fireable_error; + return this; + } + + public void unsetFireable_error() { + this.fireable_error = null; + } + + /** Returns true if field fireable_error is set (has been assigned a value) and false otherwise */ + public boolean isSetFireable_error() { + return this.fireable_error != null; + } + + public void setFireable_errorIsSet(boolean value) { + if (!value) { + this.fireable_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((TTSState)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + case TRANSITION_ERROR: + if (value == null) { + unsetTransition_error(); + } else { + setTransition_error((TransitionNotFound)value); + } + break; + + case FIREABLE_ERROR: + if (value == null) { + unsetFireable_error(); + } else { + setFireable_error((NotFireable)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + case TRANSITION_ERROR: + return getTransition_error(); + + case FIREABLE_ERROR: + return getFireable_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + case TRANSITION_ERROR: + return isSetTransition_error(); + case FIREABLE_ERROR: + return isSetFireable_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof fire_result) + return this.equals((fire_result)that); + return false; + } + + public boolean equals(fire_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + boolean this_present_transition_error = true && this.isSetTransition_error(); + boolean that_present_transition_error = true && that.isSetTransition_error(); + if (this_present_transition_error || that_present_transition_error) { + if (!(this_present_transition_error && that_present_transition_error)) + return false; + if (!this.transition_error.equals(that.transition_error)) + return false; + } + + boolean this_present_fireable_error = true && this.isSetFireable_error(); + boolean that_present_fireable_error = true && that.isSetFireable_error(); + if (this_present_fireable_error || that_present_fireable_error) { + if (!(this_present_fireable_error && that_present_fireable_error)) + return false; + if (!this.fireable_error.equals(that.fireable_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + boolean present_transition_error = true && (isSetTransition_error()); + list.add(present_transition_error); + if (present_transition_error) + list.add(transition_error); + + boolean present_fireable_error = true && (isSetFireable_error()); + list.add(present_fireable_error); + if (present_fireable_error) + list.add(fireable_error); + + return list.hashCode(); + } + + @Override + public int compareTo(fire_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetTransition_error()).compareTo(other.isSetTransition_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetTransition_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.transition_error, other.transition_error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetFireable_error()).compareTo(other.isSetFireable_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetFireable_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fireable_error, other.fireable_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("fire_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + if (!first) sb.append(", "); + sb.append("transition_error:"); + if (this.transition_error == null) { + sb.append("null"); + } else { + sb.append(this.transition_error); + } + first = false; + if (!first) sb.append(", "); + sb.append("fireable_error:"); + if (this.fireable_error == null) { + sb.append("null"); + } else { + sb.append(this.fireable_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class fire_resultStandardSchemeFactory implements SchemeFactory { + public fire_resultStandardScheme getScheme() { + return new fire_resultStandardScheme(); + } + } + + private static class fire_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, fire_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // TRANSITION_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // FIREABLE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.fireable_error = new NotFireable(); + struct.fireable_error.read(iprot); + struct.setFireable_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, fire_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.transition_error != null) { + oprot.writeFieldBegin(TRANSITION_ERROR_FIELD_DESC); + struct.transition_error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.fireable_error != null) { + oprot.writeFieldBegin(FIREABLE_ERROR_FIELD_DESC); + struct.fireable_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class fire_resultTupleSchemeFactory implements SchemeFactory { + public fire_resultTupleScheme getScheme() { + return new fire_resultTupleScheme(); + } + } + + private static class fire_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, fire_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + if (struct.isSetTransition_error()) { + optionals.set(3); + } + if (struct.isSetFireable_error()) { + optionals.set(4); + } + oprot.writeBitSet(optionals, 5); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + if (struct.isSetTransition_error()) { + struct.transition_error.write(oprot); + } + if (struct.isSetFireable_error()) { + struct.fireable_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, fire_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(5); + if (incoming.get(0)) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + if (incoming.get(3)) { + struct.transition_error = new TransitionNotFound(); + struct.transition_error.read(iprot); + struct.setTransition_errorIsSet(true); + } + if (incoming.get(4)) { + struct.fireable_error = new NotFireable(); + struct.fireable_error.read(iprot); + struct.setFireable_errorIsSet(true); + } + } + } + + } + + public static class can_advance_time_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("can_advance_time_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField DELAY_FIELD_DESC = new org.apache.thrift.protocol.TField("delay", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new can_advance_time_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new can_advance_time_argsTupleSchemeFactory()); + } + + public long sid; // required + public Clock delay; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"), + DELAY((short)2, "delay"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + case 2: // DELAY + return DELAY; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.DELAY, new org.apache.thrift.meta_data.FieldMetaData("delay", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(can_advance_time_args.class, metaDataMap); + } + + public can_advance_time_args() { + } + + public can_advance_time_args( + long sid, + Clock delay) + { + this(); + this.sid = sid; + setSidIsSet(true); + this.delay = delay; + } + + /** + * Performs a deep copy on other. + */ + public can_advance_time_args(can_advance_time_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + if (other.isSetDelay()) { + this.delay = new Clock(other.delay); + } + } + + public can_advance_time_args deepCopy() { + return new can_advance_time_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + this.delay = null; + } + + public long getSid() { + return this.sid; + } + + public can_advance_time_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public Clock getDelay() { + return this.delay; + } + + public can_advance_time_args setDelay(Clock delay) { + this.delay = delay; + return this; + } + + public void unsetDelay() { + this.delay = null; + } + + /** Returns true if field delay is set (has been assigned a value) and false otherwise */ + public boolean isSetDelay() { + return this.delay != null; + } + + public void setDelayIsSet(boolean value) { + if (!value) { + this.delay = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + case DELAY: + if (value == null) { + unsetDelay(); + } else { + setDelay((Clock)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + case DELAY: + return getDelay(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + case DELAY: + return isSetDelay(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof can_advance_time_args) + return this.equals((can_advance_time_args)that); + return false; + } + + public boolean equals(can_advance_time_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + boolean this_present_delay = true && this.isSetDelay(); + boolean that_present_delay = true && that.isSetDelay(); + if (this_present_delay || that_present_delay) { + if (!(this_present_delay && that_present_delay)) + return false; + if (!this.delay.equals(that.delay)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + boolean present_delay = true && (isSetDelay()); + list.add(present_delay); + if (present_delay) + list.add(delay); + + return list.hashCode(); + } + + @Override + public int compareTo(can_advance_time_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDelay()).compareTo(other.isSetDelay()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDelay()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delay, other.delay); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("can_advance_time_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + if (!first) sb.append(", "); + sb.append("delay:"); + if (this.delay == null) { + sb.append("null"); + } else { + sb.append(this.delay); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (delay != null) { + delay.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class can_advance_time_argsStandardSchemeFactory implements SchemeFactory { + public can_advance_time_argsStandardScheme getScheme() { + return new can_advance_time_argsStandardScheme(); + } + } + + private static class can_advance_time_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, can_advance_time_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DELAY + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.delay = new Clock(); + struct.delay.read(iprot); + struct.setDelayIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, can_advance_time_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + if (struct.delay != null) { + oprot.writeFieldBegin(DELAY_FIELD_DESC); + struct.delay.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class can_advance_time_argsTupleSchemeFactory implements SchemeFactory { + public can_advance_time_argsTupleScheme getScheme() { + return new can_advance_time_argsTupleScheme(); + } + } + + private static class can_advance_time_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, can_advance_time_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + if (struct.isSetDelay()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + if (struct.isSetDelay()) { + struct.delay.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, can_advance_time_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + if (incoming.get(1)) { + struct.delay = new Clock(); + struct.delay.read(iprot); + struct.setDelayIsSet(true); + } + } + } + + } + + public static class can_advance_time_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("can_advance_time_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new can_advance_time_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new can_advance_time_resultTupleSchemeFactory()); + } + + public boolean success; // required + public Error error; // required + public StateNotFound state_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SUCCESS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(can_advance_time_result.class, metaDataMap); + } + + public can_advance_time_result() { + } + + public can_advance_time_result( + boolean success, + Error error, + StateNotFound state_error) + { + this(); + this.success = success; + setSuccessIsSet(true); + this.error = error; + this.state_error = state_error; + } + + /** + * Performs a deep copy on other. + */ + public can_advance_time_result(can_advance_time_result other) { + __isset_bitfield = other.__isset_bitfield; + this.success = other.success; + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + } + + public can_advance_time_result deepCopy() { + return new can_advance_time_result(this); + } + + @Override + public void clear() { + setSuccessIsSet(false); + this.success = false; + this.error = null; + this.state_error = null; + } + + public boolean isSuccess() { + return this.success; + } + + public can_advance_time_result setSuccess(boolean success) { + this.success = success; + setSuccessIsSet(true); + return this; + } + + public void unsetSuccess() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + public void setSuccessIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); + } + + public Error getError() { + return this.error; + } + + public can_advance_time_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public can_advance_time_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return Boolean.valueOf(isSuccess()); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof can_advance_time_result) + return this.equals((can_advance_time_result)that); + return false; + } + + public boolean equals(can_advance_time_result that) { + if (that == null) + return false; + + boolean this_present_success = true; + boolean that_present_success = true; + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (this.success != that.success) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true; + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + return list.hashCode(); + } + + @Override + public int compareTo(can_advance_time_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("can_advance_time_result("); + boolean first = true; + + sb.append("success:"); + sb.append(this.success); + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class can_advance_time_resultStandardSchemeFactory implements SchemeFactory { + public can_advance_time_resultStandardScheme getScheme() { + return new can_advance_time_resultStandardScheme(); + } + } + + private static class can_advance_time_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, can_advance_time_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, can_advance_time_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBool(struct.success); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class can_advance_time_resultTupleSchemeFactory implements SchemeFactory { + public can_advance_time_resultTupleScheme getScheme() { + return new can_advance_time_resultTupleScheme(); + } + } + + private static class can_advance_time_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, can_advance_time_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + oprot.writeBitSet(optionals, 3); + if (struct.isSetSuccess()) { + oprot.writeBool(struct.success); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, can_advance_time_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(3); + if (incoming.get(0)) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + } + } + + } + + public static class advance_time_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("advance_time_args"); + + private static final org.apache.thrift.protocol.TField SID_FIELD_DESC = new org.apache.thrift.protocol.TField("sid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField DELAY_FIELD_DESC = new org.apache.thrift.protocol.TField("delay", org.apache.thrift.protocol.TType.STRUCT, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new advance_time_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new advance_time_argsTupleSchemeFactory()); + } + + public long sid; // required + public Clock delay; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SID((short)1, "sid"), + DELAY((short)2, "delay"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SID + return SID; + case 2: // DELAY + return DELAY; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SID, new org.apache.thrift.meta_data.FieldMetaData("sid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.DELAY, new org.apache.thrift.meta_data.FieldMetaData("delay", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(advance_time_args.class, metaDataMap); + } + + public advance_time_args() { + } + + public advance_time_args( + long sid, + Clock delay) + { + this(); + this.sid = sid; + setSidIsSet(true); + this.delay = delay; + } + + /** + * Performs a deep copy on other. + */ + public advance_time_args(advance_time_args other) { + __isset_bitfield = other.__isset_bitfield; + this.sid = other.sid; + if (other.isSetDelay()) { + this.delay = new Clock(other.delay); + } + } + + public advance_time_args deepCopy() { + return new advance_time_args(this); + } + + @Override + public void clear() { + setSidIsSet(false); + this.sid = 0; + this.delay = null; + } + + public long getSid() { + return this.sid; + } + + public advance_time_args setSid(long sid) { + this.sid = sid; + setSidIsSet(true); + return this; + } + + public void unsetSid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SID_ISSET_ID); + } + + /** Returns true if field sid is set (has been assigned a value) and false otherwise */ + public boolean isSetSid() { + return EncodingUtils.testBit(__isset_bitfield, __SID_ISSET_ID); + } + + public void setSidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SID_ISSET_ID, value); + } + + public Clock getDelay() { + return this.delay; + } + + public advance_time_args setDelay(Clock delay) { + this.delay = delay; + return this; + } + + public void unsetDelay() { + this.delay = null; + } + + /** Returns true if field delay is set (has been assigned a value) and false otherwise */ + public boolean isSetDelay() { + return this.delay != null; + } + + public void setDelayIsSet(boolean value) { + if (!value) { + this.delay = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SID: + if (value == null) { + unsetSid(); + } else { + setSid((Long)value); + } + break; + + case DELAY: + if (value == null) { + unsetDelay(); + } else { + setDelay((Clock)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SID: + return Long.valueOf(getSid()); + + case DELAY: + return getDelay(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SID: + return isSetSid(); + case DELAY: + return isSetDelay(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof advance_time_args) + return this.equals((advance_time_args)that); + return false; + } + + public boolean equals(advance_time_args that) { + if (that == null) + return false; + + boolean this_present_sid = true; + boolean that_present_sid = true; + if (this_present_sid || that_present_sid) { + if (!(this_present_sid && that_present_sid)) + return false; + if (this.sid != that.sid) + return false; + } + + boolean this_present_delay = true && this.isSetDelay(); + boolean that_present_delay = true && that.isSetDelay(); + if (this_present_delay || that_present_delay) { + if (!(this_present_delay && that_present_delay)) + return false; + if (!this.delay.equals(that.delay)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sid = true; + list.add(present_sid); + if (present_sid) + list.add(sid); + + boolean present_delay = true && (isSetDelay()); + list.add(present_delay); + if (present_delay) + list.add(delay); + + return list.hashCode(); + } + + @Override + public int compareTo(advance_time_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSid()).compareTo(other.isSetSid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sid, other.sid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDelay()).compareTo(other.isSetDelay()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDelay()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delay, other.delay); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("advance_time_args("); + boolean first = true; + + sb.append("sid:"); + sb.append(this.sid); + first = false; + if (!first) sb.append(", "); + sb.append("delay:"); + if (this.delay == null) { + sb.append("null"); + } else { + sb.append(this.delay); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (delay != null) { + delay.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class advance_time_argsStandardSchemeFactory implements SchemeFactory { + public advance_time_argsStandardScheme getScheme() { + return new advance_time_argsStandardScheme(); + } + } + + private static class advance_time_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, advance_time_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // DELAY + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.delay = new Clock(); + struct.delay.read(iprot); + struct.setDelayIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, advance_time_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(SID_FIELD_DESC); + oprot.writeI64(struct.sid); + oprot.writeFieldEnd(); + if (struct.delay != null) { + oprot.writeFieldBegin(DELAY_FIELD_DESC); + struct.delay.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class advance_time_argsTupleSchemeFactory implements SchemeFactory { + public advance_time_argsTupleScheme getScheme() { + return new advance_time_argsTupleScheme(); + } + } + + private static class advance_time_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, advance_time_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSid()) { + optionals.set(0); + } + if (struct.isSetDelay()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSid()) { + oprot.writeI64(struct.sid); + } + if (struct.isSetDelay()) { + struct.delay.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, advance_time_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.sid = iprot.readI64(); + struct.setSidIsSet(true); + } + if (incoming.get(1)) { + struct.delay = new Clock(); + struct.delay.read(iprot); + struct.setDelayIsSet(true); + } + } + } + + } + + public static class advance_time_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("advance_time_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0); + private static final org.apache.thrift.protocol.TField ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("error", org.apache.thrift.protocol.TType.STRUCT, (short)1); + private static final org.apache.thrift.protocol.TField STATE_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("state_error", org.apache.thrift.protocol.TType.STRUCT, (short)2); + private static final org.apache.thrift.protocol.TField DELAY_ERROR_FIELD_DESC = new org.apache.thrift.protocol.TField("delay_error", org.apache.thrift.protocol.TType.STRUCT, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new advance_time_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new advance_time_resultTupleSchemeFactory()); + } + + public TTSState success; // required + public Error error; // required + public StateNotFound state_error; // required + public InvalidDelay delay_error; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + ERROR((short)1, "error"), + STATE_ERROR((short)2, "state_error"), + DELAY_ERROR((short)3, "delay_error"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // ERROR + return ERROR; + case 2: // STATE_ERROR + return STATE_ERROR; + case 3: // DELAY_ERROR + return DELAY_ERROR; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTSState.class))); + tmpMap.put(_Fields.ERROR, new org.apache.thrift.meta_data.FieldMetaData("error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.STATE_ERROR, new org.apache.thrift.meta_data.FieldMetaData("state_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + tmpMap.put(_Fields.DELAY_ERROR, new org.apache.thrift.meta_data.FieldMetaData("delay_error", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(advance_time_result.class, metaDataMap); + } + + public advance_time_result() { + } + + public advance_time_result( + TTSState success, + Error error, + StateNotFound state_error, + InvalidDelay delay_error) + { + this(); + this.success = success; + this.error = error; + this.state_error = state_error; + this.delay_error = delay_error; + } + + /** + * Performs a deep copy on other. + */ + public advance_time_result(advance_time_result other) { + if (other.isSetSuccess()) { + this.success = new TTSState(other.success); + } + if (other.isSetError()) { + this.error = new Error(other.error); + } + if (other.isSetState_error()) { + this.state_error = new StateNotFound(other.state_error); + } + if (other.isSetDelay_error()) { + this.delay_error = new InvalidDelay(other.delay_error); + } + } + + public advance_time_result deepCopy() { + return new advance_time_result(this); + } + + @Override + public void clear() { + this.success = null; + this.error = null; + this.state_error = null; + this.delay_error = null; + } + + public TTSState getSuccess() { + return this.success; + } + + public advance_time_result setSuccess(TTSState success) { + this.success = success; + return this; + } + + public void unsetSuccess() { + this.success = null; + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return this.success != null; + } + + public void setSuccessIsSet(boolean value) { + if (!value) { + this.success = null; + } + } + + public Error getError() { + return this.error; + } + + public advance_time_result setError(Error error) { + this.error = error; + return this; + } + + public void unsetError() { + this.error = null; + } + + /** Returns true if field error is set (has been assigned a value) and false otherwise */ + public boolean isSetError() { + return this.error != null; + } + + public void setErrorIsSet(boolean value) { + if (!value) { + this.error = null; + } + } + + public StateNotFound getState_error() { + return this.state_error; + } + + public advance_time_result setState_error(StateNotFound state_error) { + this.state_error = state_error; + return this; + } + + public void unsetState_error() { + this.state_error = null; + } + + /** Returns true if field state_error is set (has been assigned a value) and false otherwise */ + public boolean isSetState_error() { + return this.state_error != null; + } + + public void setState_errorIsSet(boolean value) { + if (!value) { + this.state_error = null; + } + } + + public InvalidDelay getDelay_error() { + return this.delay_error; + } + + public advance_time_result setDelay_error(InvalidDelay delay_error) { + this.delay_error = delay_error; + return this; + } + + public void unsetDelay_error() { + this.delay_error = null; + } + + /** Returns true if field delay_error is set (has been assigned a value) and false otherwise */ + public boolean isSetDelay_error() { + return this.delay_error != null; + } + + public void setDelay_errorIsSet(boolean value) { + if (!value) { + this.delay_error = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((TTSState)value); + } + break; + + case ERROR: + if (value == null) { + unsetError(); + } else { + setError((Error)value); + } + break; + + case STATE_ERROR: + if (value == null) { + unsetState_error(); + } else { + setState_error((StateNotFound)value); + } + break; + + case DELAY_ERROR: + if (value == null) { + unsetDelay_error(); + } else { + setDelay_error((InvalidDelay)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return getSuccess(); + + case ERROR: + return getError(); + + case STATE_ERROR: + return getState_error(); + + case DELAY_ERROR: + return getDelay_error(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case ERROR: + return isSetError(); + case STATE_ERROR: + return isSetState_error(); + case DELAY_ERROR: + return isSetDelay_error(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof advance_time_result) + return this.equals((advance_time_result)that); + return false; + } + + public boolean equals(advance_time_result that) { + if (that == null) + return false; + + boolean this_present_success = true && this.isSetSuccess(); + boolean that_present_success = true && that.isSetSuccess(); + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (!this.success.equals(that.success)) + return false; + } + + boolean this_present_error = true && this.isSetError(); + boolean that_present_error = true && that.isSetError(); + if (this_present_error || that_present_error) { + if (!(this_present_error && that_present_error)) + return false; + if (!this.error.equals(that.error)) + return false; + } + + boolean this_present_state_error = true && this.isSetState_error(); + boolean that_present_state_error = true && that.isSetState_error(); + if (this_present_state_error || that_present_state_error) { + if (!(this_present_state_error && that_present_state_error)) + return false; + if (!this.state_error.equals(that.state_error)) + return false; + } + + boolean this_present_delay_error = true && this.isSetDelay_error(); + boolean that_present_delay_error = true && that.isSetDelay_error(); + if (this_present_delay_error || that_present_delay_error) { + if (!(this_present_delay_error && that_present_delay_error)) + return false; + if (!this.delay_error.equals(that.delay_error)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_success = true && (isSetSuccess()); + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_error = true && (isSetError()); + list.add(present_error); + if (present_error) + list.add(error); + + boolean present_state_error = true && (isSetState_error()); + list.add(present_state_error); + if (present_state_error) + list.add(state_error); + + boolean present_delay_error = true && (isSetDelay_error()); + list.add(present_delay_error); + if (present_delay_error) + list.add(delay_error); + + return list.hashCode(); + } + + @Override + public int compareTo(advance_time_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetError()).compareTo(other.isSetError()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetError()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.error, other.error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetState_error()).compareTo(other.isSetState_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetState_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.state_error, other.state_error); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetDelay_error()).compareTo(other.isSetDelay_error()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetDelay_error()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delay_error, other.delay_error); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("advance_time_result("); + boolean first = true; + + sb.append("success:"); + if (this.success == null) { + sb.append("null"); + } else { + sb.append(this.success); + } + first = false; + if (!first) sb.append(", "); + sb.append("error:"); + if (this.error == null) { + sb.append("null"); + } else { + sb.append(this.error); + } + first = false; + if (!first) sb.append(", "); + sb.append("state_error:"); + if (this.state_error == null) { + sb.append("null"); + } else { + sb.append(this.state_error); + } + first = false; + if (!first) sb.append(", "); + sb.append("delay_error:"); + if (this.delay_error == null) { + sb.append("null"); + } else { + sb.append(this.delay_error); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + if (success != null) { + success.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class advance_time_resultStandardSchemeFactory implements SchemeFactory { + public advance_time_resultStandardScheme getScheme() { + return new advance_time_resultStandardScheme(); + } + } + + private static class advance_time_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, advance_time_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // STATE_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // DELAY_ERROR + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.delay_error = new InvalidDelay(); + struct.delay_error.read(iprot); + struct.setDelay_errorIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, advance_time_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.success != null) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + struct.success.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.error != null) { + oprot.writeFieldBegin(ERROR_FIELD_DESC); + struct.error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.state_error != null) { + oprot.writeFieldBegin(STATE_ERROR_FIELD_DESC); + struct.state_error.write(oprot); + oprot.writeFieldEnd(); + } + if (struct.delay_error != null) { + oprot.writeFieldBegin(DELAY_ERROR_FIELD_DESC); + struct.delay_error.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class advance_time_resultTupleSchemeFactory implements SchemeFactory { + public advance_time_resultTupleScheme getScheme() { + return new advance_time_resultTupleScheme(); + } + } + + private static class advance_time_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, advance_time_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetError()) { + optionals.set(1); + } + if (struct.isSetState_error()) { + optionals.set(2); + } + if (struct.isSetDelay_error()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetSuccess()) { + struct.success.write(oprot); + } + if (struct.isSetError()) { + struct.error.write(oprot); + } + if (struct.isSetState_error()) { + struct.state_error.write(oprot); + } + if (struct.isSetDelay_error()) { + struct.delay_error.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, advance_time_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.success = new TTSState(); + struct.success.read(iprot); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.error = new Error(); + struct.error.read(iprot); + struct.setErrorIsSet(true); + } + if (incoming.get(2)) { + struct.state_error = new StateNotFound(); + struct.state_error.read(iprot); + struct.setState_errorIsSet(true); + } + if (incoming.get(3)) { + struct.delay_error = new InvalidDelay(); + struct.delay_error.read(iprot); + struct.setDelay_errorIsSet(true); + } + } + } + + } + + public static class discard_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("discard_args"); + + private static final org.apache.thrift.protocol.TField SIDS_FIELD_DESC = new org.apache.thrift.protocol.TField("sids", org.apache.thrift.protocol.TType.LIST, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new discard_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new discard_argsTupleSchemeFactory()); + } + + public List sids; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SIDS((short)1, "sids"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SIDS + return SIDS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SIDS, new org.apache.thrift.meta_data.FieldMetaData("sids", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id")))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(discard_args.class, metaDataMap); + } + + public discard_args() { + } + + public discard_args( + List sids) + { + this(); + this.sids = sids; + } + + /** + * Performs a deep copy on other. + */ + public discard_args(discard_args other) { + if (other.isSetSids()) { + List __this__sids = new ArrayList(other.sids.size()); + for (Long other_element : other.sids) { + __this__sids.add(other_element); + } + this.sids = __this__sids; + } + } + + public discard_args deepCopy() { + return new discard_args(this); + } + + @Override + public void clear() { + this.sids = null; + } + + public int getSidsSize() { + return (this.sids == null) ? 0 : this.sids.size(); + } + + public java.util.Iterator getSidsIterator() { + return (this.sids == null) ? null : this.sids.iterator(); + } + + public void addToSids(long elem) { + if (this.sids == null) { + this.sids = new ArrayList(); + } + this.sids.add(elem); + } + + public List getSids() { + return this.sids; + } + + public discard_args setSids(List sids) { + this.sids = sids; + return this; + } + + public void unsetSids() { + this.sids = null; + } + + /** Returns true if field sids is set (has been assigned a value) and false otherwise */ + public boolean isSetSids() { + return this.sids != null; + } + + public void setSidsIsSet(boolean value) { + if (!value) { + this.sids = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SIDS: + if (value == null) { + unsetSids(); + } else { + setSids((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SIDS: + return getSids(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SIDS: + return isSetSids(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof discard_args) + return this.equals((discard_args)that); + return false; + } + + public boolean equals(discard_args that) { + if (that == null) + return false; + + boolean this_present_sids = true && this.isSetSids(); + boolean that_present_sids = true && that.isSetSids(); + if (this_present_sids || that_present_sids) { + if (!(this_present_sids && that_present_sids)) + return false; + if (!this.sids.equals(that.sids)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sids = true && (isSetSids()); + list.add(present_sids); + if (present_sids) + list.add(sids); + + return list.hashCode(); + } + + @Override + public int compareTo(discard_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSids()).compareTo(other.isSetSids()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSids()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sids, other.sids); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("discard_args("); + boolean first = true; + + sb.append("sids:"); + if (this.sids == null) { + sb.append("null"); + } else { + sb.append(this.sids); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class discard_argsStandardSchemeFactory implements SchemeFactory { + public discard_argsStandardScheme getScheme() { + return new discard_argsStandardScheme(); + } + } + + private static class discard_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, discard_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SIDS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list50 = iprot.readListBegin(); + struct.sids = new ArrayList(_list50.size); + long _elem51; + for (int _i52 = 0; _i52 < _list50.size; ++_i52) + { + _elem51 = iprot.readI64(); + struct.sids.add(_elem51); + } + iprot.readListEnd(); + } + struct.setSidsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, discard_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.sids != null) { + oprot.writeFieldBegin(SIDS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.sids.size())); + for (long _iter53 : struct.sids) + { + oprot.writeI64(_iter53); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class discard_argsTupleSchemeFactory implements SchemeFactory { + public discard_argsTupleScheme getScheme() { + return new discard_argsTupleScheme(); + } + } + + private static class discard_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, discard_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSids()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSids()) { + { + oprot.writeI32(struct.sids.size()); + for (long _iter54 : struct.sids) + { + oprot.writeI64(_iter54); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, discard_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list55 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32()); + struct.sids = new ArrayList(_list55.size); + long _elem56; + for (int _i57 = 0; _i57 < _list55.size; ++_i57) + { + _elem56 = iprot.readI64(); + struct.sids.add(_elem56); + } + } + struct.setSidsIsSet(true); + } + } + } + + } + + public static class discard_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("discard_result"); + + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new discard_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new discard_resultTupleSchemeFactory()); + } + + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { +; + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(discard_result.class, metaDataMap); + } + + public discard_result() { + } + + /** + * Performs a deep copy on other. + */ + public discard_result(discard_result other) { + } + + public discard_result deepCopy() { + return new discard_result(this); + } + + @Override + public void clear() { + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof discard_result) + return this.equals((discard_result)that); + return false; + } + + public boolean equals(discard_result that) { + if (that == null) + return false; + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + return list.hashCode(); + } + + @Override + public int compareTo(discard_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("discard_result("); + boolean first = true; + + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class discard_resultStandardSchemeFactory implements SchemeFactory { + public discard_resultStandardScheme getScheme() { + return new discard_resultStandardScheme(); + } + } + + private static class discard_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, discard_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, discard_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class discard_resultTupleSchemeFactory implements SchemeFactory { + public discard_resultTupleScheme getScheme() { + return new discard_resultTupleScheme(); + } + } + + private static class discard_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, discard_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, discard_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + + } + + public static class discard_all_except_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("discard_all_except_args"); + + private static final org.apache.thrift.protocol.TField SIDS_FIELD_DESC = new org.apache.thrift.protocol.TField("sids", org.apache.thrift.protocol.TType.LIST, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new discard_all_except_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new discard_all_except_argsTupleSchemeFactory()); + } + + public List sids; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SIDS((short)1, "sids"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // SIDS + return SIDS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SIDS, new org.apache.thrift.meta_data.FieldMetaData("sids", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id")))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(discard_all_except_args.class, metaDataMap); + } + + public discard_all_except_args() { + } + + public discard_all_except_args( + List sids) + { + this(); + this.sids = sids; + } + + /** + * Performs a deep copy on other. + */ + public discard_all_except_args(discard_all_except_args other) { + if (other.isSetSids()) { + List __this__sids = new ArrayList(other.sids.size()); + for (Long other_element : other.sids) { + __this__sids.add(other_element); + } + this.sids = __this__sids; + } + } + + public discard_all_except_args deepCopy() { + return new discard_all_except_args(this); + } + + @Override + public void clear() { + this.sids = null; + } + + public int getSidsSize() { + return (this.sids == null) ? 0 : this.sids.size(); + } + + public java.util.Iterator getSidsIterator() { + return (this.sids == null) ? null : this.sids.iterator(); + } + + public void addToSids(long elem) { + if (this.sids == null) { + this.sids = new ArrayList(); + } + this.sids.add(elem); + } + + public List getSids() { + return this.sids; + } + + public discard_all_except_args setSids(List sids) { + this.sids = sids; + return this; + } + + public void unsetSids() { + this.sids = null; + } + + /** Returns true if field sids is set (has been assigned a value) and false otherwise */ + public boolean isSetSids() { + return this.sids != null; + } + + public void setSidsIsSet(boolean value) { + if (!value) { + this.sids = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SIDS: + if (value == null) { + unsetSids(); + } else { + setSids((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SIDS: + return getSids(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SIDS: + return isSetSids(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof discard_all_except_args) + return this.equals((discard_all_except_args)that); + return false; + } + + public boolean equals(discard_all_except_args that) { + if (that == null) + return false; + + boolean this_present_sids = true && this.isSetSids(); + boolean that_present_sids = true && that.isSetSids(); + if (this_present_sids || that_present_sids) { + if (!(this_present_sids && that_present_sids)) + return false; + if (!this.sids.equals(that.sids)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_sids = true && (isSetSids()); + list.add(present_sids); + if (present_sids) + list.add(sids); + + return list.hashCode(); + } + + @Override + public int compareTo(discard_all_except_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSids()).compareTo(other.isSetSids()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSids()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sids, other.sids); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("discard_all_except_args("); + boolean first = true; + + sb.append("sids:"); + if (this.sids == null) { + sb.append("null"); + } else { + sb.append(this.sids); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class discard_all_except_argsStandardSchemeFactory implements SchemeFactory { + public discard_all_except_argsStandardScheme getScheme() { + return new discard_all_except_argsStandardScheme(); + } + } + + private static class discard_all_except_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, discard_all_except_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // SIDS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list58 = iprot.readListBegin(); + struct.sids = new ArrayList(_list58.size); + long _elem59; + for (int _i60 = 0; _i60 < _list58.size; ++_i60) + { + _elem59 = iprot.readI64(); + struct.sids.add(_elem59); + } + iprot.readListEnd(); + } + struct.setSidsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, discard_all_except_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.sids != null) { + oprot.writeFieldBegin(SIDS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.sids.size())); + for (long _iter61 : struct.sids) + { + oprot.writeI64(_iter61); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class discard_all_except_argsTupleSchemeFactory implements SchemeFactory { + public discard_all_except_argsTupleScheme getScheme() { + return new discard_all_except_argsTupleScheme(); + } + } + + private static class discard_all_except_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, discard_all_except_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSids()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetSids()) { + { + oprot.writeI32(struct.sids.size()); + for (long _iter62 : struct.sids) + { + oprot.writeI64(_iter62); + } + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, discard_all_except_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + { + org.apache.thrift.protocol.TList _list63 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32()); + struct.sids = new ArrayList(_list63.size); + long _elem64; + for (int _i65 = 0; _i65 < _list63.size; ++_i65) + { + _elem64 = iprot.readI64(); + struct.sids.add(_elem64); + } + } + struct.setSidsIsSet(true); + } + } + } + + } + + public static class discard_all_except_result implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("discard_all_except_result"); + + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new discard_all_except_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new discard_all_except_resultTupleSchemeFactory()); + } + + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { +; + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(discard_all_except_result.class, metaDataMap); + } + + public discard_all_except_result() { + } + + /** + * Performs a deep copy on other. + */ + public discard_all_except_result(discard_all_except_result other) { + } + + public discard_all_except_result deepCopy() { + return new discard_all_except_result(this); + } + + @Override + public void clear() { + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof discard_all_except_result) + return this.equals((discard_all_except_result)that); + return false; + } + + public boolean equals(discard_all_except_result that) { + if (that == null) + return false; + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + return list.hashCode(); + } + + @Override + public int compareTo(discard_all_except_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("discard_all_except_result("); + boolean first = true; + + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class discard_all_except_resultStandardSchemeFactory implements SchemeFactory { + public discard_all_except_resultStandardScheme getScheme() { + return new discard_all_except_resultStandardScheme(); + } + } + + private static class discard_all_except_resultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, discard_all_except_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, discard_all_except_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class discard_all_except_resultTupleSchemeFactory implements SchemeFactory { + public discard_all_except_resultTupleScheme getScheme() { + return new discard_all_except_resultTupleScheme(); + } + } + + private static class discard_all_except_resultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, discard_all_except_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, discard_all_except_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + + } + + public static class shutdown_args implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shutdown_args"); + + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new shutdown_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new shutdown_argsTupleSchemeFactory()); + } + + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { +; + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(shutdown_args.class, metaDataMap); + } + + public shutdown_args() { + } + + /** + * Performs a deep copy on other. + */ + public shutdown_args(shutdown_args other) { + } + + public shutdown_args deepCopy() { + return new shutdown_args(this); + } + + @Override + public void clear() { + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof shutdown_args) + return this.equals((shutdown_args)that); + return false; + } + + public boolean equals(shutdown_args that) { + if (that == null) + return false; + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + return list.hashCode(); + } + + @Override + public int compareTo(shutdown_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("shutdown_args("); + boolean first = true; + + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class shutdown_argsStandardSchemeFactory implements SchemeFactory { + public shutdown_argsStandardScheme getScheme() { + return new shutdown_argsStandardScheme(); + } + } + + private static class shutdown_argsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, shutdown_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, shutdown_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class shutdown_argsTupleSchemeFactory implements SchemeFactory { + public shutdown_argsTupleScheme getScheme() { + return new shutdown_argsTupleScheme(); + } + } + + private static class shutdown_argsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, shutdown_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, shutdown_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + } + } + + } + +} diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/TTSState.java b/eclipse/plugins/fr.laas.libtts/src/tts/TTSState.java new file mode 100644 index 0000000..fc5f91a --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/TTSState.java @@ -0,0 +1,829 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class TTSState implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTSState"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField MARKINGS_FIELD_DESC = new org.apache.thrift.protocol.TField("markings", org.apache.thrift.protocol.TType.LIST, (short)2); + private static final org.apache.thrift.protocol.TField CLOCKS_FIELD_DESC = new org.apache.thrift.protocol.TField("clocks", org.apache.thrift.protocol.TType.MAP, (short)3); + private static final org.apache.thrift.protocol.TField VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("values", org.apache.thrift.protocol.TType.STRING, (short)4); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TTSStateStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TTSStateTupleSchemeFactory()); + } + + public long uid; // required + public List markings; // required + public Map clocks; // required + public String values; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"), + MARKINGS((short)2, "markings"), + CLOCKS((short)3, "clocks"), + VALUES((short)4, "values"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + case 2: // MARKINGS + return MARKINGS; + case 3: // CLOCKS + return CLOCKS; + case 4: // VALUES + return VALUES; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "state_id"))); + tmpMap.put(_Fields.MARKINGS, new org.apache.thrift.meta_data.FieldMetaData("markings", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "place_id")))); + tmpMap.put(_Fields.CLOCKS, new org.apache.thrift.meta_data.FieldMetaData("clocks", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"), + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Clock.class)))); + tmpMap.put(_Fields.VALUES, new org.apache.thrift.meta_data.FieldMetaData("values", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , "json"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TTSState.class, metaDataMap); + } + + public TTSState() { + } + + public TTSState( + long uid, + List markings, + Map clocks, + String values) + { + this(); + this.uid = uid; + setUidIsSet(true); + this.markings = markings; + this.clocks = clocks; + this.values = values; + } + + /** + * Performs a deep copy on other. + */ + public TTSState(TTSState other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + if (other.isSetMarkings()) { + List __this__markings = new ArrayList(other.markings.size()); + for (Long other_element : other.markings) { + __this__markings.add(other_element); + } + this.markings = __this__markings; + } + if (other.isSetClocks()) { + Map __this__clocks = new HashMap(other.clocks.size()); + for (Map.Entry other_element : other.clocks.entrySet()) { + + Long other_element_key = other_element.getKey(); + Clock other_element_value = other_element.getValue(); + + Long __this__clocks_copy_key = other_element_key; + + Clock __this__clocks_copy_value = new Clock(other_element_value); + + __this__clocks.put(__this__clocks_copy_key, __this__clocks_copy_value); + } + this.clocks = __this__clocks; + } + if (other.isSetValues()) { + this.values = other.values; + } + } + + public TTSState deepCopy() { + return new TTSState(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + this.markings = null; + this.clocks = null; + this.values = null; + } + + public long getUid() { + return this.uid; + } + + public TTSState setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public int getMarkingsSize() { + return (this.markings == null) ? 0 : this.markings.size(); + } + + public java.util.Iterator getMarkingsIterator() { + return (this.markings == null) ? null : this.markings.iterator(); + } + + public void addToMarkings(long elem) { + if (this.markings == null) { + this.markings = new ArrayList(); + } + this.markings.add(elem); + } + + public List getMarkings() { + return this.markings; + } + + public TTSState setMarkings(List markings) { + this.markings = markings; + return this; + } + + public void unsetMarkings() { + this.markings = null; + } + + /** Returns true if field markings is set (has been assigned a value) and false otherwise */ + public boolean isSetMarkings() { + return this.markings != null; + } + + public void setMarkingsIsSet(boolean value) { + if (!value) { + this.markings = null; + } + } + + public int getClocksSize() { + return (this.clocks == null) ? 0 : this.clocks.size(); + } + + public void putToClocks(long key, Clock val) { + if (this.clocks == null) { + this.clocks = new HashMap(); + } + this.clocks.put(key, val); + } + + public Map getClocks() { + return this.clocks; + } + + public TTSState setClocks(Map clocks) { + this.clocks = clocks; + return this; + } + + public void unsetClocks() { + this.clocks = null; + } + + /** Returns true if field clocks is set (has been assigned a value) and false otherwise */ + public boolean isSetClocks() { + return this.clocks != null; + } + + public void setClocksIsSet(boolean value) { + if (!value) { + this.clocks = null; + } + } + + public String getValues() { + return this.values; + } + + public TTSState setValues(String values) { + this.values = values; + return this; + } + + public void unsetValues() { + this.values = null; + } + + /** Returns true if field values is set (has been assigned a value) and false otherwise */ + public boolean isSetValues() { + return this.values != null; + } + + public void setValuesIsSet(boolean value) { + if (!value) { + this.values = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + case MARKINGS: + if (value == null) { + unsetMarkings(); + } else { + setMarkings((List)value); + } + break; + + case CLOCKS: + if (value == null) { + unsetClocks(); + } else { + setClocks((Map)value); + } + break; + + case VALUES: + if (value == null) { + unsetValues(); + } else { + setValues((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + case MARKINGS: + return getMarkings(); + + case CLOCKS: + return getClocks(); + + case VALUES: + return getValues(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + case MARKINGS: + return isSetMarkings(); + case CLOCKS: + return isSetClocks(); + case VALUES: + return isSetValues(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof TTSState) + return this.equals((TTSState)that); + return false; + } + + public boolean equals(TTSState that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + boolean this_present_markings = true && this.isSetMarkings(); + boolean that_present_markings = true && that.isSetMarkings(); + if (this_present_markings || that_present_markings) { + if (!(this_present_markings && that_present_markings)) + return false; + if (!this.markings.equals(that.markings)) + return false; + } + + boolean this_present_clocks = true && this.isSetClocks(); + boolean that_present_clocks = true && that.isSetClocks(); + if (this_present_clocks || that_present_clocks) { + if (!(this_present_clocks && that_present_clocks)) + return false; + if (!this.clocks.equals(that.clocks)) + return false; + } + + boolean this_present_values = true && this.isSetValues(); + boolean that_present_values = true && that.isSetValues(); + if (this_present_values || that_present_values) { + if (!(this_present_values && that_present_values)) + return false; + if (!this.values.equals(that.values)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + boolean present_markings = true && (isSetMarkings()); + list.add(present_markings); + if (present_markings) + list.add(markings); + + boolean present_clocks = true && (isSetClocks()); + list.add(present_clocks); + if (present_clocks) + list.add(clocks); + + boolean present_values = true && (isSetValues()); + list.add(present_values); + if (present_values) + list.add(values); + + return list.hashCode(); + } + + @Override + public int compareTo(TTSState other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetMarkings()).compareTo(other.isSetMarkings()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetMarkings()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.markings, other.markings); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetClocks()).compareTo(other.isSetClocks()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetClocks()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.clocks, other.clocks); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetValues()).compareTo(other.isSetValues()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetValues()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.values, other.values); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("TTSState("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + if (!first) sb.append(", "); + sb.append("markings:"); + if (this.markings == null) { + sb.append("null"); + } else { + sb.append(this.markings); + } + first = false; + if (!first) sb.append(", "); + sb.append("clocks:"); + if (this.clocks == null) { + sb.append("null"); + } else { + sb.append(this.clocks); + } + first = false; + if (!first) sb.append(", "); + sb.append("values:"); + if (this.values == null) { + sb.append("null"); + } else { + sb.append(this.values); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class TTSStateStandardSchemeFactory implements SchemeFactory { + public TTSStateStandardScheme getScheme() { + return new TTSStateStandardScheme(); + } + } + + private static class TTSStateStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TTSState struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // MARKINGS + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list0 = iprot.readListBegin(); + struct.markings = new ArrayList(_list0.size); + long _elem1; + for (int _i2 = 0; _i2 < _list0.size; ++_i2) + { + _elem1 = iprot.readI64(); + struct.markings.add(_elem1); + } + iprot.readListEnd(); + } + struct.setMarkingsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // CLOCKS + if (schemeField.type == org.apache.thrift.protocol.TType.MAP) { + { + org.apache.thrift.protocol.TMap _map3 = iprot.readMapBegin(); + struct.clocks = new HashMap(2*_map3.size); + long _key4; + Clock _val5; + for (int _i6 = 0; _i6 < _map3.size; ++_i6) + { + _key4 = iprot.readI64(); + _val5 = new Clock(); + _val5.read(iprot); + struct.clocks.put(_key4, _val5); + } + iprot.readMapEnd(); + } + struct.setClocksIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 4: // VALUES + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.values = iprot.readString(); + struct.setValuesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TTSState struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + if (struct.markings != null) { + oprot.writeFieldBegin(MARKINGS_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.markings.size())); + for (long _iter7 : struct.markings) + { + oprot.writeI64(_iter7); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.clocks != null) { + oprot.writeFieldBegin(CLOCKS_FIELD_DESC); + { + oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, struct.clocks.size())); + for (Map.Entry _iter8 : struct.clocks.entrySet()) + { + oprot.writeI64(_iter8.getKey()); + _iter8.getValue().write(oprot); + } + oprot.writeMapEnd(); + } + oprot.writeFieldEnd(); + } + if (struct.values != null) { + oprot.writeFieldBegin(VALUES_FIELD_DESC); + oprot.writeString(struct.values); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TTSStateTupleSchemeFactory implements SchemeFactory { + public TTSStateTupleScheme getScheme() { + return new TTSStateTupleScheme(); + } + } + + private static class TTSStateTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TTSState struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUid()) { + optionals.set(0); + } + if (struct.isSetMarkings()) { + optionals.set(1); + } + if (struct.isSetClocks()) { + optionals.set(2); + } + if (struct.isSetValues()) { + optionals.set(3); + } + oprot.writeBitSet(optionals, 4); + if (struct.isSetUid()) { + oprot.writeI64(struct.uid); + } + if (struct.isSetMarkings()) { + { + oprot.writeI32(struct.markings.size()); + for (long _iter9 : struct.markings) + { + oprot.writeI64(_iter9); + } + } + } + if (struct.isSetClocks()) { + { + oprot.writeI32(struct.clocks.size()); + for (Map.Entry _iter10 : struct.clocks.entrySet()) + { + oprot.writeI64(_iter10.getKey()); + _iter10.getValue().write(oprot); + } + } + } + if (struct.isSetValues()) { + oprot.writeString(struct.values); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TTSState struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(4); + if (incoming.get(0)) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } + if (incoming.get(1)) { + { + org.apache.thrift.protocol.TList _list11 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32()); + struct.markings = new ArrayList(_list11.size); + long _elem12; + for (int _i13 = 0; _i13 < _list11.size; ++_i13) + { + _elem12 = iprot.readI64(); + struct.markings.add(_elem12); + } + } + struct.setMarkingsIsSet(true); + } + if (incoming.get(2)) { + { + org.apache.thrift.protocol.TMap _map14 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I64, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.clocks = new HashMap(2*_map14.size); + long _key15; + Clock _val16; + for (int _i17 = 0; _i17 < _map14.size; ++_i17) + { + _key15 = iprot.readI64(); + _val16 = new Clock(); + _val16.read(iprot); + struct.clocks.put(_key15, _val16); + } + } + struct.setClocksIsSet(true); + } + if (incoming.get(3)) { + struct.values = iprot.readString(); + struct.setValuesIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/Transition.java b/eclipse/plugins/fr.laas.libtts/src/tts/Transition.java new file mode 100644 index 0000000..4c2af10 --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/Transition.java @@ -0,0 +1,608 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class Transition implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Transition"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)2); + private static final org.apache.thrift.protocol.TField INTERVAL_FIELD_DESC = new org.apache.thrift.protocol.TField("interval", org.apache.thrift.protocol.TType.STRUCT, (short)3); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TransitionStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TransitionTupleSchemeFactory()); + } + + public long uid; // required + public String name; // required + public Interval interval; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"), + NAME((short)2, "name"), + INTERVAL((short)3, "interval"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + case 2: // NAME + return NAME; + case 3: // INTERVAL + return INTERVAL; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private static final _Fields optionals[] = {_Fields.INTERVAL}; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.INTERVAL, new org.apache.thrift.meta_data.FieldMetaData("interval", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, Interval.class))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(Transition.class, metaDataMap); + } + + public Transition() { + } + + public Transition( + long uid, + String name) + { + this(); + this.uid = uid; + setUidIsSet(true); + this.name = name; + } + + /** + * Performs a deep copy on other. + */ + public Transition(Transition other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + if (other.isSetName()) { + this.name = other.name; + } + if (other.isSetInterval()) { + this.interval = new Interval(other.interval); + } + } + + public Transition deepCopy() { + return new Transition(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + this.name = null; + this.interval = null; + } + + public long getUid() { + return this.uid; + } + + public Transition setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public String getName() { + return this.name; + } + + public Transition setName(String name) { + this.name = name; + return this; + } + + public void unsetName() { + this.name = null; + } + + /** Returns true if field name is set (has been assigned a value) and false otherwise */ + public boolean isSetName() { + return this.name != null; + } + + public void setNameIsSet(boolean value) { + if (!value) { + this.name = null; + } + } + + public Interval getInterval() { + return this.interval; + } + + public Transition setInterval(Interval interval) { + this.interval = interval; + return this; + } + + public void unsetInterval() { + this.interval = null; + } + + /** Returns true if field interval is set (has been assigned a value) and false otherwise */ + public boolean isSetInterval() { + return this.interval != null; + } + + public void setIntervalIsSet(boolean value) { + if (!value) { + this.interval = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + case NAME: + if (value == null) { + unsetName(); + } else { + setName((String)value); + } + break; + + case INTERVAL: + if (value == null) { + unsetInterval(); + } else { + setInterval((Interval)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + case NAME: + return getName(); + + case INTERVAL: + return getInterval(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + case NAME: + return isSetName(); + case INTERVAL: + return isSetInterval(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof Transition) + return this.equals((Transition)that); + return false; + } + + public boolean equals(Transition that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + boolean this_present_name = true && this.isSetName(); + boolean that_present_name = true && that.isSetName(); + if (this_present_name || that_present_name) { + if (!(this_present_name && that_present_name)) + return false; + if (!this.name.equals(that.name)) + return false; + } + + boolean this_present_interval = true && this.isSetInterval(); + boolean that_present_interval = true && that.isSetInterval(); + if (this_present_interval || that_present_interval) { + if (!(this_present_interval && that_present_interval)) + return false; + if (!this.interval.equals(that.interval)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + boolean present_name = true && (isSetName()); + list.add(present_name); + if (present_name) + list.add(name); + + boolean present_interval = true && (isSetInterval()); + list.add(present_interval); + if (present_interval) + list.add(interval); + + return list.hashCode(); + } + + @Override + public int compareTo(Transition other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetName()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetInterval()).compareTo(other.isSetInterval()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetInterval()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.interval, other.interval); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("Transition("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + if (!first) sb.append(", "); + sb.append("name:"); + if (this.name == null) { + sb.append("null"); + } else { + sb.append(this.name); + } + first = false; + if (isSetInterval()) { + if (!first) sb.append(", "); + sb.append("interval:"); + if (this.interval == null) { + sb.append("null"); + } else { + sb.append(this.interval); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // alas, we cannot check 'uid' because it's a primitive and you chose the non-beans generator. + if (name == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString()); + } + // check for sub-struct validity + if (interval != null) { + interval.validate(); + } + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class TransitionStandardSchemeFactory implements SchemeFactory { + public TransitionStandardScheme getScheme() { + return new TransitionStandardScheme(); + } + } + + private static class TransitionStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, Transition struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // NAME + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.name = iprot.readString(); + struct.setNameIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 3: // INTERVAL + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.interval = new Interval(); + struct.interval.read(iprot); + struct.setIntervalIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + if (!struct.isSetUid()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'uid' was not found in serialized data! Struct: " + toString()); + } + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, Transition struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + if (struct.name != null) { + oprot.writeFieldBegin(NAME_FIELD_DESC); + oprot.writeString(struct.name); + oprot.writeFieldEnd(); + } + if (struct.interval != null) { + if (struct.isSetInterval()) { + oprot.writeFieldBegin(INTERVAL_FIELD_DESC); + struct.interval.write(oprot); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TransitionTupleSchemeFactory implements SchemeFactory { + public TransitionTupleScheme getScheme() { + return new TransitionTupleScheme(); + } + } + + private static class TransitionTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, Transition struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeI64(struct.uid); + oprot.writeString(struct.name); + BitSet optionals = new BitSet(); + if (struct.isSetInterval()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetInterval()) { + struct.interval.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, Transition struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + struct.name = iprot.readString(); + struct.setNameIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.interval = new Interval(); + struct.interval.read(iprot); + struct.setIntervalIsSet(true); + } + } + } + +} + diff --git a/eclipse/plugins/fr.laas.libtts/src/tts/TransitionNotFound.java b/eclipse/plugins/fr.laas.libtts/src/tts/TransitionNotFound.java new file mode 100644 index 0000000..4de235b --- /dev/null +++ b/eclipse/plugins/fr.laas.libtts/src/tts/TransitionNotFound.java @@ -0,0 +1,398 @@ +/******************************************************************************* + * Copyright (c) 2015, 2016 CNRS, IRIT, IRT AESE (IRT Saint Exupéry). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the LGPL 3.0 + * which accompanies this distribution, and is available at + * https://www.gnu.org/licenses/lgpl-3.0-standalone.html + * + * Contributors: + * Faiez Zalila - initial API and implementation and/or initial documentation + *******************************************************************************/ +/** + * Autogenerated by Thrift Compiler (0.9.2) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package tts; + +import java.util.ArrayList; +import java.util.BitSet; +import java.util.Collections; +import java.util.EnumMap; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Generated; + +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; +import org.apache.thrift.scheme.TupleScheme; + +@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2016-2-8") +public class TransitionNotFound extends TException implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TransitionNotFound"); + + private static final org.apache.thrift.protocol.TField UID_FIELD_DESC = new org.apache.thrift.protocol.TField("uid", org.apache.thrift.protocol.TType.I64, (short)1); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new TransitionNotFoundStandardSchemeFactory()); + schemes.put(TupleScheme.class, new TransitionNotFoundTupleSchemeFactory()); + } + + public long uid; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + UID((short)1, "uid"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // UID + return UID; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __UID_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.UID, new org.apache.thrift.meta_data.FieldMetaData("uid", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64 , "transition_id"))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TransitionNotFound.class, metaDataMap); + } + + public TransitionNotFound() { + } + + public TransitionNotFound( + long uid) + { + this(); + this.uid = uid; + setUidIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public TransitionNotFound(TransitionNotFound other) { + __isset_bitfield = other.__isset_bitfield; + this.uid = other.uid; + } + + public TransitionNotFound deepCopy() { + return new TransitionNotFound(this); + } + + @Override + public void clear() { + setUidIsSet(false); + this.uid = 0; + } + + public long getUid() { + return this.uid; + } + + public TransitionNotFound setUid(long uid) { + this.uid = uid; + setUidIsSet(true); + return this; + } + + public void unsetUid() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UID_ISSET_ID); + } + + /** Returns true if field uid is set (has been assigned a value) and false otherwise */ + public boolean isSetUid() { + return EncodingUtils.testBit(__isset_bitfield, __UID_ISSET_ID); + } + + public void setUidIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UID_ISSET_ID, value); + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case UID: + if (value == null) { + unsetUid(); + } else { + setUid((Long)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case UID: + return Long.valueOf(getUid()); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case UID: + return isSetUid(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof TransitionNotFound) + return this.equals((TransitionNotFound)that); + return false; + } + + public boolean equals(TransitionNotFound that) { + if (that == null) + return false; + + boolean this_present_uid = true; + boolean that_present_uid = true; + if (this_present_uid || that_present_uid) { + if (!(this_present_uid && that_present_uid)) + return false; + if (this.uid != that.uid) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List list = new ArrayList(); + + boolean present_uid = true; + list.add(present_uid); + if (present_uid) + list.add(uid); + + return list.hashCode(); + } + + @Override + public int compareTo(TransitionNotFound other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetUid()).compareTo(other.isSetUid()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetUid()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uid, other.uid); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("TransitionNotFound("); + boolean first = true; + + sb.append("uid:"); + sb.append(this.uid); + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class TransitionNotFoundStandardSchemeFactory implements SchemeFactory { + public TransitionNotFoundStandardScheme getScheme() { + return new TransitionNotFoundStandardScheme(); + } + } + + private static class TransitionNotFoundStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, TransitionNotFound struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // UID + if (schemeField.type == org.apache.thrift.protocol.TType.I64) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, TransitionNotFound struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(UID_FIELD_DESC); + oprot.writeI64(struct.uid); + oprot.writeFieldEnd(); + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class TransitionNotFoundTupleSchemeFactory implements SchemeFactory { + public TransitionNotFoundTupleScheme getScheme() { + return new TransitionNotFoundTupleScheme(); + } + } + + private static class TransitionNotFoundTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, TransitionNotFound struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetUid()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetUid()) { + oprot.writeI64(struct.uid); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, TransitionNotFound struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.uid = iprot.readI64(); + struct.setUidIsSet(true); + } + } + } + +} +